
1. 京东云主机跑 OpenClaw 的真实场景与踩坑点OpenClaw 是 2026 年比较主流的 AI 自动化助理平台能挂 skill、接群聊机器人、跑定时任务适合想在自己云主机上搭一套 7×24 小时常驻助理的人。它本身不绑定某一家云厂商只要是一台能出网、能开端口的 Linux 主机就能跑。我这次选的是京东云原因很直接账号现成、按量计费便宜、控制台防火墙规则改起来顺手。但真上手你会发现京东云和网上那些一键部署教程的默认路径、镜像、端口策略都不太一样照抄很容易卡在“服务起来了但面板打不开”或者“模型 Key 写进去了但请求 401”。这篇就按我实际跑通的顺序来先在京东云开一台 2 核 2G 的云主机装好 Node.js 22 和 OpenClaw然后把大模型 APIkey 写进配置文件再通过 TaoToken 的统一 Key 通道把模型调用验证通最后挂载 skill 目录、触发一次真实 skill 看结果。全程命令可直接复制配置文件字段我会标清楚路径。适合谁适合手里有一台云主机、想自己掌控数据和调用链路、又不想被单一模型厂商绑死的开发者和小团队。先说清楚一个前提OpenClaw 调用大模型走的是 OpenAI 兼容协议所以只要你的 Key 服务商提供/v1/chat/completions这种标准接口就能接。TaoToken 在这里的角色就是统一 Key 通道——一个 Key 对应多个模型 ID省得你在配置文件里塞一堆不同厂商的 baseUrl 和密钥。下面所有配置我都用 TaoToken 的地址来写你换成自己的也能跑。京东云这边我踩过的第一个坑是安全组。默认新建的云主机只开了 22 端口OpenClaw 默认的 18789 面板端口和它内部网关用的端口都得手动放行否则你在浏览器里怎么刷都是超时。第二个坑是内存2G 是底线1G 的机器npm install阶段就可能被 OOM Killer 干掉。第三个坑是 Node 版本OpenClaw 2026 版要求 Node 22 以上京东云默认镜像里的 Node 往往是 16 或 18得自己升。2. TaoToken 前置准备拿统一 Key 与确认 Base URL在动服务器之前先把 Key 拿到手不然后面配置文件写一半还得回来找。TaoToken 的入口在官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册登录后进控制台。控制台里能看到 API Keys 管理页点新建起个名字比如openclaw-jd生成后那串sk-开头的就是你的统一 Key。注意这串 Key 只在生成时完整显示一次复制好存到密码管理器里后面写配置文件要用。Base URL 这块要记准OpenClaw 的 provider 配置里填的是https://taotoken.net/api不要带任何路径后缀也不要加 UTM 参数。有些教程会让你填/v1但 OpenClaw 内部会自己拼/v1/chat/completions你多写一层就变成/v1/v1/...直接 404。这个我实测过填错就是reading choices报错的前兆。模型 ID 怎么选进控制台的模型列表页能看到当前可用的模型标识比如claude-sonnet-4-5、gpt-4o这类。OpenClaw 配置文件里的model字段填的就是这个 ID不是显示名。如果你后面要跑 coding 类任务可以顺带看下 Coding Plan 页面长期编码场景用套餐比按量划算入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 。但这一步不是必须的先把按量的 Key 跑通再说。还有一点TaoToken 的 Key 是统一通道意味着你同一个 Key 可以调不同模型切换模型只改配置文件里的model字段不用换 Key、不用换 baseUrl。这对 OpenClaw 这种要在多个 skill 里用不同模型的场景特别省事。比如总结类 skill 用便宜的快模型代码类 skill 用强模型配置文件里各写各的 model ID 就行。拿 Key 的过程中如果遇到控制台打不开或者登录态失效先检查浏览器是不是拦了第三方 cookie这个跟服务器部署无关但很多人卡在这。Key 拿到后先别急着上服务器可以在本地用 curl 测一下通不通命令我放在下一节验证部分你可以先跳到那里看一眼格式。3. 京东云主机环境初始化与 OpenClaw 可复制配置先开机器。京东云控制台进云主机创建页镜像选 Ubuntu 22.04 或 24.04 都行规格 2 核 2G 起步系统盘 40G。创建完进安全组放行 22 和 18789协议 TCP来源先写0.0.0.0/0方便调试跑通后再收紧。然后用 SSH 连上去依次执行下面的初始化命令。# 更新系统包索引 sudo apt update sudo apt upgrade -y # 安装 Node.js 22NodeSource 源 curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs # 验证版本必须 22 node -v npm -v # 配置 npm 国内镜像加速 npm config set registry https://registry.npmmirror.com/ # 全局安装 OpenClaw npm install -g openclaw # 验证安装 openclaw --version装完 OpenClaw 后先别急着 init因为默认的交互式初始化会问你一堆问题在 SSH 里容易答错。我们直接手写配置文件。OpenClaw 的配置目录默认在~/.openclaw/主配置文件是openclaw.json。先创建目录和文件mkdir -p ~/.openclaw nano ~/.openclaw/openclaw.json然后把下面这段 JSON 完整写进去。这是最小可运行配置provider 指向 TaoTokenmodel 填你在控制台看到的模型 IDapiKey 填你拿到的sk-开头的 Key。注意 JSON 里不能有注释我下面用文字说明字段含义你复制时只复制代码块内容。{ gateway: { port: 18789, host: 0.0.0.0 }, models: { default: claude-sonnet-4-5, providers: { taotoken: { baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken统一Key, models: [ { id: claude-sonnet-4-5, maxTokens: 8192 }, { id: gpt-4o, maxTokens: 4096 } ] } } }, skills: { dir: /root/.openclaw/skills, autoLoad: true } }字段说明gateway.host写0.0.0.0是为了让外部能访问面板如果你只想本机访问就写127.0.0.1。models.default是默认模型skill 没指定模型时用它。providers.taotoken.models数组里列几个你常用的模型 IDOpenClaw 启动时会校验这些 ID 是否可用。skills.dir是 skill 挂载目录后面装 skill 就往这里放。写完保存然后启动网关服务。OpenClaw 2026 版用gateway子命令管理服务# 后台启动网关 openclaw gateway start --daemon # 查看状态输出 running 即成功 openclaw gateway status # 生成面板访问 Token openclaw token generatetoken generate会输出一串 Token复制它然后浏览器访问http://你的京东云公网IP:18789?token那串Token。如果面板能打开说明网关和配置都加载成功了。打不开的话先看openclaw logs -f的实时日志最常见的是端口没放行或者 JSON 格式错误导致启动失败。这里补一个细节京东云的安全组规则生效有几秒延迟改完规则别立刻刷页面等 10 秒再试。另外如果你用的是京东云的“轻量云主机”而不是标准云主机防火墙入口在实例详情页的“防火墙”标签不是安全组别找错地方。4. 验证模型调用与 skill 触发从 curl 到真实动作配置写完不代表模型能调通得实际发一次请求。先在服务器上用 curl 直接打 TaoToken 的接口绕过 OpenClaw 排除配置干扰curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken统一Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-5, messages: [{role: user, content: 只回复两个字通了}] }如果返回的 JSON 里choices[0].message.content是“通了”说明 Key 和 baseUrl 都没问题。如果返回 401检查 Key 有没有多余空格如果返回reading choices相关错误多半是 baseUrl 多写了/v1或者模型 ID 拼错。curl 通了之后回到 OpenClaw 面板里发一条消息测试。面板的对话输入框直接打字比如“帮我列三条京东云安全组最佳实践”回车。如果模型正常回复说明 OpenClaw 到 TaoToken 的链路通了。这一步失败的话看日志里有没有local proxy failed这个报错通常是 OpenClaw 内部代理没起来重启网关openclaw gateway restart一般能解决。接下来挂 skill。OpenClaw 的 skill 本质是一个带skill.json描述文件的目录放在skills.dir下面网关启动时自动加载。我以最常用的summarize和search两个 skill 为例演示目录结构和触发方式。# 进入 skill 目录 cd ~/.openclaw/skills # 创建 summarize skill 目录 mkdir -p summarize # 写 skill 描述文件 cat summarize/skill.json EOF { name: summarize, description: 对输入文本做摘要支持中英文, trigger: [总结, 摘要, summarize], model: claude-sonnet-4-5, entry: index.js } EOF # 写一个最简执行脚本 cat summarize/index.js EOF module.exports async function(input, ctx) { const res await ctx.chat({ model: claude-sonnet-4-5, messages: [ { role: system, content: 你是摘要助手输出不超过三句话。 }, { role: user, content: input } ] }); return res.choices[0].message.content; }; EOF目录结构长这样~/.openclaw/skills/summarize/skill.json和index.js同级。trigger数组里的词是触发关键词用户在面板里发“总结一下这段文字”就会命中这个 skill。model字段指定这个 skill 用哪个模型这里我故意用claude-sonnet-4-5你也可以换成gpt-4o测试多模型切换。写完重启网关加载 skillopenclaw gateway restart openclaw skills listskills list能列出已加载的 skill 就说明挂载成功。然后在面板里发“总结京东云主机部署 OpenClaw 需要放行 18789 端口并配置 TaoToken 统一 Key”如果返回一段摘要说明 skill 触发链路完整跑通了。这一步是整个流程的验收点前面所有配置都是为了这一刻。如果你要接更多 skill比如文档解析、联网搜索逻辑一样建目录、写skill.json、写执行脚本、重启。skill 之间可以指定不同模型这就是统一 Key 通道的好处——一个 Key 覆盖所有 skill 的模型调用不用为每个 skill 单独配密钥。5. 本篇常见报错排查对照部署过程中我遇到和收集到的报错集中在下面几类按现象对号入座。401 Unauthorized。现象是 curl 或面板请求返回 401。原因通常是 Key 复制时带了空格、换行或者 Key 已失效。排查echo -n sk-你的Key | wc -c看长度对不对重新生成 Key 再试。注意 TaoToken 的 Key 是统一通道一个 Key 能调多个模型不存在“这个 Key 只能调某个模型”的情况所以 401 一定是 Key 本身的问题。local proxy failed。现象是面板发消息后日志里出现这个模型不回复。原因是 OpenClaw 内部代理进程没起来常见于网关启动时配置文件有语法错误但没报出来。排查openclaw doctor做健康检查它会指出配置哪一行有问题然后openclaw gateway restart。如果还不行把openclaw.json贴到 JSON 校验工具里过一遍多半是少了个逗号或引号。reading choices 报错。现象是请求返回的 JSON 结构不对解析choices字段失败。原因几乎都是 baseUrl 写成了https://taotoken.net/api/v1多了一层。改成https://taotoken.net/api即可。这个错在换模型 ID 时也容易出现比如模型 ID 拼成了显示名。OAuth 相关报错。如果你在配置里误加了某些需要 OAuth 的 provider 字段OpenClaw 会尝试走 OAuth 流程然后失败。OpenClaw 接 TaoToken 不需要 OAuth只需要 apiKey。排查检查openclaw.json里 provider 下有没有多余的oauth、clientId字段删掉。面板打不开但服务 running。现象是gateway status显示 running浏览器访问超时。原因九成是京东云安全组没放行 18789或者gateway.host写成了127.0.0.1。排查先在服务器上curl http://127.0.0.1:18789看本地通不通本地通就是安全组问题本地不通就是 host 配置问题。skill 不触发。现象是发了触发词但 skill 没执行。原因可能是skill.json的trigger数组没匹配上或者autoLoad没开或者改完 skill 没重启网关。排查openclaw skills list看 skill 在不在列表里不在就是没加载在列表里但不触发检查触发词是否完全匹配。6. 后续怎么用把统一 Key 通道用顺手跑通之后日常维护其实很轻。模型切换只改openclaw.json里models.default的值或者改某个 skill 的model字段改完openclaw gateway restart就行不用动 Key。TaoToken 控制台里可以看每个 Key 的调用量和余额建议给 OpenClaw 单独建一个 Key方便归因和限额。skill 生态这块OpenClaw 社区有现成的 skill 仓库你可以把别人的 skill 目录直接拷到~/.openclaw/skills/下改改skill.json里的模型 ID 就能用。因为走的是统一 Key你不需要为每个 skill 单独申请密钥这是最省心的地方。如果某个 skill 要跑长任务建议在skill.json里指定一个便宜的快模型把强模型留给真正需要的场景。面板的 Token 建议定期换openclaw token generate重新生成后旧 Token 失效记得更新浏览器书签。京东云主机如果长期跑开个快照策略配置文件和 skill 目录都在~/.openclaw/下备份这个目录就够了。最后留一个实用技巧把openclaw logs -f挂在一个 tmux 窗口里常驻出问题第一时间能看到实时日志比事后翻文件快得多。模型调用和 skill 触发的所有细节都会打在日志里包括请求的模型 ID 和返回状态排查时非常有用。