在 OpenClaw 里用 DaoXE

OpenClaw 是那个住在你的聊天渠道里、在你机器上干真活的开源个人 AI 助理。它的模型层是配置优先的:一个 models.providers 块就能把 DaoXE 变成一等公民。

更新于 2026-09-15

OpenClaw 的 Gateway 从 ~/.openclaw/openclaw.json 解析全部智能体模型 —— JSON5、热重载。它的自定义供应商文档写死了 DaoXE 的形状:api: "openai-completions" + 以 /v1 结尾的 baseUrl,正是文档给「任何 OpenAI 兼容服务器」指定的路(最便宜 API 教程)。

为什么让 OpenClaw 走 DaoXE#

  • 一把 key 驱动整个助理。聊天、定时任务、子智能体和工具循环都走你声明的供应商 —— 一把 DaoXE key 覆盖 ~25 家供应商的数百个模型,规划用的强模型和干活的便宜模型共用一个余额。
  • 元数据你说了算。上下文窗口、输入模态、输出上限写在你的配置里,而不是让客户端去猜。
  • 设计上可审查。一个 JSON5 块说清 OpenClaw 把什么发去哪里 —— 助理与端点之间没有隐藏路由。

在 OpenClaw 里配置#

  1. 注册供应商。 在 ~/.openclaw/openclaw.json 的 models.providers 下加 daoxe 条目:baseUrl: "https://daoxe.com/v1"、api: "openai-completions"、apiKey: "${DAOXE_API_KEY}" —— 文档示范的 env 展开写法。
  2. 把模型也注册上。 加 models: [{ id: "YOUR_EXACT_MODEL_ID" }],ID 从 DaoXE 的 GET /v1/models 原样复制;支持视觉的模型标 input: ["text", "image"]。只有供应商条目、没有显式模型行 = 什么都没注册。
  3. 指定默认模型。 把 agents.defaults.model.primary 设为 "daoxe/YOUR_EXACT_MODEL_ID" —— 引用一律是 provider/model 形式。别名与逐模型设置在 agents.defaults.models,可选。
  4. 保存并核对。 Gateway 监听文件改动自动热重载;增量修改可用 openclaw config set models.providers.daoxe '<json>' --strict-json --merge(破坏性整体重写必须加 --replace)。用 openclaw models list 确认,openclaw models set daoxe/… 切换。
json5
// ~/.openclaw/openclaw.json — add DaoXE as a custom provider
{
  env: { vars: { DAOXE_API_KEY: "sk-you…-key" } },
  agents: {
    defaults: {
      model: { primary: "daoxe/YOUR_EXACT_MODEL_ID" },
    },
  },
  models: {
    mode: "merge",
    providers: {
      daoxe: {
        baseUrl: "https://daoxe.com/v1",
        apiKey: "${DAOXE_API_KEY}",
        api: "openai-completions",
        models: [
          { id: "YOUR_EXACT_MODEL_ID", name: "DaoXE primary",
            input: ["text", "image"], contextWindow: 200000 },
        ],
      },
    },
  },
}

值得注意的坑

供应商 ≠ 模型:文档明说 agents.defaults.models["provider/model"]「既不限制覆盖,也不注册新的运行时模型」—— 每条自定义模型都必须同时出现在 models.providers.daoxe.models[] 里且 id 完全一致。视觉要手动点亮:不写 input 默认按纯文本处理,图片附件会以文字引用而非像素送达 —— 会看图的 DaoXE 模型请显式标 ["text", "image"]。兼容标志会被强制:在非原生的 openai-completions 路由上,OpenClaw 会改用 system 而非 OpenAI 的 developer 角色,并跳过 OpenAI 专有的请求塑形;显式写 supportsDeveloperRole: true 也会被覆盖 —— 别较劲。费用显示由你填:省略 cost 时全按零处理,OpenClaw 的用量面板会在 DaoXE 路由上显示 $0,而实际账单在服务端计 —— 常看那面板就填真实的数量级。更多客户端见客户端设置说明。

验证你拿到的是真模型#

先证明端点可用,再怀疑客户端 —— 这一步失败,改任何设置都没用:

bash
export DAOXE_API_KEY="your_api_key"

# List the exact model IDs your account can call
curl --fail-with-body --show-error --silent \
  https://daoxe.com/v1/models \
  -H "Authorization: Bearer ${DAOXE_API_KEY}"

先在助理之外验证端点,再在 temperature 0 下把难题与官方 API 对比:

bash
curl --fail-with-body --show-error --silent \
  https://daoxe.com/v1/chat/completions \
  -H "Authorization: Bearer ${DAOXE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_EXACT_MODEL_ID",
    "max_tokens": 64,
    "messages": [{"role": "user", "content": "Say hello in one sentence."}]
  }'

别信我们 —— 自己验证

把 开源 benchmark 对准 DaoXE 和官方 API,在 temperature 0 下对比。再学会如何鉴别掉包,让便宜端点无法悄悄把你换成更小的模型。

常见问题#

OpenClaw 能接 DaoXE 吗?

能 —— 在 models.providers 加 daoxe 条目:api: "openai-completions"、baseUrl: "https://daoxe.com/v1"、你的 key、显式模型行;再把 agents.defaults.model.primary 指向 daoxe/<id>。

DaoXE 的原生 Claude Messages 能用吗?

可以作为第二个供应商 —— 文档支持 api: "anthropic-messages" 的兼容路由。注意 OpenClaw 对非直连 Anthropic 路由会抑制隐式 beta 头,需要 beta 特性时显式设 headers["anthropic-beta"]。

为什么选择列表里没有我的模型?

因为供应商条目本身不注册任何模型 —— 在它的 models 数组里加一条匹配的 { id: "…" },ID 用 GET /v1/models 的精确值。

费用?

按模型、随账号 —— 实时定价;充值统一 1 元 = $1 额度。

试用 DaoXE —— 并亲自 benchmark 它

一个 key 调 GPT、Claude、Gemini、DeepSeek 等。用开源 benchmark 对准我们做对比 —— 别只听我们说。