乐于分享
好东西不私藏

【龙虾教程】OpenClaw如何部署个人知识库

【龙虾教程】OpenClaw如何部署个人知识库

建立可搜索的个人知识库,让OpenClaw帮你记住一切重要信息

适合人群:知识工作者、研究者、学生、任何需要整理大量信息的人难度:⭐⭐(需要理解向量搜索概念,但有现成模板)


为什么要部署这个系统

解决的核心点

  • ❌ 文档太多,找不到想要的信息,每次都要重新搜索
  • ❌ 记得讨论过某事,但忘了细节和出处,无法引用
  • ❌ 想系统性地整理知识,但手动整理太耗时,坚持不下去

最终效果

你:我上周关于GEO优化的决策是什么?OpenClaw:根据知识库,你在2026-04-15决定:        • 使用v3.3-A级质量标准        • 建立Git-Notes防失忆机制        • 执行时强制三脚本检查        来源:memory/2026-04-15.md你:查找所有关于"时效性"的内容OpenClaw:找到3条相关内容:        1. 4/16 修正文章年份错误...        2. 4/16 建立时效性检查机制...        3. 4/15 v3.3标准包含时效性检查

使用场景

  1. 项目资料管理:整理项目文档、会议记录、决策依据
  2. 学习资料整理:整理课程笔记、论文、研究资料
  3. 个人知识积累:整理读书笔记、行业资讯、经验总结
  4. 团队知识共享:建立团队共享知识库,避免知识孤岛

需要准备什么

所需技能
用途
必须?
成本
raglite
向量搜索和检索
0元
knowledge
知识库管理界面
0元
向量数据库
存储向量数据
⚠️ 建议
0元(本地)

前置条件

  • OpenClaw已安装并正常运行
  • 有Python环境(用于运行raglite)
  • 有足够的磁盘空间存储向量数据

第一步:安装知识库技能

安装raglite和knowledge技能

OpenClaw会回答

正在安装 raglite...✅ raglite 安装成功正在安装 knowledge...✅ knowledge 安装成功✅ 知识库技能安装完成

原理:raglite提供向量搜索能力,knowledge提供知识库管理界面,两者结合实现智能知识检索。


第二步:初始化向量数据库

初始化向量数据库

OpenClaw会回答

# 创建知识库目录mkdir -p ~/.openclaw/workspace/knowledge# 初始化raglite配置cat > ~/.openclaw/workspace/knowledge/config.yaml << 'EOF'vector_store:  type: "chroma"  # 使用Chroma向量数据库  persist_directory: "./chroma_db"embedding:  model: "text-embedding-3-small"  # OpenAI嵌入模型  api_key: "${OPENAI_API_KEY}"retriever:  top_k: 5  # 每次检索返回5个最相关结果EOF# 创建初始知识库cat > ~/.openclaw/workspace/knowledge/README.md << 'EOF'# 个人知识库这是一个使用OpenClaw + raglite构建的个人知识库。## 使用方式1. 添加文档:将文档放入 knowledge/documents/ 目录2. 索引文档:运行索引脚本3. 搜索知识:通过OpenClaw搜索## 目录结构- documents/ - 原始文档- chroma_db/ - 向量数据库- config.yaml - 配置文件EOF✅ 向量数据库初始化完成

原理:向量数据库将文本转换为数学向量,通过向量相似度实现语义搜索。


第三步:配置知识库索引

配置知识库自动索引

OpenClaw会回答

# 创建知识库索引脚本cat > ~/.openclaw/workspace/knowledge/index.sh << 'EOF'#!/bin/bashcd ~/.openclaw/workspace/knowledge# 安装依赖pip install chromadb openai# 创建Python索引脚本cat > index_documents.py << 'PYEOF'import osimport chromadbfrom chromadb.utils import embedding_functions# 初始化Chroma客户端client = chromadb.PersistentClient(path="./chroma_db")# 创建或获取集合collection = client.get_or_create_collection(    name="knowledge_base",    embedding_function=embedding_functions.OpenAIEmbeddingFunction(        api_key=os.environ.get("OPENAI_API_KEY"),        model_name="text-embedding-3-small"    ))# 索引文档documents_dir = "./documents"for filename in os.listdir(documents_dir):    if filename.endswith(('.md', '.txt', '.pdf')):        filepath = os.path.join(documents_dir, filename)        with open(filepath, 'r', encoding='utf-8') as f:            content = f.read()        # 添加到向量数据库        collection.add(            documents=[content],            metadatas=[{"source": filename, "type": "document"}],            ids=[filename]        )        print(f"✅ 已索引: {filename}")print(f"🎉 知识库索引完成,共索引 {len(os.listdir(documents_dir))} 个文档")PYEOF# 执行索引python index_documents.pyecho "✅ 知识库索引配置完成"EOFchmod +x ~/.openclaw/workspace/knowledge/index.sh✅ 知识库自动索引已配置

原理:索引脚本将文档内容转换为向量并存储到Chroma数据库中,支持快速语义搜索。


第四步:配置知识库搜索

配置知识库搜索功能

OpenClaw会回答

# 创建知识库搜索脚本cat > ~/.openclaw/workspace/knowledge/search.sh << 'EOF'#!/bin/bashcd ~/.openclaw/workspace/knowledgequery="$1"cat > search_knowledge.py << 'PYEOF'import osimport sysimport chromadbfrom chromadb.utils import embedding_functions# 获取查询参数query = sys.argv[1] if len(sys.argv) > 1 else ""# 初始化Chroma客户端client = chromadb.PersistentClient(path="./chroma_db")collection = client.get_collection("knowledge_base")# 执行搜索results = collection.query(    query_texts=[query],    n_results=5)print(f"🔍 搜索: {query}")print("=" * 50)for i, (doc, meta) in enumerate(zip(results['documents'][0], results['metadatas'][0])):    print(f"{i+1}. {meta['source']}")    print(f"   相关度: {results['distances'][0][i]:.3f}")    print(f"   内容: {doc[:200]}...")    print()PYEOF# 执行搜索python search_knowledge.py "$query"EOFchmod +x ~/.openclaw/workspace/knowledge/search.sh# 创建OpenClaw搜索命令别名echo 'alias search-knowledge="~/.openclaw/workspace/knowledge/search.sh"' >> ~/.zshrc✅ 知识库搜索功能已配置现在你可以使用 "search-knowledge [关键词]" 搜索知识库

原理:搜索脚本将查询转换为向量,在向量数据库中查找最相似的文档。


日常使用

场景1:添加新文档

:"添加文档到知识库" OpenClaw会:指导你将文档放入knowledge/documents/目录并运行索引

场景2:搜索知识

:"搜索知识库中的[关键词]" OpenClaw会:返回最相关的5个文档片段

场景3:批量索引

:"更新知识库索引" OpenClaw会:重新索引所有文档,更新向量数据库

场景4:知识问答

:"根据知识库回答[问题]" OpenClaw会:从知识库检索相关信息并生成回答


常见问题

Q1: OpenAI API Key错误

解决步骤

  1. 检查OpenAI API Key
  2. OpenClaw会echo $OPENAI_API_KEY(确认环境变量)

原因:需要有效的OpenAI API Key才能使用text-embedding-3-small模型(也可使用国内代理)

Q2: Chroma数据库连接失败

解决步骤

  1. 检查Chroma数据库
  2. OpenClaw会ls -la ~/.openclaw/workspace/knowledge/chroma_db/

原因:数据库文件损坏或权限问题

Q3: 索引文档失败

解决步骤

  1. 检查文档格式
  2. OpenClaw会file ~/.openclaw/workspace/knowledge/documents/*

原因:文档编码格式不支持或文件损坏


效果实现

✅ 向量知识库 - 使用Chroma向量数据库存储知识✅ 语义搜索 - 基于内容相似度而非关键词匹配✅ 自动索引 - 支持批量文档索引和更新✅ 自然语言查询 - 用自然语言搜索知识库✅ 本地存储 - 所有数据存储在本地,保护隐私


快速命令参考

你想做什么
你说什么
添加文档
添加[文档名]到知识库
搜索知识
搜索知识库中的[关键词]
更新索引
更新知识库索引
查看统计
查看知识库统计信息

教程版本: v1.0启明AI实验室