安装指南

手动配置 · Windows 与 macOS

OpenClaw + Space Router

OpenClaw 支持在自己的配置文件中添加自定义模型 provider。注册一次 Space Router,把默认 agent 指向它,之后新建的每个 agent 都会继承这条线路。

网关:https://space.stationine.com · 最近核对:

请妥善保管你的 API key。 不要在截图、聊天、仓库、项目文件或任何公开文档中泄露真实 key。若已泄露,请在 Space Router 吊销或轮换并重新创建。

OpenClaw 没有一键安装脚本。请先按 OpenClaw 自己的文档完成安装,再回到本页把它指向网关。

开始之前

你需要一个 Space Router API key,而 key 所属的分组决定了它能调用哪些模型。在 Space Router 后台的 API Keys → Create API Key 中创建,分组要与你购买的一致。

Key 分组api 取值模型 slug
GPT(group 4) openai-completions gpt-6-astra、gpt-5.6-sol、gpt-5.6-terra、gpt-5.6-luna、gpt-5.5、gpt-5.4、gpt-5.4-mini
Claude(group 3) anthropic-messages claude-opus-5、claude-sonnet-5、claude-opus-4-8、claude-opus-4-7、claude-opus-4-6、claude-sonnet-4-6
Claude Fable 5(group 5) anthropic-messages claude-fable-5

key 只在本分组内有效。用 Claude 分组的 key 去请求 gpt-5.5,或用它去请求 claude-fable-5,都会直接报错而不会自动降级——Fable 属于单独购买的分组。完整目录发布在 /models.json。

注册 provider

所有改动都在同一个文件里:~/.openclaw/openclaw.json。整个过程分五步:

  1. 先停掉 OpenClaw

    运行中编辑文件并无大碍,但它要等到重启才会生效,而改到一半的状态最难排查。

  2. 打开文件

    文件不存在就新建。它是一个 JSON 对象;如果里面已有内容,你要做的是并入这个对象,而不是再追加一个并列的对象。

    open ~/.openclaw/openclaw.json
  3. 加入与你 key 分组对应的 models 块

    复制下面与你的 key 匹配的那一段。示例中的 provider 名 space-router 就是之后引用模型时要用的前缀,取短一点比较方便。

  4. 加入 agents 块

    见选择模型。两个块都是同一个对象的顶层键——models 与 agents 是并列关系。

  5. 保存并重启 OpenClaw

    然后按验证连通做一次检查。

Claude 或 Fable key

{
    "models": {
      "mode": "merge",
      "providers": {
        "space-router": {
          "baseUrl": "https://space.stationine.com",
          "apiKey": "sk-your-space-router-key",
          "api": "anthropic-messages",
          "models": [
            {
              "id": "claude-sonnet-5",
              "name": "Claude Sonnet 5",
              "contextWindow": 200000,
              "maxTokens": 64000
            }
          ]
        }
      }
    }
  }

GPT key

走 OpenAI 线路时,baseUrl 要带 /v1 后缀,因为 OpenClaw 会自己拼上 /chat/completions。

{
    "models": {
      "mode": "merge",
      "providers": {
        "space-router": {
          "baseUrl": "https://space.stationine.com/v1",
          "apiKey": "sk-your-space-router-key",
          "api": "openai-completions",
          "models": [
            {
              "id": "gpt-5.6-sol",
              "name": "GPT 5.6 Sol",
              "contextWindow": 128000,
              "maxTokens": 32000
            }
          ]
        }
      }
    }
  }

"mode": "merge" 会保留 OpenClaw 自带的 provider,与你新增的并存;换成 "replace" 则会把它们全部去掉。想让哪个 slug 出现在选择器里,就往 models 数组里加一个对象。

务必显式填写上下文参数。 当 OpenClaw 无法探测到模型的限制时,上下文预算会回退到 200000 tokens——这会悄悄高估小模型的容量,导致任务进行到一半出现截断失败。上面的数字只是示例,请按你所用模型与套餐的真实上限填写 contextWindow 与 maxTokens。

选择模型

把默认 agent 指向新的 provider。取值格式是 providerId/model-id,两个标识符都要与上面写的完全一致。

{
    "agents": {
      "defaults": {
        "model": {
          "primary": "space-router/claude-sonnet-5"
        }
      }
    }
  }

这两段属于同一个 openclaw.json 对象,请合并到一起,不要在文件里粘贴成两个并列的顶层对象。

baseUrl 同时也是信任决策

OpenClaw 的模型请求都要经过受控的 fetch 通道,而你配置的 baseUrl 正是放行该 scheme://host:port 源的依据,不会顺带信任其他源。所以主机名写错不会得到某种降级处理,而是请求直接被拦下。

配置保存在哪里

主文件是 ~/.openclaw/openclaw.json。单个 agent 的覆盖配置位于 ~/.openclaw/agents/<agentId>/agent/models.json,其中非空的 baseUrl 优先级高于主文件——所以如果改了主文件却没有任何变化,先看看该 agent 是不是有自己的一份。

验证连通

重启 OpenClaw 让它重新加载配置,然后发送一次短请求,例如 Reply with OK。能收到回复,才同时证明 Base URL、key、API 格式与模型 id 四者都对。配置文件能被解析,只能证明它能被解析。

常见报错

你看到的含义
401 或 403 key 错误、已吊销或余额不足。回后台重新复制一次,并检查前后有没有空格。
404 通常是 baseUrl 与 api 不匹配:带了 /v1 却用 anthropic-messages,或用了网关根地址却配 openai-completions。
选择器里没有这个模型 provider 的 models 数组里没有它,或者 "mode": "replace" 把你以为会在的那一批去掉了。
改了配置没有任何变化 没有重启 OpenClaw,或者某个 agent 的 models.json 覆盖了主文件。
任务中途出现截断或上下文报错 contextWindow 缺失或填得过大,预算回退到了 200000 tokens。改成真实上限。

Space Router 是什么?

Space Router 是由 Station Nine 运营的 AI API 中转服务,Base URL 为 https://space.stationine.com。它在 POST /v1/messages 接收 Anthropic Messages 请求,在 POST /v1/chat/completions 接收 OpenAI Chat Completions 请求,在 POST /v1/responses 接收 OpenAI Responses 请求,提供 OpenAI GPT 与 Anthropic Claude 两大模型家族。服务与账户细节见 Space Router 总览。