Context Mode
Context Mode 安全入门:索引虚构发布说明并核验检索
用明确的 ctx_index 和 ctx_search 调用、已知答案与缺失事实检查,先验证无敏感样例,再接入真实项目数据。
你将学会
- 先用有已知答案的虚构内容测试。
- 用独特来源标签检索并阅读返回段落。
- 缺失事实必须保持未知。
开始前需要
- 基础 JSON 与 MCP 概念
- 隔离测试客户端和虚构数据
解释本章真实实现边界,并用明确的证据样例核验。
先看结论
- 先用有已知答案的虚构内容测试。
- 用独特来源标签检索并阅读返回段落。
- 缺失事实必须保持未知。
从已经配置的隔离集成开始
先使用已经注册 Context Mode 工具的测试宿主,安装边界见部署章节。不要一开始就索引主目录、凭据或生产日志归档。下面的虚构发布说明包含独特发布标签、超时时间和回滚条件;这些值不描述任何真实服务,可以用来检查完整事实是否被找回。
将说明作为 content 传给 ctx_index,并使用独特的 source 标签。所查模式接受 content 或 path,不能同时提供;工具返回索引元数据,而非整篇文档。保存这份元数据。重复索引并未被标注为幂等,因此反复提交同一样本不是检验干净数据库或去重行为的可靠方式。
提出答案事先已知的问题
调用 ctx_search,在 queries 中使用说明里的具体术语,并用 source 限定样例标签。例如检索发布标签及回滚阈值相关词语。阅读返回段落,确认数值和条件同时存在。只有一个数字、没有单位或适用条件,不足以支持部署决策。
然后询问说明从未给出的数据库迁移方案。空结果或无关结果必须保留为未知,不能变成编造的迁移计划。所查搜索路径支持 source 部分匹配,因此独特标签可以减少与旧样例意外重叠。但标签不是安全边界,也不能被理解为精确匹配保证。
记录状态变化,在正确边界停下
第二项练习可以索引一个测试文件,再修改其中的超时时间。存储层搜索路径会检查文件来源是否变化,先以修改时间为门槛,再计算哈希。编辑后应核验返回来源和值;不要假设内联 content 字符串跟踪某个文件,也不要假设远程网页变化会以相同方式自动刷新。
这些是建议执行的工具练习,不是完整上游运行时的实测报告。应记录宿主版本、包版本、来源标签、预期答案和实际段落。调用失败时区分工具未注册、索引失败和检索不匹配,不要为了让首次演示看起来成功就调用升级或破坏性清理。
实施步骤
- 1
在测试集成中用 ctx_index 索引样例。
- 2
用 ctx_search 查询发布、超时和回滚事实。
- 3
提出一个没有依据的问题并记录缺失证据。
- 4
另行测试文件编辑,不假设内联内容会刷新。
可复制示例
{
"tool": "ctx_index",
"arguments": {
"source": "fixture-release-larch-20260907",
"content": "# 发布 LARCH-42\n超时:18 秒。\n错误率超过 2% 时回滚。\n本说明没有数据库迁移决定。"
}
}常见问题
为什么需要来源标签?
它缩小预期证据范围,让结果更易审计。所查部分匹配行为并不是访问控制机制。
可以反复索引同一说明来测试去重吗?
不能假设会自动去重:所查 ctx_index 注解明确将其标记为非幂等操作。
资料来源
- README.md来源核查 2026-09-07
- package.json来源核查 2026-09-07
- LICENSE来源核查 2026-09-07
- src/store.ts来源核查 2026-09-07
- src/search/unified.ts来源核查 2026-09-07
- src/server.ts来源核查 2026-09-07
- src/executor.ts来源核查 2026-09-07
- src/security.ts来源核查 2026-09-07
- src/session/purge.ts来源核查 2026-09-07
- tests/store-bytecap.test.ts来源核查 2026-09-07