context-mode 深度评测:3.1 万 Star 的上下文插件省 98% 是真的,19 条泄洪命令实测 16 条放行

context-mode 深度评测:3.1 万 Star 的上下文插件省 98% 是真的,19 条泄洪命令实测 16 条放行

你大概撞过这堵墙:用 AI 编码助手干活,聊上半小时它开始「失忆」——刚改过的文件忘了,刚才的任务忘了,你上一条消息也忘了。很多人以为是模型不够聪明,其实更常见的原因是上下文被工具输出撑爆了。一次日志查询、一次跑测试、一个网页抓回来,几十 KB 的原始数据就这么灌进对话窗口。

有个 3.1 万 Star 的开源插件专门堵这个口子,名叫 context-mode(可以理解成「上下文模式」)。它的说法很硬:把大块数据关起门来处理,只让结论回到对话里,能省下 98% 的上下文。我把它拷进隔离沙箱翻了一遍:这个数字是真的,我手里几份样本甚至更省。但同样在这次实测里,它承诺的「自动拦截」只覆盖了 19 条常见命令中的 2 条。

它是什么

context-mode 是装给 AI 编码助手用的插件,Claude Code、Cursor、Codex 这类工具都能装。它主要想解决两件事:

  • 别让原始数据进上下文:给它一段代码,它在单独的子进程里跑,只把打印出来的结果交回来。
  • 别让对话失忆:把每次文件改动、命令、决定记进本地数据库,压缩对话后还能按关键词搜回来。

它还有一路「检索式」用法:先把文档、日志切块存进本地全文索引,需要时按问题搜出相关片段,而不是整篇塞进去。

真正值得看的是它拦什么、放什么:

它想管的事 它的做法
抓网页(curl、wget、WebFetch) 改写成一句提示,让你改用沙箱里的抓取工具
内联发网络请求 同样改写成提示
gradle、maven、sbt 构建 改写,让你把构建放进沙箱跑
读大文件、全文检索、跑测试、看日志 只在你第一次触发时提醒一句

实测:省下的数字站得住,拦下的命令站不住

先说省。它仓库里放了 21 组真实样本——一份 85.5 KB 的埋点表格、一份 45.1 KB 的 nginx 访问日志、一份 58.9 KB 的 GitHub issues 导出。我用它自带的执行器跑了一遍:

样本 原始 进上下文 节省
埋点表格(500 行) 85.5 KB 79 字节 99.9%
nginx 访问日志(500 条) 45.1 KB 92 字节 99.8%
GitHub issues 导出 58.9 KB 17 字节 99.9%
git 提交历史 11.6 KB 11 字节 99.9%

这个方向没得挑。它给你一个子进程,你写几行代码把统计做完,窗口里只留一行结论。我另外试了「检索式」那一路:四份文档共 32.7 KB,三个问题各取回三条片段,进上下文 5.59 KB,省 82.9%,和它文档里给这类用法标的 82% 基本吻合。问文档里根本没有的东西(比如「怎么部署到 k8s」),它会返回零条,不硬凑。

省是真省。问题出在它承诺的另一半:它说装上钩子就会「自动拦截」,之后不用你操心。

我把它的路由逻辑单独抽出来,喂了 19 条最典型的命令,结果是这样:

我喂的命令 它的反应
curl -s https://… 直接把网页打到屏幕 拦下,改写
curl -s -o 文件 https://… 存成文件 放行
tail -n 2000 日志(第一次) 追加一次提示
同一条 tail(同会话第二次起) 放行
grep -rn ERROR src/ 放行
find . -name '*.ts' 放行
ls -R src/ 放行
git log -p -n 200 放行
gh pr view 123 --json body,comments 放行
kubectl logs --tail=5000 放行
docker logs 容器名 放行
cat 一个大文件 放行
npm test / npm run build 放行

19 条里,改写拦下 2 条,只提醒一次 1 条,其余 16 条原样通过。

这不是我挑得刁。它的设计就是这样:只在「结构上一定短小」的命令上主动放行(比如 pwd、git status),其余走一句「建议用沙箱」的提醒,而且每个会话只提醒一次。也就是说,第一次 tail 之后,助手再查多少次日志,它都不再吭声。真正能改变行为的只剩提示词,而提示词管不住它读不读日志。

这里还有一层措辞值得说清。它宣传里的「沙箱」只是另起一个子进程,并没有把文件和网络隔开。我在里面读了系统用户文件、读了家目录下的文件、往临时目录写了东西、还抓了一次公网,全部成功。这本身不算毛病——它要的是「数据不进口上下文」,不是「防住恶意代码」。但读者很容易把「沙箱」理解成后者,文档里「完全隔离」的说法撑不起这个想象。

它自己的文档,九处改动一处没响

一个项目可不可信,最后看它有没有本事守住自己的话。我把它的仓库当成被测对象,做了两组注入。

第一组改代码:把工具名前缀改错、把抓网页的拦截整段拆掉、把函数返回类型改错、让版本号只改一半。四道闸门——类型检查、打包产物断言、插件入口检查、单元测试——四发四中,全红。

第二组改文档,一次只动一处,跑同一套闸门:

我改的地方 闸门反应
首页主标语「98%」改成「99.9%」 全绿
基准报告的总节省 96% 改成 99.9% 全绿
把基准报告里 20 行实测数据整段删掉 全绿
测试总数 125 改成 1250 全绿
安装量徽章 69.97 万改成 990 万 全绿
技能说明里「拿不准就用它」反写成「拿不准就用原始命令」 全绿
平台表里把 Claude Code 从「有钩子、省 98%」改成「无钩子、省 0%」 全绿
隐私段「不上传任何数据」改成「默认采集遥测」 全绿
许可证从 ELv2 改成 MIT(和仓库里的许可文件矛盾) 全绿

九处,零拦截。仓库里没有一条测试或脚本拿基准报告和首页当数据源——它守的是代码能编译、打包没坏、版本号一致,唯独不守「我们宣称自己做到了什么」。

这组数字本身也有松的地方。基准报告开头写「21 个场景」,两张表加起来只有 20 行。总账写「376 KB 变成 16.5 KB,省 96%」,按它自己的分项算出来是 95.6%,四舍五入到 96 需要一点善意。有一行「网络请求」标 13% 节省,按原始字节算是 14.8%。另有两行标着 100%,实际分别还剩 155 字节和 222 字节。都是小账,但一份用来佐证「98%」的报告,小账该更紧一点。

顺带说一句首页。顶部有一排企业徽章——微软、谷歌、Meta、亚马逊等 18 个名字,底下写着「以下团队在用」。那 18 个链接全部指向空锚点,点不动。这不是造假证据,但也不是能点开的证据。

同类里的位置

省上下文这条道上,它站的位置很特别。之前评测过的 caveman(10.8 万 Star)走的是「让 AI 少说废话」:用提示词约束输出,省下的主要是模型自己的啰嗦,官方简介写省 65%、自家文档只认 8.5%。context-mode 不碰说话方式,它搬走的是工具塞进来的数据——这是另一半,也是更硬的一半。

再往前看,Graphify(12.5 万 Star)用代码知识图谱省调用费(也就是模型按字数计的额度),官方宣称 71.5 倍、我复算 38.3 倍;agentmemory(2.9 万 Star)做记忆,官方 95.2% 的「答案找齐」率换成实际评测只剩 81.8%。这条道上的共同点是:省的量级大多能复现,宣称的精度普遍要打折。context-mode 在这一点上算体面——它的 98% 我复出来在 99% 以上,方向没错。

代价也有。装上钩子后,每个会话开头会注入一段约 6800 字符的行为规则(英文约 1700 个词元,也就是模型计费时说的那一种计量单位)。对一次长会话不算什么,对一堆短任务就是纯开销。

适合谁:每天用 AI 编码助手处理大量日志、测试输出、网页抓取的人。子进程和本地检索确实能让窗口干净很多,省下的量我能复现。

不适合谁:指望它「装上就自动管住助手」的人。它真正硬拦的只有抓网页和三种构建工具;其余靠一句每个会话只出现一次的提醒。想让助手老实走沙箱,还得在项目规则里自己写死——这恰恰是它想替你省掉的那件事。

我的判断

值得装,但别按宣传理解它。把它当成「一个更好用的数据处理器加一块本地检索库」,你会很满意:一份 85 KB 的表格进去,79 字节的结论出来,这一手确实漂亮。把它当成「上下文守门员」,你会失望——门装了,大部分时候只是挂在那儿。

真要用得踏实,建议补两件事:一是把「读日志、跑测试、看 diff 必须走沙箱」写进你自己的项目规则,别指望钩子;二是装完后拿它给的那份基准报告,对着手头的真实任务复一遍,看省下的比例还在不在同一量级。

省 98% 是它最好的一张牌,而这张牌恰恰是它自己最没闸门守的一张。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

context-mode 深度评测:21k Star 的 MCP 沙箱把 315KB 工具输出压成 5.4KB,AI 编程终于不用怕上下文爆了

context-mode 深度评测:21k Star 的 MCP 沙箱把 315KB 工具输出压成 5.4KB,AI 编程终于不用怕上下文爆了

用过 Claude Code、Cursor 这类 AI 编程工具的人,大概都撞过同一堵墙:会话跑着跑着,AI 开始「失忆」——忘了在改哪个文件、忘了进行到哪一步。不是模型笨,是上下文被工具输出吃光了。一次 Playwright 页面快照 56 KB,20 条 GitHub issue 59 KB,一条访问日志 45 KB,官方说半小时就能烧掉 40% 的窗口。今天评的这个项目反着来:不压缩数据,干脆别让脏数据进门。mksglu/context-mode,21k★,官方基准把 315 KB 工具输出压成 5.4 KB(省 98%),npm 累计下载 51.5 万,登过 Hacker News 榜首(570+ 分)。

它做了什么:在工具输出和上下文之间,加一道沙箱闸门

context-mode 是一个 MCP server + 插件套件,支持 18 个客户端——Claude Code、Cursor、VS Code Copilot、Codex CLI、Gemini CLI、Kimi、Qwen Code 等全在列,还挂 OpenClaw 网关。核心免费(ELv2 source-available),作者是伦敦 MKSF LTD 的 Mert Köseoğlu,2026-02-23 创建仓库。

它的思路和「压缩派」相反:LeanCTX 那类工具是等上下文满了再压缩重写,context-mode 是在源头拦截——模型每次调工具,钩子先截住,把命令丢进独立子进程沙箱执行,只有 stdout 进窗口。四个板斧:

板斧 机制 效果(官方口径)
沙箱路由 ctx_execute/ctx_execute_file 隔离执行,12 种语言运行时,>100KB 输出自动入索引只回指针 56 KB 快照 → 299 B
会话记忆 编辑/git/错误/用户决定实时写 SQLite FTS5,compact 后按 BM25 检索回填 治「压缩后失忆」
Think in Code 让模型写脚本算完再 console.log,而不是读 47 个文件进窗口 700 KB → 3.6 KB
不强制话术 不逼模型说人话,引 Moonshot 研究指 aggressive brevity 会降 benchmark 与输出纪律派划界

工具设计上有个反直觉点值得单独说:它把「分析」和「读」拆开了。以前模型要 grep、要 Read 一堆文件进上下文自己数,context-mode 逼它写段脚本在沙箱里数完只报结果——一次调用顶十次工具调用。hooks 能程序化拦截的平台(Claude Code 等)实测合规率约 98%;没 hooks 的 Zed 之类只能靠指令文件,作者自标约 60%。

仓库实证:6.5 个月、169 个版本、51.5 万下载

我 clone 了仓库全量核实(599 个文件):创建于 2026-02-23,6.5 个月冲到 21,024★ / 1,524 fork;HEAD 提交停在 2026-09-07 中午(写稿前一天还在推),版本号 v1.0.169。npm 侧数据能对上徽章:累计下载 515,145,5 月冲到单月 12.3 万的峰值,9 月第一周仍有 1.6 万。发布节奏极快——223 个 npm 发布记录,6.5 个月 169 个版本,约每天一个。

它的流量故事也清楚:2 月 25 日 Show HN 拿了 84 分,三天后作者博客长文直接登 HN 榜首 570+ 分、30 条讨论,之后 5 月下载量二次冲高。官方 BENCHMARK.md 给了可复现的 fixture 基准(21 个真实工具输出场景,非合成数据):总计 376 KB → 16.5 KB(省 96%),其中结构化数据处理那组 315 KB → 5.5 KB(省 98%),代码示例 100% 保真——文档类内容是精确检索不是摘要,125 个测试全过。

必须说明口径:以上基准是官方自测,我没有装进真实 Claude Code 会话复测(评测基于仓库 clone、官方 benchmark 与公开数据);Insight 付费分析层($20/座/月)也未购买,不评。

争议与边界:五个要自己掂量的坑

① npm 渠道已停更约 10 周。 最新版 1.0.169 在 npm 上停在 6 月 29 日,但仓库日更——分发明显迁到了 Claude Code 插件市场 + 自带的 ctx_upgrade 直拉 GitHub。从 npm 直接装可能拿到旧版,装完记得跑 ctx_upgrade。

② 用户数口径混乱。 GitHub 徽章自称 54.6 万用户,Insight 官网却写「331,200+ 开发者」——两处自报数字对不上;npm 累计 51.5 万下载可核实,量级可信,但「用户」的定义存疑(下载≠活跃)。

③ ELv2 不是 OSI 开源。 能 fork 能改能内部用,但禁止打包成托管 SaaS 转售、禁止删许可声明。作者明说选它就是为了防 MIT 被套壳——个人和公司内部用无碍,想基于它做生意的绕道。

④ 沙箱是进程边界,不是 OS 隔离。 作者自己在文档里承认:ctx_execute 跑的是任意代码且继承进程文件系统权限,「批准执行 = 批准任意代码」,#852 号 issue 就修过借 MCP 沙箱逃逸宿主读文件限制的漏洞。要配宿主层沙箱双保险,别裸奔。

⑤ 上手摩擦不小。 它激进地拦截 curl、裸 Read、grep 等常规操作逼你走沙箱——CLAUDE.md 里一长串「BLOCKED」清单。习惯「先想再写代码」的老手觉得爽,新手会觉得被管头管脚。另 214 个 open issues、无 hooks 平台只有 ~60% 合规、Codex 的 PreToolUse 只能拒绝不能改写参数(上游限制)。

坐标系与结论:省 token 正在从「压缩」走向「拦截」

站内评过这条赛道的几个代表:LeanCTX(压缩派,Rust 重写省 86% token)、Caveman(输出纪律派,砍 65% 输出 token)、flowctx(OpenClaw 上下文引擎,砍 56%)。context-mode 站在输入侧——它不动你的输出风格,甚至引用研究反对 Caveman 式的激进话术压缩,只管「什么数据能进窗口」。三种思路其实互补:输入拦截 + 输出克制 + 事后压缩,叠起来才是完整解。

适合:接了 Context7 / GitHub / Playwright 一堆 MCP 工具的重度用户、长会话多任务协作、被 compact 失忆反复折磨的人——尤其 Claude Code 用户,插件市场一条命令装完,10 分钟能见效果。不适合:轻度用户、不想改变工具习惯的人、必须在无 hooks 平台上要强约束的团队。

我的判断:上下文治理从「压缩」走向「源头拦截」是个真趋势,context-mode 是这条路上工程化最完整的选手——6.5 个月 169 个版本、18 客户端、HN 榜首、安全文档写得比多数商业软件诚实。免费层功能完整,值得装来试试;想省钱先看懂它的路由哲学,比装十个省 token skill 都值。相关阅读:LeanCTX 实测(压缩派) | Caveman 实测(输出纪律派) | flowctx(OpenClaw 上下文引擎)

关注「AI商业快讯」,每天一篇 AI 热点深度解读。(本文基于 2026-09-08 仓库快照与公开数据独立评测,与项目方无利益关系;Insight 付费层未购买、不构成推荐。)