☰
Token Savior与serena、RTK如何共存?跨工具层叠加的取舍与opt-out配置指南
2026/10/14 17:04:59 网站建设 项目流程

【免费下载链接】token-savior

MCP server that gets Claude to 97.9% (188/192) on a real coding benchmark at -80% active tokens and -83% wall time, vs 78.3% plain. Structural code navigation + persistent memory engine. Works with every MCP client.

项目地址:https://gitcode.com/gh_mirrors/to/token-savior
点击查看免费下载

Token Savior 是一款面向 AI 编程代理的 MCP server,核心能力是结构化代码导航与持久化记忆引擎,在真实编码基准上把 Claude 的 active tokens 降低约 80%、任务耗时降低约 83%。当它与 serena、RTK 这类"邻居工具"同时运行时,会出现在同一工具层上的重叠——好消息是,Token Savior 对每一层都提供了独立的 opt-out 开关,叠加使用通常没有冲突。

先搞清楚:Token Savior 占了哪几个"工具层"

Token Savior 并不是单一功能的工具,它横跨多个层,而大多数同类工具只占其中一层。这也是"共存"问题产生的根源:

工具层Token Savior 对应能力是否独占
符号图导航find_symbol、get_dependents等❌ 与 serena 直接重叠
PostToolUse 输出压缩34 个 Bash 输出 compactor(git/pytest/aws/k8s…)❌ 与 RTK 同层
持久化记忆引擎SQLite + FTS5 + 向量嵌入❌ 与 codebase-memory 部分重叠
PreToolUse 命令改写运行前把git status改写成更紧凑的形式✅ 独占
结构化编辑与审计detect_breaking_changes、find_dead_code✅ 独占

官方对叠加策略的总结很直白:"Overlap is opt-out per layer, so running both is usually fine once you disable the half you already have."即重叠按层解除,关掉你已有的那一半即可。相关说明见 README.md。

与 serena 共存:导航层二选一,推荐 compact-only 配置

serena 与 Token Savior 的重叠是直接的:两者都提供find_symbol/get_dependents级别的符号图导航。同时开着两套导航工具,模型会困惑"该用哪个",还白白多付一份工具清单(manifest)的 token 成本——每个被宣告的工具大约占用 50~200 个 token。

👉推荐做法:把 Token Savior 切换为compact-onlyprofile。该 profile 几乎不宣告任何 MCP 工具(只保留ts_discover用于统计采用率),但 Bash compactor 和 PreToolUse 改写器是hook,不占用工具清单,依然照常运行:

"env": { "TOKEN_SAVIOR_PROFILE": "compact-only" }

这个设计在源码中一目了然:src/token_savior/server.py 中compact_only的定义就是"排除除ts_discover之外的所有工具",注释明确写着它服务于"已经在别处运行 serena、codebase-memory 等导航/记忆的用户"。

与 RTK 共存:同一 PostToolUse 层,只留一个

RTK 做的是 PostToolUse Bash 输出压缩,与 Token Savior 的TS_BASH_COMPACT=1处于同一层,且受同一限制:

PostToolUse hook 在工具返回之后才触发,只能追加上下文,无法缩小当前轮次已经发出的输出。两个压缩器同时开启,等于给同一段输出打两遍补丁,没有额外收益。

👉推荐做法:只保留你更常用的那一个。让 RTK 独占输出压缩层时,不设置(或置 0)该开关即可:

TS_BASH_COMPACT=0 # 把 Bash 输出压缩让给 RTK

注意一个常见误区:如果你想让"当前轮次真正变小",真正起作用的不是 PostToolUse 压缩器,而是PreToolUse 改写器——它在命令运行前把git status改写成git status --porcelain=v2 --branch、pytest改写成pytest -q --tb=line,让更小的输出从一开始就不产生。它与 RTK 不冲突,可以放心同时开启:

TS_BASH_REWRITE=1 # 保留这个:它是唯一能缩小当前轮次的开关

改写器行为见 hooks/bash_rewriter_hook.py,输出压缩器入口见 hooks/tool_capture_hook.py,规则实现位于 src/token_savior/bash_rewriter/rules.py 与 src/token_savior/compactors/ 目录。

opt-out 配置速查表:按层关闭

以下是全部与"共存"相关的开关,按需取用(均为可选环境变量):

重叠层让位给谁opt-out 配置
符号导航serenaTOKEN_SAVIOR_PROFILE=compact-only
PostToolUse 输出压缩RTKTS_BASH_COMPACT=0(不设置即可)
持久化记忆codebase-memoryTS_MEMORY_DISABLE=1
输出侧沙箱任意TS_CAPTURE_DISABLED=1

记忆引擎的关闭逻辑在 src/token_savior/server.py:设为1后,所有memory_*入口工具直接从清单中移除,模型不再看到它们。

三种典型用户的组合策略

策略 A:已有 serena 导航

"env": { "TOKEN_SAVIOR_PROFILE": "compact-only", "TOKEN_SAVIOR_CLIENT": "claude-code" }

serena 负责导航,Token Savior 只贡献它独占的 Bash 层 + 审计工具,manifest 成本仅约 0.3 KT。

策略 B:已有 RTK 压缩

TS_BASH_COMPACT=0 # 输出压缩让给 RTK TS_BASH_REWRITE=1 # 保留:运行前改写,真正缩小当前轮次

策略 C:全功能独立使用(无 serena / RTK)

TOKEN_SAVIOR_PROFILE=optimized # 15 个高频工具 + 精简 schema TS_BASH_COMPACT=1 # 输出压缩器 TS_BASH_REWRITE=1 # 命令改写器

optimized是官方基准的帕累托最优档,profile 对比见 README.md。

一键安装 hook:ts init 让配置真正落地

Bash compactor 和改写器是 Claude Code 的 hook,需要写入~/.claude/settings.json才生效。Token Savior 提供幂等的安装命令,支持claude、cursor、gemini、codex、openclaw五类客户端:

ts init --agent claude --yes # 自动合并 hook,支持 --dry-run 预览

它会检测已有 hook 条目、按(matcher, command)去重、写入前自动备份 settings.json,重复执行是安全的 no-op。若你担心与 RTK 的 hook 冲突,先跑--dry-run看 unified diff 再决定是否写入。

如何验证共存配置生效

  1. 用ts_discover看采用率:扫描最近 30 天转录,报告哪些会话走了 TS 工具、哪些还在裸跑Read/Grep。compact-only下也保留该工具,就是为了"让采用率保持可测量"。
  2. 改写审计日志:TS_BASH_REWRITE_LOG=~/.local/state/token-savior/rewrites.jsonl会为每次改写追加一行 JSON,可直接核对 RTK 场景下改写器是否仍在工作。
  3. 对照基准数字:v4.1 的 Bash 压缩基准约每周省 20.4 K tokens(~30 K → ~9.6 K),见 README.md 与 CHANGELOG.md 的 v4.1.0 条目。

一句话总结:Token Savior 与 serena、RTK 的共存原则是"层不重叠"——导航层交给 serena 就用compact-only,压缩层交给 RTK 就关TS_BASH_COMPACT,而 PreToolUse 改写器和审计工具这两个独占能力,无论和谁共存都建议保留。

【免费下载链接】token-savior

MCP server that gets Claude to 97.9% (188/192) on a real coding benchmark at -80% active tokens and -83% wall time, vs 78.3% plain. Structural code navigation + persistent memory engine. Works with every MCP client.

项目地址:https://gitcode.com/gh_mirrors/to/token-savior
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询