context-mode
MCP 插件,AI 编程工具上下文节省 98%,沙箱压缩 + FTS5 知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
MCP 插件,AI 编程工具上下文节省 98%,沙箱压缩 + FTS5 知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
**想象这样一个场景:**你让 Claude Code 去分析一个 500 行的 React 项目,它调用了 20 次工具,每次工具返回几万字的输出——等它处理完,你发现上下文窗口已经爆了,之前的对话内容全被挤出去了。这不是 Claude 不够聪明,而是工具输出太"话痨"——一条 git log 可能吐出 5 万字,但真正有用的可能只有 100 字。
这就是 Context Mode 要解决的问题。
以 Claude Code、OpenCode、Codex CLI 为代表的 AI 编程工具,本质上是一个"有超强推理能力、但记忆力极差"的工作伙伴。当你在一个大型项目中工作几小时后,对话上下文被各种工具调用填满,模型能用来"思考"的有效 token 越来越少,最终不得不"遗忘"早期的重要上下文——这叫上下文压缩(Context Compaction)。
2024 年底,Mert Koseoğlu 在大量使用 Claude Code 的过程中发现了这个痛点:一次标准开发会话中,仅工具输出就可能消耗 80-90% 的上下文窗口,留给实际推理的空间所剩无几。他决定开发一个 MCP(Model Context Protocol)插件,在工具输出进入上下文之前,先经过一道"智能压缩"工序。
Context Mode 的工作方式可以用一个比喻来理解:
它不是让 AI 少看信息,而是把所有信息先"存入图书馆",等需要时再"精准调阅"。
具体来说,每次工具调用完成后(比如执行了 git log、npm test、或 Playwright 快照),Context Mode 会:
ctx_search 精准检索,而非重新读取全部内容项目附带了一份详尽的 Benchmark 数据,基于 21 个真实场景、376 KB 原始数据:
| 场景 | 原始大小 | 压缩后 | 节省率 |
|---|---|---|---|
| Git 日志(150+ commits) | 11.6 KB | 107 B | 99% |
| React Issues(facebook/react) | 58.9 KB | 1,139 B | 98% |
| Next.js 构建输出 | 6.4 KB | 405 B | 94% |
| 500 行分析 CSV | 85.5 KB | 222 B | 100% |
| Playwright 页面快照 | 56.2 KB | 299 B | 99% |
整体节省率稳定在 96% 左右,最关键的是:所有代码示例被完整保留,没有因为压缩而丢失任何有效信息。
Context Mode 不仅仅是一个 Claude Code 插件——它实际上是一套多平台 MCP 适配层,目前已支持:
每个平台都有独立的适配器配置(configs/ 目录),核心逻辑复用,通过 build/adapters/ 下的适配器文件接入各自平台的生命周期。
Context Mode 内置了一个强大的安全沙箱子系统,不仅能压缩输出,还能阻止 AI 执行危险操作:
curl 和 wget:直接拦截并替换为错误提示,防止 AI 偷偷下载恶意脚本fetch()、requests.get() 等直接报权限错误ctx_fetch_and_index(url) 抓取并索引网页,而非直接塞入原始 HTML这套安全机制实际上让 AI 在"受限环境"中执行代码,降低了被恶意指令误导的风险。
对于普通用户:
npm install -g context-mode
# Claude Code: 自动识别插件并引导安装
claude
对于开发者/贡献者:
git clone https://github.com/mksglu/context-mode
cd context-mode
npm install
npm run build
依赖较少(核心是 TypeScript + better-sqlite3),构建产物是 server.bundle.mjs 和 cli.bundle.mjs,可以直接作为 npm 包发布或本地调试。代码结构高度模块化:
src/server.ts — MCP 服务器入口,工具注册src/store.ts — FTS5/BM25 知识库,索引 + 检索src/executor.ts — 多语言沙箱执行器src/security.ts — 权限验证与操作阻断src/runtime.ts — 运行时检测与语言分发hooks/ — 各平台的注入钩子(pretooluse、posttooluse、precompact)尽管 Context Mode 解决了大量痛点,但也存在一些值得关注的问题:
ctx-search、ctx-stats 等),普通用户需要一定的上下文工程意识process.platform !== 'win32'),实际 Windows 体验可能不如 macOS/Linuxnpm install -g 全局安装可能与其他 npm 包产生依赖冲突Context Mode 的出现代表了一个重要的趋势转变:人们开始意识到上下文窗口不是无限资源,而是需要精细管理的计算成本。
从更宏观的视角看,Context Mode 属于"AI 效率工具"这一新兴赛道的代表作。2025 年以来,围绕 AI 编程工具的辅助工具(context 管理、token 优化、工具编排)正在快速涌现。Context Mode 的独特价值在于:
随着 AI 编程工具在软件开发中的渗透率持续上升,类似 Context Mode 这样"降低 AI 工具自身资源消耗"的辅助工具,预计将在 2026-2027 年迎来更大的市场需求。