ruvnet/ruflo/tree/main/plugins/ruflo-knowledge-graph
ruflo-knowledge-graph
知识图谱构建——实体提取、关系映射和路径查找图遍历。作为 mod(ADR-445):让机密信息留在图外,确认图删除操作,提供 /kg-mod,以及供控制台显示的状态文件
关于这个 mod
知识图谱构建——实体提取、关系映射和路径查找图遍历。
概览
从源代码和文档中提取实体(类、函数、模块、类型、概念)与关系(imports、extends、implements、depends-on、calls)。在 AgentDB 中构建可导航的知识图谱,使用层级节点和因果边存储。通过路径查找算法遍历图,该算法根据边权重和语义相似度为路径评分。
安装
claude --plugin-dir plugins/ruflo-knowledge-graph
Agents
| Agent | 模型 | 角色 |
|-------|------|------|
| graph-navigator | sonnet | 实体提取、关系映射、知识图谱构建、路径查找遍历 |
Skills
| Skill | 用法 | 描述 |
|-------|------|------|
| kg-extract | /kg-extract <path> | 从源文件中提取实体和关系,构建知识图谱 |
| kg-traverse | /kg-traverse <entity> [--depth N] | 从种子实体开始进行路径查找遍历 |
命令(5 个子命令)
kg extract <path> # 从源文件中提取实体和关系
kg traverse <entity> # 从种子实体开始进行路径查找遍历
kg relations <entity> # 列出实体的所有直接关系
kg visualize # 以 ASCII 形式显示知识图谱
kg search <query> # 在图谱中进行语义搜索
实体类型
| 类型 | 示例 |
|------|------|
| class | UserService、AuthController |
| function | calculateDiscount、handleRequest |
| module | auth、payments、api |
| concept | authentication、caching |
| type | User、OrderStatus |
| config | database、redis、jwt |
兼容性
- CLI: 固定使用
@claude-flow/cliv3.6 的 major+minor 版本。 - 验证:
bash plugins/ruflo-knowledge-graph/scripts/smoke.sh是契约。
命名空间协调
此插件拥有 knowledge-graph AgentDB 命名空间(kebab-case,遵循 ruflo-agentdb ADR-0001 "命名空间约定" 中的约定)。保留命名空间(pattern、claude-memories、default)绝不能被覆盖。
实体节点通过 agentdb_hierarchical-store 存储;关系边通过 agentdb_causal-edge 存储;语义索引使用 embeddings_generate(不是 embeddings_embed——不存在这个工具名;ADR-0001 修正了之前的引用)。
路径查找算法
- Seed —— 从目标实体节点开始
- Expand —— 向外跟随因果边(可配置深度,默认 3)
- Score ——
relevance = edge_weight * semantic_similarity(query, node) - Prune —— 移除低于阈值的路径(默认 0.3)
- Rank —— 按累计相关性返回排名靠前的路径
G7 控制器(在 ruflo 3.6.23+ / 3.6.24 中启用)
ADR-095 完善了五个 AgentDB 控制器,插件的图遍历可以利用这些控制器:
gnnService—— 在 AgentDB 因果图上生成 GNN 嵌入并进行关系评分。它会为路径查找器的semantic_similarity(query, node)项增加结构感知评分;与已确认相关节点相邻的图节点会获得加权提升。rvfOptimizer—— 在持久化前量化并去重向量块。知识图谱索引通常包含许多近似重复的实体向量(同一个类从多个模块重新导出);rvfOptimizer会透明地将它们合并。mutationGuard+attestationLog+GuardedVectorBackend—— 对底层向量存储执行证明门控写入。当图跨越信任边界(联合知识导入)时尤其相关——.swarm/attestation.db中的证明链会记录每次变更,供事后审计。
尚未完成的 graphAdapter 控制器将为此插件提供一流的图数据库后端(不再构建基于 AgentDB 平面因果边表的图视图)。相关工作记录在 ADR-095 中。
通过 agentdb_controllers 或 agentdb_health MCP 工具检查运行时状态。
验证
bash plugins/ruflo-knowledge-graph/scripts/smoke.sh
# 预期:“10 passed, 0 failed”
架构决策
相关插件
ruflo-agentdb—— 上述 G7 控制器通过此插件的运行时提供;安装两个插件即可获得完整的图谱与遍历覆盖;命名空间约定的所有者ruflo-ruvector—— 为图节点提供快速语义搜索的 HNSW 索引ruflo-adr—— ADR 依赖图共享同一因果边模型
许可证
MIT
作为 mod
此插件提供一个函数挂钩 mod(ADR-445,hooks/register.ts)。它不发起网络调用、不生成进程,也不调用模型。
- Guard(仅收紧,默认开启):拒绝包含密钥、令牌或密码的图写入(
agentdb_causal-edge、agentdb_hierarchical-store、agentdb_pattern-store),并拒绝未携带confirm: true的agentdb_causal-edge-delete/agentdb_causal-node-delete调用。拒绝时绝不会回显机密信息。 /kg-mod:提供status、recent、tools(此插件的哪些工具已连接)和scan <text>(Guard 是否会拒绝该文本)。均在本地应答。- 状态文件:
.claude-flow/kg-mod/status.json({version: 1, updatedMs, guard, calls, total, blocked, recent},仅包含计数器,绝不写入工具输入),在会话开始时以及每次调用此插件的工具后写入。
选项(userConfig):guard(开启)、confirmDeletes(开启)。
测试:claude plugin validate plugins/ruflo-knowledge-graph、claude plugin test plugins/ruflo-knowledge-graph、bash plugins/ruflo-knowledge-graph/scripts/smoke.sh。
安装
请先查看作者 README 确认 marketplace 和插件名称;命令可能随仓库结构改变。
claude plugin marketplace add ruvnet/ruflo claude plugin install ruflo-knowledge-graph
原文 / README
ruflo-knowledge-graph
Knowledge graph construction -- entity extraction, relation mapping, and pathfinder graph traversal.
Overview
Extracts entities (classes, functions, modules, types, concepts) and relations (imports, extends, implements, depends-on, calls) from source code and documentation. Builds a navigable knowledge graph stored in AgentDB with hierarchical nodes and causal edges. Traverses the graph using a pathfinder algorithm that scores paths by edge weight and semantic similarity.
Installation
claude --plugin-dir plugins/ruflo-knowledge-graph
Agents
| Agent | Model | Role |
|-------|-------|------|
| graph-navigator | sonnet | Entity extraction, relation mapping, knowledge graph construction, pathfinder traversal |
Skills
| Skill | Usage | Description |
|-------|-------|-------------|
| kg-extract | /kg-extract <path> | Extract entities and relations from source files to build a knowledge graph |
| kg-traverse | /kg-traverse <entity> [--depth N] | Pathfinder traversal starting from a seed entity |
Commands (5 subcommands)
kg extract <path> # Extract entities and relations from source files
kg traverse <entity> # Pathfinder traversal from a seed entity
kg relations <entity> # List all direct relations for an entity
kg visualize # ASCII visualization of the knowledge graph
kg search <query> # Semantic search across the graph
Entity Types
| Type | Examples |
|------|----------|
| class | UserService, AuthController |
| function | calculateDiscount, handleRequest |
| module | auth, payments, api |
| concept | authentication, caching |
| type | User, OrderStatus |
| config | database, redis, jwt |
Compatibility
- CLI: pinned to
@claude-flow/cliv3.6 major+minor. - Verification:
bash plugins/ruflo-knowledge-graph/scripts/smoke.shis the contract.
Namespace coordination
This plugin owns the knowledge-graph AgentDB namespace (kebab-case, follows the convention from ruflo-agentdb ADR-0001 §"Namespace convention"). Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed.
Entity nodes are stored via agentdb_hierarchical-store; relation edges via agentdb_causal-edge; semantic indexing via embeddings_generate (NOT embeddings_embed — that tool name doesn't exist; ADR-0001 fixes prior references).
Pathfinder Algorithm
- Seed -- start from the target entity node
- Expand -- follow causal edges outward (configurable depth, default 3)
- Score --
relevance = edge_weight * semantic_similarity(query, node) - Prune -- remove paths below threshold (default 0.3)
- Rank -- return top-K paths by cumulative relevance
G7 controllers (activated in ruflo 3.6.23+ / 3.6.24)
ADR-095 closed five AgentDB controllers that this plugin's graph traversal can leverage:
gnnService— GNN embeddings + relational scoring over the AgentDB causal graph. Augments the pathfinder'ssemantic_similarity(query, node)term with structurally-aware scoring; nodes that are graph-neighbors of confirmed-relevant nodes get a boost.rvfOptimizer— Quantizes + dedupes vector blocks before persistence. Knowledge-graph indexes commonly have many near-duplicate entity vectors (same class re-exported from multiple modules); rvfOptimizer collapses them transparently.mutationGuard+attestationLog+GuardedVectorBackend— Proof-gated writes to the underlying vector store. Relevant when the graph spans trust boundaries (federated knowledge import) — the attestation chain at.swarm/attestation.dbrecords every mutation for after-the-fact audit.
The yet-pending graphAdapter controller will give this plugin a first-class graph-DB backend (instead of building the graph view on top of AgentDB's flat causal-edge table). Tracked in ADR-095.
Inspect runtime status via the agentdb_controllers or agentdb_health MCP tools.
Verification
bash plugins/ruflo-knowledge-graph/scripts/smoke.sh
# Expected: "10 passed, 0 failed"
Architecture Decisions
Related Plugins
ruflo-agentdb-- The G7 controllers above ship via this plugin's runtime; install both for full graph + traversal coverage; namespace convention ownerruflo-ruvector-- HNSW indexing for fast semantic search across graph nodesruflo-adr-- ADR dependency graphs share the same causal edge model
License
MIT
As a mod
This plugin ships a function-hook mod (ADR-445, hooks/register.ts). It makes no network call, spawns no process and makes no model call.
- Guard (tighten-only, on by default): Refuses graph writes (
agentdb_causal-edge,agentdb_hierarchical-store,agentdb_pattern-store) that hold a key, token or password, andagentdb_causal-edge-delete/agentdb_causal-node-deleteunless the call carriesconfirm: true. A refusal never echoes the secret. /kg-mod:status,recent,tools(which of this plugin's tools are connected) andscan <text>(would the guard refuse it). Answered locally.- Status file:
.claude-flow/kg-mod/status.json({version: 1, updatedMs, guard, calls, total, blocked, recent}, counters only, never tool input), written at session start and after every call to this plugin's tools.
Options (userConfig): guard (on), confirmDeletes (on).
Test it: claude plugin validate plugins/ruflo-knowledge-graph, claude plugin test plugins/ruflo-knowledge-graph, bash plugins/ruflo-knowledge-graph/scripts/smoke.sh.