关于 dossier-collect
dossier-collect 从一个种子实体递归调查并构建图结构档案,适用于关注关联实体及声明来源的探索式研究,而非回答单一问题。
主要功能
- 01识别种子实体类型
- 02按种子类型选择来源
- 03按广度优先轮次扩展发现
- 04对实体去重
- 05生成图和来源记录产物
- 06保存档案与轨迹
适用场景
- 01梳理与用户名或 URL 相关的实体
- 02追踪代码符号和文件引用
- 03探索 ADR 及其关联记录
MCP 相关
它调用 Ruflo MCP 工具来跟踪调查轨迹,并搜索和存储记忆。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill dossier-collect安装后在 Claude Code 中输入/dossier-collect确认已加载。
详细介绍
Dossier Collect
递归并行调查,围绕种子实体构建图结构档案。
适用场景
你有一个种子(用户名、文件、符号、ADR-id、URL 或概念),希望向外扩展,发现所有相关实体,并为每项声明记录来源,而不是回答某个具体问题。
如有具体问题,请使用 deep-research。如需制定多步骤计划,请使用 goal-plan。
步骤
- 检测种子类型 — 将种子归类为以下类型之一:
username(用户名)、file(路径)、symbol(代码标识符)、adr(ADR-NNN)、url或concept(自由文本)。 - 选择来源 — 根据种子类型匹配来源矩阵。默认使用所有适用来源。
- 启动轨迹 — 调用
mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start,并将任务设为dossier:<slug>。 - 第 0 轮扇出 — 在一条消息中发出所有来源查询。示例:
- 对于
username:WebSearch、对 github.com/ 使用WebFetch、mcp__plugin_ruflo-core_ruflo__memory_search_unified - 对于
adr:读取 ADR 文件、使用Grep搜索引用、mcp__plugin_ruflo-core_ruflo__memory_search命名空间adr - 对于
symbol:Grep、Glob、mcp__plugin_ruflo-core_ruflo__embeddings_search
- 对于
- 提取实体 — 从每条命中结果中提取实体(人员、仓库、文件、ADR、URL、术语)。使用轻量级正则表达式和启发式方法;除非存在歧义,否则不使用 LLM 提取。
- 去重 — 删除档案中已有的实体。若未设置
--exact,还要删除与现有节点的嵌入余弦相似度 ≥ 0.92 的实体。 - 第 k 轮递归 — 对每个新实体递归执行步骤 4(每个来源最多处理
--max-breadth个),直到深度 ≥--max-depth或预算耗尽。 - 汇总 — 构建
{ nodes, edges }图。每个节点包含{ id, type, attrs, sources: [...] }。每条边包含{ from, to, kind, source, confidence }。 - 生成产物:
<slug>.md— 执行摘要、实体表、mermaid 图、来源溯源脚注<slug>.json— 机器可读的图- 默认位置:
v3/docs/examples/dossiers/<slug>/
- 持久化 — 调用
mcp__plugin_ruflo-core_ruflo__memory_store,使用命名空间dossier,键为<slug>。 - 结束轨迹 — 调用
mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-end,并设置成功状态。
输出架构(JSON)
{
"seed": "ruvnet",
"seedType": "username",
"depth": 2,
"truncated": false,
"generatedAt": "ISO-8601",
"nodes": [
{ "id": "ruvnet", "type": "username", "attrs": { "...": "..." }, "sources": ["WebSearch", "github.com"] }
],
"edges": [
{ "from": "ruvnet", "to": "ruflo", "kind": "owns", "source": "github.com", "confidence": "high" }
],
"stats": { "nodesByType": {}, "sourcesUsed": [], "tokensSpent": 0 }
}
预算管理
- 如果设置了
--budget-usd,通过轨迹跟踪大致费用。预算耗尽时:输出部分档案,标记truncated: true,并列出仍在队列中的实体。 - 仅按 BFS 扩展——完成第 k 轮后再开始第 k+1 轮。
- 绝不静默截断。始终标记并记录跳过的内容。
示例
/ruflo-goals:dossier-collect ruvnet
/ruflo-goals:dossier-collect ADR-097 --max-depth 1
/ruflo-goals:dossier-collect "src/memory/hnsw.ts" --sources codebase,git,memory
/ruflo-goals:dossier-collect "ruflo-goals" --max-breadth 5 --budget-usd 1
评论
支持 Markdown