在使用 Claude Code 的 MCP 工具时,你是否遇到过上下文窗口被快速消耗的问题?例如,一个 Playwright 快照会消耗 56KB,20 个 GitHub 问题消耗 59KB,500 条访问日志消耗 45KB。短短 30 分钟,高达 40% 的上下文空间就可能被占用。

针对这一问题,有开发者提出了一个名为 Context Mode 的开源解决方案。该项目通过在 Claude Code 与工具输出之间引入一个中间层,其核心目标是阻止原始的大块数据直接进入模型的上下文窗口。
工作原理:沙箱隔离与精准检索
Context Mode 采用双重策略来管理工具输出。
首先,它通过沙箱隔离执行来处理工具调用:每个工具都在独立的子进程中运行,支持 JavaScript、Python、Shell 等 10 种语言运行时。原始输出数据被限制在沙箱内,只有经过处理的 stdout 结果才会返回给模型。
其次,它构建了一个知识库系统:该系统利用 SQLite 的 FTS5 虚拟表和 BM25 排名算法,对 Markdown 格式的内容建立索引。当模型需要特定信息时,系统能够精准地检索并拉取相关的代码片段,而不是将整个文档或摘要塞入上下文。
实测效果:从 MB 级到 KB 级的压缩
作者在 11 个真实场景中测试了 Context Mode 的效果,数据对比如下:
- Playwright 快照:56KB → 299B
- 20 个 GitHub 问题:59KB → 1.1KB
- 500 条访问日志:45KB → 155B
- 500 行 CSV 分析:85KB → 222B
- 153 条 git 提交日志:11.6KB → 107B
在一次完整的会话中,总计 315KB 的原始工具输出被压缩至仅 5.4KB,节省了 98% 的上下文空间。这意味着单次会话的有效工作时长可能从大约 30 分钟延长至约 3 小时。
与 Cloudflare Code Mode 的互补关系
该项目的灵感部分来源于 Cloudflare 的 Code Mode,后者成功地将工具定义的体积从数百万 token 压缩到约 1000 个。Context Mode 则致力于解决另一个方向的问题——工具输出的压缩。两者结合使用,可以从工具定义和工具输出两个维度,更全面地优化上下文的使用效率。
安装与使用
目前提供两种安装方式。
通过插件市场安装(可获得自动路由钩子和斜杠命令):/plugin marketplace add mksglu/claude-context-mode
/plugin install context-mode@claude-context-mode
或仅安装 MCP 服务器:claude mcp add context-mode -- npx -y context-mode
安装完成后,重启 Claude Code 即可。系统会通过 PreToolUse 钩子自动路由工具输出,用户无需改变现有工作流程。
随着 AI 应用开发的深入,虽然单个 token 的成本在下降,但总消耗量却在急剧上升。Context Mode 并未试图重新发明轮子,而是巧妙地解决了 MCP 工具使用中的一个具体痛点。对于频繁使用多种工具进行开发的从业者而言,这种对上下文的优化可能带来工作效率的显著提升。
项目地址:https://github.com/mksglu/claude-context-mode
关注“鲸栖”小程序,掌握最新AI资讯
本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/23632
