1. 为什么我劝你先用 Docker 跑 OpenClaw而不是直接装本机OpenClaw 这个项目最近在开发者圈子里讨论度很高中文社区习惯叫它「小龙虾」。它本质上是一个能调用系统能力、执行文件操作、联动外部工具的智能体框架你可以把它理解成一个「住在你电脑里、能听指令干活的助手」。但正因为它的权限很大直接装在本机风险不小——它能读写文件、调用浏览器、执行命令一旦配置不当或者模型行为跑偏影响的可是你真实的开发环境。所以第一次接触 OpenClaw我强烈建议走 Docker 路线。容器把它的活动范围限制在一个隔离环境里就算玩坏了删掉容器和数据卷就干净了不会污染你的宿主机。这也是「OpenClaw Docker 安装教程」这个搜索词一直有热度的原因大家既想尝鲜又怕出事。不过 Docker 路线有两个经典拦路虎。第一个是镜像拉取OpenClaw 官方镜像在境外仓库国内直连经常卡在Pulling fs layer或者直接超时第二个是模型接入OpenClaw 本身不带模型你得给它配一个能用的 API 端点否则装好了也是个空壳。这篇就按「拉镜像 → 起容器 → 配统一 Key → 发一次对话验证」的完整路径走一遍每一步都给可复制的命令。适合谁看第一次接触 OpenClaw、机器上装了 Docker Desktop、想用最省事的方式把模型接进去的开发者。如果你连 Docker 都还没装文末的排错部分也覆盖了 WSL 相关的常见坑。先说清楚一个概念避免后面混淆。OpenClaw 的容器里跑的是「框架」它负责接收你的指令、组织上下文、调用工具真正生成回复的是「模型」模型通过一个兼容 OpenAI 协议的 API 地址来访问。我们要做的就是让容器里的框架知道「去哪里找模型」。这个「去哪里」的地址和密钥就是后面要配的核心内容。我试过几种接法最省心的是用一个统一的 API 网关把不同模型的调用收敛到一个 Base URL 和一把 Key 上这样 OpenClaw 的配置里只填一次换模型也不用改容器。下面进入正题。2. TaoToken 统一 Key 的前置准备与镜像加速配置在动 Docker 之前先把两件事准备好一个能用的模型 API Key以及让 Docker 能顺畅拉镜像。这两件事没搞定后面docker run起来也是白搭。2.1 拿到统一 Key 和 Base URLTaoToken 的作用是把模型调用统一到一个入口。你不需要在 OpenClaw 里分别配 OpenAI、Claude、国产模型的地址只要一个 Base URL 加一把 Key模型 ID 在请求时指定就行。对 OpenClaw 这种要频繁切换模型的框架来说这点很关键——它的配置文件里只需要维护一份凭证。具体操作打开浏览器访问官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册登录后进入控制台。在左侧找到「API Keys」菜单点「创建新密钥」给它起个名字比如openclaw-test复制生成的 Key。这个 Key 只显示一次先粘到记事本里存好。Base URL 固定是https://taotoken.net/api注意结尾不要带斜杠也不要自己加/v1OpenClaw 或 SDK 内部会拼接路径。这一点很多人踩坑手动写成https://taotoken.net/api/v1反而会 404。如果你还没决定用哪个模型可以先在「模型对话」页面里试几个看看哪个响应速度和风格合你胃口再回到 OpenClaw 里配。模型 ID 常见的有gpt-4o、claude-3-5-sonnet这类具体以控制台「模型列表」里显示的为准。2.2 配置 Docker 镜像加速国内拉 Docker Hub 镜像慢是常态。打开 Docker Desktop点右上角齿轮图标进入设置左侧选「Docker Engine」你会看到一个 JSON 编辑框。把registry-mirrors字段加进去保留原有内容只追加这一项{ registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com ] }改完点右下角「Apply Restart」Docker 会重启引擎。等托盘图标变绿再继续。如果你用的是阿里云个人加速地址把上面数组换成你自己的https://xxxx.mirror.aliyuncs.com即可效果通常更好。注意镜像加速只影响从 Docker Hub 拉取的镜像。如果 OpenClaw 镜像本身托管在阿里云容器镜像服务registry.cn-hangzhou.aliyuncs.com那它走的是阿里云内网通道不受这个配置影响速度本来就快。2.3 验证 Docker 环境在 PowerShell 里跑一条命令确认引擎正常docker version能看到 Client 和 Server 两段版本信息就说明引擎在跑。如果只显示 Client 不显示 Server多半是 Docker Desktop 没启动或者 WSL 后端卡住了先别急着往下走去第 5 节看排错。3. 可复制的 docker run 配置与 OpenClaw 接入参数环境就绪后开始拉镜像、起容器、写配置。这一节的所有命令都可以直接复制路径和参数我按实际跑通的版本给你。3.1 拉取 OpenClaw 镜像优先用国内镜像源速度差别很明显docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/openclaw:latest拉完后给它打个本地短标签后面命令写起来清爽docker tag registry.cn-hangzhou.aliyuncs.com/qiluo-images/openclaw:latest openclaw:latest用docker images确认能看到openclaw:latest这一行。3.2 创建数据卷OpenClaw 的配置和会话数据要持久化否则每次重建容器都得重配。先建一个命名卷docker volume create openclaw-data这个卷会挂到容器内的/root/.openclaw也就是 OpenClaw 读取配置的默认目录。3.3 写入模型接入配置关键一步来了。OpenClaw 的模型配置放在数据卷里的配置文件中。最稳妥的做法是先起一个临时容器把配置写进去再正式启动。先跑一条一次性命令把 Base URL 和 Key 写进配置docker run --rm -v openclaw-data:/root/.openclaw openclaw:latest openclaw config set model.base_url https://taotoken.net/api docker run --rm -v openclaw-data:/root/.openclaw openclaw:latest openclaw config set model.api_key sk-你的Key docker run --rm -v openclaw-data:/root/.openclaw openclaw:latest openclaw config set model.name gpt-4o三件套对应关系要记牢Base URL 填https://taotoken.net/apiKey 填你复制的那串Model ID 填控制台里确认过的模型名。这三项缺一不可少一个都会在请求时报错。如果你更习惯直接编辑配置文件也可以进容器手动改。OpenClaw 的配置通常是 TOML 或 JSON 格式路径在/root/.openclaw/config下。用下面命令进容器看一眼docker run --rm -it -v openclaw-data:/root/.openclaw openclaw:latest sh进去后ls /root/.openclaw就能看到配置文件用vi编辑即可。不过对新手来说用config set命令更不容易写错格式。3.4 正式启动容器配置写好后用完整命令启动。端口映射把宿主机 18789 对到容器 18789数据卷挂上重启策略设为除非手动停止否则一直拉起docker run -d --name openclaw --restart unless-stopped -p 18789:18789 -v openclaw-data:/root/.openclaw openclaw:latest跑完用docker ps看容器状态STATUS显示Up就对了。如果显示Restarting或者秒退用docker logs openclaw看日志多半是配置格式问题或者端口被占用。提示默认网关只绑定本机手机或平板访问不了。如果你想让局域网内其他设备也能连进容器执行openclaw config set gateway.bind lan然后重启容器。个人开发机上一般用不到先保持默认更安全。4. 发一次对话请求验证安装成功容器起来了不代表模型通了。这一步用一次真实请求把整条链路走通确认 OpenClaw 能拿到模型回复。4.1 用 curl 直接验证 API 连通性在宿主机上先绕过 OpenClaw直接打 TaoToken 的接口确认 Key 和 Base URL 没问题curl https://taotoken.net/api/chat/completions -H Authorization: Bearer sk-你的Key -H Content-Type: application/json -d { model: gpt-4o, messages: [{role: user, content: 用一句话介绍你自己}] }正常返回是一个 JSONchoices[0].message.content里就是模型回复。如果这里就报 401说明 Key 错了或者没带上Bearer前缀报 404 多半是 Base URL 写错检查是不是多加了/v1。4.2 通过 OpenClaw 发指令API 通了之后进容器用 OpenClaw 自己的命令发一条docker exec -it openclaw openclaw chat 帮我列出当前目录下的文件如果配置正确你会看到 OpenClaw 先输出它准备调用的工具比如列目录然后返回结果。这一步能跑通说明「框架 → 统一 Key → 模型 → 返回」整条链路是活的。4.3 看日志确认请求走向想确认请求确实打到了 TaoToken可以开另一个终端跟日志docker logs -f openclaw发指令时观察日志里出现的请求地址应该是https://taotoken.net/api/...。如果看到的是别的域名说明配置没生效回去检查model.base_url是否写对以及写配置时用的数据卷和启动容器时挂的是不是同一个。到这里一次完整的安装验证就结束了。你能看到模型回复、能看到工具调用、日志里地址正确这三条同时满足才算真正跑通。5. 本篇常见错误排查401、local proxy failed 与 reading choices装的过程中报错是常态这一节把几个高频错误对照着讲清楚遇到了直接对号入座。5.1 401 Unauthorized最常见。表现是请求返回{error:{message:Invalid API key...}}或者状态码 401。原因有三个Key 复制时漏了字符、Key 前后带了空格、请求头里没写Bearer。排查方法重新去控制台复制一次 Key粘贴时注意别带上换行用 4.1 的 curl 单独测排除 OpenClaw 配置的干扰。如果 curl 也 401那就是 Key 本身的问题去控制台确认这个 Key 是否被禁用或删除。5.2 local proxy failed 或 connection refused这个报错通常出现在容器内请求外部 API 时。表现是 OpenClaw 日志里出现local proxy failed、dial tcp: connection refused之类。原因一般是容器网络配置问题或者你在配置里填了一个本机地址比如http://127.0.0.1:xxxx——容器里的127.0.0.1指的是容器自己不是宿主机。解决办法Base URL 必须填公网可访问的地址也就是https://taotoken.net/api不要填 localhost。如果你确实需要走本机服务得用host.docker.internal代替127.0.0.1。5.3 reading choices 相关报错有时候日志里会出现error reading choices或者解析响应失败。这通常不是网络问题而是返回体格式和 OpenClaw 预期的不一致。可能原因模型 ID 写错导致接口返回了错误结构或者 Base URL 少了/api路径请求打到了错误端点。排查先用 curl 确认返回的 JSON 里有choices字段再检查model.name是否和控制台模型列表完全一致大小写都别错。5.4 容器启动即退出docker ps -a看到状态是Exited (1)。用docker logs openclaw看最后几行常见的是配置文件语法错误。如果你手动编辑过 TOML/JSON一个逗号或引号写错就会导致解析失败。最省事的办法是删掉数据卷重建docker volume rm openclaw-data docker volume create openclaw-data然后重新执行 3.3 的三条config set命令。配置用命令写而不是手编能避开大部分格式坑。5.5 WSL 相关卡顿如果你在 Windows 上用 Docker Desktop偶尔会遇到引擎起不来、wsl --update卡住。先在 PowerShell 里跑wsl --shutdown然后重启 Docker Desktop多数情况能恢复。确认 WSL 版本用wsl -l -v后端要是2。这些是 Docker 本身的环境问题和 OpenClaw 无关但会直接挡住安装第一步所以单独列出来。6. 把统一 Key 用顺之后的下一步跑通这次安装后你手里其实已经有了一个可复用的模式容器隔离运行 统一 Key 接入模型。这个模式的价值在于以后你想换模型、加新工具都不用动容器本身改配置里的 Model ID 就行。如果你打算长期用 OpenClaw 做编码或者跑 Agent 任务频繁地单次调用会比较费神可以考虑用 Coding Plan 这类按周期计费的方式把额度固定下来适合每天都要跑几轮任务的场景。入口在控制台的订阅页面具体选哪个档位看你的调用频率。想继续折腾模型本身比如对比不同模型在工具调用上的表现可以直接在「模型对话」里试不用每次都起容器。地址是 https://taotoken.net/api 配合你已有的 Key 就能用。接入过程中如果卡在某个报错上先去「接入文档」里对照参数文档里对 Base URL、鉴权头、模型 ID 的写法都有示例。文档入口在控制台顶部导航。实在搞不定把docker logs openclaw的完整输出贴出来比只描述现象更容易定位。最后留一个实用习惯每次改完配置先docker restart openclaw再用 4.2 的命令发一条最短指令验证。别攒一堆改动一起测出问题不好定位。这个习惯能帮你省下大量排查时间。
阅读完成 · 觉得有帮助?