1. 华为云上 OpenClaw 跑通之后,卡在“接大模型”这一步
如果你已经在华为云的弹性云服务器(ECS)或者轻量服务器上把 OpenClaw 跑起来了,浏览器能打开控制台、能看到对话窗口,但一发消息就报错、或者一直转圈没回复,那大概率不是 OpenClaw 本身的问题,而是大模型接入这一环没配好。OpenClaw 是个“壳”,它自己不会思考,真正干活的是背后的大模型 API。部署只是把壳搭好,接入才是给它装上大脑。
这篇就聚焦“部署完成后”这一段:怎么用 TaoToken 的统一 Key,把 OpenClaw 接到大模型上,Token Plan 的参数该填在哪,config.toml 和 settings.json 两个骨架怎么改,最后用一次真实对话请求验证到底通没通。适合刚跑通基础部署、对配置文件还不太熟的小白。全程在华为云服务器上操作,命令可以直接复制。
先说清楚 TaoToken 在这里的角色:它是一个统一的大模型接入网关,你拿一个 Key,就能调用多家主流模型,不用为每个模型单独申请账号、单独改配置。对 OpenClaw 这种需要频繁切换模型的工具来说,省事很多。官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api ,注意 API 地址不带后面那串参数。
2. 接入前先把 TaoToken 的 Key 和 Token Plan 准备好
2.1 拿到统一 Key
登录 TaoToken 控制台,进 API Keys 页面创建一个新 Key。创建时给它起个能认出来的名字,比如openclaw-huawei,方便以后在服务器上对账。Key 只在创建时完整显示一次,复制下来先存到本地文本里,别直接贴在聊天窗口。
控制台地址走这个 deep link:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API Keys 页面:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
2.2 Token Plan 是什么,参数填在哪
Token Plan 是 TaoToken 里的额度与模型套餐管理模块。你可以理解成“话费套餐”:选一个 Plan,里面包含可调用的模型范围和额度,OpenClaw 请求时带上这个 Plan 对应的 Key,就会按 Plan 的规则走。对小白来说,重点是知道两个参数往哪填:
第一个是base_url,统一填https://taotoken.net/api,这是所有请求的入口,不要写成控制台地址,也不要带 UTM 参数。
第二个是api_key,填你刚才创建的那串 Key。模型名(model)按 Token Plan 里列出的可用模型填,比如常见的对话模型标识。这三个值就是接入的全部核心,剩下的都是 OpenClaw 自己的配置格式问题。
注意:Token Plan 的额度是跟着 Key 走的,如果你在多个服务器上用了同一个 Key,额度是共享的。测试阶段建议单独建一个 Key,方便排查。
3. 可复制的 config.toml 与 settings.json 骨架
OpenClaw 的模型配置通常落在两个地方:一个是config.toml(服务级配置),一个是settings.json(应用级配置)。不同版本可能只认其中一个,稳妥做法是两个都改,保持一致。下面给的是骨架,把尖括号里的内容替换成你自己的值即可。
3.1 config.toml 骨架
# OpenClaw 模型接入配置 [models] default_provider = "taotoken" [models.providers.taotoken] # TaoToken 统一入口,固定这个地址 base_url = "https://taotoken.net/api" # 替换为你自己的 Key api_key = "<你的_TaoToken_Key>" # 按 Token Plan 里可用的模型名填写 model = "<你的模型名>" # 请求超时,华为云到网关一般 60 秒够用 timeout = 60 [agent] # 默认走 taotoken 这个 provider provider = "taotoken"3.2 settings.json 骨架
{ "model": { "provider": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "<你的_TaoToken_Key>", "modelName": "<你的模型名>", "maxTokens": 4096, "temperature": 0.7 }, "gateway": { "host": "0.0.0.0", "port": 18789 } }两个文件里的baseUrl必须完全一致,都是https://taotoken.net/api。apiKey和modelName也要一致,否则 OpenClaw 可能读到旧值。改完保存,别急着重启,先做下一步的语法检查。
3.3 写入服务器并检查
在华为云服务器上,用 SSH 登录后进到 OpenClaw 的配置目录。假设是 Docker 部署,先进容器:
docker exec -it openclaw-core /bin/bash找到配置文件位置,一般在/app/config或/root/.openclaw下。用编辑器打开,把上面的骨架贴进去。保存后先验证 JSON 语法:
python3 -m json.tool /app/config/settings.json如果输出格式化后的 JSON 且没报错,说明语法没问题。TOML 可以用:
python3 -c "import tomllib; tomllib.load(open('/app/config/config.toml','rb')); print('toml ok')"看到toml ok就说明格式正确。这一步能挡掉一大半“配置写了但不生效”的问题。
4. 重启服务并验证一次真实对话请求
4.1 重启 OpenClaw
配置改完必须重启才生效。在容器里执行:
openclaw gateway restart或者如果是 systemd 管理:
systemctl restart openclaw重启后等 5 到 10 秒,先看健康检查:
curl http://localhost:18789/api/health返回类似{"status":"ok"}就说明服务起来了。
4.2 用 curl 直接打一次模型请求
这一步是验证“接入是否真的生效”的关键。不要只在网页对话框里试,先用命令行直接请求,能排除前端干扰:
curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer <你的_TaoToken_Key>" \ -H "Content-Type: application/json" \ -d '{ "model": "<你的模型名>", "messages": [{"role": "user", "content": "用一句话介绍你自己"}] }'如果返回里有choices字段和一段正常回复,说明 Key、base_url、模型名三者都对,TaoToken 这一侧是通的。如果返回 401,是 Key 问题;返回 404,多半是模型名写错;返回超时,检查华为云安全组是否放行了出方向 443 端口。
4.3 在 OpenClaw 里发一条消息
命令行通了之后,回到 OpenClaw 控制台,在对话窗口输入“你好,介绍一下你的功能”。如果几秒内返回正常内容,说明 OpenClaw 已经成功通过 TaoToken 调用到大模型。到这一步,接入就算完成了。
提示:第一次请求可能稍慢,因为要建立连接。如果连续多次都超时,优先看服务器出网是否正常,而不是反复改配置。
5. 本篇常见错误排查
5.1 报 401 Unauthorized
最常见的原因是 Key 复制时带了空格,或者把控制台地址误当成 API 地址填进了base_url。检查两点:base_url必须是https://taotoken.net/api,Key 前后不能有空格。另外确认这个 Key 没有在控制台被删除或禁用。
5.2 报 model not found
模型名和 Token Plan 里实际可用的不一致。回控制台看一眼当前 Plan 支持的模型标识,原样复制,注意大小写和连字符。不要凭记忆手写。
5.3 配置改了但不生效
八成是没重启,或者改错了文件。OpenClaw 可能同时读config.toml和settings.json,只改一个另一个还是旧值。用grep -r "taotoken" /app/config搜一下,确认两个文件都更新了,再重启。
5.4 华为云安全组导致请求出不去
华为云 ECS 默认出方向是放行的,但如果你手动收紧过安全组,要确保出方向 443 端口对taotoken.net开放。可以在服务器上直接测:
curl -I https://taotoken.net/api能返回 HTTP 状态码就说明网络通。如果卡住不动,就是出网被拦了,去华为云控制台的安全组里加一条出方向规则。
5.5 对话一直转圈无返回
先看 OpenClaw 日志:
docker logs --tail 100 openclaw-core日志里通常会写明是连接超时、鉴权失败还是模型报错。按日志提示定位,比盲目改配置快得多。如果日志里出现context deadline exceeded,把timeout从 60 调到 120 再试。
6. 接入通了之后,按场景选下一步
到这儿,华为云上的 OpenClaw 已经能通过 TaoToken 统一 Key 正常调用大模型了。接下来看你主要拿它干什么:
如果你只是想让对话和模型验证跑起来,直接去模型对话页面试不同模型的效果就行:https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
如果你打算长期用 OpenClaw 做编码辅助、跑 Agent 任务,建议看一下 Coding Plan,额度和模型组合更适合高频调用:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
如果接入过程中还有报错没解决,先去 API Keys 页面确认 Key 状态,再对照接入文档检查参数:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 和 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。文档里有各语言的最小请求示例,对着改比猜快。
最后留一个我踩过的坑:改完配置一定要先跑curl验证,再回网页点。网页报错信息往往被前端吞掉,命令行返回的原始错误码才是真正有用的线索。