
1. 为什么要把 OpenClaw 从「本机跑跑」升级成正式部署很多人第一次接触 OpenClaw都是直接在自己电脑上npm run start跑通一个定时任务就觉得很爽。但真把它当成日常工具用上一周问题就来了笔记本一合盖任务就断出门在外想改个配置只能远程回家里的电脑公司内网机器不让装乱七八糟的东西本地跑又过不了合规。这时候「部署」这件事才真正被提上日程。OpenClaw 本质上是一个常驻型的自动化执行框架它需要长时间在线、需要稳定的网络出口、需要能被多个终端访问。把它部署到一台 7×24 小时不关机的机器上才是它该有的形态。2026 年这套工具的部署链路已经比早期清爽很多尤其是模型调用这一层不再需要你在每台机器上分别维护一堆厂商 Key而是通过统一的 API 通道来收敛。这篇就围绕两条真实路径展开一条是阿里云轻量服务器上的公网部署适合想要随时随地访问、任务长期在线的个人和小团队另一条是本地私有化部署适合数据不出内网、对隐私敏感的企业运维场景。两条路径最后都会接到同一个模型调用入口——TaoToken 的统一 Key 与 API 通道这样你换部署环境时模型配置那一层几乎不用重写。适合谁看已经会用命令行、装过 Node.js但没系统部署过常驻服务的开发者以及需要给团队搭一套内部自动化、又不想把数据往外送的技术负责人。下面每一步都给到可复制的命令和配置片段照着敲基本能落地。2. 部署前先把 TaoToken 的 Key 和通道准备好不管走阿里云还是本地私有化模型调用这一层我建议统一走 TaoToken。原因很实际OpenClaw 里会挂多个任务每个任务可能用不同模型如果每个厂商都单独申请 Key、单独配 Base URL配置文件会变成一团乱麻。用统一通道之后你只需要维护一个 Key 和一个 Base URL换模型只改 Model ID 这一行。先到官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册账号然后进控制台创建 API Key。创建入口在 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 点「API Keys」新建一个复制出来先存到密码管理器里页面刷新后就看不全了。这里有个细节要注意TaoToken 的 API 根地址是https://taotoken.net/api注意结尾没有斜杠也没有/v1。很多 OpenAI 兼容客户端习惯让你填https://xxx/v1但这里填根地址就行具体路径由 SDK 自己拼。填错这个是最常见的 404 来源。模型这块OpenClaw 的配置里需要一个 Model ID。你可以先在模型对话页 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 里试一下想用的模型能不能正常回话确认可用之后再写进配置文件。这样能避免「部署完了发现模型名写错」这种返工。如果你后面打算长期跑编码类、Agent 类任务可以顺手看一下 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 它针对高频调用场景做了额度上的安排比按量单买更省心。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 遇到参数不确定时以文档为准。准备好这三样东西就可以往下走了一个 API Key、Base URLhttps://taotoken.net/api、一个确认可用的 Model ID。把它们记在便签上下面两种部署都会用到。3. 方案一阿里云轻量服务器部署 OpenClaw 的完整配置阿里云这条路的优势是公网可达、开机自启、不用管家里断电断网。我用的镜像是 Ubuntu 22.04 LTS轻量应用服务器 2 核 2G 起步就够 OpenClaw 常驻。买完实例后先在控制台的「防火墙」里放通 8080 端口否则后面 WebUI 打不开会白白排查半天。登录服务器后先装 Node.js版本要 ≥22curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node -v确认node -v输出 v22 以上再装 OpenClaw。国内服务器直连 npm 官方源会慢挂镜像npm install -g openclaw --registryhttps://registry.npmmirror.com openclaw --version接下来是核心的模型通道配置。OpenClaw 支持用环境变量注入也支持写配置文件。我更推荐配置文件因为服务化之后环境变量容易丢。配置文件默认在~/.openclaw/config.toml没有就手动建[model] provider openai-compatible base_url https://taotoken.net/api api_key sk-你从TaoToken控制台复制的Key model_id 你确认可用的Model ID timeout 60 [server] host 0.0.0.0 port 8080 [log] path /var/log/openclaw level info注意host要写0.0.0.0写127.0.0.1的话公网访问不进来。base_url就是前面强调的根地址别加/v1。保存后把日志目录建出来并给权限sudo mkdir -p /var/log/openclaw sudo chown -R $USER:$USER /var/log/openclaw然后装成系统服务实现开机自启sudo openclaw service install sudo openclaw service start sudo openclaw service status看到active (running)就说明进程起来了。如果你更习惯用 systemd 手写单元文件也可以自己写一个openclaw.serviceExecStart指向openclaw start --config /home/你的用户/.openclaw/config.toml效果一样。服务化之后服务器重启、SSH 断开都不影响任务执行这才是部署的意义。4. 方案二本地私有化部署与连通性验证本地私有化适合数据不能出内网的场景。找一台闲置的 Ubuntu 机器或者公司内网的测试机同样先装 Node.js ≥22然后从源码构建。如果你拿到的是发行包直接npm install -g也行如果是源码仓库git clone https://gitee.com/openclaw/openclaw.git cd openclaw npm install --registryhttps://registry.npmmirror.com npm run build本地这套的配置文件放在项目根目录的config.toml内容跟阿里云那版几乎一致只有host和日志路径不同[model] provider openai-compatible base_url https://taotoken.net/api api_key sk-你从TaoToken控制台复制的Key model_id 你确认可用的Model ID timeout 60 [server] host 127.0.0.1 port 8080 [log] path ./logs level info本地部署host写127.0.0.1更安全只允许本机访问。如果确实需要内网其他机器访问再改成0.0.0.0同时用防火墙限制来源 IP。启动npm run start想让它常驻同样可以sudo npm run service:install sudo npm run service:start。两种方案部署完之后都要做一次连通性验证确认模型通道真的通了。最直接的办法是用 curl 打一次 TaoToken 的接口curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: 你的Model ID, messages: [{role: user, content: 只回复两个字通了}] }返回 JSON 里choices[0].message.content有内容就说明 Key、Base URL、Model ID 三件套都对。然后再打开 OpenClaw 的 WebUI阿里云方案访问http://服务器公网IP:8080本地方案访问http://127.0.0.1:8080在设置页里点一次「测试模型连接」看到成功提示就齐活了。最后建一个最简单的定时任务比如每分钟往日志写一行观察几分钟确认调度正常。5. 部署 OpenClaw 常见报错排查对照部署过程中最容易卡在几个固定位置我把真实遇到过的报错和对应处理列出来你对着改就行。第一个是401 Unauthorized或invalid api key。这基本是 Key 复制时带了空格或者用了已经删除的旧 Key。去控制台重新生成一个注意复制时别把首尾空白带进去。如果配置文件里 Key 用双引号包着确认没有多余转义。第二个是local proxy failed或连接超时。这类报错通常不是 Key 的问题而是 Base URL 写错了。检查是不是手滑写成了https://taotoken.net/api/v1把/v1去掉。另外确认服务器能正常解析域名curl -I https://taotoken.net/api能返回响应头就说明网络层没问题。第三个是reading choices相关的解析错误比如cannot read property choices of undefined。这多半是 Model ID 写错了或者该模型当前不可用。回到模型对话页确认模型名注意大小写和连字符。还有一种情况是请求体格式不对比如messages字段拼错用上面的 curl 先验证一遍再写进配置。第四个是 WebUI 打不开、浏览器一直转圈。先sudo openclaw service status看进程在不在再看端口有没有监听ss -tlnp | grep 8080。如果进程在但端口没监听多半是配置文件里host写成了127.0.0.1却想公网访问。如果端口被占用lsof -i:8080找到进程杀掉再重启。第五个是服务启动后任务不执行。检查日志目录权限/var/log/openclaw如果当前用户没写权限任务会静默失败。另外确认系统时间正确date看一下时间漂移会导致定时任务不触发。第六个是 OAuth 类报错比如oauth token expired。如果你在 OpenClaw 里接了需要 OAuth 的外部服务这类报错跟模型通道无关去对应服务的授权页重新授权即可。别把它和 TaoToken 的 Key 混为一谈。排查顺序建议固定成先 curl 验证模型通道再查 OpenClaw 进程和端口最后看日志。这样能最快定位问题在哪一层。6. 部署完成后的接入入口与长期使用建议两种方案跑通之后日常维护其实很轻。阿里云那台记得开快照本地那台记得把config.toml和任务配置纳入版本管理换机器时直接拉下来改 Key 就能用。模型通道这一层因为收敛到了 TaoToken你以后想换模型、加额度都只动一个地方不用去翻每个任务的配置。如果你后面要把 OpenClaw 接到 Claude Code 这类编码工具上或者用 Cline、Codex 之类的客户端配置逻辑是一样的三件套Base URL 填https://taotoken.net/apiKey 用控制台生成的Model ID 按需选。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里有各客户端的示例照着填不会错。需要新建或轮换 Key 就去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。长期跑下来我的经验是别把所有任务塞进一个进程按业务拆成几个 OpenClaw 实例各自独立配置一个挂了不影响其他。日志定期轮转别让/var/log/openclaw把磁盘撑满。模型调用频率高的场景提前在 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 看下额度安排比临时加量从容。部署只是起点把通道和配置管好后面才省心。