Context Mode Skill:让 AI 编程工具上下文节省 98% 的 MCP 服务器
你有没有注意过,每次让 AI 读一堆文件,它就开始「失忆」?因为上下文窗口被工具输出撑满了,对话压缩(compaction)一来,什么都忘了。Context Mode 就是来解决这个问题的——一个 MCP Server,给 AI 编程工具的上下文窗口「瘦身 98%」,同时保证会话连续性。2026 年 9 月 8 日刚上 GitHub Trending,当天 +96 stars,HN 相关帖子迅速冲上热榜,是近期 agent 基础设施领域最值得关注的开源项目之一。
Context Mode 通过四项核心能力系统性解决上下文问题:
Context Saving(上下文节省): 沙盒工具(sandbox tools)把原始数据拦截在上下文窗口之外。一个 Playwright 页面快照 56 KB,经过 ctx_execute 脚本处理后变成 5.4 KB,降幅 98%。47 次 Read() 操作原本要吞掉 700 KB,现在 1 次 ctx_execute() 只占 3.6 KB。
Session Continuity(会话连续): 每次文件编辑、git 操作、错误和决策都被记录进 SQLite。当对话压缩触发时,系统不会把旧数据一股脑倒回上下文,而是用 FTS5 索引所有事件,按 BM25 检索最相关的内容续上。Agent 重新接手时精确知道上次在哪、任务进度如何。
Think in Code(用代码思考): 核心设计理念是「让 LLM 写程序而不是做计算」。与其把 50 个文件读入上下文让 AI 数函数,不如让它写个脚本 console.log() 出结果——一个脚本替换十次工具调用,节省约 100 倍上下文。这在全部 17 个支持的客户端中作为强制范式推行。
No Prose Enforcement(不强制精简风格): 市面上有些工具靠「限制 AI 说话」来省 context,但这会损害编程/推理基准测试分数。Context Mode 只控制数据流向,不控制输出风格,模型的表达方式完全由用户自定义的 CLAUDE.md/AGENTS.md 决定。
认可度
- GitHub Star:约 20,800+(截至 2026-09-08),9 月 8 日当天新增 96 stars
- 2026-09-08 登上 GitHub Trending 日榜(TypeScript 类)
- Hacker News 热帖:news.ycombinator.com/item?id=47193064
- 支持 17 个 AI 编程平台,覆盖 Claude Code、OpenCode、Cursor、Gemini CLI、VS Code Copilot、JetBrains Copilot、GitHub Copilot CLI 等主流工具
链接
GitHub:https://github.com/mksglu/context-mode
原作者
mksglu(GitHub @mksglu),个人开发者,专注于 AI 编程工具链基础设施。另有配套的 context-mode.com/insight 平台提供团队级使用分析仪表盘。
介绍
Context Mode 本质上是一个 MCP(Model Context Protocol)服务器。它并不修改底层模型的行为,而是重新定义「工具输出」和「上下文窗口」之间的路由规则。
传统工作流中,AI 每调用一次工具,原始输出就原封不动地进入上下文——一条 Playwright 快照占 56 KB,一个访问日志占 45 KB,半小时后就消耗掉 40% 的上下文空间。更糟糕的是,当 agent 触发对话压缩时,这些数据大多被丢弃,agent 丢失工作进度。
Context Mode 的解决思路是:把工具输出先截获 → 精简表达 → 按需检索,而不是全部塞进上下文。它提供 11 个 MCP 工具,其中 6 个沙盒工具(ctx_batch_execute、ctx_execute、ctx_execute_file、ctx_index、ctx_search、ctx_fetch_and_index)和 5 个元工具(ctx_stats、ctx_doctor、ctx_upgrade、ctx_purge、ctx_insight)。
另一个设计亮点是「Think in Code」范式:鼓励 Agent 用脚本替代重复的工具调用。例如,要统计 src 目录下所有 .ts 文件的行数,传统做法是 47 次 Read() 读取 700 KB 数据,而 Context Mode 下 Agent 写一段脚本用 ctx_execute 执行,只消耗 3.6 KB。
特点
- 98% 上下文节省率:实测 315 KB Playwright 快照 → 5.4 KB,工具输出密集场景收益最高
- 会话无缝续接:SQLite 持久化 + FTS5 BM25 检索,compaction 后精确恢复工作状态
- 17 平台覆盖:Claude Code、OpenCode、Cursor、Gemini CLI、VS Code Copilot、JetBrains Copilot、GitHub Copilot CLI、Warp.dev、OpenClaw、Cline 等
- 零配置自动路由:Claude Code 装 plugin 后,PreToolUse/PostToolUse/PreCompact 等钩子自动注册,无需手动写配置文件
- 可选分析面板:ctx_insight 打开 context-mode.com/insight,查看团队层面的 token 节省统计
使用方法
安装(Claude Code,完整插件模式):
# 添加插件
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
# 重启 Claude Code
/reload-plugins
# 验证安装
/context-mode:ctx-doctor
安装(其他平台,以 Gemini CLI 为例):
npm install -g context-mode
# 然后按文档配置 ~/.gemini/settings.json 中的 mcpServers 和 hooks
核心用法示例:
# 查看上下文节省统计
/context-mode:ctx-stats
# 把本地文件/目录索引进知识库
/context-mode:ctx-index
# 搜索已索引内容
/context-mode:ctx-search
# Think in Code 示例(让 Agent 写脚本分析而非读文件)
# 原始:47 × Read() = 700 KB
# 优化后:
ctx_execute("javascript", `
const files = fs.readdirSync('src').filter(f => f.endsWith('.ts'));
files.forEach(f => console.log(f + ': ' +
fs.readFileSync('src/'+f,'utf8').split('\n').length + ' lines'));
`);
// 结果:3.6 KB
使用场景与人群
适用场景:
– 长时间多文件重构项目(上下文持续消耗场景)
– 需要 agent 跨 session 记忆工作进度的开发工作流
– 高频使用 Playwright、grep、read_many_files 等大输出工具的项目
– 团队协作时需要统计 token 使用效率
目标用户:
– 深度使用 Claude Code、OpenCode、Cursor 等 AI 编程工具的专业开发者
– AI 编程工具链基础设施研究者
– 需要在受限上下文窗口内最大化有效信息密度的场景
输入与输出案例
案例 1:大文件目录行数统计
输入(Agent):统计 src 目录下所有 TypeScript 文件的行数
传统方式:47 × Read() = 700 KB 上下文消耗
Context Mode 方式:
ctx_execute("javascript", `
const files = fs.readdirSync('src').filter(f => f.endsWith('.ts'));
files.forEach(f => console.log(f + ': ' +
fs.readFileSync('src/'+f,'utf8').split('\n').length + ' lines'));
`);
输出:每个文件一行结果,总消耗 3.6 KB
节省:约 99.5%
案例 2:长时间重构会话续接
背景:Agent 正在重构一个有 200+ 文件的后端项目,进行了 45 分钟
传统方式(无 Context Mode):
对话压缩后,Agent 丢失进度:「我刚才在改哪个文件来着?」
Context Mode:
压缩时所有文件编辑、git 操作、错误记录全部写入 SQLite
新会话启动时 /continue,ctx_search 检索「上次改的是 auth/architect 目录」
Agent 直接恢复:「继续上次 auth-architect 的 JWT 重构,第 3 步正在处理 refresh token 逻辑」
评论区
登录后可评论。