xiantong 文档

性能与 Token 优化

使用 RTK 减少冗长开发命令产生的 token 消耗

xiantong 可以将 Bash 工具输出交给 RTK 处理。RTK 是一个本地 CLI,可在输出返回模型上下文前压缩常见开发命令的冗长内容。

这适用于会产生大量重复文本的命令:diff、目录列表、搜索结果、测试日志、包管理器输出和构建输出。RTK 不会让命令运行得更快;它减少的是模型需要阅读和关注的输出 token 数量。

xiantong 仍会检查并按权限规则处理原始命令。RTK 只改变返回模型上下文的输出路径。

为什么启用 RTK?#

冗长工具输出是消耗上下文窗口的常见原因。例如:

git diff
rg "TODO|FIXME" .
bun test
npm install
ls -R

未启用 RTK 时,完整原始输出会追加到对话中。启用后,xiantong 会调用本地 rtk 二进制,对符合条件的 Bash 命令输出进行压缩,再交给模型。

典型收益:

  • 降低常见开发命令的 token 使用量
  • 为代码和推理保留更多可用上下文
  • 减少重复日志、巨大 diff、长文件列表带来的噪音
  • 在设置中查看 RTK 的节省 token 与效率统计

RTK 最适合编码与仓库维护会话。对于本身输出很短、很聚焦的命令,收益较小。

要求#

  • 本地已安装 rtk,并位于系统 PATH
  • RTK 版本为 0.23.0 或更新
  • xiantong v0.9.4 或更新

xiantong 不内置 RTK。它会检测 PATH 上的 rtk 可执行文件,并在启用性能开关后本地调用 rtk rewrite

使用 xiantong 时无需运行 rtk initrtk init 主要为其他工具安装 hooks;xiantong 在启用性能开关后会直接调用 rtk rewrite

在 xiantong 中启用 RTK#

  1. 为您的操作系统安装 RTK。
  2. 打开 设置 → AI → 性能 并点击 重新检查。如果修改过 PATH 环境变量,请先重启 xiantong,让桌面进程读取新的 PATH。
  3. 启用 Token 优化
  4. 运行命令较多的会话。
  5. 返回 设置 → AI → 性能 查看 RTK 处理后的节省统计。

如果仍显示 获取 RTK,说明 rtk 缺失、版本过低,或不在桌面应用可见的 PATH 中。

安装 RTK#

macOS#

Homebrew 是最简单的方式:

brew install rtk-ai/tap/rtk

也可以使用 RTK 的安装脚本:

curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh

验证:

which rtk
rtk --version
rtk gain

Linux#

可使用 Homebrew on Linux:

brew install rtk-ai/tap/rtk

或使用安装脚本:

curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh

如果偏好 Cargo:

cargo install --git https://github.com/rtk-ai/rtk rtk

Windows#

RTK releases 下载 Windows zip,解压 rtk.exe,并复制到 Windows PATH 中的目录。

无需管理员权限的做法是使用每用户的 WindowsApps 文件夹:

Copy-Item "C:\Users\<you>\bin\rtk.exe" "$env:LOCALAPPDATA\Microsoft\WindowsApps\rtk.exe" -Force

在新的 PowerShell 窗口验证:

Get-Command rtk
rtk --version
rtk gain

Git Bash/MSYS PATH 与 Windows/PowerShell PATH 并不相同。rtk 在 Git Bash 可用,不代表 xiantong 或 PowerShell 能找到它。请把 rtk.exe 放到 Windows PATH 中,例如 %LOCALAPPDATA%\Microsoft\WindowsApps

Windows PowerShell 注意事项#

如果在 Windows PowerShell 5.1 中验证:

  • 使用 Get-Command rtkwhere.exe rtkwhich 不是 PowerShell 命令。
  • 使用 ; 分隔命令,而不是 Bash 风格的 &&

示例:

Get-Command rtk; rtk --version; rtk gain

故障排除#

xiantong 仍提示未安装 RTK#

设置 → AI → 性能 点击 重新检查。如果仍失败,请在 xiantong 可见的系统 shell 中验证:

  • macOS/Linux:which rtk && rtk --version
  • Windows:Get-Command rtk; rtk --version

Windows 上请确认目录位于 Windows PATH,而不仅是 Git Bash/MSYS PATH。

rtk --version 可用,但 xiantong 不启用#

检查版本。xiantong 需要 RTK 0.23.0 或更新,因为它依赖 rtk rewrite

rtk gain 失败或结果异常#

请确认安装的是 Rust Token Killer(rtk-ai/rtk),而不是其他同名二进制。

是否需要初始化每个项目?#

不需要。xiantong 不要求 rtk init;它直接使用已安装的 rtk 二进制。