一个 URL 或一个目录进去,一座知识图谱出来。
URL OR DIR → GRAPH → 10 MCP TOOLS
给它一个网站 URL 或一个本地文档/代码目录,site-kg 抓取语料、按语料里的链接建图,再通过 MCP 的 10 个工具提供给 agent。结构层不需要 LLM:进料、检索、正文、图遍历都免密钥。语料没有交叉引用时返回 NOT-READY,不生成推测出来的边。
URL ──► manifest 探测 ──► 有界爬取 ──┐
objects.inv → navtree → sitemap → 同站 BFS
本地目录 ──► 文档 + 代码扫描 ─────────┘
边来自 markdown 链接、[[wikilink]]、import/include
│
▼
markdown 语料 + graph.json + search.json
正文按 1–256 个哈希分片落盘,get_page 只解一个分片
│
┌───────────┼───────────────┐
▼ ▼ ▼
MCP 10 tools render_site site-kg live
9 个免密钥 离线单文件查看器 SSE 实时渲染
│
▼
ask:关键词与 embedding 候选取并集 → 图邻域扩展 → 重排 → 带来源页的答案ingest_url 爬站,ingest_local 收本地目录。网页侧先探清单:Sphinx 走 objects.inv,Doxygen 走 navtree,再退 sitemap 与同站 BFS。本地侧识别 7 类文档、37 类代码扩展和 18 种无扩展名构建文件。
边由 markdown 链接、[[wikilink]] 与 import/include 产生,不做推测。没有交叉引用的站点返回 NOT-READY。
10 个工具中只有 ask 需要 LLM 配置,其余 9 个直接可用。
ask 的候选取关键词检索与 embedding 检索的并集,用图邻域扩展上下文,重排后返回带来源页的答案。
正文按 1 到 256 个哈希分片落盘,get_page 只解一个分片。7.5 万文档的站点从 8.3 秒降到冷启动约 12 毫秒。
render_site 产出离线单文件 Three.js 查看器;render_build 用 WebGPU 回放建图过程;live 模式经 SSE 边爬边渲染,含 Planets、Neural、City 三个场景。
可选语义层:配置 SITE_KG_LLM_KEY 后用 cognee cognify 在结构边旁生成实体/关系边。
Crawl4AI 深爬,覆盖 Playwright 兜底也拿不下的 JS 站点。
ask 与语义层依赖外部 LLM 配置,未配置时只有结构层可用。爬取遵守 robots.txt 与限速。