Context Mode — AI 编程代理上下文优化
大幅缩减 AI 编码代理的上下文窗口占用,保留会话记忆,并通过 MCP 和钩子强制路由。
- Star 数
- ★ 31k
- 最近更新
- 今天
- License
- NOASSERTION
- 主语言
- TypeScript
- FA 评分
- 54/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台ChatGPT · Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- Claude Code 用户安装插件后,用
/context-mode:ctx-doctor检查安装,并让钩子自动把大工具调用转成沙盒执行。 - 不适合
- 需要完全离线、无法安装 Node.js 22.5+ 环境的团队
- 依赖 Cursor 等非钩子平台、要求 100% 路由强制执行的团队
- 不愿在项目中添加规则文件或修改平台配置的用户
- 源码审查
- 54/100 · 缺口较多
这个 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?
对于 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 有哪些优点和局限?
- 沙盒工具可将工具输出降低达 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 与同类方案有什么区别?
相比于不使用上下文优化的其他 AI 编程辅助工具,Context Mode 的独特之处在于提供沙盒执行和 SQLite 会话持久化,而不仅仅是提示词压缩。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Context Mode — AI 编程代理上下文优化 当前 | 54 · 缺口较多 | MCP 服务器免费 | ★ 31k | 今天 | TypeScript | ChatGPT · Codex · Claude Code |
| Ori Mnemos | 80 · 表现良好 | 命令行工具免费 | ★ 332 | 18 天前 | TypeScript | Claude Code · OpenAI API · Claude API |
| Mnemo Cortex | 75 · 表现良好 | 自托管服务免费 | ★ 157 | 今天 | Python | Codex · Claude Code · Claude.ai |
| Claudex | 69 · 存在缺口 | 命令行工具免费 | ★ 97 | 4 个月前 | JavaScript | Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:工具沙箱化(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,版本变更记录不完整。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Context-savings reporting + FinOps accuracy This release aligns context-savings reporting between the local ctx stats view and the Insight platform, and corrects per-turn cost attribution. Improvements - The local "Where you are now" savings bar now reflects the whole live conversation window — the main session plus the sub-agent and sandbox sessions it spawns — rather than a single session id. - The kept-out ratio is reported to one decimal, so a genuine 99.9% window is no longer rounded up to a misleading 100%. Fixes …在 GitHub 查看 ↗ -
发布说明摘录
FinOps accuracy and context-savings reporting Follow-up to v1.0.167's per-turn cost capture. This release corrects how savings and cost are measured and reported. Fixes - Context-savings bar accuracy. ctx stats previously rendered "With context-mode: 1 B / 100% kept out" on tool-heavy sessions. The "With context-mode" figure now reflects the real bytes the model paid to access kept-out content (ctx_search + ctx_fetch_and_index returns), not sandbox compute output, so the kept-out ratio is honest. …在 GitHub 查看 ↗ -
发布说明摘录
Per-turn token, cost, and savings capture (FinOps) Events now carry real per-turn token usage, model id, and cost_usd, replacing the flat per-event cost proxy. Engineering leaders can see actual AI spend per model, how much context-mode saved, and net/ROI. Highlights - Real per-model pricing catalog (63 curated models across Anthropic, OpenAI, Google, and other vendors) behind a small no-regex lookup module. Non-Claude models are now priced from their own rates instead of defaulting to Claude pricing. …在 GitHub 查看 ↗
常见问题
Context Mode 是免费的吗?
使用沙盒工具会影响功能吗?
Context Mode 会收集我的数据吗?
如何卸载?
/plugin 卸载;其他平台请移除 MCP 配置、钩子文件和全局 npm 包。