用 Claude Code、Cursor、Codex 写代码久了,都会撞上同一堵墙:上下文窗口被工具输出吃光。一次 Playwright 快照几十 KB,一串 gh 问题列表又几十 KB,聊半小时,窗口里 40% 都是原始垃圾数据;一压缩,模型又忘了你刚才在改哪个文件。
Context Mode 盯的就是这件事。它以 MCP + Hooks 的方式夹在编程助手和工具之间:大输出先在沙箱里处理,只把摘要送进上下文;会话事件记在本地 SQLite,压缩后还能续上。这篇按 GitHub 仓库 README 整理用法和边界,资料查阅于 2026 年 10 月 14 日。

Context Mode 是什么
Context Mode 是开源(更准确说是 Elastic License 2.0 源码可得)的上下文优化层,仓库:mksglu/context-mode,写这篇时约 2.8 万星,曾上过 Hacker News 首页。官网:context-mode.com。
它主要解决四件事:
- 省上下文:工具输出在沙箱里跑完,只把
stdout/ 摘要送进对话。作者给出的量级是:315 KB 原始输出 → 约 5.4 KB 进上下文(约 98% 削减)。 - 会话不断档:文件编辑、git、任务、错误、你的纠正都记进 SQLite;对话压缩后按相关性检索回来,而不是整段糊回去。
- 用代码想问题:与其让模型把 50 个文件读进窗口再数函数,不如让它写一段脚本,只打印结果。
- 不强迫你怎么说话:它管数据往哪走,不管你最终回答要不要简洁——作者认为强行「少说话」会伤推理质量。
注意协议:ELv2 不是 OSI 意义上的宽松开源。你可以自己用、改、分发,但不能拿它去提供托管/托管式竞争服务,也不能去掉授权声明。个人和团队自用一般没问题;若打算做成 SaaS,先读 LICENSE。
另外,context-mode.com 上也在推带网关、套餐的控制面产品(按请求计费那一类)。下面以 GitHub 上的本地 MCP / 插件版 为主——装在你自己机器上、数据默认不出本机的那条路线。
它怎么省上下文
提供一组 ctx_* MCP 工具,例如:
| 工具 | 作用 |
|---|---|
ctx_execute |
在沙箱跑代码(十余种语言),只有 stdout 进上下文 |
ctx_execute_file |
对文件做处理,原文不进对话 |
ctx_batch_execute |
一批命令/查询一次做完 |
ctx_index / ctx_search |
把文档切块进 FTS5,按需检索 |
ctx_fetch_and_index |
抓网页再索引,原文不进窗口 |
ctx_stats / ctx_doctor |
看节省量和安装诊断 |
README 里的基准例子(量级供参考):Playwright 快照 56 KB → 299 B;20 条 GitHub Issues 59 KB → 1.1 KB;访问日志 45 KB → 155 B。
有 Hooks 的平台(Claude Code、Cursor、Codex、Gemini CLI、Copilot 等)还能在工具调用前拦截:大输出优先走沙箱,危险命令可按规则拦下。
怎么装(挑你用的客户端)
Claude Code(最省事):
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
重启或 /reload-plugins,再跑 /context-mode:ctx-doctor。
只想先试 MCP:
claude mcp add context-mode -- npx -y context-mode
Cursor / 其他:一般是 npm install -g context-mode,再写好 .cursor/mcp.json 和 hooks;Cursor 市场插件写这篇时仍在审核,README 提供了本地目录安装办法。完整 17 个平台的配置表很长,以仓库 README 为准。
装好后在对话里直接打 ctx stats,模型会去调对应工具。
需要 Node.js ≥ 22.5(或 Bun)。Linux 新版本会优先用内置 node:sqlite,少踩原生模块的坑。
优点
- 痛点真实:AI 编程助手「窗口被日志/网页/快照撑爆」几乎人人遇到。
- 本地优先:会话库和索引在本机,README 强调无遥测、无强制账号。
- 平台覆盖面宽,Claude Code 插件路径接近开箱即用。
- 有 doctor、统计、升级命令,排障成本相对可控。
- 顺带能做一层命令/敏感文件防护(取决于你是否配置 deny 规则)。
不足
- ELv2 限制:不能当托管服务卖;和 MIT/Apache 项目相比,商业二次分发要更小心。
- 安装在非 Claude Code 平台上偏碎,要改 JSON/TOML、拷路由文件,文档虽全但劝退新手。
- Cursor 等平台的 SessionStart / 上下文注入仍有能力缺口,会话恢复不是处处「满血」。
- 强依赖模型愿意走
ctx_*;没 hooks 时合规率会掉到约 60%(作者自己的数字)。 - 官网商业网关与本地版能力边界,新人容易混淆——选型时看清自己装的是哪一条。
适合谁
- 每天开着 Claude Code / Cursor / Codex 啃大仓库、跑测试、刷网页文档的人。
- 会话经常触顶、压缩后「失忆」的人。
- 愿意花半小时配插件,换更长有效会话的人。
如果你只是偶尔问两句代码,大可不必上;如果你已经在为上下文和账单发愁,Context Mode 值得认真试一天,并用 ctx stats 看自己到底省了多少。
相关链接
- 仓库:https://github.com/mksglu/context-mode
- 官网:https://context-mode.com/
- npm:
context-mode


