ClaudeMods
☰
ZH-CN
● 0 人在线 · 浏览 0 次
赞助提交作品
GitHub 仓库 · 发布者 ruvnet

ruflo-knowledge-graph

知识图谱构建——实体提取、关系映射和路径查找图遍历。作为 mod(ADR-445):让机密信息留在图外,确认图删除操作,提供 /kg-mod,以及供控制台显示的状态文件

ruvnet@ruvnet

ruvnet/ruflo/tree/main/plugins/ruflo-knowledge-graph

已翻译

关于这个 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/cli v3.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 修正了之前的引用)。

路径查找算法

  1. Seed —— 从目标实体节点开始
  2. Expand —— 向外跟随因果边(可配置深度,默认 3)
  3. Score —— relevance = edge_weight * semantic_similarity(query, node)
  4. Prune —— 移除低于阈值的路径(默认 0.3)
  5. 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/cli v3.6 major+minor.
  • Verification: bash plugins/ruflo-knowledge-graph/scripts/smoke.sh is 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

  1. Seed -- start from the target entity node
  2. Expand -- follow causal edges outward (configurable depth, default 3)
  3. Score -- relevance = edge_weight * semantic_similarity(query, node)
  4. Prune -- remove paths below threshold (default 0.3)
  5. 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's semantic_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.db records 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 owner
  • ruflo-ruvector -- HNSW indexing for fast semantic search across graph nodes
  • ruflo-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, and agentdb_causal-edge-delete / agentdb_causal-node-delete unless the call carries confirm: true. A refusal never echoes the secret.
  • /kg-mod: status, recent, tools (which of this plugin's tools are connected) and scan <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.

更多类似作品