Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

graph-rag-buildergraph RAG 构建器

Agent Skill

用于搭建或维护带检索增强的 RAG 工作流,适合让 Agent 处理知识库问答、向量检索、来源引用和事实核查。它可以辅助整理数据接入、Embedding、向量库、召回参数和回答生成流程。使用时需要确认数据来源、更新频率、召回阈值和引用展示方式,避免把未命中的资料或过期内容包装成确定事实。

总安装

2,328

周安装

131

GitHub Stars

公开资料未说明

下载量

816
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:graph-rag-builder(graph RAG 构建器)
来源仓库:https://github.com/nacmonad/graph-rag-builder
安装命令:
openclaw skills install graph-rag-builder
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install graph-rag-builder

简介

从网站或文档构建可运行的 MCP 知识服务器,支持内容抓取、概念提取和向量检索。

  • 适合搭建问答系统、知识库维护和事实核查等需要长期记忆的场景。
  • 输入 URL 列表后自动生成 Embedding、配置向量库并输出可查询的接口文档。
  • 需注意数据来源更新频率,设置合理召回阈值,避免引用过期或未命中内容。
  • 安装前应评估本地资源占用,确认是否需联网抓取及文件读写权限。

SKILL.md

name
GraphRAGBuilderSkill
description
>
to
build an MCP server from a website or docs, create a semantic search index over

GraphRAG Builder Skill

Turns any documentation website into a runnable MCP knowledge server in 5 pipeline steps, each run on the user's local machine using scripts in the scripts/ folder.

Quick Reference

StepScriptWhat it does
M1crawl.pyBFS crawl → raw HTML + metadata per page
M2extract_concepts.pyHTML → chunks → LLM concept extraction
M3build_graph.pyConcepts + links → networkx knowledge graph
M4build_embeddings.pyChunks + concepts → numpy vector index
M5generate_mcp_server.pyGraph + embeddings → standalone server.py

All scripts require Python 3.10+ and auto-install their own dependencies on first run.


Step 0: Clarify Requirements

Before running anything, ask the user:

  • URL: Which site to crawl (required — starting page)
  • Depth: How many link-hops to follow (default 3; suggest 2 for large sites)
  • Model: Which Claude model for concept extraction — haiku (fast/cheap) or sonnet (higher quality). Default: haiku

Set the output slug from the URL: https://strudel.ccstrudel-cc-mcp.


Step 1: Crawl (M1)

Provide this command for the user to run locally:

python scripts/crawl.py \
  --url <URL> \
  --max-depth <DEPTH> \
  --output ./output

What to expect:

  • Creates output/<slug>/raw_content/*.json (one per page)
  • Creates output/<slug>/crawl.json (state tracking)
  • Prints a summary: pages crawled, JS fallbacks used, failures

Common issues:

  • JS-heavy single-page apps → many Playwright fallbacks (normal, just slower)
  • Rate limiting → add --rate-limit 1.5 to slow down
  • First run needs: pip install playwright && playwright install chromium

Step 2: Extract Concepts (M2)

The user must set ANTHROPIC_API_KEY first. Provide this command:

ANTHROPIC_API_KEY=sk-ant-... python scripts/extract_concepts.py \
  --input ./output/<slug>-mcp \
  --model haiku

Dry-run first (no API cost):

python scripts/extract_concepts.py --input ./output/<slug>-mcp --dry-run

This validates chunking quality before spending API budget. Show them chunk counts and section names from dry-run output.

What to expect:

  • Processes ~2–5 pages/minute on haiku
  • Creates output/<slug>-mcp/extracted/*.json (one per page)
  • Each file contains chunks with: concepts, tags, code examples, prerequisites, relationships
  • Skips already-extracted pages (safe to re-run after interruption)

Common issues:

  • Pages showing no_chunks → likely JS-rendered content not captured; acceptable for a minority of pages
  • API rate limiting → script retries automatically with exponential backoff
  • --max-pages 10 flag to test on a small sample first

Re-running after a partial run:

python scripts/extract_concepts.py --input ./output/<slug>-mcp --model haiku
# (automatically skips already-extracted pages)

Force re-extraction of everything:

python scripts/extract_concepts.py --input ./output/<slug>-mcp --force

Step 3: Build Graph (M3)

python scripts/build_graph.py --input ./output/<slug>-mcp

What to expect:

  • Reads all non-dry-run extracted/*.json files
  • Deduplicates concept names (case-insensitive, strips trailing ())
  • Creates output/<slug>-mcp/graph.json
  • Prints node/edge counts by type

Healthy output looks like:

Pages:     46
Chunks:    357
Concepts:  200+
Total edges: 1000+
  MENTIONS       600+
  REQUIRES       100+
  HAS_CHUNK      357
  LINKS_TO       80+
  RELATED        40+

If concepts = 0 and "Skipped N dry-run files" appears, M2 hasn't been run with a real API key yet.


Step 4: Build Embeddings (M4)

python scripts/build_embeddings.py --input ./output/<slug>-mcp

First run downloads all-MiniLM-L6-v2 (~80MB, cached after that).

Add --smoke-test to query both collections immediately after building:

python scripts/build_embeddings.py --input ./output/<slug>-mcp --smoke-test

What to expect:

  • Creates output/<slug>-mcp/embeddings/ with 5 numpy files (no database needed)
  • Two indexes: chunks (semantic search) and concepts (concept lookup)

Step 5: Generate MCP Server (M5)

python scripts/generate_mcp_server.py --input ./output/<slug>-mcp

Outputs:

  • output/<slug>-mcp/server.py — the runnable MCP server
  • output/<slug>-mcp/mcp_config.json — Claude Desktop config snippet

Install into Claude Desktop:

  1. Open ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Merge the contents of mcp_config.json into the "mcpServers" key
  3. Restart Claude Desktop
  4. The server name (e.g., strudel-cc) appears in Claude's available tools

Test the server standalone:

python output/<slug>-mcp/server.py
# Should print "Loading ... knowledge graph... Ready: N nodes, M edges"

The 8 MCP Tools

Once installed, Claude can use these tools against the knowledge base:

ToolDescription
search(query, n=5)Semantic search over all content chunks
get_concept(name)Concept details + chunks where it appears
get_related(concept, n=5)Related concepts via graph edges
get_learning_path(start, goal)Shortest concept path between topics
get_prerequisites(concept)What must be understood first
get_examples(concept)Code examples for a concept
list_concepts(tag?, limit=20)Browse all indexed concepts
get_page(url)All chunks for a specific doc page

Complete Pipeline Command Sequence

For a fresh install, provide the user with all commands in order:

# 0. Install system deps (once)
pip install requests beautifulsoup4 lxml playwright anthropic \
    networkx numpy sentence-transformers mcp
playwright install chromium

# 1. Crawl
python scripts/crawl.py --url <URL> --max-depth 3 --output ./output

# 2. Extract concepts (dry-run first)
python scripts/extract_concepts.py --input ./output/<slug>-mcp --dry-run
# Then real run:
ANTHROPIC_API_KEY=sk-ant-... python scripts/extract_concepts.py \
  --input ./output/<slug>-mcp --model haiku

# 3. Build graph
python scripts/build_graph.py --input ./output/<slug>-mcp

# 4. Build embeddings
python scripts/build_embeddings.py --input ./output/<slug>-mcp --smoke-test

# 5. Generate server
python scripts/generate_mcp_server.py --input ./output/<slug>-mcp

# 6. Test server
python output/<slug>-mcp/server.py

Output Directory Layout

output/<slug>-mcp/
├── crawl.json              State tracking (incremental re-runs)
├── raw_content/            One JSON per crawled page (HTML + links)
├── extracted/              One JSON per page (chunks + LLM concepts)
├── graph.json              networkx knowledge graph
├── embeddings/             numpy indexes (chunks.npy, concepts.npy + JSON)
├── server.py               The runnable MCP server ← share this
└── mcp_config.json         Claude Desktop config snippet ← install this

The entire output/<slug>-mcp/ folder is the deliverable. The user can move it anywhere as long as server.py, graph.json, and embeddings/ stay together.


Troubleshooting

"No module named X" → The script auto-installs deps, but if it fails:

pip install <package> --break-system-packages

Crawl gets 0 pages → Check robots.txt and try --force to bypass the crawl cache.

extract_concepts produces tiny concepts count → The page content may be JS-only. Check fetched_with field in raw_content/*.json — pages fetched via requests with very little text should have been picked up by Playwright. Re-crawl with --force.

Server fails to start → Run python output/<slug>-mcp/server.py directly and check stderr for import errors. Most common cause: mcp package not installed.

Claude Desktop doesn't show the server → Verify the path in mcp_config.json is absolute and the file exists. Restart Claude Desktop after any config change.


Deferred Features

See TODO.md for planned improvements including:

  • YouTube transcript fetching
  • Neo4j export for large graphs
  • OpenAI/Voyage embedding API support
  • Scheduled re-crawls
  • Graph visualization

适合场景

01

研究助手

02

事实核查

03

知识库问答

04

带来源的搜索总结

能力概览

能力 1

组合搜索和大模型调用

能力 2

支持多来源检索和总结

能力 3

强调引用来源和事实核查

能力 4

适合研究型 Agent 流程

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.53%
按下载量换算763

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills