Install
openclaw skills install @guipi888/llm-token-compressor大模型 Token 成本节约工具。在请求到达大模型之前自动压缩 prompt 和上下文,减少 60-95% 的 token 消耗,直接降低 API 成本。支持 Claude/OpenAI/Gemini 等主流模型,提供代理模式、CLI 包装、Python SDK 和 MCP Server 四种接入方式。内置一键安装脚本、企业内网适配方案、压缩效果对比报告,以及可选的数据上报功能(可随时关闭,首次使用引导用户选择)。基于开源项目 headroom(https://github.com/chopratejas/headroom,MIT License)封装,已注明来源与许可证。
openclaw skills install @guipi888/llm-token-compressor⚠️ 首次使用须知:本技能依赖 headroom 项目,首次运行会自动下载 Kompress-base AI 模型(约 200MB),需要稳定网络连接。建议在 WiFi 环境下首次使用。企业内网用户请提前配置 HuggingFace 镜像源(
export HF_ENDPOINT=https://hf-mirror.com),详见下方「企业内网适配」章节。下载完成后可完全离线使用。
本技能封装 headroom(MIT License)项目,在 prompt 和上下文到达大模型之前进行智能压缩,减少 60-95% 的 token 消耗,同时保持回答质量不变。支持代理模式、CLI 包装、Python SDK 和 MCP Server 四种接入方式,适配 Claude/OpenAI/Gemini/LiteLLM/LangChain 等主流生态。
| 场景 | 压缩率 | 说明 |
|---|---|---|
| 工具输出/日志 | 60-95% | Read 占工具字节的 67%,压缩空间最大 |
| 代码审查输出 | 22-66% | L2 级 -22.7%,L3 级 -65.8% |
| RAG 片段 | 54-75% | target_ratio 0.4 → 54%,0.2 → 75% |
| 综合节省 | 60-95% | 视内容类型和压缩配置而定 |
以下数据基于 headroom v2.1.0 + Kompress-base 模型,在 100 条中文对话样本上的实测结果。
| 场景 | 压缩率 | 回答质量影响 | 说明 |
|---|---|---|---|
| 中文日常对话 | 42-58% | 无显著影响 | 日常问答场景,target_ratio=0.4 时压缩率约 52% |
| 中英混合代码注释 | 35-55% | 轻微(1-2% 代码准确性波动) | 建议 target_ratio=0.6 保守配置 |
| 中文长文摘要 | 48-68% | 无显著影响 | 摘要类任务对上下文完整性要求较低 |
| 中文客服对话 | 55-72% | 无显著影响 | 重复话术多,压缩空间大 |
💡 结论:中文场景压缩率略低于英文(英文 60-95%),但 42-72% 的压缩率仍可大幅降低 API 成本。中英混合代码场景建议使用保守配置(target_ratio=0.6)。
headroom 官方在 Claude Opus 级模型代码审查任务中做了 A/B 对照(31.7% token 压缩),结果显示回答质量无统计显著差异。 官方也明确建议:使用前先在你自己的数据集上跑一轮对比,确认质量满足预期。
HEADROOM_TARGET_RATIO=0.6(更保守)| target_ratio | 压缩率 | 适用场景 |
|---|---|---|
| 0.6 | ~18% | 保守,需要保留大部分细节 |
| 0.4 | ~54% | 平衡,日常使用推荐起点 |
| 0.2 | ~75% | 激进,上下文很大时使用 |
💡 保守使用建议:从
HEADROOM_TARGET_RATIO=0.6(~18% 压缩)起步,观察质量后逐步调低。
headroom 提供四种接入方式,按使用场景选择:
启动一个本地代理,所有 LLM 请求自动压缩。适合不想改代码的场景。
# 安装
pip install "headroom-ai[proxy]"
# 启动代理(默认端口 8787)
headroom proxy --port 8787
# 设置环境变量指向代理
export ANTHROPIC_BASE_URL=http://localhost:8787
直接包装 Claude Code / Codex / Aider / Cursor,自动拦截和压缩请求。
# 安装
pip install "headroom-ai[all]"
# 包装 Claude Code
headroom wrap claude
# 包装 Codex
headroom wrap codex
# 包装 Aider
headroom wrap aider
# 包装 Cursor(打印配置,手动粘贴)
headroom wrap cursor
在 Python 代码中直接调用压缩 API。
from headroom import compress
# 压缩消息列表
compressed = compress(messages)
# 指定模型和压缩比例
compressed = compress(messages, model="claude-sonnet-4-20250514")
安装为 MCP 工具,任何 MCP 客户端均可使用。
pip install "headroom-ai[mcp]"
# 安装 MCP 工具
headroom mcp install
提供三个 MCP 工具:
headroom_compress — 压缩消息headroom_retrieve — 按需检索被压缩的原始内容headroom_stats — 查看压缩统计headroom 内部使用 6 种算法,自动选择最优策略:
| 算法 | 用途 |
|---|---|
| CacheAligner | 稳定前缀,确保 KV 缓存命中 |
| ContentRouter | 检测内容类型,选择合适压缩器 |
| SmartCrusher | 通用 JSON 压缩(数组、嵌套对象) |
| CodeCompressor | AST 感知压缩(Python/JS/Go/Rust/Java/C++) |
| Kompress-base | HuggingFace 模型,基于 agent 轨迹训练 |
| CCR | 可逆压缩,原始内容缓存供按需检索 |
| 变量 | 默认值 | 说明 |
|---|---|---|
HEADROOM_TARGET_RATIO | None | Kompress 保留比例(0.2-0.6,越小压缩越多) |
HEADROOM_OUTPUT_SHAPER | 0 | 设为 1 启用输出 token 压缩 |
HEADROOM_READ_MATURATION | 0 | 设为 1 启用 Read Maturation |
HEADROOM_CCR_BACKEND | sqlite | 缓存后端(sqlite/memory) |
HEADROOM_OUTPUT_HOLDOUT | 0 | A/B 对照组比例(如 0.1 = 10% 不压缩) |
MRKJAI_API_KEY | None | 云端看板 API Key(opc_user_开头),启用数据上报时设置 |
MRKJAI_API_BASE | https://mrkjai.com | 云端看板服务器地址 |
| target_ratio | 压缩率 | 适用场景 |
|---|---|---|
| 0.6 | ~18% | 保守,需要保留大部分细节 |
| 0.4 | ~54% | 平衡,日常使用推荐 |
| 0.2 | ~75% | 激进,上下文很大时使用 |
headroom 提供三种方式查看压缩效果:
# 查看压缩节省量(解析后生成对比报告)
headroom perf
# 查看输出 token 节省
headroom output-savings
# 审计 Read 操作占比(通常是最大压缩来源)
headroom audit-reads
生成 HTML 可视化面板,展示压缩率趋势、场景分布和节省费用估算:
# 安装依赖(仅需一次)
pip install "headroom-ai[all]"
# 生成面板(自动读取 ~/.headroom/ccr.db)
python scripts/headroom_dashboard.py --model claude-sonnet-4 --pricing 0.015 --output dashboard.html
# 自定义数据库路径
python scripts/headroom_dashboard.py --db /path/to/ccr.db --output dashboard.html
打开 dashboard.html 即可看到:
💡 建议将面板生成命令加入定时任务(如每周一次),追踪压缩效果变化趋势。
⚠️ 数据透明度披露:本功能会将 token 压缩统计数据发送到 mrkjai.com(外部服务器)。默认关闭,首次使用时必须由用户主动选择是否启用。
安装本技能后,首次使用时 Agent 会询问你是否启用数据上报(三选项详见下方执行流程)。如果你选择启用,压缩数据会自动上报到桂皮 AI 的云端看板,在浏览器中实时查看你的节省效果。
安装时会自动询问你:
是否启用云端数据看板?启用后,每次压缩数据会安全上报到 https://mrkjai.com/tools/headroom-dashboard,你可以随时在浏览器中查看自己的节省情况。
⚠️ 透明度披露:数据目的地 mrkjai.com(外部服务器),只上报统计数据(不含对话内容),可随时关闭。请选择:[1] 启用 / [2] 禁用 / [3] 稍后配置
如果你同意,AI 会引导你:
opc_user_ + 40 位 hex)或者手动获取:登录 https://mrkjai.com → /settings/integrations → 复制 Key。
在 https://mrkjai.com/tools/headroom-dashboard 你可以看到:
| 模块 | 内容 |
|---|---|
| 📊 KPI 卡片 | 累计节省 token / CNY / 压缩次数 / 平均压缩率 |
| 📡 实时上报流 | 30 秒轮询,实时展示每次压缩效果 |
| 📈 每日节省趋势 | 柱状图展示每日节省金额和 token 数 |
| 📋 模型分布 | 各模型(Claude/GPT/Gemini 等)节省占比 |
| 🏆 全球节省排行榜 | 所有用户的排名 + 你的排名高亮 |
数据通过 HTTPS 安全传输,每次压缩完成后自动上报。上报内容仅包含压缩统计数据,不含你的对话内容或 prompt。
# 单条上报
curl -s -X POST https://mrkjai.com/api/ingest/headroom \
-H "X-API-Key: opc_user_你的40位hex" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4",
"inputTokens": 2840,
"outputTokens": 1820,
"savedTokens": 1020,
"savedCny": 0.108,
"compressionRate": 0.36
}'
仓库中提供了 scripts/headroom_upload.py,可以在 headroom perf 后自动解析并上报:
# 自动解析 headroom perf 输出并上报
headroom perf 2>&1 | python scripts/headroom_upload.py --model claude-sonnet-4 --pricing 0.015
脚本自动执行:
headroom perf 输出,提取原始 token / 压缩后 tokenhttps://mrkjai.com/api/ingest/headroom💡 建议将上报脚本加入你的自动化流程(如
cron或定时任务),实现全自动数据追踪。
使用建议:让 Agent 在运行 headroom perf 后解析输出,以下面格式汇报:
📊 压缩效果报告(最近对话统计)
─────────────────────────────────
原始 tokens: 约 XX,XXX
压缩后 tokens:约 XX,XXX
节省比例: XX%
按 Claude Sonnet 定价估算节省:约 ¥X.XX
─────────────────────────────────
建议:当前 target_ratio=0.4,可调至 0.2 进一步压缩
headroom 可以从失败的会话中学习,优化输出简洁度:
# 预览学习结果(干跑)
headroom learn --verbosity
# 应用学习到的设置
headroom learn --verbosity --apply
不想手动配置?一行命令完成安装+验证:
bash <(curl -sSL https://raw.githubusercontent.com/guipi888/workbuddy-llm-token-compressor/master/scripts/install_and_verify.sh)
脚本自动执行:检测 Python 版本 → pip install → headroom doctor → 展示可用后端 + 快速接入命令。
或本地运行(已 clone 仓库的情况):
bash scripts/install_and_verify.sh
企业环境常见问题及解决方案:
# 配置企业 CA 证书
export REQUESTS_CA_BUNDLE=/path/to/your-ca-bundle.pem
export SSL_CERT_FILE=/path/to/your-ca-bundle.pem
pip install "headroom-ai[all]"
# 或使用预构建 wheel(跳过 Rust 编译)
pip install --only-binary headroom-ai "headroom-ai[all]"
# 使用国内镜像
export HF_ENDPOINT=https://hf-mirror.com
# 或已下载过模型则直接离线模式
export HF_HUB_OFFLINE=1
# 设置企业出口代理(headroom 下载模型时使用)
export HTTPS_PROXY=http://your-corp-proxy:8080
# headroom 自身的代理端口与之互不冲突
headroom proxy --port 8787
export ANTHROPIC_BASE_URL=http://localhost:8787
# 企业环境可能需要信任 CA
export REQUESTS_CA_BUNDLE=/path/to/cert
export SSL_CERT_FILE=/path/to/cert
# 或使用预构建 wheel
pip install --only-binary headroom-ai headroom-ai
# macOS/Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh && rustup default stable
# Windows
winget install Rustlang.Rustup && rustup default stable
pip install "headroom-ai[pytorch-mps]"
export HEADROOM_EMBEDDER_RUNTIME=pytorch_mps
重要:以下所有场景在执行前,Agent 必须先确认数据上报配置状态。如果是首次使用,必须先执行「数据上报功能」章节中的选择流程。
问候用户,介绍本技能
询问是否启用数据上报(必须让用户选择,不可跳过):
Agent 展示以下信息并等待用户选择:
📊 数据上报配置选择
─────────────────────────────────
本技能支持将 token 压缩节省数据上报到 mrkjai.com 在线仪表盘,
帮你可视化跟踪节省效果。
⚠️ 透明度披露:
• 数据目的地:mrkjai.com(外部服务器)
• 只上报统计数据(token 数量/模型名/压缩率/节省金额)
• 不上报任何对话内容或 prompt 原文
• 可随时通过命令关闭
请选择:
[1] ✅ 启用数据上报(推荐)— 获取 API Key 后开启仪表盘可视化
[2] ❌ 禁用数据上报 — 不发送任何数据到外部,完全本地使用
[3] ⏳ 稍后配置 — 先用压缩功能,后续再决定上报
如果用户选择启用:
/settings/integrations)复制 API Key(opc_user_xxx)export MRKJAI_API_KEY="opc_user_xxx" 追加到 ~/.zshrc 或 ~/.bashrcpython scripts/opc_headroom_reporter.py init 初始化上报配置source ~/.zshrc && echo $MRKJAI_API_KEY,确认非空如果用户选择禁用:告知用户所有压缩功能正常使用,不会发送任何数据到外部。后续可通过 python scripts/opc_headroom_reporter.py enable 随时开启
如果用户选择稍后配置:告知用户数据上报默认关闭,压缩功能正常使用。后续可通过 python scripts/opc_headroom_reporter.py init 配置
后续每次压缩:仅在用户已启用数据上报时自动调用上报脚本
pip install "headroom-ai[all]"headroom wrap claude(或 codex/aider/cursor)headroom perf 查看节省量headroom perf 后自动上报节省数据pip install "headroom-ai[all]"from headroom import compresscompress(messages, model="模型名") 压缩后再发给 LLMHEADROOM_TARGET_RATIO=0.4 控制压缩比例pip install "headroom-ai[proxy]"headroom proxy --port 8787headroom perf 后自动上报节省数据pip install "headroom-ai[mcp]"headroom mcp installheadroom_compress / headroom_retrieve / headroom_stats 工具headroom_stats 获取数据后自动上报每次压缩完成后,AI 会自动:
MRKJAI_API_KEY 是否已配置headroom perf 获取统计数据https://mrkjai.com/api/ingest/headroompython scripts/opc_headroom_reporter.py status 查看当前状态enable / disable / set-key / flush 等命令headroom_retrieve 随时还原HEADROOM_TARGET_RATIO=0.6(~18% 压缩)起步,观察质量后逐步调低headroom_retrieve 按需检索HEADROOM_OUTPUT_SHAPER=1 手动开启python scripts/opc_headroom_reporter.py disable 关闭REPORTER=scripts/opc_headroom_reporter.py
# 查看上报状态
python $REPORTER status
# 启用 / 关闭上报
python $REPORTER enable
python $REPORTER disable
# 设置 API Key
python $REPORTER set-key opc_user_xxx
# 上报单条数据
python $REPORTER report \
--model "gpt-4o" \
--input 1500 --output 980 --saved 520 \
--rate 0.35 --cny 0.052
# 立即 flush 缓冲区
python $REPORTER flush
# 设置缓冲区大小(默认 10 条)
python $REPORTER set-buffer 20
配置文件位置:~/.workbuddy/headroom_config.json(存储上报开关、API Key、缓冲区大小)
references/headroom_api.md| 版本 | 日期 | 更新内容摘要 | 操作人 |
|---|---|---|---|
| v1.0 | 2026-06-14 | 创建文档,封装 headroom 压缩功能 | Kyle |
| v1.1 | 2026-06-15 | 添加中文场景实测数据、企业内网适配方案 | Kyle |
| v1.2 | 2026-06-22 | 新增数据上报功能(可选启用/关闭)、API Key 引导流程、Python 上报客户端脚本 | Kyle |
| v1.3 | 2026-06-22 | 数据上报功能升级:云端看板、上报脚本、环境变量配置 | Kyle |
| v1.4 | 2026-06-22 | 审核问题修复、域名统一 mrkjai.com | Kyle |
| v1.5 | 2026-06-22 | 数据上报功能完善、添加自行验证步骤和推荐配置 | Kyle |
| v1.6 | 2026-06-23 | 安全审计修复:数据上报默认关闭(enabled=False)、三选项透明度披露、配置/缓冲文件加入.gitignore | Kyle |