上下文模式
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/preserve-coding-agent-context-by-sandboxing-bulky-tool-output-and-retrieving-only-relevant-session-state-with-context-mode 技能。
技能介绍
要解决的问题
编码代理在一次任务里会执行一连串工具调用:全仓库 grep、npm install、跑测试、翻日志。当某条命令的输出有几十 MB 时,原始内容直接进 prompt,几轮下来上下文窗口就被吃满。更麻烦的是压缩之后,代理常常丢了「上次做到哪一步」,于是重复跑命令、重读文件,甚至给出和上文矛盾的结论。这不是模型变笨,而是上下文里塞满了本该被外部化的数据。
它如何工作
这个技能把工具输出从 prompt 里挪出去,核心是三件事:
- 沙箱化执行:重活(大文件读写、批量命令)在受控环境里跑,原始输出不进上下文。
- 会话历史索引化:状态落到本地 SQLite,历史可以检索,而不是整体重载。
- 上下文模式的定向检索:按需取回相关片段,而不是把整段原始数据重新塞回 prompt。
结果是代理能连续推进:grep 的完整结果留在沙箱里,只有命中行回到上下文,代理清楚上一步跑在哪、失败原因是什么。
适用边界与注意点
- 依赖宿主运行时的 MCP / plugin 能力,纯脚本环境接不上钩子就无从生效。
- 需要 Node.js(>= 22.5)与本地 SQLite;状态是本地的,不跨机器同步。
- Hook 能力不同的平台体验不一致:能挂 hook 的平台自动强制路由,非 hook 平台需要一次性复制路由文件,之后才会按规则走。
使用场景
- 跑全仓库搜索得到 GB 级结果时,想只把命中行带回代理的上下文里继续改代码。
- CI 里 `npm install` 和测试输出动辄几万行,希望沙箱内运行并只取回错误摘要排障。
- 上下文压缩后代理忘了任务进度,需要按会话状态定向检索来恢复工作现场。
- 接 MCP 或插件的长任务中,工具返回的数据过大,不能整段塞进 prompt。
适合人员
- 在 Claude Code、Gemini CLI 或 VS Code Copilot Chat 里跑长任务的代理工程师,担心上下文被工具输出耗尽。
- 给 CI 编写自动化脚本的开发者,需要在批量命令和测试日志场景下保持代理可继续推进。
- 管理 SQLite 本地状态和沙箱化执行链路的运维工程师,希望明确能力边界和接入方式。