mcpField
D
dossier-collect

dossier-collect

github.com/ruvnet生产力80.0k701 次安装今天更新
代码仓库

关于 dossier-collect

dossier-collect 从一个种子实体递归调查并构建图结构档案,适用于关注关联实体及声明来源的探索式研究,而非回答单一问题。

主要功能

  1. 01识别种子实体类型
  2. 02按种子类型选择来源
  3. 03按广度优先轮次扩展发现
  4. 04对实体去重
  5. 05生成图和来源记录产物
  6. 06保存档案与轨迹

适用场景

  1. 01梳理与用户名或 URL 相关的实体
  2. 02追踪代码符号和文件引用
  3. 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。

步骤

  1. 检测种子类型 — 将种子归类为以下类型之一:username(用户名)、file(路径)、symbol(代码标识符)、adr(ADR-NNN)、url 或 concept(自由文本)。
  2. 选择来源 — 根据种子类型匹配来源矩阵。默认使用所有适用来源。
  3. 启动轨迹 — 调用 mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start,并将任务设为 dossier:<slug>。
  4. 第 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
  5. 提取实体 — 从每条命中结果中提取实体(人员、仓库、文件、ADR、URL、术语)。使用轻量级正则表达式和启发式方法;除非存在歧义,否则不使用 LLM 提取。
  6. 去重 — 删除档案中已有的实体。若未设置 --exact,还要删除与现有节点的嵌入余弦相似度 ≥ 0.92 的实体。
  7. 第 k 轮递归 — 对每个新实体递归执行步骤 4(每个来源最多处理 --max-breadth 个),直到深度 ≥ --max-depth 或预算耗尽。
  8. 汇总 — 构建 { nodes, edges } 图。每个节点包含 { id, type, attrs, sources: [...] }。每条边包含 { from, to, kind, source, confidence }。
  9. 生成产物:
    • <slug>.md — 执行摘要、实体表、mermaid 图、来源溯源脚注
    • <slug>.json — 机器可读的图
    • 默认位置:v3/docs/examples/dossiers/<slug>/
  10. 持久化 — 调用 mcp__plugin_ruflo-core_ruflo__memory_store,使用命名空间 dossier,键为 <slug>。
  11. 结束轨迹 — 调用 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