| name | llm-squeeze-cli |
| description | 给 Agent 使用的文本压缩与 token 统计工具 skill。通过命令行工具 llm-squeeze-cli 调用 OpenAI SDK 对文本做高信息密度压缩,也可单独统计文本 token 数,便于判断是否需要切块。支持可选指定压缩目标 token 数和重点保留的信息方向。适用于上下文太长、需要先压缩再继续分析、需要先看 token 数再决定是否切块、需要保留特定重点的信息整理场景。触发词:压缩文本、压缩上下文、统计 token、token 数、文本有多少 token、摘要到多少 token、保留重点信息、squeeze text、context squeeze。 |
| argument-hint | 描述要压缩的文本来源、目标 token 和重点保留信息 |
llm-squeeze-cli
这是一个面向 Agent 的工具型 Skill,用于调用命令行工具 llm-squeeze-cli 对文本进行高信息密度压缩。
该工具通过 OpenAI SDK 调用大模型完成压缩,支持可选目标 token、重点保留方向,以及通过 .env 复用常用配置。
默认值说明:
- 默认输入 token 上限:
32000(约 32K)
- 默认超限重压缩次数:
3
- 默认目标 token:不设置,也就是不强制压到某个固定 token 数
- 默认重点保留方向:不设置;此时工具会优先保留事实、结论、约束、风险、行动项和高信息密度细节
何时使用
- 原始文本太长,不适合直接放入后续上下文
- Agent需要处理大量的文本信息,超出上下文限制
- 需要先做一次可靠压缩,再交给后续 Agent 或后续步骤继续处理
- 需要在压缩时重点保留结论、约束、风险、待办项、技术细节或特定主题
- 需要把长日志、长对话、长说明、长文档、或者说大量的文档先压缩成高信息密度版本
工具能力
命令行工具名:llm-squeeze-cli
基础能力:
- 对输入文本进行高信息密度压缩
- 可单独统计输入 token,用于判断是否需要切块
- 可选指定目标输出 token 数
- 可选指定重点保留信息方向
- 可输出纯文本结果或带 token 元数据的 JSON
- 如果指定了目标 token,默认在超限时自动重压缩最多 3 次
输入方式:
--input-file <path>
--text "..."
- 或通过标准输入传入
常用参数:
--target-tokens <n>:可选,目标输出 token 数;默认不设置
--max-recompress-attempts <n>:可选,输出超限时自动重压缩次数;默认 3
--preserve-focus "...":可选,告诉模型重点保留哪些方面的信息
--max-input-tokens <n>:可选,默认 32000(约 32K)
--show-config:查看当前实际生效的默认配置
--count-tokens:只统计输入 token,不调用模型,统计文本本身的 token 数,帮助判断是否需要切块
--json:输出包含 token 统计的 JSON
使用规则
1. 优先把它当成压缩工具,而不是分析工具
它的目标是压缩,不是替你完成完整分析。调用时应优先要求保真、高信息密度和后续可用性。
2. 重点保留要求是可选的
如果用户没有指定重点保留方向,可以不传 --preserve-focus。这时工具会默认优先保留事实、结论、约束、风险、行动项和关键上下文。
3. 目标 token 是可选的
如果用户没有明确要求压缩到某个 token 范围,可以不传 --target-tokens。
如果传了 --target-tokens,工具默认会在输出超限时自动重压缩最多 3 次;3 次后如果仍然超限,会明确报错。
4. 优先复用 .env 配置
如果这个工具目录或当前工作目录已经配置了 .env,应优先复用其中的默认模型、压缩目标、重点保留信息和 API 配置。
如果 .env 中没有覆盖默认值,则仍然使用工具内置默认值:输入 token 上限 32000、重压缩次数 3。
如果需要确认当前实际生效的默认值,应优先建议使用 llm-squeeze-cli --show-config。
如果缺少关键配置,特别是 OPENAI_API_KEY,应明确提示用户先运行 llm-squeeze-cli --init-config 生成模板并完成配置,或者临时通过命令行参数传入。
5. 输入 token 有硬限制
工具会在调用模型前先计算输入 token 数;如果输入超过允许上限,会直接报错,而不是偷偷截断。
如果出现这种情况,Agent 应:
- 明确说明是输入过长导致失败
- 视情况先自行分块,再分别压缩
- 或先做更粗粒度的预处理,再调用本工具
如果只是想先判断是否会超出输入上限,应优先运行 llm-squeeze-cli --count-tokens,而不是直接发起压缩请求。
推荐调用方式
压缩文件:
llm-squeeze-cli --input-file notes.txt
压缩到目标 token:
llm-squeeze-cli --input-file notes.txt --target-tokens 1200
保留重点信息:
llm-squeeze-cli --input-file notes.txt --preserve-focus "保留错误原因、修复方案和待办项"
同时指定目标长度和重点保留内容:
llm-squeeze-cli --input-file notes.txt --target-tokens 800 --preserve-focus "重点保留风险、限制条件和下一步行动"
通过标准输入使用:
cat notes.txt | llm-squeeze-cli --target-tokens 1000
先统计 token:
llm-squeeze-cli --input-file notes.txt --count-tokens
输出 JSON:
llm-squeeze-cli --input-file notes.txt --json
Agent 执行要求
- 在调用前先想清楚:是单次压缩就够,还是需要先分块再压缩
- 如果用户关心某类信息是否保留,优先传
--preserve-focus
- 如果用户明确要求压缩到某个 token 范围,优先传
--target-tokens
- 如果用户先要判断是否需要切块,优先传
--count-tokens
- 如果工具因输入过长失败,要如实说明并改为分块策略
- 如果要把压缩结果继续交给后续步骤,优先输出高信息密度版本,而不是追求文风漂亮