Skip to content

Context Mode 是一个 MCP Server 插件,解决 AI 编程助手的"上下文窗口不够用"问题。每次 MCP 工具调用都会把原始数据塞进上下文窗口——Playwright 快照 56 KB、20 条 GitHub Issue 59 KB、一份访问日志 45 KB。半小时后 40% 的上下文就被吃光了,Agent 压缩会话后就忘了自己在干嘛。

Context Mode 的方案是四招组合拳:沙盒执行(只进 stdout)、会话持久化(SQLite 记住一切)、代码思维(写脚本替代读文件)、输出压缩(砍掉废话)。官方数据:315 KB 原始输出压缩到 5.4 KB,节省 98%。支持 Claude Code、Gemini CLI、Cursor 等 14 个平台。

为什么需要 Context Mode

用 AI 编程工具写代码,最头疼的不是模型不够聪明,而是上下文窗口不够大。

举个例子:你在用 Claude Code 帮忙重构一个 React 项目。先读 10 个组件文件(每个 5 KB),跑个测试看结果(8 KB),再 grep 一下全局引用(12 KB),还查了几条 GitHub Issue 找参考(20 KB)。半小时不到,上下文窗口用了 40%。

然后 Claude 触发 compaction(上下文压缩),它"忘记"了你刚才让它改哪个文件、做到哪一步、你的架构决策是什么。你不得不重新解释一遍。

Context Mode 就是来解决这个问题的。

它做了什么

Context Mode 的核心思路很简单:不要把原始数据塞进对话,只把结果塞进去。

传统方式用 Context Mode
Read 50 个文件 → 700 KB 上下文写 1 个脚本统计 → 3.6 KB 结果
浏览器快照 56 KB 直接进对话沙盒执行脚本,只输出你关心的字段
会话压缩后丢失所有进度SQLite 记录每次操作,压缩后自动恢复

具体来说,它解决了四个问题:

1. 沙盒执行(Context Saving)

每个 ctx_execute 调用在独立子进程里运行,只有 console.log() 的 stdout 会进入对话上下文。原始数据(日志、API 响应、页面快照)永远不离开沙盒。

效果:315 KB → 5.4 KB,节省 98%。

2. 会话持久化(Session Continuity)

每次文件编辑、git 操作、任务状态、错误信息、用户决策都会记录到 SQLite。会话压缩时,Context Mode 构建一个优先级分层的 XML 快照(≤2 KB),通过 SessionStart Hook 恢复上下文。

效果:压缩后 AI 依然记得你在做什么、做到哪了。

3. 代码思维(Think in Code)

不要让 LLM 读 50 个文件来"理解"代码——让它写一个脚本统计函数数量、检查类型错误、扫描依赖关系。一个脚本替代十次工具调用。

效果:上下文消耗降低 10-100 倍。

js
// Before: 47 × Read() = 700 KB
// After:  1 × ctx_execute() = 3.6 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'));
`);

4. 输出压缩(Output Compression)

砍掉 AI 输出中的废话:填充词(just/really/basically)、客套话、冗余解释。只保留技术实质。代码不压缩。

效果:输出 token 减少 65-75%。

支持的平台

Context Mode 支持 14 个 AI 编程平台,按 Hook 能力分三档:

能力等级平台Hook 机制
完整支持Claude Code、Gemini CLI、VS Code Copilot、JetBrains CopilotJSON stdin/stdout
基本支持Cursor、Codex CLI、Qwen Code、OpenCodeJSON stdin / TS Plugin
MCP-onlyAntigravity、Kiro、Zed、Pi Agent无 Hook,仅路由指令

TIP

Claude Code 用户安装最简单:一条命令装进 Plugin Marketplace,Hook 全自动注册。

谁在用

Hacker News #1(570+ 点),Microsoft、Google、Meta、Amazon、ByteDance、Stripe 等团队使用。

文章导航

文章内容
安装配置完全指南全平台安装方法,重点 Claude Code / Gemini CLI / Cursor
四大核心功能详解沙盒执行、会话持久化、代码思维、输出压缩的原理和实战
沙盒工具实战ctx_execute / ctx_batch_execute 的高级用法、安全机制、11 种语言
会话持久化原理SQLite + 事件追踪 + XML 快照的实现设计
知识库架构FTS5 + BM25 + RRF 混合搜索的技术细节
平台支持矩阵14 平台 Hook 机制对比、能力矩阵、已知问题
Insight 分析面板90 项指标、4 个综合评分的量化分析

FAQ

Q: Context Mode 和 Cursor 自带的上下文管理有什么区别?

Cursor 的上下文管理主要靠 RAG 检索代码片段,解决的是"给模型喂什么"的问题。Context Mode 解决的是"怎么不让对话上下文被撑爆"的问题——它在 MCP 协议层拦截数据,只让精简结果进入对话。两者不冲突,可以同时用。

Q: 会话持久化会不会泄露代码到云端?

不会。Context Mode 100% 本地运行,零遥测。SQLite 数据库存在本地(~/.claude/context-mode/sessions/ 等),不上传任何数据。

Q: 安装后性能开销大吗?

MCP Server 本身开销极小。Hook 拦截会增加几十毫秒延迟,但省下的上下文空间和重复解释的时间远超这点开销。