通用知识图谱构建器:把文档目录变成可交互的知识图谱页面

前言

项目里的说明、代码和 PDF 越积越多,靠全文搜索很难看出概念之间的关系。手工画脑图或往图数据库里灌数据,要么维护成本高,要么要单独搭一套工具链。下面介绍 SkillHub 上的社区 Skill「通用知识图谱构建器」:在 Agent 里按固定流程检查环境、扫描文档、调用 LLM 抽取图谱,并生成本地可双击打开的 HTML 页面。

这是什么

通用知识图谱构建器(坐标 @user_19a6d235/knowledge-graph-builder,当前版本 1.0.6,来源 community,分类 knowledge-management)由发布者 user_19a6d235 维护。它是一套基于通用 SKILL.md 的 Agent 工作流,不是独立桌面应用:启用后由 Agent 按文档执行 Bash、读写文件,把「文档目录 → 知识图谱 → 静态页面」串成可复现步骤。

官方简介概括为四步:检查环境 → 分析文档 → 构建知识图谱 → 生成交互式 HTML 页面。支持对任意目录下的 Markdown、代码、PDF、图片等做分析;LLM 侧走 OpenAI 兼容 API,配置可写入本地文件并在后续构建中复用。SkillHub 标签标明 requires_api_key=true,使用前需自备 API Key 与端点。

核心功能

环境与依赖

  1. 校验 Python 3.10+,必要时按平台给出安装指引。
  2. 检测系统或环境变量中的代理;若存在代理,后续执行 graphify 相关命令时可配合 NO_PROXY="*",避免 httpx 与系统代理冲突(Skill 文档中说明了常见报错场景)。
  3. 在 ~/.knowledge-graph-builder/venv 创建或复用虚拟环境,安装固定版本依赖:graphifyy 0.7.13、openai 2.36.0。
  4. 将 LLM 的 Base URL、API Key、模型名写入 ~/.knowledge-graph-builder/env.sh(权限 600),并通过一次连通性请求验证配置。

文档分析与用户确认

对目标目录做文件类型统计(如 md、代码、pdf、图片、txt 等),估算 token 规模与推荐 token budget、是否开启聚类(节点少于 20 时默认建议 --no-cluster)。在真正调用构建 API 之前,Skill 要求展示分析报告与费用粗算,并等待用户明确确认;用户也可选择仅生成空页面或取消。

图谱构建

通过内联 Python 脚本调用 graphify 的 extract 子命令,对 OpenAI 后端做 base_url 的 monkey-patch,以适配 DeepSeek、OpenAI 等兼容服务。产出写在文档目录下的 graphify-out/graph.json,包含节点、边及 token 统计;构建前另有配置摘要确认检查点。

交互式 HTML

读取 Skill 包内的 template.html,将标题占位符 {{TITLE}} 与图谱 JSON 占位符 {{GRAPH_JSON}} 替换后,写出 <知识库名称>-知识图谱.html。页面内联 D3.js v7,图谱数据内联在单文件中,本机双击即可浏览;字体依赖 Google Fonts,无网时会回退到系统等宽字体。

增量更新

当用户表达「更新/刷新知识库」等意图时,Skill 会检测 graphify-out 与 .knowledge-graph-history/last_build.json,对比新增/删除文件,在增量更新与全量重建之间让用户选择,并复用已有 env.sh 配置。

触发方式

除自然语言外,官方列出的触发词包括:知识图谱、建知识库、知识库页面、graphify、生成知识库、文档图谱化、知识管理、知识库工具。示例话术如「把我的文档做成知识库」「生成知识图谱」等。

安装与启用

SkillHub 页面给出的安装方式是:让 Agent 阅读 SkillHub 安装说明,并安装坐标 @user_19a6d235/knowledge-graph-builder。

若本机已有 skillhub CLI,安装时需用 --dir 指向当前 Agent 的 skills 目录,否则默认装到 ./skills/ 可能不会被识别。官方文档中的常用路径示例:

Agent / 客户端 skills 目录(示例)
Cursor ~/.cursor/skills/
Claude Code ~/.claude/skills/
Codex ~/.codex/skills/ 或项目下 .agents/skills/

命令行安装示例(将 <skills 目录> 换成你环境中的实际路径):

skillhub install knowledge-graph-builder --namespace user_19a6d235 --dir <skills 目录>

首次使用 CLI 可按 skillhub.cn/install/skillhub.md 检查或安装 skillhub 本身。Skill 声明允许使用的工具为 Bash、Read、Write、Edit,需在支持 Skill 的 Agent 中启用。

典型用法

经过上面的安装步骤后,在对话中说明意图即可,Agent 会按 Skill 从 Step 0 开始收集信息。

1、准备输入

  • 提供文档目录的绝对路径(可选:知识库显示名称)。
  • 若尚未配置 LLM,需提供 OpenAI 兼容的 Base URL(需以 /v1 结尾)、API Key、模型 ID(如 DeepSeek 或 OpenAI 系列)。若 ~/.knowledge-graph-builder/env.sh 已存在,可跳过重复询问。

2、确认分析报告

Agent 展示目录内文件分布与预估 token、推荐 budget 与聚类策略后,回复「继续」才会进入构建;可说「调整参数」或「取消」。

3、构建与打开页面

确认构建配置后,在文档父目录执行 graphify 抽取;成功后得到 graphify-out/graph.json 与同目录或工作区内的 *-知识图谱.html。本机使用可直接双击 HTML;内网共享可用:

cd <页面所在目录> && python3 -m http.server <端口>

4、文档变更后

说明「更新知识库」等,走增量流程:对比文件变更,选择增量或全量重建,HTML 会覆盖更新。

典型 LLM 配置会写入如下结构(值为用户实际填写):

# ~/.knowledge-graph-builder/env.sh
LLM_BASE_URL="https://api.deepseek.com/v1"
LLM_API_KEY="sk-..."
LLM_MODEL="deepseek-v4-flash"

适用场景与注意

适合谁: 想把本地或仓库内的技术文档、产品说明、论文 PDF、代码注释等整理成可浏览的概念关系图,且愿意用自有 LLM API 完成抽取;需要单文件 HTML 分发、离线查看图谱(不部署 Neo4j 等图数据库)的团队或个人。

限制与注意:

  • 必须配置有效的 OpenAI 兼容 API;构建过程会产生按 token 计费的开销,Skill 在检查点会做粗算,实际以服务商账单为准。
  • 依赖本机 Python 3.10+ 及 pip 安装 graphifyy;网络受限环境需自行处理代理(见 Skill 常见问题)。
  • 大目录或限流(HTTP 429)时可能需要降低并发(如 --max-concurrency 2)或调整 token budget;若 graph.json 节点数为 0,需按 Skill 排查 Key、URL、模型名与文档格式。
  • SkillHub 元数据:评分 100000,下载 2023(以 SkillHub 页面抓取为准);与个别转载线索中的数字不一致时,以商店页为准。

结尾

通用知识图谱构建器把「环境检查、文档扫描、graphify 抽取、D3 页面打包」写进一套 Agent 可执行流程,适合从杂乱文件夹快速得到可交互的知识图谱 HTML,并在文档迭代时做增量更新。官方 Skill 页与安装坐标:

  • SkillHub:https://www.skillhub.cn/skills/user_19a6d235/knowledge-graph-builder
  • API 资源页:https://api.skillhub.cn/user_19a6d235/knowledge-graph-builder
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye