1. 为什么我最后把三种安装方式都跑了一遍OpenClaw 是一个本地 AI 网关你可以把它理解成一个「模型路由中转站」它对外暴露统一的 HTTP 接口对内可以接不同的模型通道Agent、Skill、Channel 这些能力都挂在它下面。适合谁想在自己机器或服务器上跑一套可控 AI 服务、又不想被单一模型厂商绑死的开发者。它本身资源占用很低内存通常不到 100MB真正吃资源的是后面接的模型。但很多人卡在第一步装不上或者装上了连不通模型。我实测下来Docker、二进制、源码编译这三条路各有各的坑尤其是「装完 Gateway 起来了但模型请求 401」这种问题八成不是安装的锅而是 Key 和 Base URL 没配对。这篇就把三种安装方式的可复制命令、启动验证、以及用 TaoToken 统一 Key 接入模型的完整配置一次讲清。你照着做能跑通一个能对话的 OpenClaw。核心检索词先记住OpenClaw 本地部署、Docker 安装 OpenClaw、OpenClaw 二进制启动、OpenClaw 源码编译、TaoToken 统一 Key 接入。先说结论方便你选第一次装选 Docker升级最省心服务器没有 Docker 权限选二进制要改源码或体验未发版功能才上源码编译。下面逐个来每一步都给命令和验证动作。2. TaoToken 前置准备统一 Key 与 API 通道在装 OpenClaw 之前先把模型通道准备好否则装完你会发现它没模型可用。OpenClaw 本身不带模型它需要一个能返回 OpenAI 兼容格式的 API 端点。TaoToken 提供的就是这样一个统一 Key / API 通道一个 Key 走多个模型Base URL 固定省得你在 OpenClaw 里为每个厂商配一套。你需要拿到两样东西API Key 和 Base URL。Key 在控制台的 API Keys 页面创建地址是 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 。创建后复制那串 sk- 开头的字符串只显示一次丢了就重建。Base URL 用 https://taotoken.net/api 注意这个地址后面不加 UTM 参数直接填进配置里。模型 ID 按你实际要用的填比如常见的对话模型 ID具体以控制台模型列表为准别照抄网上的旧 ID。这里有个关键点OpenClaw 的模型接入配置里Base URL、Key、Model ID 三件套必须同时正确。少一个或者写错一个表现就是请求失败。我踩过的坑是 Base URL 多写了/v1导致路径重复返回 404。TaoToken 的 Base URL 就是https://taotoken.net/apiOpenClaw 内部会自己拼路径你别手动加。如果你还没决定用哪个模型可以先到模型对话页面试一下地址 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 确认 Key 能用、模型有响应再去配 OpenClaw这样排障时能少一个变量。准备动作就这些一个 Key、一个 Base URL、一个 Model ID。接下来三种安装方式装完都要回到这三个值来配模型。3. 三种安装方式的可复制配置与启动验证这一节是重点每种方式我都给完整命令、配置文件片段和验证步骤。配置文件统一放在~/.openclaw/openclaw.jsonDocker 方式通过挂载映射进去。3.1 Docker 安装最省心的方式Docker 适合大多数个人开发者升级就是重新拉镜像重启。先拉镜像再运行容器docker pull openclaw/openclaw-gateway:latest docker run -d --name openclaw \ -p 18789:18789 \ -v ~/.openclaw:/root/.openclaw \ openclaw/openclaw-gateway参数里-v ~/.openclaw:/root/.openclaw这行绝对不能少。少了它容器一重启配置全丢因为新容器用的是空目录。-p 18789:18789是端口映射想换端口改前面那个数字。启动后写配置文件。在宿主机创建~/.openclaw/openclaw.json内容如下把 Key 和 Model ID 换成你自己的{ port: 18789, models: { default: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的Key, model: 你的ModelID } } }因为目录已经挂载容器内能直接读到这个文件。改完重启容器生效docker restart openclaw验证三步。第一看端口ss -tlnp | grep 18789看到 LISTEN 说明在跑。第二看 Web 界面浏览器打开http://localhost:18789出现控制台界面即正常。第三看日志tail -20 ~/.openclaw/logs/gateway-stderr.log没有 ERROR 级别就算通过。升级时四步走pull 新镜像、stop 旧容器、rm 旧容器、用同样的 run 命令重跑。3.2 二进制安装没有 Docker 时的选择服务器不给装 Docker或者你想直接跑进程用二进制。下载、解压、赋权、运行wget https://github.com/openclaw/openclaw/releases/latest/download/openclaw-linux-amd64.tar.gz tar xzf openclaw-linux-amd64.tar.gz chmod x openclaw ./openclaw gateway二进制方式没有挂载概念配置文件直接放~/.openclaw/openclaw.json内容和上面 Docker 那份完全一样Base URL、Key、Model ID 三件套照填。确保目录对当前用户可写mkdir -p ~/.openclaw chmod 755 ~/.openclaw验证同样三步ss -tlnp | grep 18789看监听浏览器开http://localhost:18789看界面tail -20 ~/.openclaw/logs/gateway-stderr.log看日志。升级就是下载新版、pkill openclaw停旧进程、解压替换、重新./openclaw gateway。3.3 源码编译改代码才用想改 OpenClaw 源码或体验未发版功能才走这条。需要 Node.js 和 npm 环境git clone https://github.com/openclaw/openclaw.git cd openclaw npm install npm run build ./openclaw gateway第一次npm install下载依赖比较久耐心等。编译产物同样读~/.openclaw/openclaw.json配置三件套不变。源码方式不建议跑生产升级要手动git pull再重新编译。三种方式对比方式难度适合场景升级方式配置持久化Docker低大多数用户拉镜像重启靠 -v 挂载二进制中无 Docker 环境替换文件直接写文件源码编译高改代码/尝鲜git pull 重编直接写文件不管哪种方式模型接入都靠那份openclaw.jsonBase URL 固定https://taotoken.net/apiKey 用 TaoToken 创建的Model ID 按控制台填。三件套齐了模型通道就通了。4. 验证请求确认模型真的通了装完 Gateway 起来只是第一步真正要验证的是「模型请求能不能通」。很多人到这一步就以为完事了结果一发消息就报错。下面给完整的连通性验证动作。先确认 Gateway 进程和端口ss -tlnp | grep 18789 ps aux | grep openclaw两个都有输出说明服务在跑。然后直接打接口测试curl -s http://localhost:18789 | head -5能返回内容说明 HTTP 层正常。接下来验证模型通道这是关键。用 curl 直接打 TaoToken 的接口确认 Key 和 Base URL 本身没问题curl -s https://taotoken.net/api/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: 你的ModelID, messages: [{role: user, content: 你好}] }如果这一步返回了正常的 JSON 且 choices 里有内容说明 Key、Base URL、Model ID 三件套是对的。如果这里就报 401那是 Key 的问题报 model not found那是 Model ID 写错了。这一步能把「OpenClaw 配置问题」和「模型通道问题」分开排障效率高很多。确认通道没问题后回到 OpenClaw 的 Web 界面http://localhost:18789在对话入口发一条消息。能收到模型回复整条链路就通了OpenClaw Gateway → TaoToken API → 模型 → 返回。如果 Web 界面发消息失败但 curl 直连成功那问题一定在openclaw.json里重点检查 baseUrl 有没有多写/v1、apiKey 有没有多余空格、model 字段名对不对。我实测下来这三个是最常见的配置错误。验证通过后你可以把 OpenClaw 接到自己的 Agent 或 Skill 里用同一个 Key 走所有模型请求。需要长期跑编码或 Agent 任务的可以考虑 Coding Plan地址 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 统一通道管理起来更省事。5. 本篇常见错误排查这一节按真实报错来遇到对号入座。401 UnauthorizedKey 错了或没带。检查openclaw.json里 apiKey 是不是完整的 sk- 开头字符串有没有前后空格。也可能是 Key 被删了去控制台重新建一个。curl 直连也报 401 的话百分百是 Key 问题。local proxy failed / connection refusedOpenClaw 连不上 Base URL。检查 baseUrl 是不是https://taotoken.net/api别写成 localhost 或别的地址。也可能是机器 DNS 或网络出不去先用 curl 测一下https://taotoken.net/api能不能通。reading choices 报错 / 返回结构不对通常是 Model ID 写错或者 Base URL 多写了/v1导致路径变成/api/v1/chat/completions而实际接口不是这个路径。把 baseUrl 改回https://taotoken.net/apiModel ID 按控制台模型列表核对。OAuth 相关报错如果你用的是需要 OAuth 的通道检查 token 是否过期。TaoToken 的 Key 方式不需要 OAuth直接用 Bearer 头即可别混用两套认证。端口被占用18789 被别的程序占了改openclaw.json里的 port比如改成 18790然后浏览器访问也要用新端口。Docker 方式还要同步改-p映射。Docker 重启后配置丢失-v ~/.openclaw:/root/.openclaw这行漏了。补上挂载重新 run 容器。权限问题二进制方式普通用户跑确保~/.openclaw可写chmod 755 ~/.openclaw。防火墙不放行云服务器检查安全组和防火墙是否开了 18789。Ubuntu/Debian 用ufw allow 18789/tcp云厂商控制台还要单独放行安全组规则。CC Switch / Cline MCP / Codex auth.json 场景如果你是在这些工具里配 OpenClaw 或 TaoToken记住三件套必须写全——Base URL 填https://taotoken.net/apiKey 填 TaoToken 创建的Model ID 按控制台填。少任何一个都会连不通别只填 Key 就以为完事。排查顺序建议先 curl 直连 TaoToken 确认通道再看 OpenClaw 日志最后查配置文件。这样能快速定位是通道问题还是配置问题。6. 接入文档与后续动作装好并验证通过后下一步是把 OpenClaw 真正用起来。你需要的关键资料API Key 在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 管理接入细节看文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 里面有 Base URL、认证方式、请求格式的完整说明。想先试模型效果去模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 发几条消息确认。如果你要长期跑编码或 Agent 任务Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 有统一通道方案。控制台入口 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_installutm_campaignrewrite 可以看用量和 Key 状态。最后给个实用技巧把openclaw.json里的 baseUrl、apiKey、model 三个字段当成一个整体来维护改任何一个都顺手检查另外两个。我见过太多「只改了 Model ID 忘了 Key 已经轮换」导致的 401。配置改完统一docker restart openclaw或重启进程再跑一遍第 4 节的 curl 验证确认通了再往下做。这样每次改动都有验证闭环不会攒一堆问题到最后一起爆。
阅读完成 · 觉得有帮助?