Mercury 的 OpenClaw Gateway 模型路由,改到 TaoToken 通道再测 DeepSeek-V3 行不行?
1. Mercury 的模型路由为什么卡在 OpenClaw Gateway 这一层Mercury 这个项目最近在 GitHub 上热度不低Slogan 打的是「OpenClaw Hermes 完美合体」。我花了几天把它从安装到深度使用完整跑了一遍最大的感受是它的图形界面确实把新手门槛压得很低扫码登录、点技能市场、一键部署五分钟能跑起来。但只要你动了「换模型供应商」或者「换底层模型」的念头就会发现 Mercury 的界面里根本没有入口。原因在于 Mercury 的三层架构。底层是 OpenClaw Gateway负责会话管理、工具调用、模型路由和插件系统中间层是 Hermes 协议管消息传递、设备配对、多端同步上层才是 Mercury 自己的封装也就是你看到的那个深色圆角界面。Mercury 没有改 OpenClaw Gateway 的核心模型路由这件事完全由 Gateway 决定。界面隐藏了 Gateway 的详细参数想换供应商或换模型只能去翻配置文件。这就对应了原文里提到的痛点灵活性差、深度定制不容易。我实测下来Mercury 空闲时内存占用 450MB原生 OpenClaw 只有 300MB多出来的部分主要是 UI 渲染和缓存。资源占用高是一方面更麻烦的是模型通道被锁死。你如果想用 DeepSeek-V3 这类模型又不想动 Mercury 自身的功能正确的做法是在 OpenClaw Gateway 的模型路由/供应商配置那一步做文章而不是去改 Mercury 的界面层。这篇就按接入配置的视角把 Mercury 底层 Gateway 的模型路由改到 TaoToken 通道再测 DeepSeek-V3 能不能正常返回。全程不改 Mercury 自身功能只动 Gateway 的供应商配置。2. 前置准备TaoToken 通道与 Key 的来源TaoToken 在这里解决的事情很单一模型通道与 Key 来源。Mercury 上层界面照常扫码登录、点技能市场底层 Gateway 发出的请求走 TaoToken 兼容通道。你不需要把 TaoToken 理解成什么复杂的东西它就是一个兼容 OpenAI 接口规范的模型通道Base URL 填对、Key 填对Gateway 就能把请求发出去。注册和创建 Key 的入口在官网打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册账号然后在控制台里创建一把 API Key。这里有个细节要注意Base URL 填https://taotoken.net/api不带/v1也不加任何 UTM 参数。很多人习惯性在末尾补/v1结果 Gateway 拼接路径时变成/v1/v1/chat/completions直接 404。Key 就用刚创建的那把复制出来先放一边。如果你后面想长期跑编码类任务或者 Agent 场景可以顺带看一下 Coding Plan 的入口如果只是想验证模型能不能通用普通 API Key 就够了。接入文档在 https://taotoken.net/doc 可以查到具体的接口规范模型对话的调试入口在 https://taotoken.net/chat API Keys 管理在 https://taotoken.net/api-keys 。前置准备清单项目值说明Base URLhttps://taotoken.net/api不带 /v1不加 UTMAPI Key控制台创建复制后填入 Gateway目标模型DeepSeek-V3测试用改动位置OpenClaw Gateway 供应商配置不动 Mercury 界面3. 可复制配置把 OpenClaw Gateway 的模型路由指向 TaoTokenMercury 的配置文件位置取决于你的安装方式。一键安装版通常在用户目录下的隐藏文件夹里Docker 版在挂载的 volume 里原生安装版在项目根目录的 config 下。我这边用的是一键安装版配置文件路径类似~/.mercury/gateway/config.yaml或者~/.openclaw/gateway.yaml具体以你机器上的实际路径为准。你可以先在 Mercury 界面里点开设置找到「高级」或「关于」里的配置目录提示。找到 Gateway 的配置文件后重点改的是providers或model_routing这一段。不同版本的 OpenClaw Gateway 字段名略有差异但核心结构一致一个 provider 名称、一个 base_url、一个 api_key、一个 models 列表。下面是我实测能跑通的配置片段你可以直接对照着改。# OpenClaw Gateway 供应商配置片段 providers: taotoken: type: openai-compatible base_url: https://taotoken.net/api api_key: sk-你的TaoToken密钥 models: - deepseek-v3 - deepseek-chat timeout: 60 max_retries: 2 model_routing: default_provider: taotoken default_model: deepseek-v3 fallback_provider: taotoken fallback_model: deepseek-chat几个关键点说明一下。type填openai-compatible因为 TaoToken 走的是兼容 OpenAI 的接口规范。base_url严格填https://taotoken.net/api不要自作主张加/v1。api_key填你刚创建的那把注意不要带多余空格。models列表里写你要用的模型名DeepSeek-V3 对应的标识按接入文档里的写法填通常是deepseek-v3或deepseek-chat以文档为准。如果你用的是 Docker 版改完配置后需要重启容器让配置生效docker restart mercury-gateway原生安装版则直接重启 Gateway 进程# 找到 Gateway 进程 ps aux | grep openclaw-gateway # 重启 kill -HUP pid改完配置后Mercury 界面本身不需要做任何改动。你照常扫码登录、点技能市场上层感知不到底层换了通道。这就是在 Gateway 层做路由的好处上层功能不受影响底层通道可以自由切换。4. 验证请求确认 DeepSeek-V3 能返回、调用记录可见配置改完接下来要验证两件事一是 Gateway 能不能把请求发到 TaoToken 并拿到 DeepSeek-V3 的返回二是调用记录能不能在 TaoToken 控制台看到。最直接的验证方式是在 Mercury 里发一条消息。打开 Mercury随便找个对话窗口输入一句简单的话比如「用一句话解释什么是模型路由」。如果配置正确你应该能在几秒内收到 DeepSeek-V3 的回复。如果界面一直转圈或者报错先别急着改 Mercury问题大概率在 Gateway 的配置上。更可控的方式是直接跑一条 Gateway 请求绕过 Mercury 界面单独测通道。OpenClaw Gateway 一般会暴露一个本地 HTTP 接口默认端口可能是 8080 或 3000具体看你的配置。用 curl 直接打curl -X POST http://127.0.0.1:8080/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -d { model: deepseek-v3, messages: [ {role: user, content: 回复两个字通了} ], stream: false }如果返回的 JSON 里有choices字段且content是「通了」说明 Gateway 到 TaoToken 的链路是通的。如果返回 401检查 Key 有没有填错如果返回 404检查 Base URL 是不是多加了/v1如果返回超时检查网络和timeout配置。调用记录可见这一项去 TaoToken 控制台的用量或日志页面看。每发一次请求那里应该会多一条记录包含模型名、时间、token 消耗。我实测下来从 Mercury 界面发消息和从 curl 直接打两种方式都会在控制台留下记录。这一步能确认请求确实走了 TaoToken 通道而不是被 Gateway 缓存或者走了别的供应商。验证通过后你可以在 Mercury 里多试几个不同的问题确认 DeepSeek-V3 的回复质量符合预期。如果想把 Mercury 的模型路由接到统一通道后续所有模型调用都会走 TaoToken换模型只需要改 Gateway 配置里的default_model不用动 Mercury 界面。5. 本篇常见错排查接入过程中踩过的坑主要集中在几个地方我按出现频率排一下。第一个是 Base URL 多加了/v1。这是最常见的错误表现是 Gateway 返回 404 或者model not found。TaoToken 的 Base URL 就是https://taotoken.net/api路径拼接由 Gateway 自己处理你不需要补/v1。改配置的时候把这一行单独拎出来核对一遍。第二个是 Key 复制带了空格或换行。从控制台复制 Key 的时候有时候会带上首尾空白字符填进 YAML 后解析出错表现是 401 未授权。建议复制后先在文本编辑器里过一遍确认是干净的一行字符串。第三个是配置文件路径找错。Mercury 一键安装版和 Docker 版的配置路径不一样改错了文件等于没改。判断方法很简单改完配置重启 Gateway如果 Mercury 里的模型行为没变化大概率是改错了文件。你可以用find命令搜一下find ~ -name *.yaml -path *gateway* 2/dev/null find ~ -name *.yaml -path *openclaw* 2/dev/null第四个是模型名写错。DeepSeek-V3 在不同通道里的标识可能不一样有的写deepseek-v3有的写deepseek-chat。以 TaoToken 接入文档里的模型列表为准不要凭记忆填。填错了表现是 Gateway 返回model not found或者直接 400。第五个是 Gateway 没重启。改完配置文件后Gateway 不会自动热加载必须重启进程或容器。很多人改完配置直接在 Mercury 里发消息发现没生效以为配置错了其实是没重启。第六个是网络超时。如果 Gateway 到 TaoToken 的请求经常超时把timeout调大一点比如 120 秒同时把max_retries设为 2 或 3。DeepSeek-V3 在长文本场景下响应会慢一些超时设置太短容易误判为失败。排障的时候建议按「先 curl 直连 Gateway再 Mercury 界面发消息」的顺序来。curl 能通说明 Gateway 配置没问题问题在 Mercury 上层curl 不通说明 Gateway 到 TaoToken 的链路有问题重点查 Base URL、Key 和模型名。6. 把 Mercury 的模型路由接到统一通道Mercury 的界面封装确实好用但它的模型路由被锁在 OpenClaw Gateway 里想换供应商就得翻配置文件。这个设计对新手友好对想深度定制的人不友好。把 Gateway 的模型路由改到 TaoToken 通道本质上是在保留 Mercury 上层体验的同时把底层模型通道的灵活性拿回来。操作路径很清晰从 https://taotoken.net/api-keys 创建 Key把 Base URL 填https://taotoken.net/api写进 OpenClaw Gateway 的供应商配置重启 Gateway然后在 Mercury 里发消息验证 DeepSeek-V3 能返回、调用记录可见。全程不改 Mercury 自身功能扫码登录、技能市场、多端同步都照常。如果你后面想跑长期编码任务或者 Agent 场景可以看一下 Coding Plan 的入口统一通道的好处是换模型只改一行配置。接入过程中遇到接口规范的问题接入文档里有详细的字段说明。模型对话的调试可以直接在 https://taotoken.net/chat 里试不用每次都开 Mercury。工具是为人服务的Mercury 的界面省事TaoToken 的通道给灵活性两者不冲突。配完之后你可以在 Gateway 配置里随时切换default_modelMercury 那边无感。