360 Secure SkillHub
360 安全技能中心

Knowledge Rag

核心功能:支持自然语言搜索本地txt、md、pdf、docx等格式文档,可通过指令自动保存内容并建立索引,支持定时自动索引,可切换不同向量模型适配需求。典型场景:查找技术笔记、B站转录内容、公众号文章等。输入为自然语言问题或保存指令,输出带原文的搜索结果或保存反馈,推荐搭配B站转录工具实现视频内容自动入库检索。

54lynnn
54lynnn
热度 60.51
最近更新 2026-06-03 16:51:06
分类:知识依赖:代码执行 / 读写文件 / 第三方 API应用场景:笔记整理 / 研究 / 摘要总结

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add knowledge-rag
Metadata
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/,卸载不丢

🎯 推荐搭配

Bilibili Auto Transcript — 装了这个 skill 后,B站视频转录完自动存到知识库,不用手动操作:

clawhub install bilibili-auto-transcript

转录的文件自动进 ~/workspace/knowledge/bilibili/,转完即搜。


📦 开源 & 交流