openclaw本地部署后需上传知识库才能准确理解项目结构与私有文档;服务需通过docker ps确认运行、web界面显示“connected”后,方可上传pdf/txt/md等文件或调用api批量导入,最后在manage collections中验证状态并测试对话引用效果。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw本地部署后需要上传知识库才能让AI代理理解你的项目结构、业务逻辑和私有文档,否则它只能依赖通用模型能力,在处理内部代码或规范时容易出错。
确认OpenClaw服务已正常运行
打开终端,执行 docker ps | grep openclaw,确认容器状态为 Up。如果没看到进程,先运行 docker-compose up -d 启动服务。
浏览器访问 http://localhost:3000,能打开Web界面且右上角显示“Connected”才表示服务就绪。【未连通状态下上传文件会被静默丢弃】
通过Web UI上传知识库文件
点击左侧导航栏的 Knowledge Base → 选择顶部标签页 Upload Files。
拖拽或点击上传按钮,支持单个或批量上传 PDF、TXT、MD、DOCX、CSV 等格式文件。单次最多 20 个文件,总大小不能超过 50MB。
上传后页面会显示解析进度条。PDF 和 DOCX 类型会触发 OCR(若启用了 Tesseract),耗时略长;纯文本类几乎秒完成。解析失败的文件会在列表中标红并提示原因,常见问题包括加密PDF、损坏DOCX、编码非UTF-8的TXT。
通过API接口批量导入知识库
方法一:使用curl命令行上传
准备一个包含文档路径的JSON文件 docs.json,内容示例:
使用 Claude Code 从零搭建完整的 OpenClaw 个人 AI 助手,包括AWS 资源准备、OpenClaw 安装、Telegram 机器人创建、API 配置、Google Workspace 集成、安全加固及全部高级功能。交给 Claude Code 即可自动完成。
执行命令:
curl -X POST http://localhost:3000/v1/knowledge/upload \-H "Content-Type: application/json" \-d @docs.json
方法二:调用Python脚本自动扫描目录
新建 upload_kbase.py,填入以下代码:
import os
url = "http://localhost:3000/v1/knowledge/upload"
files = []
for root, _, filenames in os.walk("./kbase"):
for f in filenames:
if f.endswith((".md", ".pdf", ".txt")):
files.append(("files", open(os.path.join(root, f), "rb")))
response = requests.post(url, files=files)
print(response.json())
运行 python upload_kbase.py 即可递归上传整个 kbase/ 目录下符合条件的文件。
验证知识库是否生效
第一步:在Knowledge Base页面切换到 Manage Collections 标签页,确认新上传的文件出现在列表中,且状态为 Processed。
第二步:新建对话,输入指令如“请根据我上传的《订单系统API规范.pdf》生成一个调用示例”,观察回复是否引用了该PDF中的字段名、URL路径或错误码定义。
第三步:打开浏览器开发者工具(F12),切到 Network 标签,刷新对话页面,筛选 XHR 请求,找到以 /v1/agent/chat 开头的请求,查看 payload 中 knowledge_base_ids 字段是否包含你刚创建的知识库ID。没有该字段说明当前对话未绑定知识库。









