RTK(Rust Token Killer)是一个高性能 CLI 代理,作用是在常见 shell 命令的输出到达 AI 编码代理之前,把命令改写为经过 token 优化的等价形式,以减少代理读取到的 token 量。本技能围绕 RTK 的安装、初始化、验证与故障排查展开。目标仓库是 rtk-ai/rtk 的 akillness/rtk 分支:该分支跟踪上游代码,但随附的 install.sh 仍从 rtk-ai/rtk 下载发布产物。
一、用途与适用时机 当需要确认 RTK 是否已安装、安装的是否为正确项目;修复常见的 cargo install rtk 名称冲突错误;使用 Homebrew、仓库 install.sh 或 Cargo 安装 RTK;为 Claude Code、Codex、Gemini CLI、Cursor、Copilot、Windsurf、Cline 或 OpenCode 初始化 RTK;判断何时 rtk init -g 优于本地项目设置;使用 rtk git status、rtk read、rtk grep、rtk test、rtk lint 等直接包装命令;诊断自动改写为何未生效;以及解释内置文件工具为何不经过 shell 钩子、何时应改用直接 rtk 命令时,可使用本技能。
二、主要能力与操作步骤
- 安装前先验证:运行 bash scripts/check-status.sh --show。若 rtk gain 可用,说明已安装正确的 RTK,除非用户要升级,否则不要重装;若 rtk --version 可用但 rtk gain 失败,通常装错了包(多为 Rust Type Kit);若 rtk 完全缺失,则进入安装流程。安装与验证的决策树见 references/install-and-verify.md。
- 安装或修复:使用 bash scripts/install.sh。默认 auto 在 macOS 上优先 Homebrew,其次使用分支的 install.sh,最后用 Cargo。可用 --method brew(系统托管的标准安装)、--method script(仓库安装脚本路径)、--method cargo(明确要基于 git 源码构建或从分支工作时)、--force-uninstall-wrong(已装错 rtk 时)。示例:bash scripts/install.sh --method brew;bash scripts/install.sh --method script;bash scripts/install.sh --method cargo --repo akillness/rtk;bash scripts/install.sh --force-uninstall-wrong。安装规则:安装后务必用 rtk gain 验证;除非用户已确认包正确,否则视 cargo install rtk 为不安全;若走安装脚本路径,注意脚本仍从 rtk-ai/rtk 拉取发布产物。
- 选择正确的 rtk init 模式:使用 bash scripts/init-agent.sh --agent <agent> [--global|--local]。默认映射:Claude Code 用 --agent claude --global(钩子优先);Codex 用 --agent codex --global 或本地 --agent codex --local;Gemini CLI 用 --agent gemini --global;Cursor 用 --agent cursor --global;Copilot 用 --agent copilot --global;OpenCode 用 --agent opencode --global;Windsurf 用 --agent windsurf --local;Cline / Roo Code 用 --agent cline --local。后续检查示例:bash scripts/init-agent.sh --agent claude --global --auto-patch;bash scripts/init-agent.sh --agent codex --global;bash scripts/init-agent.sh --agent opencode --global;bash scripts/init-agent.sh --agent claude --show。各代理的钩子类型、作用域或卸载行为见 references/platform-init.md。
- 钩子缺失或不足时使用直接命令:自动改写仅在代理确实通过受支持的钩子或插件执行 shell 命令时生效。仅提示词式集成(如 Codex、Windsurf、Cline)仍可从显式 rtk 命令受益,但不会透明改写内置文件工具。当代理使用内置 Read、Grep、Glob 工具而非 shell,或在 Codex 中希望立即获得紧凑输出,或需要不依赖钩子状态的确定性验证时,使用直接命令。常用命令:rtk git status、rtk read src/main.rs、rtk grep "pattern" .、rtk test cargo test、rtk lint、rtk gain。命令族与配置项见 references/commands-and-config.md。
- 故障排查:先运行 bash scripts/check-status.sh --show,再分支处理:装错二进制则修复名称冲突并重装;钩子缺失或过期则重跑正确的 rtk init 模式;代理仍冗长则确认任务用的是 shell 命令还是内置工具;PATH 问题则确保 ~/.local/bin 或 ~/.cargo/bin 在 PATH 中;Windows 包装器失败则建议 RTK 0.23.1+。排查矩阵见 references/troubleshooting.md。
三、使用方式与最佳实践 重装前先检查 rtk gain,这是区分正确 RTK 与错误包最快的方法;选择满足需求的最轻安装路径(Homebrew 便捷、安装脚本用于发布二进制、Cargo 用于源码驱动流程);对支持钩子的代理把 rtk init -g 作为常规路径,对 Windsurf 和 Cline 把本地规则文件作为常规路径;设置或升级后用 rtk init --show 让过期钩子状态立即可见;记住内置读取/搜索工具不经过 shell 钩子,需要节省 token 时改用 shell 命令或直接 rtk 包装命令;一次性透传命令可用 RTK_DISABLED=1,而不必卸载钩子;RTK 升级后需重跑安装器加 rtk init,因为钩子产物可能随版本变化;当用户说“RTK 坏了”时,先区分安装正确性、钩子注册与实际命令路径,再提出修复方案。
四、限制与注意事项 自动改写依赖受支持的钩子或插件,仅提示词式集成不会透明改写内置文件工具;cargo install rtk 存在名称冲突风险,未确认包正确前不应使用;使用仓库安装脚本时仍从 rtk-ai/rtk 拉取发布产物;Windows 包装器问题建议使用 RTK 0.23.1+。
五、参考资料 references/install-and-verify.md、references/platform-init.md、references/commands-and-config.md、references/troubleshooting.md、scripts/install.sh、scripts/init-agent.sh、scripts/check-status.sh,以及 RTK 仓库分支与上游 RTK 项目。