用途 /trace 是一套统一的发现系统,目标是在 Git 历史、代码仓库、文档以及 Oracle 记忆中查找项目、代码与知识。它遵循“查找 + 度量 + 记录 + 提炼”(Find + Measure + Log + Distill)的思路,适用于用户需要定位某个项目、搜索代码或知识、或者提出“trace”“find project”“where is [project]”“search…”之类请求的场景。
主要能力与使用方式 技能以命令形式调用,基本用法为 /trace [query]。通过不同参数可以切换工作模式:
- /trace [query]:默认使用 --smart 模式,在当前仓库中搜索。
- /trace [query] --oracle:仅查询 Oracle,速度最快,不启用子代理。
- /trace [query] --deep:采用波次执行(Wave execution)的深度搜索,更彻底。
- /trace [query] --deep --dig:组合模式,同时执行 trace deep 与 dig 会话挖掘(并行)。资料中说明 --deep --dig 现在与 --deep 等价,因为 dig 已始终包含在 --deep 模式中,该标记仅保留以向后兼容,无额外效果。
- /trace [query] --repo [path]:搜索指定的本地仓库。
- /trace [query] --repo [url]:先将仓库克隆到 ghq,然后搜索。
- /dig 可单独使用以挖掘会话;在 /trace 上使用 --dig 标记时两者一起运行。
资料来源中还给出了目录结构:trace 日志保存在 ψ/memory/traces/ 下,按日期文件夹(YYYY-MM-DD)组织,文件名带时间前缀(HHMM_[query-slug].md)。这些 trace 日志会被提交,成为 Oracle 记忆,供未来搜索使用。
搜索流程与模式 执行过程包含若干步骤。首先记录时间戳并计算路径,然后检测目标仓库:默认使用当前仓库;带 --repo [path] 时使用本地路径;带 --repo [url] 时先克隆到 ghq,再定位路径。随后创建 trace 日志目录。
模式 1 --oracle:仅调用 arra_search 查询 Oracle(limit=15),显示结果即结束,即使为空也如此。
模式 2 --smart(默认):先查询 Oracle(limit=10),若结果数量 >= 3 则显示并结束;若少于 3 则自动升级到 --deep 模式。
模式 3 --deep:包含两波并行搜索与会话挖掘。第一波(Wave 1)并行运行快速表层搜索和会话挖掘,包括:代理 A 搜索当前/目标仓库中的文件(文件名、路径、代码、文档、配置文件);代理 B 搜索 Oracle 记忆(ψ/memory/ 中的学习记录、回顾、同一查询的历史 trace 日志);代理 F 挖掘会话历史(运行 dig 脚本获取所有会话并搜索相关内容,返回时间线、涉及仓库、花费时间等,最多 500 词)。第一波后检查答案是否充分:若清晰找到则跳过第二波;若结果少于 3 或答案不清晰,则运行第二波。第二波(Wave 2)并行运行深度搜索,包括:代理 C 搜索 Git 历史(提交、文件创建/删除、分支名,运行 git log --all --oneline --grep="[query]");代理 D 进行跨仓库搜索(在 ghq root 与 ~/Code 中查找);代理 E 查询 GitHub Issues/PRs(使用 gh issue list 与 gh pr list)。两波结束后主代理汇总结果。
模式 4 --deep --dig:与 --deep 相同,dig 已始终包含在 --deep 模式的 Wave 1(代理 F)中,该标记仅为向后兼容保留,无额外效果。trace 日志中的 “Session History (from /dig)” 部分会位于 “Oracle Memory” 与 “Friction Analysis” 之间。
摩擦分数与置信度 搜索完成后会计算 friction_score,公式为 friction_score = S + C_offset(限制在 [0.0, 1.0])。其中 S 为来源分数,取决于包含相关结果的最高层级来源:Oracle 为 1.0(无摩擦,已良好索引且可见);仓库文件为 0.7(存在但未索引);Git 历史为 0.5(埋藏,曾存在但难以显露);跨仓库为 0.3(隐藏,存在于别处);未找到为 0.0(不可见,尚不存在)。C_offset 为完整性偏移,来自目标倒推检查(goal-backward check):高置信度为 +0.00,中置信度为 −0.10,低置信度为 −0.20。规则是 S 取包含相关结果的最高层级来源;未找到时无论 C_offset 如何均为 0.0。同时计算 coverage,即已搜索的 5 个维度(oracle、files、git、cross-repo、github)中有哪些被检查。
目标倒推检查会在写 trace 日志前询问“这次 trace 是否真正回答了原始问题?”:是则置信度为 high;部分找到相关但非精确则为 medium,并注明缺失内容;否则为 low,并注明需要的下一步。
评分参考表给出从 1.0(无摩擦,Oracle + 高置信度)到 0.0(不可见,任何地方都未找到)的完整区间及对应行动建议:0.9–1.0 无需操作;0.6–0.89 考虑 oracle_learn 索引;0.4–0.59 提炼并索引本会话;0.1–0.39 需要跨仓库整合;0.0 创建/文档化。低分是一种信号,表示该主题需要更好的索引、文档或创建。
输出与记录 trace 日志包含 frontmatter 字段:query、target、mode、timestamp、friction_score、coverage、confidence。正文包含 Oracle Results、Files Found、Git History、GitHub Issues/PRs、Cross-Repo Matches、Oracle Memory、Friction Analysis 和 Summary 等部分。随后会调用 Oracle MCP 记录(arra_trace),传入 query、project、foundFiles、foundCommits、foundIssues、friction_score、confidence 等参数。最后以 announce-mode 确认 trace 日志的绝对路径并输出提示。
技能区分与工作流 /trace 用于查找与度量,写入 ψ/memory/traces/(日志);/trace --dig 用于查找、度量并挖掘会话,同样写入 ψ/memory/traces/;/dig 单独用于挖掘会话,仅屏幕输出(只读);/learn 用于研究仓库,写入 ψ/learn/(文档);/project 用于开发仓库,写入 ψ/incubate/ 或 active/。整体工作流为:/trace 查找 + 度量 → /learn 研究 → /project 开发。组合方式 /trace --deep --dig 可一次完成查找与挖掘。
限制 资料未提供该技能的收费、价格、平台限制、效果保证等信息,暂未提供。其能力依赖 Oracle MCP、ghq、gh、dig 脚本等工具与环境,具体可用性需依据实际环境。