OpenClaw 并非真实存在的开源项目,官方唯一维护的是 OpenHands;需通过 Docker 挂载知识库目录至 /workspace/kb 路径,并确保同时配置 SANDBOX_VOLUMES 环境变量与 /var/run/docker.sock 挂载方可生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw 并不是 OpenHands 的官方子项目或衍生版本,当前所有权威资料(GitHub 官方仓库、文档站、社区教程、镜像源)中均无 OpenClaw 这一名称的开源项目。你很可能将项目名记混了——实际想部署的是 OpenHands,而“上传知识库”这一需求,对应的是在 OpenHands 中挂载本地代码/文档供 AI 读取和推理。
确认项目名称与镜像源
执行命令检查是否存在 openclaw 镜像:
docker images | grep -i claw
若无任何输出,说明本地没有该镜像;再运行 curl -s https://hub.docker.com/v2/repositories/openclaw/ | jq '.detail',返回 "Not found." 即证实该项目不存在于 Docker Hub。官方唯一维护的 AI 开发代理平台是 OpenHands(GitHub: All-Hands-AI/OpenHands)。
用 Docker 启动 OpenHands 并挂载知识库目录
所谓“上传知识库”,本质是把你的文档、代码、API 文档等文件目录,通过 Docker volume 挂载进 OpenHands 的沙盒运行环境,让 AI 在会话中能直接 cat、ls、grep 甚至修改它们。
第一步:在宿主机创建知识库目录并放入内容
mkdir -p ~/my-kb/docs ~/my-kb/src
把 Markdown 文档、JSON Schema、Swagger YAML、TypeScript 接口定义等文件复制进去。注意:不要放在 root 或 /tmp 下,避免权限冲突。
第二步:设置 SANDBOX_VOLUMES 环境变量
export SANDBOX_VOLUMES=$HOME/my-kb:/workspace/kb
这个变量告诉 OpenHands:把宿主机的 ~/my-kb 目录,映射为沙盒容器内的 /workspace/kb 路径。AI 在终端里执行 ls /workspace/kb 就能看到你的全部知识文件。
第三步:启动容器并启用沙盒挂载
docker run -it --rm --pull=always \-e SANDBOX_USER_ID=$(id -u) \-e SANDBOX_VOLUMES="$SANDBOX_VOLUMES" \-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.openhands.dev/openhands/runtime:0.62-nikolaik \-v /var/run/docker.sock:/var/run/docker.sock \-v ~/.openhands:/.openhands \-p 3000:3000 \--add-host host.docker.internal:host-gateway \--name openhands-app \docker.openhands.dev/openhands/openhands:0.62
⚠️ 关键点:必须同时挂载 /var/run/docker.sock 和设置 SANDBOX_VOLUMES,否则知识库目录无法进入嵌套沙盒容器——这是 OpenHands 架构决定的,只挂 -v 到主容器无效。
验证知识库是否生效
浏览器打开 http://localhost:3000 → 创建新会话 → 在 Web Terminal 中输入:
ls /workspace/kb
如果列出你放入的 docs/ 和 src/ 目录,说明挂载成功。此时你可以直接让 AI 执行:“阅读 /workspace/kb/docs/api-spec.md,生成对应的 Python SDK 示例代码”。
若返回 No such file or directory,请检查:echo $SANDBOX_VOLUMES 是否输出正确路径,且宿主机目录存在可读文件。


















