Docker 部署 OpenClaw 接入 deepseek 云模型:TaoToken 统一 Key 配置实战
发布时间:2026/9/25 11:58:30 锦皓数字建站

1. 为什么要在 Docker 里跑 OpenClaw 接 deepseekOpenClaw 是一个开源的 AI Agent 网关能对接多种大模型、聊天渠道和工具链适合想自建个人 AI 助手的开发者。用 Docker 部署 OpenClaw 并接入 deepseek 云模型好处是环境隔离、迁移方便、升级不污染宿主机。但很多人卡在两步一是容器里模型配置写不对二是每个模型都要单独管一套 Key换模型就得改配置重启。这篇聚焦落地路径用 docker-compose 跑 OpenClaw通过 TaoToken 统一 Key 接入 deepseek 云模型给出可复制的 compose 片段、openclaw.json 骨架、启动验证和报错排查。适合已经装好 Docker、想统一管理多模型 Key 的开发者。全程命令可直接粘贴配置项都有注释说明。先说清楚 TaoToken 在这里的角色它是一个兼容 OpenAI 接口协议的模型接入层你申请一个统一 Key就能在 OpenClaw 里通过改 baseUrl 和 model id 切换不同云模型不用为每个厂商单独维护密钥。deepseek 云模型就是通过它接入的其中一个 provider。2. TaoToken 前置准备拿统一 Key 和确认接入地址在写配置之前先把 Key 和地址准备好。这一步不复杂但顺序别搞反否则后面容器起来了还要回头改。2.1 申请统一 Key打开 TaoToken 控制台注册登录后进入 API Keys 页面创建一个新 Key。建议命名带用途比如openclaw-deepseek方便以后多项目区分。创建后立即复制保存页面刷新后不再完整显示。注意Key 只显示一次丢了只能重建。不要把它写进会提交到 Git 的文件里用.env注入。2.2 确认接入地址TaoToken 的 API 接入地址是https://taotoken.net/api兼容 OpenAI 的/v1/chat/completions路径。在 OpenClaw 的 provider 配置里baseUrl 填这个地址即可具体模型 id 按你控制台里可用的 deepseek 模型名填写。如果你不确定有哪些模型可用可以先进模型对话页面发一条测试消息确认 Key 有效、模型在线再往下配容器。这一步能省掉后面一半的排查时间。2.3 环境检查宿主机上确认 Docker 和 Compose 版本Compose 需要 v2 以上# 检查 Docker 版本 docker --version # 检查 Docker Compose 版本 docker compose version输出里 Compose 显示v2.x.x就没问题。如果是docker-compose带横杠说明是旧版 v1建议升级到 v2否则docker compose命令会报找不到。3. 可复制配置docker-compose 与 openclaw.json 骨架这一章是核心两个文件配好容器就能跑起来接 deepseek。3.1 工作目录与 .env先建工作目录所有文件放一起mkdir -p openclaw/openclaw_data cd openclaw创建.env文件把敏感信息集中放这里compose 会自动读取# .env TAOTOKEN_API_KEY你的统一Key OPENCLAW_GATEWAY_TOKEN你的网关TokenOPENCLAW_GATEWAY_TOKEN用下面命令生成一个随机串别用简单密码# 生成 256 位32 字节随机 token openssl rand -hex 323.2 docker-compose.yml在openclaw目录下创建docker-compose.yml内容如下。注意镜像地址按你实际可用的仓库替换这里保留结构services: # --- OpenClaw 主程序 (Gateway) --- openclaw-gateway: image: your-registry/openclaw:v2026.3.12 container_name: openclaw-main restart: unless-stopped init: true environment: TZ: Asia/Shanghai NODE_ENV: production HOME: /home/node TERM: xterm-256color OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: true PATH: /home/node/.openclaw/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TAOTOKEN_API_KEY: ${TAOTOKEN_API_KEY} volumes: - ./openclaw_data:/home/node/.openclaw - ./workspace:/home/node/.openclaw/workspace - /var/run/docker.sock:/var/run/docker.sock ports: - 18789:18789 - 18790:18790 - 9222:9222 command: [node, dist/index.js, gateway, --bind, lan, --port, 18789] # --- 无头浏览器 (Headless Shell) --- headless-shell: image: your-registry/headless-shell:latest container_name: headless-shell network_mode: service:openclaw-gateway restart: unless-stopped shm_size: 2g几个关键点TAOTOKEN_API_KEY通过环境变量注入不硬编码network_mode: service:openclaw-gateway让无头浏览器和网关共享网络CDP 端口 9222 才能被网关访问shm_size给浏览器足够共享内存不然页面容易崩。3.3 openclaw.json 骨架在openclaw_data目录下创建openclaw.json这是 OpenClaw 的主配置。重点是 models 段把 provider 指向 TaoToken{ meta: { lastTouchedVersion: 2026.3.12 }, browser: { enabled: true, attachOnly: true, defaultProfile: browserless, noSandbox: false, headless: false, ssrfPolicy: { dangerouslyAllowPrivateNetwork: true }, profiles: { browserless: { cdpUrl: http://127.0.0.1:9222, color: #00AA00 } } }, models: { providers: { taotoken: { baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, api: openai-completions, models: [ { id: deepseek-chat, name: DeepSeek V3, reasoning: false } ] } } }, agents: { defaults: { model: { primary: taotoken/deepseek-chat } } }, gateway: { mode: local, controlUi: { dangerouslyAllowHostHeaderOriginFallback: true, allowInsecureAuth: true, dangerouslyDisableDeviceAuth: true } } }这里 provider 名字叫taotokenapi字段填openai-completions表示走 OpenAI 兼容协议。agents.defaults.model.primary用provider/model格式引用即taotoken/deepseek-chat。模型 id 按你 TaoToken 控制台里实际可用的 deepseek 模型名填不确定就先用deepseek-chat试。注意apiKey写${TAOTOKEN_API_KEY}是让 OpenClaw 从环境变量读取compose 里已经注入了这样配置文件可以安全地放进版本管理。4. 启动容器与验证请求配置写完启动并验证。4.1 启动在openclaw目录下执行# 启动 docker compose up -d # 查看状态 docker compose ps两个容器都显示running就对了。如果openclaw-main反复重启先看日志docker logs -f openclaw-main4.2 进入容器验证模型进容器内部用 CLI 确认模型配置被正确加载# 进入容器 docker exec -it openclaw-main /bin/bash # 列出已配置的模型 openclaw models list输出里应该能看到taotoken/deepseek-chat。然后发一条测试请求# 交互式设置向导可选 openclaw configure或者直接在 Web UI 里测。浏览器打开http://127.0.0.1:18789/#token你的网关Token把你的网关Token换成.env里OPENCLAW_GATEWAY_TOKEN的值。进去后在对话窗口发一句「你好介绍一下你自己」如果返回正常内容说明 deepseek 云模型已经通过 TaoToken 接通。4.3 命令行直接验证 API想跳过 UI 直接验证 TaoToken 侧是否通可以在宿主机用 curl 打一发curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: deepseek-chat, messages: [{role: user, content: ping}] }返回里有choices字段和内容说明 Key 和模型都没问题。这一步能把「TaoToken 侧问题」和「OpenClaw 配置问题」分开定位。5. 本篇常见报错排查配的时候踩过几个坑列出来对照。5.1 容器启动后模型列表为空openclaw models list没输出多半是openclaw.json路径不对或 JSON 格式错误。确认文件在./openclaw_data/openclaw.json且是合法 JSON不能有注释、不能有尾逗号。用下面命令校验# 校验 JSON 格式 python3 -m json.tool openclaw_data/openclaw.json报错就按提示改。另外确认models.providers下的 provider 名和agents.defaults.model.primary的前缀一致都是taotoken。5.2 请求返回 401 或鉴权失败先确认.env里TAOTOKEN_API_KEY没有多余空格或引号。然后进容器看环境变量是否注入成功docker exec -it openclaw-main env | grep TAOTOKEN如果为空说明 compose 没读到.env检查.env和docker-compose.yml是否在同一目录以及 compose 里变量名拼写一致。还有一种情况是 Key 本身失效用 4.3 的 curl 单独验证。5.3 无头浏览器连不上CDP 报错日志里出现connect ECONNREFUSED 127.0.0.1:9222说明网关连不上浏览器。检查headless-shell容器是否在跑以及它的network_mode是否指向service:openclaw-gateway。两个容器必须共享网络命名空间端口才对得上。另外shm_size太小也会导致浏览器启动失败给到2g比较稳。5.4 端口被占用docker compose up -d报port is already allocated说明 18789、18790 或 9222 被别的进程占了。查一下# 查看端口占用 lsof -i :18789要么停掉占用进程要么改 compose 里的宿主机端口映射比如28789:18789。5.5 改了配置不生效OpenClaw 启动时读一次配置改完openclaw.json要重启容器docker compose restart openclaw-gateway如果改了.env需要docker compose up -d重建容器才能重新注入环境变量单纯 restart 不会更新 env。6. 统一 Key 的后续用法与接入文档跑通之后TaoToken 统一 Key 的价值就体现出来了以后想换模型只改openclaw.json里 provider 的baseUrl和models[].idKey 不用动。多模型并存时在providers下加多个 provideragents.defaults.model.primary指向你要用的那个即可。如果你要长期跑编码类 Agent或者想让 OpenClaw 承担更多自动化任务可以看下 Coding Plan按用量规划更省心。需要管理多个 Key、查看调用量去控制台。想先确认某个模型是否可用直接进模型对话发消息测试。接入细节和参数说明都在接入文档里遇到配置项不确定就翻它。把上面两个文件配好、容器起来、Web UI 能对话这条链路就通了。剩下的就是按你的场景往 OpenClaw 里加渠道和 AgentKey 这层交给 TaoToken 统一管省得每接一个模型就折腾一次密钥。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。