token-savior
让 AI 编程 Agent 节省 80% tokens、提速 5 倍的 MCP 服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 编程 Agent 节省 80% tokens、提速 5 倍的 MCP 服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
如果把 AI 编程 Agent 比作一个蒙着眼睛在陌生城市里开车的司机,Token Savior 就是那副给它戴上的高精度 GPS 眼镜——不仅告诉它「路在哪」,还告诉它「每一步踩油门的力度该多大」。
2024 年下半年开始,以 Claude Code、Cursor、Codex 为代表的 AI 编程 Agent 开始大量进入工程师的工作流。然而,这些 Agent 在处理复杂任务时暴露出一个根本性问题:上下文饥饿(Context Starvation)。
当代码库规模超过几万行、或者任务涉及多模块联动(如添加一个数据库字段需要同步修改 ORM 模型、API 路由、前端类型定义)时,Agent 的上下文窗口被大量无关代码填充,真正关键的信息反而被淹没。结果表现为:Agent 生成错误的 import 路径、修改了错误文件的同名函数、遗漏了上下游依赖更新。这不是模型「笨」,而是上下文管理机制的缺失。
Mibay(Mibayy)敏锐地捕捉到了这个痛点,于 2025 年初启动了 Token Savior 项目。不同于彼时大多数聚焦于「让 Agent 更快」的优化方向,Token Savior 选择了一条更本质的路径:让 Agent 更准。
图 1:Token Savior 作者 Mibay 的 GitHub 头像
Token Savior 的技术方案由三个相互配合的子系统构成。
AI 编程 Agent 在执行任务时,会大量调用 Bash 命令(git status、pytest -v、cargo build 等)。这些命令的输出往往很长——一次失败的 pytest 全量输出可能占用 10K tokens,而其中 90% 是重复的测试名称和无关的 traceback。
Token Savior 内置了 34 种 Bash 命令压缩器(Compactor),每种压缩器都是一个纯函数,接收原始命令输出,返回压缩后的精简版本:
git status → 仅返回分支名 + 有变更的文件数量pytest -v → 绿色全通过时压缩为一行 ✓ 42 passedaws ec2 describe-instances → 仅返回 instance ID 和状态docker ps → 仅保留容器名、状态、端口映射三列开发者开启 Bash 压缩只需两个环境变量:
export TS_BASH_COMPACT=1
export TS_BASH_REWRITE=1
在 Agent 执行 Bash 命令之前,Token Savior 会将其改写为信息密度更高的变体:
| 原命令 | 改写后 |
|---|---|
git status | git status --porcelain=v2 --branch |
pytest -v | pytest -q --tb=line |
tsc | tsc --pretty false |
npm list | npm list --depth=0 --json |
这套改写规则目前有 10 条,均为安全规则——不会在遇到 &&、|、显式 verbose flag 时误触发。Compactor dispatcher 在无匹配时返回 None,Agent 自然回退到原始路径。
这是 Token Savior 最核心的差异化能力。项目利用 Tree-sitter 对代码库进行语法树级别的索引,替代传统 grep/ripgrep 的文本匹配:
find_symbol(name) — 在语法层面精确定位函数/类定义,区分同名符号的不同作用域get_function_source(name) — 获取函数完整源码,避免用 cat 手动滚动get_full_context(name) — 一站式获取:符号位置 + 源码 + 调用者 + 依赖图replace_symbol_source — 在语法树层面执行替换,保证 import 路径同步更新find_semantic_duplicates — 语义级别的重复代码检测索引覆盖的语言包括:Python、C/C++/GLSL、Java、TypeScript/JavaScript、Go、Rust、C#、Ruby、Prisma DSL 等主流编程语言,以及 JSON/YAML/TOML/XML/INI 等配置文件格式。
作者构建了一个独立的开源基准测试框架 tsbench,对 Token Savior 进行量化评估。
测试环境:Claude Opus 4.7,96 个真实编程任务(2026年5月)。
| 指标 | 裸 Claude Code | 加 Token Savior | 变化 |
|---|---|---|---|
| 任务得分 | 141/180 (78.3%) | 188/192 (97.9%) | +19.6pp |
| 单任务活跃 tokens | 17,221 | 3,395 | -80% |
| 单任务耗时 | 110.6 秒 | 18.9 秒 | -83% |
tsbench 本身也开源,数据完全透明可复现。值得注意的是,每次 benchmark 运行会生成详细的 matrix.json,记录每个任务在 base 配置和 ts 配置下的具体得分、token 消耗、wall time,可作为持续追踪工具。
Token Savior 还集成了一个可选的持久化记忆系统,基于 SQLite schema:
CREATE TABLE session_memory (
session_id TEXT PRIMARY KEY,
project_root TEXT,
created_at TIMESTAMP,
summary TEXT,
entities_json TEXT -- 索引过的符号信息
);
该模块支持:
sqlite-vec + fastembed 支持基于语义相似度的记忆检索需要注意的是,持久化记忆功能需要安装可选依赖:
pip install "token-savior-recall[memory-vector]"
Token Savior 的代码库本身就是一个高质量的范例:
1688/1688 测试用例全部通过,涵盖annotator、compact 逻辑、memory 层、CLI 初始化等各个模块mypy --strict,要求 Python 3.11+ 类型注解完整ruff 作为 linter,target-version 锁定 py311annotator/(语言解析)、compactors/(命令压缩)、memory/(持久化)、server_handlers/(MCP 协议处理)等独立模块ts init 免手动配置安装极简:
pip install "token-savior-recall[mcp]"
配置只需在 Claude Code(或其他 MCP 客户端)的 settings.json 中加入:
{
"mcpServers": {
"token-savior-recall": {
"command": "/path/to/venv/bin/token-savior",
"env": {
"WORKSPACE_ROOTS": "/path/to/project",
"TOKEN_SAVIOR_PROFILE": "optimized"
}
}
}
}
一键优化模式(TOKEN_SAVIOR_PROFILE=optimized)是 tsbench 验证的帕累托最优配置,开箱即用,无需调参。对于希望精细控制的高级用户,项目还提供了 tiny_plus、lean、full 等多个预设 profile。
ts init --agent claude --yes 命令可以自动检测并合并 hook 配置,支持 Claude Code、Cursor、Codex、Gemini 等主流 Agent,合并前自动备份原配置(.bak-YYYYMMDD-HHMMSS),支持 --dry-run 预览。
Token Savior 并非银弹,存在以下局限:
1. MCP 生态锁定。项目基于 Model Context Protocol 构建,对非 MCP 客户端(如原生 Claude API 调用、直接使用 OpenAI Codex CLI)不直接适用。虽然理论上可以通过 MCP Gateway 桥接,但增加了部署复杂度。
2. 第三方 Agent 兼容差异。虽然 README 声称支持 Claude Code、Cursor、Codex、Gemini CLI 等多个 Agent,但每个 Agent 的 hook 注入机制不同,benchmark 数据主要来自 Claude Opus。对于其他模型/Agent 的实际收益,目前缺乏同等规模的量化验证。
3. 记忆系统的隐私风险。持久化记忆引擎会在本地 SQLite 中存储代码变更历史,若用于处理包含商业敏感代码的项目,需要注意数据隔离。
4. benchmark 透明度。tsbench 的评测任务集(90 个任务的具体描述和评分标准)未完全公开,外部研究者难以独立复现这一 97.9% 得分。
Token Savior 的出现反映了一个更大的趋势:AI 编程 Agent 正在从「暴力刷 token」阶段走向「精准上下文」阶段。
在 2024 年,大量 AI 编程工具的优化方向是「上下文窗口越来越大」——Claude 200K、GPT-4 Turbo 128K 等长上下文模型成为卖点。但 Token Savior 用实证数据说明:减少无关上下文,比增加上下文窗口更有效。同样的模型,加上 Token Savior 的上下文管理后,78.3% → 97.9% 的提升,几乎相当于换了一个更强大的模型——但成本只是本地 pip 安装。
这一思路正在被更广泛的 AI 编程社区接受和跟进。2026 年上半年,多个类 Token Savior 项目相继出现(如本平台同期采集的 simple-local-rag、MODULAR-RAG-MCP-SERVER),从不同角度解决 AI Agent 的上下文管理问题。
分析日期:2026-06-16 | 数据来源:GitHub API (stars: 987) | 基准测试:tsbench v2 (2026-05)