用途
ChatCrystal Debug Recall 用于诊断与调试类任务。当任务明确属于问题诊断或调试时使用该技能,检索 ChatCrystal 中存储的相关记忆来辅助分析,而不是在本地从头排查。
适用触发条件包括:测试失败、编译错误、运行时异常、依赖损坏、环境问题、性能回归。
主要能力
该技能本身保持轻量,检索由 ChatCrystal Core 处理。核心动作是调用 recall_for_task,传入调试模式与任务上下文,然后对返回的记忆进行筛选和使用。
调用时应提供以下信息:
- mode:"debug"
- task.goal:具体的调试目标
- task.task_kind:"debug"
- task.project_dir 和 task.cwd(已知时)
- task.branch(已知时)
- task.related_files 或 task.files_touched(已知时)
- task.error_signatures:可用的最有价值标识
错误标识应优先使用具体信号,例如:失败的测试名称、异常类、错误码、日志签名,以及实际影响故障的包或工具版本。
返回的记忆应优先选择能解释根因、补救措施或已知陷阱的条目。召回的记忆用于强化诊断,不能替代在当前环境中的验证。
使用方式
在调试场景中调用 recall_for_task 的示例输入如下:
{
"mode": "debug",
"task": {
"goal": "Diagnose failing build after TypeScript upgrade",
"task_kind": "debug",
"project_dir": "/path/to/project",
"cwd": "/path/to/project",
"branch": "upgrade/typescript",
"related_files": [
"server/src/cli/mcp/server.ts",
"tsconfig.base.json"
],
"error_signatures": [
"TS2322",
"Type is not assignable"
],
"source_agent": "codex"
},
"options": {
"project_limit": 5,
"global_limit": 3,
"include_relations": true
}
}
完整模式
完整模式需要 ChatCrystal Core 以及 MCP 对 recall_for_task 的访问权限。
使用原则:
- 以 project_memories 为主,global_memories 为辅。
- 如果响应中包含警告或未匹配到结果,继续按正常流程调试。
- 当当前故障签名与召回结果出现实质性差异时,不要过度套用召回的修复方案。
降级模式
如果 ChatCrystal Core 或 MCP 工具不可用:
- 不阻断调试任务,继续执行。
- 简要说明长期调试记忆不可用。
- 不得编造历史故障、原因或修复方案。
- 不得把安装命令转化为该技能的自动步骤。