使用Headroom+RTK+Ponytail三套件节省Token

把 Headroom、RTK 和 Ponytail 这三套件在本地 Codex 中协同使用,核心是让它们各司其职,形成一个从输入到输出的完整精简管道

🧩 三套件的角色分工

它们分别作用于 Codex 工作流的不同环节:

  • Headroom (输入清理):作为本地代理,在所有数据(包括对话历史、工具输出、日志等)发送给大模型之前进行压缩,号称可节省 60-95% 的 Token。GitHub地址:https://github.com/headroomlabs-ai/headroom
  • RTK (终端命令输出裁剪):它是一个命令行工具,专门拦截并压缩 Codex 执行 Shell 命令后产生的输出,过滤掉大量对 AI 无用的噪音,最高可减少约 90% 的 Bash 输出。GitHub地址:https://github.com/rtk-ai/rtk
  • Ponytail (代码输出精简):这是一个代码最小化插件,它通过注入“懒惰的资深开发者”思维,引导 Codex 在生成代码前先做判断(如能否复用、能否用标准库、能否一行搞定),从而从源头上减少不必要的代码和 Token 消耗,最高可减少 94% 的代码行数。GitHub地址:https://github.com/dietrichgebert/ponytail

当三者同时工作时,它们会在 Codex 的工作流中形成一个多层次的防御体系,协同效果如下:

  1. RTK 处理终端输出:当 Codex 执行 git statusnpm test 等命令时,RTK 会第一时间拦截原始输出,进行去重、合并和截断,将“终端噪音”大幅削减。
  2. Headroom 压缩最终输入:经过 RTK 初步过滤的终端输出,连同对话历史、代码文件等所有上下文信息,会一起发送给 Headroom 的本地代理。Headroom 会进行二次深度压缩,确保最终发送给大模型的 Prompt 是最精简的。
  3. Ponytail 控制代码生成:当模型准备生成代码时,Ponytail 的“懒惰资深开发者”思维会介入,引导模型选择最简洁的解决方案,避免过度工程,从源头上减少了输出 Token 的产生。

这种组合的效果是显著的。通过 RTK 和 Headroom 在输入端的大幅压缩,以及 Ponytail 在输出端的源头控制,可以显著降低你的 Token 消耗和 API 成本。一些用户实践表明,这种组合策略有望将整体 Token 消耗降低 60% 至 85% 甚至更多。

🛠️ 协同配置步骤

要让三者协同工作,你需要按以下顺序进行配置:

1. 安装并配置 Headroom(输入层压缩)

首先安装 Headroom 并初始化 Codex 的持久化集成。它会自动修改 Codex 的配置文件,将模型请求重定向到本地代理。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 1. 安装 Headroom(建议使用 uv 加速)
uv tool install --python 3.13 "headroom-ai[all]"

# 2. 按照成windows服务
headroom install apply --preset persistent-service

# 3. 测试代理的端口已启动
Test-NetConnection -ComputerName localhost -Port 8787

# 4. 为 Codex 初始化 Headroom 集成
headroom init -g

# 5. 检查配置是否都成功
headroom doctor

执行 headroom init -g 后,Codex 的配置文件(~/.codex/config.toml)会被修改,将 API 请求指向 Headroom 的本地代理地址(默认 http://localhost:8787/v1)。

2. 安装并配置 RTK(终端输出层裁剪)

接着安装 RTK 并将其集成到 Codex 中,让所有终端命令的输出都经过它过滤。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 1. 安装 RTK
winget install rtk-ai.rtk

# 2. 为 Codex 全局初始化 RTK
rtk init -g --codex

# 3. 验证配置
rtk init --show

# 如果想卸载
rtk init -g --uninstall # remove hook, RTK.md, and settings.json entry

执行后,RTK 会自动接管 Codex 发起的终端命令,在输出返回给模型前进行压缩。

3. 安装 Ponytail(输出决策层精简)

最后,通过 Codex 的插件市场安装 Ponytail,为其注入代码最小化的决策规则。

1
2
3
4
5
# 1. 添加 Ponytail 插件市场
codex plugin marketplace add DietrichGebert/ponytail

# 2. 安装 Ponytail 插件
codex plugin add ponytail@ponytail

安装后,Ponytail 的规则会自动生效,你也可以在对话中使用 /ponytail 等命令来触发其精简模式。

验证效果

Headroom效果验证

打开Codex CLI或者是Desktop,执行一些任务后,访问URL:http://localhost:8787/stats 如果 total_tokens_saved 或相关计数开始增长,就说明桌面版的流量已经成功经过 Headroom 代理了。

RTK 的验证很直接

1
2
rtk --version   # 应输出 "rtk x.y.z"
rtk gain        # 应显示 Token 节省面板

Ponytail(输出代码精简)验证

Ponytail 通过插件注入,验证方式是在 Codex 会话中观察其状态。

  1. 查看激活状态:在 Codex 的新任务中,系统提示或状态中应出现 PONYTAIL MODE ACTIVE — level: full,这表示默认模式已加载。
  2. 手动查询与切换:你也可以在 Codex 输入框中直接输入 @ponytail 来查看当前模式,或使用 @ponytail full 等命令切换模式。
  3. 观察代码风格:最直接的验证是看生成代码的风格是否变得更简洁:例如优先使用标准库而非引入新依赖、避免不必要的抽象、倾向于删除代码而非增加代码等。

⚠️ 注意事项

  • 配置顺序:建议按照 Headroom → RTK → Ponytail 的顺序进行配置,因为 Headroom 会修改 Codex 的核心配置文件,先配置它可以避免后续冲突。
  • 启动代理:每次使用 Codex 前,请确保 Headroom 的本地代理服务已经启动。如果 Codex 请求失败,请检查代理是否运行在 `http://localhost:8787。
  • 效果差异:Ponytail 的效果在前端小功能、代码评审和局部修改场景下最为明显,而在从零构建整个项目时,其“先判断再行动”的决策过程本身可能会带来一些额外的 Token 开销。