1. 拿到 QClaw 内测码之后,真正要解决的是什么
QClaw 是腾讯围绕 OpenClaw 做的一层产品化封装,简单说就是让原本偏命令行、偏折腾的 OpenClaw“龙虾”更容易跑起来、连起来、用起来。它支持 Mac 和 Windows,内置国产模型,还能一键关联本机已有的 OpenClaw,最吸引人的地方是能把 Agent 直接接进微信和 QQ 的日常消息流里。适合谁?适合已经拿到内测申请码、装好了 OpenClaw,但卡在“模型通道怎么统一配、微信和 QQ 两个入口怎么同时接”的开发者。
我拿到内测码后第一件事不是急着点“一键直连”,而是先把模型通道理顺。原因很现实:QClaw 支持混合路由,DeepSeek、GLM、Qwen、Kimi、MiniMax 都能挂,但如果你每个入口都单独填一套 Key,微信一套、QQ 一套、本地 CLI 又一套,后面排查问题会非常痛苦。所以这篇的核心思路是:用 TaoToken 的统一 Key 作为 OpenClaw 的模型出口,QClaw 负责把这只龙虾送进微信和 QQ,两边职责分开。
下面交付的是可复制的config.toml与settings.json骨架、CC Switch 切换步骤,以及连通性验证动作。你照着跑,能把 Agent 入口链路先打通,再谈 Skills 和自动化。
2. TaoToken 前置:统一 Key 与 API 通道准备
TaoToken 在这里扮演的角色是“模型请求的统一出口”。OpenClaw 本身要调模型,QClaw 封装后也要调模型,与其让它们各自直连不同厂商,不如都指向同一个兼容接口,Key 只维护一份,换模型只改一个字段。
你需要先拿到两样东西:API Key 和接入地址。地址用https://taotoken.net/api,注意这个是不带追踪参数的干净地址,配置里就填它。Key 在控制台的 API Keys 页面创建,建议单独建一个给 OpenClaw 用的 Key,方便后面按项目停用。
创建入口在这里:
API Keys 管理:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite
接入文档建议先扫一眼,确认当前支持的模型名和请求格式,避免配置里模型名写错导致 404:
接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite
如果你还没决定用哪个模型,可以先去模型对话页面试几条 prompt,确认响应风格再写进配置:
模型对话:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite
这一步别跳过。我试过直接拿一个没验证过的模型名写进config.toml,结果 OpenClaw 启动时报的是连接超时,排查半天才发现是模型标识不对,白白浪费半小时。
3. 可复制配置:config.toml 与 settings.json 骨架
OpenClaw 的主配置一般放在用户目录下的.openclaw/config.toml,QClaw 封装层会读取它,同时自己有一份settings.json管入口和路由。两份文件职责不同:config.toml管模型通道,settings.json管微信、QQ 这些入口的开关和绑定。
先看config.toml骨架。核心是把 provider 指向 TaoToken 的兼容接口,Key 用环境变量注入,别硬编码:
# ~/.openclaw/config.toml [provider] name = "taotoken" base_url = "https://taotoken.net/api" api_key_env = "TAOTOKEN_API_KEY" default_model = "deepseek-chat" [provider.models] deepseek = "deepseek-chat" glm = "glm-4-plus" qwen = "qwen-max" kimi = "moonshot-v1-128k" [agent] name = "lobster" max_tokens = 4096 temperature = 0.7 timeout_seconds = 120 [memory] enabled = true store_path = "~/.openclaw/memory"Key 通过环境变量传,Linux/macOS 写进 shell 配置,Windows 用系统环境变量:
# macOS / Linux export TAOTOKEN_API_KEY="sk-你的Key"# Windows PowerShell,永久写入 [Environment]::SetEnvironmentVariable("TAOTOKEN_API_KEY", "sk-你的Key", "User")再看 QClaw 侧的settings.json骨架。这份文件通常在 QClaw 安装目录的config下,重点是channels段把微信和 QQ 都打开,并让它们复用同一个 provider:
{ "provider": { "ref": "taotoken", "model": "deepseek-chat" }, "channels": { "wechat": { "enabled": true, "mode": "personal", "allowlist": [] }, "qq": { "enabled": true, "mode": "bot", "app_id": "你的QQ机器人AppID", "token_env": "QQ_BOT_TOKEN" } }, "routing": { "default": "taotoken", "fallback": "taotoken" }, "skills": { "market": ["clawhub", "github"], "auto_load": true } }微信走个人号模式时,allowlist留空表示不限制,但建议先填自己的号做白名单测试。QQ 走机器人模式需要 AppID 和 Token,Token 同样用环境变量QQ_BOT_TOKEN注入,别写死在 JSON 里。
4. CC Switch 切换步骤与连通性验证
CC Switch 是用来在多个模型通道之间切换的工具,QClaw 支持自定义模型,本质就是改 provider 指向。如果你同时有官方通道和 TaoToken 通道,用 CC Switch 切比手改配置文件安全。
切换步骤:
# 查看当前通道 cc-switch list # 切到 TaoToken 通道 cc-switch use taotoken # 确认生效 cc-switch current切完后重启 OpenClaw 服务,让配置重新加载:
openclaw restart验证连通性分两步。第一步直接打 TaoToken 接口,确认 Key 和地址没问题:
curl -s 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字段就说明通道通了。第二步验证 OpenClaw 到 QClaw 的链路:
openclaw doctor --channel wechat openclaw doctor --channel qqdoctor会依次检查 provider 可达性、模型名有效性、入口绑定状态。两个 channel 都显示OK之后,去微信里给绑定的号发一句“帮我列一下桌面文件”,QQ 里发同样的指令,看是否都能返回结果。
成功的结果长这样:微信侧收到回复,内容是基于你本机文件列表生成的;QQ 侧同样返回,且两次请求在 TaoToken 控制台的用量记录里都能看到,说明统一 Key 确实在承载两个入口的流量。
5. 本篇常见错排查
配置跑不通,八成是下面几个问题。
第一个是模型名不匹配。config.toml里default_model写的是deepseek-chat,但 TaoToken 当前支持的标识可能带版本后缀。去接入文档确认准确名称,别凭记忆写。
第二个是环境变量没生效。api_key_env指向的变量名必须和实际导出的完全一致,大小写敏感。Windows 下改完环境变量要重开终端,否则旧进程读不到。
第三个是微信入口绑定失败。个人号模式对登录态敏感,如果之前用其他工具登过同一个号,可能冲突。先退出其他客户端,再让 QClaw 重新扫码。
第四个是 QQ 机器人 Token 过期。机器人模式的 Token 有有效期,过期后doctor会报鉴权失败,去 QQ 开放平台重新生成,更新QQ_BOT_TOKEN后重启。
第五个是 CC Switch 切了但没重启。切换只改配置文件,运行中的进程不会自动重载,必须openclaw restart。
第六个是端口占用。OpenClaw 本地默认监听某个端口,如果被其他服务占了,微信和 QQ 的消息回调进不来。用openclaw doctor看端口状态,冲突就改config.toml里的监听端口。
6. 长期跑 Agent,建议上 Coding Plan
如果你只是临时测一下微信和 QQ 能不能通,按上面的配置就够了。但如果你打算让这只龙虾长期挂着,每天定时推天气、自动整理文件、跑 GitHub 项目,那按量计费的 Key 在成本上不太可控,尤其是 Agent 会频繁调模型。
这种场景更适合用 Coding Plan,额度固定,适合长期编码和 Agent 常驻:
Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite
配置方式不变,还是config.toml里那个 provider,只是 Key 换成 Coding Plan 对应的凭证。切完之后openclaw doctor再跑一遍,确认通道正常,就可以让龙虾在微信和 QQ 里长期待命了。
最后补一句实操经验:微信和 QQ 两个入口同时开的时候,建议在settings.json的routing里给它们分不同的模型,比如微信走响应快的,QQ 走上下文长的,这样两边体验都稳。