Context Mode Skill:让 AI 编程助手”不失忆”的上下文管家
在用 Claude Code、Cursor 这类 AI 编程工具时,你可能遇到过这个问题:开了不到半小时,模型就开始”失忆”——它不记得你上次改了什么文件,不记得任务进度,甚至忘了你刚才问它什么。罪魁祸首是上下文窗口被工具输出撑爆了:一个 Playwright 页面快照 56 KB,二十条 GitHub Issue 59 KB,一条访问日志 45 KB。30 分钟后,40% 的上下文已经被原始数据吃干净。
Context Mode(mksglu/context-mode)就是来解决这个问题的。它是一个 MCP 服务器,通过三条核心机制同时管住上下文窗口的”入口”和”出口”。
功能与原则
Context Mode 围绕上下文窗口的四大损耗源设计:
- Context Saving:将工具原始输出沙箱化,不进入上下文。315 KB 压缩到 5.4 KB,降幅 98%。
- Session Continuity:所有文件编辑、git 操作、任务状态都存入 SQLite。对话压缩时,通过 FTS5 + BM25 检索只取相关内容恢复,而不是把整个历史重新塞回去。
- Think in Code:让 LLM 用代码做分析,而不是读取大量文件后做计算。一条
ctx_execute()脚本替代十次工具调用,节省约 100 倍上下文。 - Aggressive Brevity Routing:在支持钩子的平台上自动注入路由指令,控制数据流向,但不限制模型如何组织输出。
认可度
- GitHub Stars:约 25,343(截至 2026-10-07,来源:GitHub Explore 趋势页面)
- 本月新增 Stars:4,978(2026年10月月报数据)
- Trending 情况:多次登上 GitHub Trending,2026年10月第37周周榜在列
- 支持平台数:17 个主流 AI 编程工具和 MCP 生态
链接
GitHub:https://github.com/mksglu/context-mode
npm:https://www.npmjs.com/package/context-mode
原作者
mksglu(个人维护者),GitHub 个人账号,项目采用 MIT 许可证。
介绍
Context Mode 解决的是 AI 编程助手中最容易被忽视却影响最深的问题:上下文窗口的慢性消耗。大多数优化方案聚焦在”少输入 prompt”或”压缩历史”,但 Context Mode 直接从工具输出层面拦截无效数据,同时建立了持久化的会话记忆系统。
项目核心思路来自一个观察:AI agent 在处理复杂任务时,工具调用产生的数据量远大于最终有用信息量。一个代码分析任务,如果 agent 需要读 50 个文件才能统计函数数量,消耗的上下文远大于直接让 agent 写一个统计脚本然后只读取输出。Context Mode 把这个思路变成了内置的执行范式——所有支持钩子的平台都强制推行”Think in Code”。
另一个关键设计是会话连续性。传统方案在对话压缩时会丢失所有历史上下文,Context Mode 用 SQLite 持久化所有操作事件(FTS5 索引),压缩时只通过语义检索取回与当前任务最相关的片段,模型能精确恢复到上次停下的位置,而不是从头开始。
特点
- 98% 工具输出削减:原始工具输出(HTML 快照、JSON、日志)被沙箱化,只留摘要进入上下文
- 零历史丢失的会话连续性:SQLite + FTS5 持久化,压缩后精准恢复,
--continue语义完整保留 - “Think in Code”强制范式:不再把 LLM 当数据处理器,而是代码生成器——用脚本替代大量文件读取
- 跨 17 平台自动路由:Claude Code、OpenClaw、Codex、Cursor、Gemini CLI 等,钩子平台自动注入路由配置,非钩子平台一键文件复制
- 会话隔离:不用
--continue则上次会话数据立即清除,新会话从零开始,不会串台
使用方法
安装(以 Claude Code 为例):
# 1. 安装插件(需要 Claude Code v1.0.33+)
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
# 2. 重启 Claude Code(或 /reload-plugins)
# 3. 验证安装
/context-mode:ctx-doctor
# 所有检查项显示 [x] 即为正常
基本调用示例:
# 查看上下文节省统计(按工具分列)
/context-mode:ctx-stats
# 诊断环境问题
/context-mode:ctx-doctor
# 清理当前会话数据
/context-mode:ctx-purge
# 全文检索历史会话
ctx_search "上次改的登录模块"
Think in Code 最小示例:
传统方式(高上下文消耗):
– 47 次 Read() 读取 700 KB
Context Mode 方式(低上下文消耗):
– 1 次 ctx_execute() 脚本调用 → 输出 3.6 KB 结果
// 让 agent 用脚本分析,而不是逐文件读取
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'));
`);
使用场景与人群
适用场景:
- 长时间复杂代码库分析(大型 monorepo、多模块项目)
- 需要跨会话保持任务上下文的开发工作流
- 多 Agent 协作时需要共享精确保守上下文
- Token 成本敏感的场景(实测 22% token 节省)
目标用户:
- 重度 Claude Code / Cursor / Codex 用户
- AI 编程工具深度使用者(每天超过 2 小时)
- 对 Token 消耗敏感的团队和个人开发者
- 构建复杂多文件项目的工程师
输入与输出案例
案例一:长时会话的上下文恢复
用户(上次会话):"帮我给 auth 模块加上双因素认证"
Agent:完成了 TOTP 基础结构,但会话窗口触发压缩...
用户(本次会话,继续):"/continue 继续上次的双因素认证任务"
Agent(通过 SQLite + BM25 恢复上下文):
"好的,从 TOTP 基础结构继续。上次已完成 base32 密钥生成,
现在需要实现验证端点和 QR 码生成..."
案例二:Think in Code 节省上下文
用户:"统计 src 目录下每个 TypeScript 文件的行数"
传统方式:
Agent 执行 47 次 Read() → 700 KB 上下文消耗
Agent 输出:各文件行数统计
Context Mode 方式:
Agent 执行 ctx_execute() → 1 条脚本,输出 3.6 KB
Agent 输出:各文件行数统计(完全相同结果)
上下文节省:约 99.5%
Context Mode 不是一个新模型,也不是一个聊天 UI。它是一个上下文基础设施层——让 AI 编程工具在长时间、高复杂度任务中依然保持记忆完整和上下文高效。对于已经重度依赖 AI 编程助手的开发者,这是目前最系统化的上下文优化方案之一。
评论区
登录后可评论。