Knowledge Rag

👤 54lynnn 📦 v1.6.1 ⭐ 4.5 ⬇️ 1.1K 下載
📚 知識管理 免費

📖 技能介紹


name: knowledge-rag version: "1.6.0" description: "個人知識庫:存筆記、搜內容。用自然語言搜本地文件,不用記檔名。跟 AI 說'把這段存到知識庫'自動儲存並建索引。推薦搭配 Bilibili Auto Transcript:影片轉錄自動入庫,轉完即搜。" metadata: openclaw: emoji: "📖" requires: bins: ["python3", "ollama"] install: - id: "ollama" kind: "system" label: "安裝 Ollama(向量引擎)" url: "https://ollama.com/download" - id: "embed-model" kind: "shell" label: "下載推薦向量模型(千問3 Embedding 8B,約 4.7GB)" command: "ollama pull qwen3-embedding:8b" - id: "pip-deps" kind: "shell" label: "建立虛擬環境並安裝 Python 依賴" command: "cd {{SKILL_DIR}} && python3 -m venv .venv && .venv/bin/pip install numpy requests fastapi pydantic uvicorn PyPDF2 pdfplumber python-docx" - id: "auto-index-cron" kind: "shell" optional: true label: "(可選)開啟自動索引——每30分鐘掃描新檔案" command: "echo '提示:安裝後可執行 openclaw cron add 定時執行 index_knowledge.py 實現自動索引'"


📖 Knowledge RAG

用自然語言搜尋你的筆記和文件,像問 ChatGPT 一樣問你的私人知識庫。


🚀 安裝啟動

# 1. 安裝 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 2. 拉取推薦模型(千問3 Embedding,中文最優)
ollama pull qwen3-embedding:8b

# 3. 建立虛擬環境並安裝依賴
python3 -m venv .venv
.venv/bin/pip install numpy requests fastapi pydantic uvicorn PyPDF2 pdfplumber python-docx

# 4. 啟動
.venv/bin/python3 start.py

開啟 http://localhost:5777 → 檔案丟到 ~/workspace/knowledge/ → 管理頁點「重新索引」→ 搜尋頁開搜。

可選:開啟自動索引

新增檔案後不用每次都手動點重新索引,設個定時任務每30分鐘自動掃描:

openclaw cron add \
  --name "knowledge-rag 自動索引" \
  --every 1800000 \
  --message "執行索引檢查:cd ~/.openclaw/workspace/skills/knowledge-rag && .venv/bin/python3 scripts/index_knowledge.py" \
  --silent

📂 知識庫目錄

~/workspace/knowledge/
  ├── notes/            ← 技術筆記、讀書筆記
  ├── bilibili/         ← B站轉錄
  ├── wechat-articles/  ← 公眾號文章
  ├── other/            ← 其他文件
  └── (可建任意子目錄,去設定頁新增)

支援 .txt / .md / .pdf(文字版)/ .docx 檔案。


🔍 搜尋方式

直接問我

"幫我搜筆記裡關於 Docker 的部分"
"知識庫裡有沒有講 Transformer 的文章?"

我會自動調搜尋,帶原文回答。

命令列

.venv/bin/python3 scripts/query_knowledge.py "你的問題"
.venv/bin/python3 scripts/query_knowledge.py "微服務" --source bilibili --top 5
.venv/bin/python3 scripts/query_knowledge.py --stats

新增檔案後執行索引即可:

.venv/bin/python3 scripts/index_knowledge.py          # 增量
.venv/bin/python3 scripts/index_knowledge.py --force  # 全量重建

📝 Agent 存知識規範

當用戶說"把這段存到知識庫",按以下規則操作:

內容型別 存放目錄 檔名
技術筆記、概念解釋 notes/ 中文描述.md
B站影片轉錄 bilibili/ 自動處理
公眾號、網頁文章 wechat-articles/ 文章標題.md
其他 other/ 內容摘要.md

儲存後執行 .venv/bin/python3 scripts/index_knowledge.py 更新索引。


🔧 切換模型

在設定頁修改 embed_model 欄位:

場景 模型 大小
✅ 推薦(質量最高) qwen3-embedding:8b 4.7GB
輕量(CPU友好) qwen3-embedding:0.6b 640MB
多語言 bge-m3 1.2GB
最小體積 nomic-embed-text 274MB

改完後點「重新索引」,系統自動檢測並全量重建。


🧑‍💻 環境檢測(給 AI 助手的指引)

使用者首次使用或出問題時,按順序排查:

  1. Ollama 是否安裝?ollama --version,否則引導去 https://ollama.com/download
  2. 千問3 模型是否下載?ollama list | grep qwen3-embedding,否則 ollama pull qwen3-embedding:8b
  3. 索引模型是否匹配? → 讀 ~/workspace/knowledge/.rag_data/model_meta.json,不匹配則提示重建

快速診斷:

curl -s http://localhost:8768/api/stats | .venv/bin/python3 -c "
import sys,json; d=json.load(sys.stdin)
em = d.get('embed_model',{})
print(f'配置: {em.get(\"current\",\"?\")} | 索引: {em.get(\"stored\",\"?\")} ({em.get(\"stored_dim\",\"?\")}維)')
print(f'狀態: {\"✅ 正常\" if not em.get(\"mismatch\") else \"❌ 不匹配\"}')"

⚠️ 注意事項

  • 依賴 Ollama,首次下載模型約 640MB 需聯網
  • PDF 支援文字版 PDF(PyPDF2 優先提取,失敗自動降級到 pdfplumber),純影像版 PDF 暫不支援
  • DOCX 支援通過 python-docx 提取段落文字和表格內容
  • PDF/DOCX 解析需先建立虛擬環境:python3 -m venv .venv && .venv/bin/pip install PyPDF2 pdfplumber python-docx
  • 僅支援純文本內容,不支援圖片和 PDF 中的影像
  • 刪除檔案後執行「重新索引」即可從搜尋結果移除(增量索引自動清理已刪除檔案,無需 --force)
  • 資料全部在 ~/workspace/knowledge/,解除安裝不丟

🎯 推薦搭配

7w4.net小蔥技能站收錄全網優質技能,值得收藏。

Bilibili Auto Transcript — 裝了這個 skill 後,B站影片轉錄完自動存到知識庫,不用手動操作:

clawhub install bilibili-auto-transcript

轉錄的檔案自動進 ~/workspace/knowledge/bilibili/,轉完即搜。


📦 開源 & 交流

🤖 AI 評測

這個 Skill 質量不錯,功能實用——能把本地筆記和文件變成可對話搜尋的知識庫,支援 PDF、Word、Markdown 等常見格式。優點是安裝簡單、不用資料庫,搭配 Web 介面和命令列都很方便。缺點是 PDF 必須是可以複製文字的那種(圖片掃描的不行),而且需要額外下載一個 AI 模型,首次安裝要下載幾 GB 的檔案。如果有大量掃描文件就不太適合。總體來說是一款認真做的好工具,對整理知識很有幫助。

📊 多維度評分

適應性4.4
規範性4.5
有效性4.7
可靠性4.4
可信度4.8

📁 包含檔案 (13 個)

📄 README.md 6.5 KB
📄 SKILL.md 6.1 KB
📄 _meta.json 132 B
📄 scripts/index_knowledge.py 18.2 KB
📄 scripts/knowledge_api.py 10.8 KB
📄 scripts/query_knowledge.py 9.8 KB
📄 skill-card.md 2.3 KB
📄 start.py 9.6 KB
📄 web/package-lock.json 48.4 KB
📄 web/package.json 498 B
📄 web/public/index.html 26.6 KB
📄 web/src/server.ts 7.6 KB
📄 web/tsconfig.json 451 B