Context Mode — AI 编程代理上下文优化
大幅缩减 AI 编码代理的上下文窗口占用,保留会话记忆,并通过 MCP 和钩子强制路由。
证据显示:工具沙箱化(ctx_execute等)减少原始数据进入上下文,但权限模型未明确最小权限原则;用户确认机制存在(如ctx_purge需确认),但未全面覆盖;数据流透明性较好,README详细说明数据流向;敏感数据处理(如会话数据)有删除机制,但未明确加密;依赖安全未审计;外部影响(如网络抓取)有沙箱但未明确限制;回滚机制存在(ctx_upgrade可修复),但未明确数据回滚;来源归属明确(作者、仓库),但发布者未验证。扣分原因:权限模型未明确最小权限,用户确认不全面,敏感数据未加密,依赖未审计,外部影响未明确限制,回滚不完整,发布者未验证。
证据显示:自洽性较好,README与代码一致;依赖可用性未验证(静态审查);失败消息有提供(如ctx-doctor诊断),但未全面覆盖。扣分原因:依赖可用性未验证,失败消息覆盖不全。
证据显示:受众明确(AI编码代理用户),场景多样(17平台);能力边界清晰(工具列表);触发精确(hook匹配器);环境适配良好(多平台配置)。扣分原因:部分平台支持不完整(如Cursor待审核),环境适配有局限。
证据显示:信息架构清晰(README、docs);安装说明详细;命名稳定(ctx_*工具);示例和FAQ有提供;已知限制有说明(如Cursor限制);许可证明确(ELv2);版本和变更日志有提供(package.json版本),但无独立CHANGELOG;维护责任明确(作者、仓库)。扣分原因:无独立CHANGELOG,维护责任未完全明确。
证据显示:输出可用性高(工具返回结构化结果);边际价值高(98%上下文节省);成本效益合理(免费开源)。扣分原因:无独立成本分析,但整体合理。
证据显示:声明可追溯(README引用问题、文档);跨源佐证有限(仅仓库内);事实与推断分离较好(README区分问题与解决方案)。扣分原因:跨源佐证不足。
- 发布者未验证,身份未知。
- 依赖安全未审计,建议检查依赖漏洞。
- 敏感数据(如会话数据)未明确加密,建议加密存储。
- 部分平台支持不完整(如Cursor待审核),安装前确认。
- 无独立CHANGELOG,版本变更记录不完整。
这个 Agent 能做什么,适合哪些场景?
Context Mode 是一个 MCP 服务器,专门解决 AI 编码代理的上下文窗口被工具输出塞满的问题。它通过沙盒执行工具把原始数据挡在上下文之外(例如 315 KB 减至 5.4 KB,减少 98%),并把会话事件(文件编辑、Git 操作、任务、错误、用户决定)记录到 SQLite 中,利用 FTS5 和 BM25 检索在对话压缩后恢复关键状态。项目还推行“用代码思考”的范式,让模型写脚本计算结果而只返回 stdout,而不是把大量文件读入上下文。Context Mode 兼容 17+ 个平台,包括 Claude Code、Gemini CLI、Copilot、Cursor、OpenCode 等,通过钩子或路由文件强制执行,同时支持 MCP 协议。它也提供 `ctx_execute` 等 11 个 MCP 工具,以及 `ctx-stats`、`ctx-doctor` 等斜杠命令。整体采用 ELv2 许可证,主要面向使用大型语言模型辅助编程的开发者与团队。
Context Mode 首先通过 MCP 或插件注册到支持的客户端。当模型调用工具时,钩子或路由规则引导其优先使用沙盒工具(如 ctx_execute、ctx_batch_execute),这些工具在独立子进程中执行代码,只将 stdout 返回上下文。ctx_index 将代码块保持原样,按标题切分 markdown,存入 SQLite FTS5 表;ctx_search 使用 BM25 和 Reciprocal Rank Fusion 检索索引内容。ctx_fetch_and_index 抓取 URL、转成 markdown、切块并索引,带 TTL 缓存。会话事件由钩子(如 PreToolUse、PostToolUse)捕获,写入 SQLite;在压缩前,PreCompact 钩子保存快照,会话恢复时 SessionStart 钩子注入相关状态。ctx_stats 报告节省量。
- Claude Code 用户安装插件后,用
/context-mode:ctx-doctor检查安装,并让钩子自动把大工具调用转成沙盒执行。 - 使用 Gemini CLI 的开发者通过一个配置文件注册 MCP 和钩子,减少上下文占用并保持会话连续。
- Cursor 用户手动配置
.cursor/hooks.json和规则文件,在 IDE 中保护上下文窗口。 - Codex CLI 用户启用插件和钩子功能,确保会话压缩后能恢复工作状态。
- 团队使用
ctx_index和ctx_search建立项目知识库,按需检索,避免加载大文档。 - OpenCode 用户通过插件获得原生
ctx_*工具和钩子,实现会话快照和路由。
这个 Agent 有哪些优点和局限?
- 沙盒工具可将工具输出降低达 98%(例如 315 KB → 5.4 KB),显著减少上下文占用。
- 会话连续性好,通过钩子和 SQLite 在压缩后恢复文件、任务状态。
- 支持 17+ 平台,包括 Claude Code、Gemini CLI、Cursor、Codex 等,提供自动或手动路由。
- 非钩子平台(如 Antigravity IDE、Zed)只能依赖规则文件,路由遵从率仅约 60%,防泄漏较弱。
- 需要 Node.js >= 22.5,且所有平台均需安装 Node 环境。
- 部分平台(如 Cursor)缺少 SessionStart 钩子,需要额外配置规则文件;Cursor 插件还在等待审核。
如何安装或部署这个 Agent?
对于 Claude Code:/plugin marketplace add mksglu/context-mode 和 /plugin install context-mode@context-mode,然后重启并运行 /context-mode:ctx-doctor 验证。对于其他平台,需安装 Node.js >= 22.5,全局安装 npm install -g context-mode,然后按平台复制对应的 MCP 配置、钩子文件和路由规则。完整步骤见 README。
如何使用这个 Agent?
安装后,在支持的客户端聊天中输入 ctx stats 查看节省统计,ctx index 索引本地文件,ctx search 搜索,ctx doctor 诊断安装。沙盒工具如 ctx_execute 可由模型自动调用,也可手动在提示中使用。
这个 Agent 与同类方案有什么区别?
相比于不使用上下文优化的其他 AI 编程辅助工具,Context Mode 的独特之处在于提供沙盒执行和 SQLite 会话持久化,而不仅仅是提示词压缩。
常见问题
Context Mode 是免费的吗?
使用沙盒工具会影响功能吗?
Context Mode 会收集我的数据吗?
如何卸载?
/plugin 卸载;其他平台请移除 MCP 配置、钩子文件和全局 npm 包。