[OpenClaw 文档]模型--提供商

[OpenClaw 文档]模型--提供商

本文档汇总了 OpenClaw 官方文档站 模型 > 提供商 子模块下的全部 18 篇内容,源自 docs.openclaw.ai/zh-CN

📄 Anthropic

原文:https://docs.openclaw.ai/zh-CN/providers/anthropic

Anthropic 构建 Claude 模型系列。OpenClaw 支持两种认证路径:

  • API 密钥 — 使用基于用量计费的 Anthropic API 直接访问(anthropic/* 模型)
  • Claude CLI — 在同一主机上复用已有的 Claude CLI 登录


Anthropic 员工告诉我们,OpenClaw 风格的 Claude CLI 用法已重新被允许,因此
OpenClaw 将 Claude CLI 复用和 claude -p 用法视为已获准,除非
Anthropic 发布新的政策。

对于长期运行的 Gateway 网关主机,Anthropic API 密钥仍然是最清晰且
最可预测的生产路径。

Anthropic 当前的公开文档:

入门指南



最适合: 标准 API 访问和基于用量的计费。

<Steps>
  <Step title="获取你的 API 密钥">
     [Anthropic Console](https://console.anthropic.com/) 中创建 API 密钥。
  </Step>
  <Step title="运行新手引导">
    ```bash
    openclaw onboard
    # choose: Anthropic API key
    ```

    或者直接传入密钥

    ```bash
    openclaw onboard --anthropic-api-key "$ANTHROPIC_API_KEY"
    ```
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list --provider anthropic
    ```
  </Step>
</Steps>

### 配置示例

```json5
{
  env: { ANTHROPIC_API_KEY: "sk-ant-..." },
  agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
}
```


最适合: 在没有单独 API 密钥的情况下复用已有的 Claude CLI 登录。

<Steps>
  <Step title="确认 Claude CLI 已安装并已登录">
    使用以下命令验证

    ```bash
    claude --version
    ```
  </Step>
  <Step title="运行新手引导">
    ```bash
    openclaw onboard
    # choose: Claude CLI
    ```

    OpenClaw 会检测并复用现有 Claude CLI 凭证
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list --provider anthropic
    ```
  </Step>
</Steps>

<Note>
Claude CLI 后端的设置和运行时细节见 [CLI 后端](/zh-CN/gateway/cli-backends)
</Note>

### 配置示例

推荐使用规范的 Anthropic 模型引用并加上 CLI 运行时覆盖

```json5
{
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-7" },
      models: {
        "anthropic/claude-opus-4-7": {
          agentRuntime: { id: "claude-cli" },
        },
      },
    },
  },
}
```

旧版 `claude-cli/claude-opus-4-7` 模型引用仍可用于
兼容性但新配置应将提供商/模型选择保留为
`anthropic/*`,并将执行后端放在提供商/模型运行时策略中。

<Tip>
如果你想要最清晰的计费路径,请改用 Anthropic API 密钥。OpenClaw 还支持来自 [OpenAI Codex](/zh-CN/providers/openai)、[Qwen Cloud](/zh-CN/providers/qwen)、[MiniMax](/zh-CN/providers/minimax) 和 [Z.AI / GLM](/zh-CN/providers/glm) 的订阅式选项。
</Tip>


思考默认值(Claude 4.6)

当未设置显式思考级别时,Claude 4.6 模型在 OpenClaw 中默认使用 adaptive 思考。

可用 /think:<level> 按消息覆盖,或在模型参数中覆盖:

{
  agents: {
    defaults: {
      models: {
        "anthropic/claude-opus-4-6": {
          params: { thinking: "adaptive" },
        },
      },
    },
  },
}


相关 Anthropic 文档:
- 自适应思考
- 扩展思考

提示词缓存

OpenClaw 对 API 密钥认证支持 Anthropic 的提示词缓存功能。

缓存时长 描述
"short"(默认) 5 分钟 对 API 密钥认证自动应用
"long" 1 小时 扩展缓存
"none" 不缓存 禁用提示词缓存
{
  agents: {
    defaults: {
      models: {
        "anthropic/claude-opus-4-6": {
          params: { cacheRetention: "long" },
        },
      },
    },
  },
}



使用模型级参数作为基线,然后通过 agents.list[].params 覆盖特定智能体:

```json5
{
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-6" },
      models: {
        "anthropic/claude-opus-4-6": {
          params: { cacheRetention: "long" },
        },
      },
    },
    list: [
      { id: "research", default: true },
      { id: "alerts", params: { cacheRetention: "none" } },
    ],
  },
}
```

配置合并顺序:

1. `agents.defaults.models["provider/model"].params`
2. `agents.list[].params`(匹配 `id`,按键覆盖)

这允许一个智能体保持长期缓存,同时让同一模型上的另一个智能体为突发性/低复用流量禁用缓存。


- Bedrock 上的 Anthropic Claude 模型(amazon-bedrock/*anthropic.claude*)在配置后接受 cacheRetention 透传。
- 非 Anthropic 的 Bedrock 模型会在运行时被强制设为 cacheRetention: "none"
- 当未设置显式值时,API 密钥智能默认值也会为 Claude-on-Bedrock 引用填入 cacheRetention: "short"


高级配置



OpenClaw 的共享 /fast 开关支持 Anthropic 直连流量(API 密钥和 OAuth 到 api.anthropic.com)。

| 命令 | 映射到 |
|---------|---------|
| `/fast on` | `service_tier: "auto"` |
| `/fast off` | `service_tier: "standard_only"` |

```json5
{
  agents: {
    defaults: {
      models: {
        "anthropic/claude-sonnet-4-6": {
          params: { fastMode: true },
        },
      },
    },
  },
}
```

<Note>
- 仅注入到直连 `api.anthropic.com` 请求。代理路由会保持 `service_tier` 不变。
- 当同时设置时,显式 `serviceTier`  `service_tier` 参数会覆盖 `/fast`
- 在没有 Priority Tier 容量的账户上,`service_tier: "auto"` 可能会解析为 `standard`

</Note>


内置 Anthropic 插件会注册图像和 PDF 理解。OpenClaw
会根据配置的 Anthropic 认证自动解析媒体能力,无需
额外配置。

| 属性            | 值                    |
| --------------- | --------------------- |
| 默认模型        | `claude-opus-4-7`     |
| 支持的输入      | 图像、PDF 文档        |

当图像或 PDF 附加到对话时,OpenClaw 会自动
通过 Anthropic 媒体理解提供商进行路由。


Anthropic 的 1M 上下文窗口受 beta 门控。按模型启用:

```json5
{
  agents: {
    defaults: {
      models: {
        "anthropic/claude-opus-4-6": {
          params: { context1m: true },
        },
      },
    },
  },
}
```

OpenClaw 会在请求上将其映射为 `anthropic-beta: context-1m-2025-08-07`。

`params.context1m: true` 也适用于符合条件的 Opus  Sonnet 模型的 Claude CLI 后端
(`claude-cli/*`),将这些 CLI 会话的运行时
上下文窗口扩展到与直连 API 行为一致。

<Warning>
需要你的 Anthropic 凭证具备长上下文访问权限。旧版令牌认证(`sk-ant-oat-*`)会被 1M 上下文请求拒绝,OpenClaw 会记录警告并回退到标准上下文窗口。
</Warning>


anthropic/claude-opus-4.7 及其 claude-cli 变体默认具有 1M 上下文
窗口,无需 params.context1m: true

故障排除



Anthropic 令牌认证会过期,也可能被撤销。对于新设置,请改用 Anthropic API 密钥。


Anthropic 认证是按智能体配置的,新智能体不会继承主智能体的密钥。为该智能体重新运行新手引导(或在 Gateway 网关主机上配置 API 密钥),然后用 openclaw models status 验证。


运行 openclaw models status 查看当前活动的认证配置文件。重新运行新手引导,或为该配置文件路径配置 API 密钥。


检查 openclaw models status --json 中的 auth.unusableProfiles。Anthropic 速率限制冷却可能按模型限定,因此同级 Anthropic 模型可能仍可使用。添加另一个 Anthropic 配置文件,或等待冷却结束。


更多帮助:故障排除常见问题

相关内容



选择提供商、模型引用和故障转移行为。


Claude CLI 后端设置和运行时细节。


提示词缓存在不同提供商之间的工作方式。


认证细节和凭证复用规则。


📄 Amazon Bedrock

原文:https://docs.openclaw.ai/zh-CN/providers/bedrock

OpenClaw 可以通过 pi-ai 的 Bedrock Converse 流式提供商使用 Amazon Bedrock 模型。Bedrock 凭证使用 AWS SDK 默认凭证链,而不是 API 密钥。

属性
提供商 amazon-bedrock
API bedrock-converse-stream
凭证 AWS 凭证(环境变量、共享配置或实例角色)
区域 AWS_REGIONAWS_DEFAULT_REGION(默认:us-east-1

入门指南

选择你偏好的凭证方式,并按设置步骤操作。



最适合:开发机器、CI,或你直接管理 AWS 凭证的主机。

<Steps>
  <Step title="在 Gateway 网关主机上设置 AWS 凭证">
    ```bash
    export AWS_ACCESS_KEY_ID="AKIA..."
    export AWS_SECRET_ACCESS_KEY="..."
    export AWS_REGION="us-east-1"
    # Optional:
    export AWS_SESSION_TOKEN="..."
    export AWS_PROFILE="your-profile"
    # Optional (Bedrock API key/bearer token):
    export AWS_BEARER_TOKEN_BEDROCK="..."
    ```
  </Step>
  <Step title="将 Bedrock 提供商和模型添加到你的配置">
    不需要 `apiKey`。使用 `auth: "aws-sdk"` 配置提供商:

    ```json5
    {
      models: {
        providers: {
          "amazon-bedrock": {
            baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
            api: "bedrock-converse-stream",
            auth: "aws-sdk",
            models: [
              {
                id: "us.anthropic.claude-opus-4-6-v1:0",
                name: "Claude Opus 4.6 (Bedrock)",
                reasoning: true,
                input: ["text", "image"],
                cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
                contextWindow: 200000,
                maxTokens: 8192,
              },
            ],
          },
        },
      },
      agents: {
        defaults: {
          model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
        },
      },
    }
    ```
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list
    ```
  </Step>
</Steps>

<Tip>
使用环境标记凭证(`AWS_ACCESS_KEY_ID``AWS_PROFILE`  `AWS_BEARER_TOKEN_BEDROCK`)时,OpenClaw 会自动启用隐式 Bedrock 提供商,用于模型发现,无需额外配置。
</Tip>


最适合:附加了 IAM 角色的 EC2 实例,使用实例元数据服务进行身份验证。

<Steps>
  <Step title="显式启用发现">
    使用 IMDS 时,OpenClaw 无法仅通过环境标记检测 AWS 凭证,因此你必须选择启用:

    ```bash
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
    ```
  </Step>
  <Step title="可选:为自动模式添加环境标记">
    如果你还希望环境标记自动检测路径生效(例如用于 `openclaw status` 界面):

    ```bash
    export AWS_PROFILE=default
    export AWS_REGION=us-east-1
    ```

    ****需要假的 API 密钥。
  </Step>
  <Step title="验证模型已被发现">
    ```bash
    openclaw models list
    ```
  </Step>
</Steps>

<Warning>
附加到你的 EC2 实例的 IAM 角色必须具有以下权限:

- `bedrock:InvokeModel`
- `bedrock:InvokeModelWithResponseStream`
- `bedrock:ListFoundationModels`(用于自动发现)
- `bedrock:ListInferenceProfiles`(用于推理配置文件发现)

或附加托管策略 `AmazonBedrockFullAccess`
</Warning>

<Note>
只有当你明确需要用于自动模式或状态界面的环境标记时,才需要 `AWS_PROFILE=default`。实际的 Bedrock 运行时凭证路径使用 AWS SDK 默认链,因此即使没有环境标记,IMDS 实例角色凭证也能正常工作。
</Note>


自动模型发现

OpenClaw 可以自动发现支持流式传输文本输出的 Bedrock 模型。发现使用 bedrock:ListFoundationModelsbedrock:ListInferenceProfiles,结果会被缓存(默认:1 小时)。

隐式提供商的启用方式:

  • 如果 plugins.entries.amazon-bedrock.config.discovery.enabledtrue
    即使没有 AWS 环境变量标记,OpenClaw 也会尝试设备发现。
  • 如果未设置 plugins.entries.amazon-bedrock.config.discovery.enabled
    OpenClaw 只会在看到以下 AWS 凭证标记之一时,才自动添加
    隐式 Bedrock 提供商:
    AWS_BEARER_TOKEN_BEDROCKAWS_ACCESS_KEY_ID +
    AWS_SECRET_ACCESS_KEY,或 AWS_PROFILE
  • 实际的 Bedrock 运行时凭证路径仍使用 AWS SDK 默认链,因此
    共享配置、SSO 和 IMDS 实例角色凭证即使在设备发现需要
    enabled: true 才能选择启用时也可以工作。


对于显式的 models.providers["amazon-bedrock"] 条目,OpenClaw 仍可从 AWS_BEARER_TOKEN_BEDROCK 等 AWS 环境变量标记提前解析 Bedrock 环境变量标记凭证,而无需强制加载完整运行时凭证。实际的模型调用凭证路径仍使用 AWS SDK 默认链。



配置选项位于 plugins.entries.amazon-bedrock.config.discovery 下:

```json5
{
  plugins: {
    entries: {
      "amazon-bedrock": {
        config: {
          discovery: {
            enabled: true,
            region: "us-east-1",
            providerFilter: ["anthropic", "amazon"],
            refreshInterval: 3600,
            defaultContextWindow: 32000,
            defaultMaxTokens: 4096,
          },
        },
      },
    },
  },
}
```

| 选项 | 默认值 | 说明 |
| ------ | ------- | ----------- |
| `enabled` | auto |  auto 模式下,OpenClaw 只有在看到受支持的 AWS 环境变量标记时,才会启用隐式 Bedrock 提供商。设为 `true` 可强制设备发现。 |
| `region` | `AWS_REGION` / `AWS_DEFAULT_REGION` / `us-east-1` | 用于设备发现 API 调用的 AWS 区域。 |
| `providerFilter` | (all) | 匹配 Bedrock 提供商名称(例如 `anthropic``amazon`)。 |
| `refreshInterval` | `3600` | 缓存时长,单位为秒。设为 `0` 可禁用缓存。 |
| `defaultContextWindow` | `32000` | 用于已发现模型的上下文窗口(如果你知道模型限制,可覆盖)。 |
| `defaultMaxTokens` | `4096` | 用于已发现模型的最大输出 token 数(如果你知道模型限制,可覆盖)。 |


快速设置(AWS 路径)

本演练会创建 IAM 角色、附加 Bedrock 权限、关联
实例配置文件,并在 EC2 主机上启用 OpenClaw 设备发现。

# 1. Create IAM role and instance profile
aws iam create-role --role-name EC2-Bedrock-Access \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"Service": "ec2.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }]
  }'

aws iam attach-role-policy --role-name EC2-Bedrock-Access \
  --policy-arn arn:aws:iam::aws:policy/AmazonBedrockFullAccess

aws iam create-instance-profile --instance-profile-name EC2-Bedrock-Access
aws iam add-role-to-instance-profile \
  --instance-profile-name EC2-Bedrock-Access \
  --role-name EC2-Bedrock-Access

# 2. Attach to your EC2 instance
aws ec2 associate-iam-instance-profile \
  --instance-id i-xxxxx \
  --iam-instance-profile Name=EC2-Bedrock-Access

# 3. On the EC2 instance, enable discovery explicitly
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1

# 4. Optional: add an env marker if you want auto mode without explicit enable
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc

# 5. Verify models are discovered
openclaw models list

高级配置



OpenClaw 会在发现基础模型的同时发现区域和全局推理配置文件。当某个配置文件映射到已知基础模型时,该配置文件会继承该模型的能力(上下文窗口、最大 token 数、推理、视觉),并自动注入正确的 Bedrock 请求区域。这意味着跨区域 Claude 配置文件无需手动提供商覆盖即可工作。

推理配置文件 ID 的形式类似于 `us.anthropic.claude-opus-4-6-v1:0`(区域)或 `anthropic.claude-opus-4-6-v1:0`(全局)。如果其背后的模型已经在发现结果中,该配置文件会继承其完整能力集;否则会应用安全默认值。

不需要额外配置。只要已启用发现,并且 IAM 主体拥有 `bedrock:ListInferenceProfiles`,配置文件就会与基础模型一起出现在 `openclaw models list` 中。


一些 Bedrock 模型支持 service_tier 参数,用于优化成本或延迟。可用层级如下:

| 层级 | 描述 |
|------|-------------|
| `default` | 标准 Bedrock 层级 |
| `flex` | 为可容忍更长延迟的工作负载提供折扣处理 |
| `priority` | 为延迟敏感型工作负载提供优先处理 |
| `reserved` | 为稳态工作负载提供预留容量 |

通过 `agents.defaults.params`  Bedrock 模型请求设置 `serviceTier`(或 `service_tier`),或在 `agents.defaults.models["<model-key>"].params` 中按模型设置:

```json5
{
  agents: {
    defaults: {
      params: {
        serviceTier: "flex", // applies to all models
      },
      models: {
        "amazon-bedrock/mistral.mistral-large-3-675b-instruct": {
          params: {
            serviceTier: "priority", // per-model override
          },
        },
      },
    },
  },
}
```

有效值为 `default``flex``priority`  `reserved`。并非所有模型都支持所有层级。如果请求了不受支持的层级,Bedrock 会返回验证错误。注意:该错误消息有些误导;它可能会说“The provided model identifier is invalid”,而不是指出服务层级不受支持。如果你看到此错误,请检查该模型是否支持所请求的层级。


Bedrock 会拒绝 Claude Opus 4.7 的 temperature 参数。对于任何 Opus 4.7 Bedrock 引用,OpenClaw 都会自动省略 temperature,包括基础模型 ID、命名推理配置文件、其底层模型通过 bedrock:GetInferenceProfile 解析为 Opus 4.7 的应用推理配置文件,以及带有可选区域前缀(us.eu.ap.apac.au.jp.global.)的点分 opus-4.7 变体。不需要配置开关,并且该省略同时适用于请求选项对象和 inferenceConfig 载荷字段。


你可以通过在 amazon-bedrock 插件配置中添加 guardrail 对象,将 Amazon Bedrock Guardrails
应用于所有 Bedrock 模型调用。Guardrails 允许你强制执行内容过滤、
主题拒绝、词语过滤、敏感信息过滤和上下文
grounding 检查。

```json5
{
  plugins: {
    entries: {
      "amazon-bedrock": {
        config: {
          guardrail: {
            guardrailIdentifier: "abc123", // guardrail ID or full ARN
            guardrailVersion: "1", // version number or "DRAFT"
            streamProcessingMode: "sync", // optional: "sync" or "async"
            trace: "enabled", // optional: "enabled", "disabled", or "enabled_full"
          },
        },
      },
    },
  },
}
```

| 选项 | 必填 | 描述 |
| ------ | -------- | ----------- |
| `guardrailIdentifier` |  | Guardrail ID(例如 `abc123`)或完整 ARN(例如 `arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123`)。 |
| `guardrailVersion` |  | 已发布的版本号,或用于工作草稿的 `"DRAFT"` |
| `streamProcessingMode` |  | 流式传输期间进行 guardrail 评估时使用 `"sync"`  `"async"`。如果省略,Bedrock 会使用默认值。 |
| `trace` |  | 调试时使用 `"enabled"`  `"enabled_full"`;生产环境中省略或设为 `"disabled"` |

<Warning>
Gateway 网关使用的 IAM 主体除了标准调用权限外,还必须拥有 `bedrock:ApplyGuardrail` 权限。
</Warning>


Bedrock 也可以作为
记忆搜索的嵌入提供商。这与
推理提供商分开配置,将 agents.defaults.memorySearch.provider 设为 "bedrock"

```json5
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "bedrock",
        model: "amazon.titan-embed-text-v2:0", // default
      },
    },
  },
}
```

Bedrock 嵌入使用与推理相同的 AWS SDK 凭证链(实例
角色、SSO、访问密钥、共享配置和 Web 身份)。不需要 API key。当 `provider`
 `"auto"` 时,如果该凭证链成功解析,Bedrock 会被自动检测到。

支持的嵌入模型包括 Amazon Titan Embed(v1、v2)、Amazon Nova
Embed、Cohere Embed(v3、v4)和 TwelveLabs Marengo。完整模型列表和维度选项见
[记忆配置参考 -- Bedrock](/zh-CN/reference/memory-config#bedrock-embedding-config)。


- Bedrock 要求在你的 AWS 账户/区域中启用模型访问权限
- 自动发现需要 bedrock:ListFoundationModels
bedrock:ListInferenceProfiles 权限。
- 如果你依赖自动模式,请在 Gateway 网关主机上设置一个受支持的 AWS 认证环境标记。如果你偏好使用没有环境标记的 IMDS/共享配置认证,请设置
plugins.entries.amazon-bedrock.config.discovery.enabled: true
- OpenClaw 按以下顺序展示凭证来源:AWS_BEARER_TOKEN_BEDROCK
然后是 AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY,然后是 AWS_PROFILE,最后是
默认 AWS SDK 链。
- 推理支持取决于模型;请查看 Bedrock 模型卡以了解
当前能力。
- 如果你偏好托管密钥流程,也可以在 Bedrock 前放置一个 OpenAI 兼容的
代理,并将其配置为 OpenAI provider。

相关内容



选择提供商、模型引用和故障转移行为。


用于记忆搜索配置的 Bedrock 嵌入。


完整的 Bedrock 嵌入模型列表和维度选项。


通用故障排除和常见问题。


📄 Claude Max API 代理

原文:https://docs.openclaw.ai/zh-CN/providers/claude-max-api-proxy

claude-max-api-proxy 是一个社区工具,可将你的 Claude Max/Pro 订阅暴露为兼容 OpenAI 的 API 端点。这样一来,你就可以在任何支持 OpenAI API 格式的工具中使用你的订阅。


这条路径仅用于技术兼容性。Anthropic 过去曾阻止在 Claude Code 之外使用某些订阅
方式。你必须自行决定是否使用它,并在依赖它之前核实 Anthropic 当前的条款。

为什么要使用它?

方式 成本 最适合
Anthropic API 按 token 付费(Opus 约为输入 $15/M,输出 $75/M) 生产应用、高流量
Claude Max 订阅 每月固定 $200 个人使用、开发、无限量使用

如果你有 Claude Max 订阅,并且希望将其与兼容 OpenAI 的工具一起使用,那么这个代理可能会降低某些工作流的成本。对于生产用途,API key 仍然是更清晰的策略路径。

工作原理

你的应用 → claude-max-api-proxy → Claude Code CLI → Anthropic(通过订阅)
     (OpenAI 格式)              (转换格式)      (使用你的登录)

该代理会:

  1. http://localhost:3456/v1/chat/completions 接收 OpenAI 格式请求
  2. 将其转换为 Claude Code CLI 命令
  3. 以 OpenAI 格式返回响应(支持流式传输)

快速开始



需要 Node.js 20+ 和 Claude Code CLI。

```bash
npm install -g claude-max-api-proxy

# Verify Claude CLI is authenticated
claude --version
```



bash
claude-max-api
# Server runs at http://localhost:3456



```bash
# Health check
curl http://localhost:3456/health

# List models
curl http://localhost:3456/v1/models

# Chat completion
curl http://localhost:3456/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
```



将 OpenClaw 指向该代理,作为一个自定义的兼容 OpenAI 端点:

```json5
{
  env: {
    OPENAI_API_KEY: "not-needed",
    OPENAI_BASE_URL: "http://localhost:3456/v1",
  },
  agents: {
    defaults: {
      model: { primary: "openai/claude-opus-4" },
    },
  },
}
```


内置目录

模型 ID 映射到
claude-opus-4 Claude Opus 4
claude-sonnet-4 Claude Sonnet 4
claude-haiku-4 Claude Haiku 4

高级配置



这条路径与其他自定义 /v1 后端一样,使用同一种代理风格的兼容 OpenAI 路由:

- 不适用原生仅限 OpenAI 的请求塑形
- 不支持 `service_tier`、不支持 Responses `store`、不支持提示缓存提示,也不支持
  OpenAI 推理兼容负载塑形
- 不会在该代理 URL 上注入隐藏的 OpenClaw 归属 headers(`originator``version``User-Agent`


创建一个 LaunchAgent 以自动运行该代理:

```bash
cat > ~/Library/LaunchAgents/com.claude-max-api.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.claude-max-api</string>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/node</string>
    <string>/usr/local/lib/node_modules/claude-max-api-proxy/dist/server/standalone.js</string>
  </array>
  <key>EnvironmentVariables</key>
  <dict>
    <key>PATH</key>
    <string>/usr/local/bin:/opt/homebrew/bin:~/.local/bin:/usr/bin:/bin</string>
  </dict>
</dict>
</plist>
EOF

launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.claude-max-api.plist
```


链接

说明

  • 这是一个社区工具,并未获得 Anthropic 或 OpenClaw 的官方支持
  • 需要已启用的 Claude Max/Pro 订阅,并且 Claude Code CLI 已完成认证
  • 该代理在本地运行,不会将数据发送到任何第三方服务器
  • 完整支持流式响应


如需使用通过 Claude CLI 或 API key 的原生 Anthropic 集成,请参见 Anthropic 提供商。如需使用 OpenAI/Codex 订阅,请参见 OpenAI 提供商

相关内容



通过 Claude CLI 或 API key 实现的原生 OpenClaw 集成。


用于 OpenAI/Codex 订阅。


所有提供商、模型引用和故障转移行为的概览。


完整配置参考。


📄 Deepgram

原文:https://docs.openclaw.ai/zh-CN/providers/deepgram

Deepgram 是一个语音转文本 API。在 OpenClaw 中,它用于通过 tools.media.audio 对入站音频 / 语音消息进行转写,也用于通过 plugins.entries.voice-call.config.streaming 为 Voice Call 提供流式 STT。

对于批量转写,OpenClaw 会将完整音频文件上传到 Deepgram,并将转写结果注入回复流水线({{Transcript}} + [Audio] 块)。对于 Voice Call 流式场景,OpenClaw 会通过 Deepgram 的 WebSocket listen 端点转发实时 G.711 u-law 帧,并在 Deepgram 返回时发出部分或最终转写结果。

详情
网站 deepgram.com
文档 developers.deepgram.com
认证 DEEPGRAM_API_KEY
默认模型 nova-3

入门指南



将你的 Deepgram API 密钥添加到环境变量中:

```
DEEPGRAM_API_KEY=dg_...
```



json5
{
tools: {
media: {
audio: {
enabled: true,
models: [{ provider: "deepgram", model: "nova-3" }],
},
},
},
}



通过任意已连接渠道发送一条音频消息。OpenClaw 会通过 Deepgram 对其进行转写,并将转写结果注入回复流水线。

配置选项

选项 路径 说明
model tools.media.audio.models[].model Deepgram 模型 id(默认:nova-3
language tools.media.audio.models[].language 语言提示(可选)
detect_language tools.media.audio.providerOptions.deepgram.detect_language 启用语言检测(可选)
punctuate tools.media.audio.providerOptions.deepgram.punctuate 启用标点(可选)
smart_format tools.media.audio.providerOptions.deepgram.smart_format 启用智能格式化(可选)



json5
{
tools: {
media: {
audio: {
enabled: true,
models: [{ provider: "deepgram", model: "nova-3", language: "en" }],
},
},
},
}



json5
{
tools: {
media: {
audio: {
enabled: true,
providerOptions: {
deepgram: {
detect_language: true,
punctuate: true,
smart_format: true,
},
},
models: [{ provider: "deepgram", model: "nova-3" }],
},
},
},
}


Voice Call 流式 STT

内置的 deepgram 插件也为 Voice Call 插件注册了一个实时转写提供商。

设置 配置路径 默认值
API 密钥 plugins.entries.voice-call.config.streaming.providers.deepgram.apiKey 回退到 DEEPGRAM_API_KEY
模型 ...deepgram.model nova-3
语言 ...deepgram.language (未设置)
编码 ...deepgram.encoding mulaw
采样率 ...deepgram.sampleRate 8000
端点检测 ...deepgram.endpointingMs 800
中间结果 ...deepgram.interimResults true
{
  plugins: {
    entries: {
      "voice-call": {
        config: {
          streaming: {
            enabled: true,
            provider: "deepgram",
            providers: {
              deepgram: {
                apiKey: "${DEEPGRAM_API_KEY}",
                model: "nova-3",
                endpointingMs: 800,
                language: "en-US",
              },
            },
          },
        },
      },
    },
  },
}


Voice Call 接收的是 8 kHz G.711 u-law 电话音频。Deepgram 流式提供商默认使用 encoding: "mulaw"sampleRate: 8000,因此可以直接转发 Twilio 媒体帧。

说明



认证遵循标准提供商认证顺序。DEEPGRAM_API_KEY 是最简单的方式。


使用代理时,可通过 tools.media.audio.baseUrltools.media.audio.headers 覆盖端点或请求头。


输出遵循与其他提供商相同的音频规则(大小上限、超时、转写注入)。

相关内容



音频、图像和视频处理流水线概览。


完整的配置参考,包括媒体工具设置。


常见问题和调试步骤。


关于 OpenClaw 设置的常见问题。


📄 GitHub Copilot

原文:https://docs.openclaw.ai/zh-CN/providers/github-copilot

GitHub Copilot 是 GitHub 的 AI 编码助手。它为你的 GitHub 账户和套餐提供 Copilot
模型访问权限。OpenClaw 可以通过两种不同方式将 Copilot 用作模型
提供商。

在 OpenClaw 中使用 Copilot 的两种方式



使用原生设备登录流程获取 GitHub token,然后在 OpenClaw 运行时将其交换为
Copilot API token。这是默认且最简单的路径,
因为它不需要 VS Code。

<Steps>
  <Step title="运行登录命令">
    ```bash
    openclaw models auth login-github-copilot
    ```

    系统会提示你访问一个 URL 并输入一次性代码。保持
    终端打开,直到流程完成。
  </Step>
  <Step title="设置默认模型">
    ```bash
    openclaw models set github-copilot/claude-opus-4.7
    ```

    或在配置中:

    ```json5
    {
      agents: {
        defaults: { model: { primary: "github-copilot/claude-opus-4.7" } },
      },
    }
    ```
  </Step>
</Steps>


使用 Copilot Proxy VS Code 扩展作为本地桥接。OpenClaw 会连接到
该代理的 /v1 端点,并使用你在那里配置的模型列表。

<Note>
当你已经在 VS Code 中运行 Copilot Proxy,或需要通过它进行路由时选择此项。
你必须启用该插件,并保持 VS Code 扩展运行。
</Note>


可选标志

标志 描述
--yes 跳过确认提示
--set-default 同时应用该提供商推荐的默认模型
# Skip confirmation
openclaw models auth login-github-copilot --yes

# Login and set the default model in one step
openclaw models auth login --provider github-copilot --method device --set-default

非交互式新手引导

如果你已经有用于 Copilot 的 GitHub OAuth access token,可以在
headless 设置期间通过 openclaw onboard --non-interactive 导入它:

openclaw onboard --non-interactive --accept-risk \
  --auth-choice github-copilot \
  --github-copilot-token "$COPILOT_GITHUB_TOKEN" \
  --skip-channels --skip-health

你也可以省略 --auth-choice;传入 --github-copilot-token 会推断为
GitHub Copilot 提供商认证选择。如果省略该标志,新手引导会
回退到 COPILOT_GITHUB_TOKENGH_TOKEN,然后是 GITHUB_TOKEN。在设置了
COPILOT_GITHUB_TOKEN 时使用 --secret-input-mode ref,可以存储由环境变量支持的
tokenRef,而不是在 auth-profiles.json 中存储明文。



设备登录流程需要交互式 TTY。请直接在
终端中运行它,不要在非交互式脚本或 CI 流水线中运行。


Copilot 模型可用性取决于你的 GitHub 套餐。如果某个模型被
拒绝,请尝试另一个 ID(例如 github-copilot/gpt-4.1)。


一旦设备登录(或环境变量)认证路径解析出 GitHub token,
OpenClaw 会按需从 ${baseUrl}/models
(与 VS Code Copilot 使用的相同端点)刷新模型目录,因此运行时可以跟踪
每个账户的权限和准确的上下文窗口,而无需改动清单。
新发布的 Copilot 模型无需 OpenClaw
升级即可显示,并且上下文窗口会反映真实的单模型限制
(例如 gpt-5.x 系列为 400k,内部
claude-opus-*-1m 变体为 1M)。

当设备发现被禁用、用户没有 GitHub 认证配置文件、token 交换
失败,或 `/models` HTTPS 调用出错时,内置静态目录会作为可见回退。
如需选择退出并完全依赖静态清单目录(离线 / 隔离网络场景):

```json5
{
  plugins: {
    entries: {
      "github-copilot": {
        config: { discovery: { enabled: false } },
      },
    },
  },
}
```


Claude 模型 ID 会自动使用 Anthropic Messages 传输协议。GPT、
o-series 和 Gemini 模型保留 OpenAI Responses 传输协议。OpenClaw
会根据模型引用选择正确的传输协议。


OpenClaw 会在 Copilot 传输协议上发送 Copilot IDE 风格的请求头,
包括内置压缩、工具结果和图像后续轮次。它
不会为 Copilot 启用提供商级 Responses continuation,除非
该行为已针对 Copilot 的 API 完成验证。


OpenClaw 会按以下优先级顺序从环境变量解析 Copilot 认证:

| 优先级 | 变量              | 说明                            |
| -------- | --------------------- | -------------------------------- |
| 1        | `COPILOT_GITHUB_TOKEN` | 最高优先级,Copilot 专用 |
| 2        | `GH_TOKEN`            | GitHub CLI token(回退)      |
| 3        | `GITHUB_TOKEN`        | 标准 GitHub token(最低)   |

当设置了多个变量时,OpenClaw 会使用优先级最高的那个。
设备登录流程(`openclaw models auth login-github-copilot`)会将
 token 存储在认证配置文件存储中,并优先于所有环境
变量。


登录会在认证配置文件存储中保存 GitHub token,并在
OpenClaw 运行时将其交换为 Copilot API token。你无需手动管理
token。


设备登录命令需要交互式 TTY。当你需要 headless 设置时,请使用非交互式
新手引导。

记忆搜索嵌入

GitHub Copilot 也可以作为
记忆搜索的嵌入提供商。如果你有 Copilot 订阅并且
已登录,OpenClaw 可以在无需单独 API key 的情况下将其用于嵌入。

自动检测

memorySearch.provider"auto"(默认值)时,GitHub Copilot 会以
优先级 15 被尝试 -- 在本地嵌入之后,但在 OpenAI 和其他付费
提供商之前。如果 GitHub token 可用,OpenClaw 会从 Copilot API 发现可用的
嵌入模型,并自动选择最佳模型。

显式配置

{
  agents: {
    defaults: {
      memorySearch: {
        provider: "github-copilot",
        // Optional: override the auto-discovered model
        model: "text-embedding-3-small",
      },
    },
  },
}

工作原理

  1. OpenClaw 解析你的 GitHub token(来自环境变量或认证配置文件)。
  2. 将其交换为短期有效的 Copilot API token。
  3. 查询 Copilot /models 端点以发现可用的嵌入模型。
  4. 选择最佳模型(优先选择 text-embedding-3-small)。
  5. 将嵌入请求发送到 Copilot /embeddings 端点。

模型可用性取决于你的 GitHub 套餐。如果没有可用的嵌入模型,
OpenClaw 会跳过 Copilot 并尝试下一个提供商。

相关内容



选择提供商、模型引用和故障转移行为。


认证详情和凭据复用规则。


📄 Moonshot AI

原文:https://docs.openclaw.ai/zh-CN/providers/moonshot

Moonshot 提供具有 OpenAI 兼容端点的 Kimi API。配置
provider,并将默认模型设置为 moonshot/kimi-k2.6,或通过
kimi/kimi-for-coding 使用 Kimi Coding。


Moonshot 和 Kimi Coding 是不同的提供商。密钥不可互换,端点不同,模型引用也不同(moonshot/...kimi/...)。

内置模型目录

模型引用 名称 推理 输入 上下文 最大输出
moonshot/kimi-k2.6 Kimi K2.6 文本,图像 262,144 262,144
moonshot/kimi-k2.5 Kimi K2.5 文本,图像 262,144 262,144
moonshot/kimi-k2-thinking Kimi K2 Thinking 文本 262,144 262,144
moonshot/kimi-k2-thinking-turbo Kimi K2 Thinking Turbo 文本 262,144 262,144
moonshot/kimi-k2-turbo Kimi K2 Turbo 文本 256,000 16,384

当前由 Moonshot 托管的 K2 模型的内置成本估算使用 Moonshot
发布的按量付费费率:Kimi K2.6 为缓存命中 $0.16/MTok、
输入 $0.95/MTok、输出 $4.00/MTok;Kimi K2.5 为缓存命中 $0.10/MTok、
输入 $0.60/MTok、输出 $3.00/MTok。其他旧版目录条目会保留
零成本占位符,除非你在配置中覆盖它们。

入门指南

选择你的提供商并按照设置步骤操作。



最适合: 通过 Moonshot Open Platform 使用 Kimi K2 模型。

<Steps>
  <Step title="Choose your endpoint region">
    | 凭证选择               | 端点                           | 地区          |
    | ---------------------- | ------------------------------ | ------------- |
    | `moonshot-api-key`     | `https://api.moonshot.ai/v1`   | 国际版        |
    | `moonshot-api-key-cn`  | `https://api.moonshot.cn/v1`   | 中国          |
  </Step>
  <Step title="Run onboarding">
    ```bash
    openclaw onboard --auth-choice moonshot-api-key
    ```

    或者使用中国端点:

    ```bash
    openclaw onboard --auth-choice moonshot-api-key-cn
    ```
  </Step>
  <Step title="Set a default model">
    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "moonshot/kimi-k2.6" },
        },
      },
    }
    ```
  </Step>
  <Step title="Verify models are available">
    ```bash
    openclaw models list --provider moonshot
    ```
  </Step>
  <Step title="Run a live smoke test">
    当你想验证模型访问和成本跟踪,同时不影响你的常规会话时,
    使用隔离的状态目录:

    ```bash
    OPENCLAW_CONFIG_PATH=/tmp/openclaw-kimi/openclaw.json \
    OPENCLAW_STATE_DIR=/tmp/openclaw-kimi \
    openclaw agent --local \
      --session-id live-kimi-cost \
      --message 'Reply exactly: KIMI_LIVE_OK' \
      --thinking off \
      --json
    ```

    JSON 响应应报告 `provider: "moonshot"`     `model: "kimi-k2.6"`。当 Moonshot 返回使用量元数据时,
    assistant 转录条目会在 `usage.cost` 下存储规范化的
    token 使用量以及估算成本。
  </Step>
</Steps>

### 配置示例

```json5
{
  env: { MOONSHOT_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "moonshot/kimi-k2.6" },
      models: {
        // moonshot-kimi-k2-aliases:start
        "moonshot/kimi-k2.6": { alias: "Kimi K2.6" },
        "moonshot/kimi-k2.5": { alias: "Kimi K2.5" },
        "moonshot/kimi-k2-thinking": { alias: "Kimi K2 Thinking" },
        "moonshot/kimi-k2-thinking-turbo": { alias: "Kimi K2 Thinking Turbo" },
        "moonshot/kimi-k2-turbo": { alias: "Kimi K2 Turbo" },
        // moonshot-kimi-k2-aliases:end
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      moonshot: {
        baseUrl: "https://api.moonshot.ai/v1",
        apiKey: "${MOONSHOT_API_KEY}",
        api: "openai-completions",
        models: [
          // moonshot-kimi-k2-models:start
          {
            id: "kimi-k2.6",
            name: "Kimi K2.6",
            reasoning: false,
            input: ["text", "image"],
            cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 262144,
          },
          {
            id: "kimi-k2.5",
            name: "Kimi K2.5",
            reasoning: false,
            input: ["text", "image"],
            cost: { input: 0.6, output: 3, cacheRead: 0.1, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 262144,
          },
          {
            id: "kimi-k2-thinking",
            name: "Kimi K2 Thinking",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 262144,
          },
          {
            id: "kimi-k2-thinking-turbo",
            name: "Kimi K2 Thinking Turbo",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 262144,
          },
          {
            id: "kimi-k2-turbo",
            name: "Kimi K2 Turbo",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 16384,
          },
          // moonshot-kimi-k2-models:end
        ],
      },
    },
  },
}
```


最适合: 通过 Kimi Coding 端点执行以代码为中心的任务。

<Note>
Kimi Coding 使用不同于 Moonshot(`moonshot/...`)的 API 密钥和提供商前缀(`kimi/...`)。稳定的 API 模型引用是 `kimi/kimi-for-coding`;旧版引用 `kimi/kimi-code`  `kimi/k2p5` 仍可接受,并会规范化为该 API 模型 ID。
</Note>

<Steps>
  <Step title="Run onboarding">
    ```bash
    openclaw onboard --auth-choice kimi-code-api-key
    ```
  </Step>
  <Step title="Set a default model">
    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "kimi/kimi-for-coding" },
        },
      },
    }
    ```
  </Step>
  <Step title="Verify the model is available">
    ```bash
    openclaw models list --provider kimi
    ```
  </Step>
</Steps>

### 配置示例

```json5
{
  env: { KIMI_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "kimi/kimi-for-coding" },
      models: {
        "kimi/kimi-for-coding": { alias: "Kimi" },
      },
    },
  },
}
```


Kimi Web 搜索

OpenClaw 还将 Kimi 作为 web_search 提供商随附提供,由 Moonshot Web 搜索支持。



bash
openclaw configure --section web

在 Web 搜索部分选择 **Kimi**,以存储
`plugins.entries.moonshot.config.webSearch.*`



交互式设置会提示:

| 设置                | 选项                                                                 |
| ------------------- | -------------------------------------------------------------------- |
| API 区域            | `https://api.moonshot.ai/v1`(国际版)或 `https://api.moonshot.cn/v1`(中国) |
| Web 搜索模型        | 默认为 `kimi-k2.6`                                                   |


配置位于 plugins.entries.moonshot.config.webSearch 下:

{
  plugins: {
    entries: {
      moonshot: {
        config: {
          webSearch: {
            apiKey: "sk-...", // or use KIMI_API_KEY / MOONSHOT_API_KEY
            baseUrl: "https://api.moonshot.ai/v1",
            model: "kimi-k2.6",
          },
        },
      },
    },
  },
  tools: {
    web: {
      search: {
        provider: "kimi",
      },
    },
  },
}

高级配置



Moonshot Kimi 支持二进制原生思考:

- `thinking: { type: "enabled" }`
- `thinking: { type: "disabled" }`

通过 `agents.defaults.models.<provider/model>.params` 按模型配置:

```json5
{
  agents: {
    defaults: {
      models: {
        "moonshot/kimi-k2.6": {
          params: {
            thinking: { type: "disabled" },
          },
        },
      },
    },
  },
}
```

OpenClaw 还会为 Moonshot 映射运行时 `/think` 级别:

| `/think` 级别       | Moonshot 行为          |
| -------------------- | -------------------------- |
| `/think off`         | `thinking.type=disabled`   |
| 任何非 off 级别    | `thinking.type=enabled`    |

<Warning>
启用 Moonshot 思考时,`tool_choice` 必须为 `auto`  `none`。为保持兼容性,OpenClaw 会将不兼容的 `tool_choice` 值规范化为 `auto`
</Warning>

Kimi K2.6 还接受可选的 `thinking.keep` 字段,用于控制
`reasoning_content` 的多轮保留。将其设置为 `"all"` 可在轮次之间保留完整
推理;省略它(或将其保留为 `null`)则使用服务器
默认策略。OpenClaw 只会为
`moonshot/kimi-k2.6` 转发 `thinking.keep`,并会从其他模型中移除它。

```json5
{
  agents: {
    defaults: {
      models: {
        "moonshot/kimi-k2.6": {
          params: {
            thinking: { type: "enabled", keep: "all" },
          },
        },
      },
    },
  },
}
```


Moonshot Kimi 提供的 tool_call ID 形如 functions.<name>:<index>。OpenClaw 会原样保留它们,因此多轮工具调用可以继续正常工作。

若要在自定义 OpenAI 兼容提供商上强制严格清理,请设置 `sanitizeToolCallIds: true`:

```json5
{
  models: {
    providers: {
      "my-kimi-proxy": {
        api: "openai-completions",
        sanitizeToolCallIds: true,
      },
    },
  },
}
```


原生 Moonshot 端点(https://api.moonshot.ai/v1
https://api.moonshot.cn/v1)会在共享的
openai-completions 传输协议上声明流式用量兼容性。OpenClaw 会基于端点
能力启用该行为,因此面向相同原生
Moonshot 主机的兼容自定义提供商 ID 会继承相同的流式用量行为。

使用内置 K2.6 定价时,包含输入、输出
和缓存读取 token 的流式用量也会转换为本地估算的美元费用,用于
`/status`、`/usage full`、`/usage cost`,以及基于转录记录的会话
计费。


| 提供商 | 模型引用前缀 | 端点 | 认证环境变量 |
| ---------- | ---------------- | ----------------------------- | ------------------- |
| Moonshot | moonshot/ | https://api.moonshot.ai/v1 | MOONSHOT_API_KEY |
| Moonshot CN| moonshot/ | https://api.moonshot.cn/v1 | MOONSHOT_API_KEY |
| Kimi Coding| kimi/ | Kimi Coding 端点 | KIMI_API_KEY |
| Web 搜索 | N/A | 与 Moonshot API 区域相同 | KIMI_API_KEYMOONSHOT_API_KEY |

- Kimi Web 搜索使用 `KIMI_API_KEY`  `MOONSHOT_API_KEY`,并默认使用 `https://api.moonshot.ai/v1` 和模型 `kimi-k2.6`
- 如有需要,可在 `models.providers` 中覆盖定价和上下文元数据。
- 如果 Moonshot 为某个模型发布了不同的上下文限制,请相应调整 `contextWindow`


相关



选择提供商、模型引用和故障转移行为。


配置包括 Kimi 在内的 Web 搜索提供商。


提供商、模型和插件的完整配置架构。


Moonshot API 密钥管理和文档。


📄 MiniMax

原文:https://docs.openclaw.ai/zh-CN/providers/minimax

OpenClaw 的 MiniMax 提供商默认使用 MiniMax M2.7

MiniMax 还提供:

  • 通过 T2A v2 内置语音合成
  • 通过 MiniMax-VL-01 内置图像理解
  • 通过 music-2.6 内置音乐生成
  • 通过 MiniMax Token Plan 搜索 API 内置 web_search

提供商拆分:

提供商 ID 凭证 能力
minimax API key 文本、图像生成、音乐生成、视频生成、图像理解、语音、Web 搜索
minimax-portal OAuth 文本、图像生成、音乐生成、视频生成、图像理解、语音

内置目录

模型 类型 描述
MiniMax-M2.7 聊天(推理) 默认托管推理模型
MiniMax-M2.7-highspeed 聊天(推理) 更快的 M2.7 推理层级
MiniMax-VL-01 视觉 图像理解模型
image-01 图像生成 文生图和图生图编辑
music-2.6 音乐生成 默认音乐模型
music-2.5 音乐生成 上一代音乐生成层级
music-2.0 音乐生成 旧版音乐生成层级
MiniMax-Hailuo-2.3 视频生成 文生视频和图像参考流程

入门指南

选择你偏好的凭证方式并按照设置步骤操作。



最适合: 通过 OAuth 快速设置 MiniMax Coding Plan,无需 API key。

<Tabs>
  <Tab title="International">
    <Steps>
      <Step title="Run onboarding">
        ```bash
        openclaw onboard --auth-choice minimax-global-oauth
        ```

        这会针对 `api.minimax.io` 进行身份验证。
      </Step>
      <Step title="Verify the model is available">
        ```bash
        openclaw models list --provider minimax-portal
        ```
      </Step>
    </Steps>
  </Tab>
  <Tab title="China">
    <Steps>
      <Step title="Run onboarding">
        ```bash
        openclaw onboard --auth-choice minimax-cn-oauth
        ```

        这会针对 `api.minimaxi.com` 进行身份验证。
      </Step>
      <Step title="Verify the model is available">
        ```bash
        openclaw models list --provider minimax-portal
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

<Note>
OAuth 设置使用 `minimax-portal` 提供商 ID。模型引用遵循 `minimax-portal/MiniMax-M2.7` 格式。
</Note>

<Tip>
MiniMax Coding Plan 推荐链接(九折):[MiniMax Coding Plan](https://platform.minimax.io/subscribe/coding-plan?code=DbXJTRClnb&source=link)
</Tip>


最适合: 使用 Anthropic 兼容 API 的托管 MiniMax。

<Tabs>
  <Tab title="International">
    <Steps>
      <Step title="Run onboarding">
        ```bash
        openclaw onboard --auth-choice minimax-global-api
        ```

        这会将 `api.minimax.io` 配置为基础 URL。
      </Step>
      <Step title="Verify the model is available">
        ```bash
        openclaw models list --provider minimax
        ```
      </Step>
    </Steps>
  </Tab>
  <Tab title="China">
    <Steps>
      <Step title="Run onboarding">
        ```bash
        openclaw onboard --auth-choice minimax-cn-api
        ```

        这会将 `api.minimaxi.com` 配置为基础 URL。
      </Step>
      <Step title="Verify the model is available">
        ```bash
        openclaw models list --provider minimax
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

### 配置示例

```json5
{
  env: { MINIMAX_API_KEY: "sk-..." },
  agents: { defaults: { model: { primary: "minimax/MiniMax-M2.7" } } },
  models: {
    mode: "merge",
    providers: {
      minimax: {
        baseUrl: "https://api.minimax.io/anthropic",
        apiKey: "${MINIMAX_API_KEY}",
        api: "anthropic-messages",
        models: [
          {
            id: "MiniMax-M2.7",
            name: "MiniMax M2.7",
            reasoning: true,
            input: ["text"],
            cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
            contextWindow: 204800,
            maxTokens: 131072,
          },
          {
            id: "MiniMax-M2.7-highspeed",
            name: "MiniMax M2.7 Highspeed",
            reasoning: true,
            input: ["text"],
            cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
            contextWindow: 204800,
            maxTokens: 131072,
          },
        ],
      },
    },
  },
}
```

<Warning> Anthropic 兼容的流式传输路径上,除非你显式设置 `thinking`,否则 OpenClaw 默认会禁用 MiniMax thinking。MiniMax 的流式传输端点会以 OpenAI 风格的增量块发出 `reasoning_content`,而不是原生 Anthropic thinking blocks;如果隐式保持启用,可能会把内部推理泄露到可见输出中。
</Warning>

<Note>
API key 设置使用 `minimax` 提供商 ID。模型引用遵循 `minimax/MiniMax-M2.7` 格式。
</Note>


通过 openclaw configure 配置

使用交互式配置向导来设置 MiniMax,无需编辑 JSON:



bash
openclaw configure



从菜单中选择 模型/身份验证


选择一个可用的 MiniMax 选项:

| 身份验证选项 | 说明 |
| --- | --- |
| `minimax-global-oauth` | 国际 OAuth(Coding Plan) |
| `minimax-cn-oauth` | 中国 OAuth(Coding Plan) |
| `minimax-global-api` | 国际 API key |
| `minimax-cn-api` | 中国 API key |



出现提示时选择你的默认模型。

能力

图像生成

MiniMax 插件为 image_generate 工具注册了 image-01 模型。它支持:

  • 带宽高比控制的文生图生成
  • 带宽高比控制的图生图编辑(主体参考)
  • 每个请求最多生成 9 张输出图像
  • 每个编辑请求最多使用 1 张参考图像
  • 支持的宽高比:1:116:94:33:22:33:49:1621:9

要使用 MiniMax 进行图像生成,请将它设为图像生成提供商:

{
  agents: {
    defaults: {
      imageGenerationModel: { primary: "minimax/image-01" },
    },
  },
}

该插件使用与文本模型相同的 MINIMAX_API_KEY 或 OAuth 身份验证。如果已设置 MiniMax,则不需要额外配置。

minimaxminimax-portal 都会使用相同的 image-01 模型注册 image_generate。API-key 设置使用 MINIMAX_API_KEY;OAuth 设置则可以改用内置的 minimax-portal 身份验证路径。

图像生成始终使用 MiniMax 专用的图像端点(/v1/image_generation),并忽略 models.providers.minimax.baseUrl,因为该字段用于配置聊天/Anthropic 兼容的基础 URL。设置 MINIMAX_API_HOST=https://api.minimaxi.com 可将图像生成路由到 CN 端点;默认的全球端点是 https://api.minimax.io

当新手引导或 API-key 设置写入显式的 models.providers.minimax 条目时,OpenClaw 会将 MiniMax-M2.7MiniMax-M2.7-highspeed 物化为纯文本聊天模型。图像理解则通过插件拥有的 MiniMax-VL-01 媒体提供商单独暴露。


请参阅图像生成,了解共享工具参数、提供商选择和故障转移行为。

文本转语音

内置的 minimax 插件会将 MiniMax T2A v2 注册为 messages.tts 的语音提供商。

  • 默认 TTS 模型:speech-2.8-hd
  • 默认语音:English_expressive_narrator
  • 支持的内置模型 ID 包括 speech-2.8-hdspeech-2.8-turbospeech-2.6-hdspeech-2.6-turbospeech-02-hdspeech-02-turbospeech-01-hdspeech-01-turbo
  • 身份验证解析顺序为 messages.tts.providers.minimax.apiKey,然后是 minimax-portal OAuth/token 身份验证配置文件,然后是 Token Plan 环境键名(MINIMAX_OAUTH_TOKENMINIMAX_CODE_PLAN_KEYMINIMAX_CODING_API_KEY),最后是 MINIMAX_API_KEY
  • 如果未配置 TTS 主机,OpenClaw 会复用已配置的 minimax-portal OAuth 主机,并去除 Anthropic 兼容的路径后缀,例如 /anthropic
  • 普通音频附件保持 MP3。
  • Feishu 和 Telegram 等语音消息目标会通过 ffmpeg 将 MiniMax MP3 转码为 48kHz Opus,因为 Feishu/Lark 文件 API 对原生音频消息只接受 file_type: "opus"
  • MiniMax T2A 接受小数形式的 speedvol,但 pitch 会以整数发送;OpenClaw 会在 API 请求前截断小数形式的 pitch 值。
设置 环境变量 默认值 说明
messages.tts.providers.minimax.baseUrl MINIMAX_API_HOST https://api.minimax.io MiniMax T2A API 主机。
messages.tts.providers.minimax.model MINIMAX_TTS_MODEL speech-2.8-hd TTS 模型 ID。
messages.tts.providers.minimax.voiceId MINIMAX_TTS_VOICE_ID English_expressive_narrator 用于语音输出的语音 ID。
messages.tts.providers.minimax.speed 1.0 播放速度,0.5..2.0
messages.tts.providers.minimax.vol 1.0 音量,(0, 10]
messages.tts.providers.minimax.pitch 0 整数音高偏移,-12..12

音乐生成

内置 MiniMax 插件会通过共享的 music_generate 工具,为 minimaxminimax-portal 注册音乐生成。

  • 默认音乐模型:minimax/music-2.6
  • OAuth 音乐模型:minimax-portal/music-2.6
  • 也支持 minimax/music-2.5minimax/music-2.0
  • 提示控制项:lyricsinstrumentaldurationSeconds
  • 输出格式:mp3
  • 基于会话的运行会通过共享任务/Status 流程分离,包括 action: "status"

要将 MiniMax 用作默认音乐提供商:

{
  agents: {
    defaults: {
      musicGenerationModel: {
        primary: "minimax/music-2.6",
      },
    },
  },
}


请参阅音乐生成,了解共享工具参数、提供商选择和故障转移行为。

视频生成

内置 MiniMax 插件会通过共享的 video_generate 工具,为 minimaxminimax-portal 注册视频生成。

  • 默认视频模型:minimax/MiniMax-Hailuo-2.3
  • OAuth 视频模型:minimax-portal/MiniMax-Hailuo-2.3
  • 模式:文生视频和单图参考流程
  • 支持 aspectRatioresolution

要将 MiniMax 用作默认视频提供商:

{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "minimax/MiniMax-Hailuo-2.3",
      },
    },
  },
}


参见视频生成,了解共享工具参数、提供商选择和故障转移行为。

图像理解

MiniMax 插件会将图像理解与文本目录分开注册:

提供商 ID 默认图像模型
minimax MiniMax-VL-01
minimax-portal MiniMax-VL-01

因此,即使内置文本提供商目录仍显示仅文本的 M2.7 聊天引用,自动媒体路由也可以使用 MiniMax 图像理解。

Web 搜索

MiniMax 插件还通过 MiniMax Token Plan 搜索 API 注册 web_search

  • 提供商 id:minimax
  • 结构化结果:标题、URL、摘要、相关查询
  • 首选环境变量:MINIMAX_CODE_PLAN_KEY
  • 可接受的环境别名:MINIMAX_CODING_API_KEYMINIMAX_OAUTH_TOKEN
  • 兼容性回退:当 MINIMAX_API_KEY 已指向 token-plan 凭证时使用它
  • 区域复用:plugins.entries.minimax.config.webSearch.region,然后是 MINIMAX_API_HOST,再然后是 MiniMax 提供商基础 URL
  • 搜索保持在提供商 id minimax 上;OAuth CN/全球设置可以通过 models.providers.minimax-portal.baseUrl 间接引导区域,并可通过 MINIMAX_OAUTH_TOKEN 提供 bearer 认证

配置位于 plugins.entries.minimax.config.webSearch.* 下。


参见 MiniMax Search,了解完整的 Web 搜索配置和用法。

高级配置



| 选项 | 说明 |
| --- | --- |
| models.providers.minimax.baseUrl | 优先使用 https://api.minimax.io/anthropic(Anthropic 兼容);https://api.minimax.io/v1 可选,用于 OpenAI 兼容 payload |
| models.providers.minimax.api | 优先使用 anthropic-messagesopenai-completions 可选,用于 OpenAI 兼容 payload |
| models.providers.minimax.apiKey | MiniMax API key(MINIMAX_API_KEY) |
| models.providers.minimax.models | 定义 idnamereasoningcontextWindowmaxTokenscost |
| agents.defaults.models | 为你希望加入允许列表的模型设置别名 |
| models.mode | 如果你想在内置项旁添加 MiniMax,请保持 merge |


api: "anthropic-messages" 上,除非已在 params/config 中显式设置 thinking,否则 OpenClaw 会注入 thinking: { type: "disabled" }

这会防止 MiniMax 的流式端点在 OpenAI 风格的 delta 分块中发出 `reasoning_content`,从而避免内部推理泄露到可见输出中。


/fast onparams.fastMode: true 会在 Anthropic 兼容流路径上将 MiniMax-M2.7 重写为 MiniMax-M2.7-highspeed


最适合:将你最强的最新一代模型保留为主模型,并故障转移到 MiniMax M2.7。下面示例使用 Opus 作为具体主模型;请替换为你偏好的最新一代主模型。

```json5
{
  env: { MINIMAX_API_KEY: "sk-..." },
  agents: {
    defaults: {
      models: {
        "anthropic/claude-opus-4-6": { alias: "primary" },
        "minimax/MiniMax-M2.7": { alias: "minimax" },
      },
      model: {
        primary: "anthropic/claude-opus-4-6",
        fallbacks: ["minimax/MiniMax-M2.7"],
      },
    },
  },
}
```


- Coding Plan 用量 API:https://api.minimaxi.com/v1/token_plan/remainshttps://api.minimax.io/v1/token_plan/remains(需要 coding plan key)。
- 配置后,用量轮询会从 models.providers.minimax-portal.baseUrlmodels.providers.minimax.baseUrl 派生主机,因此使用 https://api.minimax.io/anthropic 的全球设置会轮询 api.minimax.io。缺失或格式错误的基础 URL 会保留 CN 回退以保持兼容性。
- OpenClaw 会将 MiniMax coding-plan 用量规范化为其他提供商使用的相同 % left 显示。MiniMax 的原始 usage_percent / usagePercent 字段表示剩余额度,而不是已消耗额度,因此 OpenClaw 会将它们反转。存在基于计数的字段时优先使用。
- 当 API 返回 model_remains 时,OpenClaw 会优先使用聊天模型条目,在需要时从 start_time / end_time 派生窗口标签,并在计划标签中包含选中的模型名称,以便更容易区分 coding-plan 窗口。
- 用量快照会将 minimaxminimax-cnminimax-portal 视为同一个 MiniMax 额度表面,并优先使用已存储的 MiniMax OAuth,然后再回退到 Coding Plan key 环境变量。


说明

  • 模型引用遵循认证路径:
  • API-key 设置:minimax/<model>
  • OAuth 设置:minimax-portal/<model>
  • 默认聊天模型:MiniMax-M2.7
  • 备用聊天模型:MiniMax-M2.7-highspeed
  • 新手引导和直接 API-key 设置会为两个 M2.7 变体写入仅文本模型定义
  • 图像理解使用插件拥有的 MiniMax-VL-01 媒体提供商
  • 如果需要精确成本跟踪,请更新 models.json 中的价格值
  • 使用 openclaw models list 确认当前提供商 id,然后使用 openclaw models set minimax/MiniMax-M2.7openclaw models set minimax-portal/MiniMax-M2.7 切换


MiniMax Coding Plan 推荐链接(九折):MiniMax Coding Plan


参见模型提供商,了解提供商规则。

故障排除



这通常表示 MiniMax 提供商未配置(没有匹配的提供商条目,也没有找到 MiniMax auth profile/env key)。此检测问题的修复包含在 2026.1.12 中。修复方式:

- 升级到 **2026.1.12**(或从源码 `main` 运行),然后重启 gateway。
- 运行 `openclaw configure` 并选择一个 **MiniMax** 认证选项,或
- 手动添加匹配的 `models.providers.minimax`  `models.providers.minimax-portal` 块,或
- 设置 `MINIMAX_API_KEY``MINIMAX_OAUTH_TOKEN`,或 MiniMax auth profile,以便注入匹配的提供商。

请确保模型 id **区分大小写**

- API-key 路径:`minimax/MiniMax-M2.7`  `minimax/MiniMax-M2.7-highspeed`
- OAuth 路径:`minimax-portal/MiniMax-M2.7`  `minimax-portal/MiniMax-M2.7-highspeed`

然后用以下命令重新检查:

```bash
openclaw models list
```



更多帮助:故障排除常见问题

相关内容



选择提供商、模型引用和故障转移行为。


共享图像工具参数和提供商选择。


共享音乐工具参数和提供商选择。


共享视频工具参数和提供商选择。


通过 MiniMax Token Plan 配置 Web 搜索。


常规故障排除和常见问题。


📄 OpenCode

原文:https://docs.openclaw.ai/zh-CN/providers/opencode

OpenCode 在 OpenClaw 中提供两个托管目录:

目录 前缀 运行时提供商
Zen opencode/... opencode
Go opencode-go/... opencode-go

这两个目录使用同一个 OpenCode API 密钥。OpenClaw 会将运行时提供商 id 分开保留,
以确保上游按模型进行的路由保持正确,但新手引导和文档会将它们视为同一个 OpenCode 设置。

入门指南



最适合: 精选的 OpenCode 多模型代理(Claude、GPT、Gemini)。

<Steps>
  <Step title="运行新手引导">
    ```bash
    openclaw onboard --auth-choice opencode-zen
    ```

    或者直接传入密钥:

    ```bash
    openclaw onboard --opencode-zen-api-key "$OPENCODE_API_KEY"
    ```
  </Step>
  <Step title="将 Zen 模型设为默认值">
    ```bash
    openclaw config set agents.defaults.model.primary "opencode/claude-opus-4-6"
    ```
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list --provider opencode
    ```
  </Step>
</Steps>


最适合: OpenCode 托管的 Kimi、GLM 和 MiniMax 阵容。

<Steps>
  <Step title="运行新手引导">
    ```bash
    openclaw onboard --auth-choice opencode-go
    ```

    或者直接传入密钥:

    ```bash
    openclaw onboard --opencode-go-api-key "$OPENCODE_API_KEY"
    ```
  </Step>
  <Step title="将 Go 模型设为默认值">
    ```bash
    openclaw config set agents.defaults.model.primary "opencode-go/kimi-k2.6"
    ```
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list --provider opencode-go
    ```
  </Step>
</Steps>


配置示例

{
  env: { OPENCODE_API_KEY: "sk-..." },
  agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },
}

内置目录

Zen

属性
运行时提供商 opencode
示例模型 opencode/claude-opus-4-6, opencode/gpt-5.5, opencode/gemini-3-pro

Go

属性
运行时提供商 opencode-go
示例模型 opencode-go/kimi-k2.6, opencode-go/glm-5, opencode-go/minimax-m2.5

高级配置



OPENCODE_ZEN_API_KEY 也支持作为 OPENCODE_API_KEY 的别名。


在设置期间输入一个 OpenCode 密钥后,会为两个运行时提供商都存储凭证。你不需要分别为每个目录进行新手引导。


你需要登录 OpenCode,添加计费信息,并复制你的 API 密钥。计费和目录可用性都在 OpenCode 控制台中管理。


由 Gemini 支持的 OpenCode 引用会继续走代理 Gemini 路径,因此 OpenClaw 会在该路径上保留 Gemini thought-signature 清理,而不会启用原生 Gemini 重放验证或 bootstrap 重写。


非 Gemini 的 OpenCode 引用会保留最小化的 OpenAI 兼容重放策略。


在设置期间输入一个 OpenCode 密钥后,会为 Zen 和 Go 两个运行时提供商都存储凭证,因此你只需要完成一次新手引导。

相关内容



选择提供商、模型引用和故障切换行为。


智能体、模型和提供商的完整配置参考。


📄 Ollama

原文:https://docs.openclaw.ai/zh-CN/providers/ollama

OpenClaw 与 Ollama 的原生 API(/api/chat)集成,可用于托管云模型以及本地/自托管 Ollama 服务器。你可以通过三种模式使用 Ollama:通过可访问的 Ollama 主机使用 Cloud + Local,针对 https://ollama.com 使用 Cloud only,或针对可访问的 Ollama 主机使用 Local only


远程 Ollama 用户:不要在 OpenClaw 中使用 /v1 OpenAI 兼容 URL(http://host:11434/v1)。这会破坏工具调用,模型可能会把原始工具 JSON 当作纯文本输出。请改用原生 Ollama API URL:baseUrl: "http://host:11434"(不带 /v1)。

Ollama provider 配置使用 baseUrl 作为规范键名。为兼容 OpenAI SDK 风格的示例,OpenClaw 也接受 baseURL,但新配置应优先使用 baseUrl

凭证规则



本地和 LAN Ollama 主机不需要真实的 bearer token。OpenClaw 仅对 loopback、私有网络、.local 和裸主机名 Ollama base URL 使用本地 ollama-local 标记。


远程公共主机和 Ollama Cloud(https://ollama.com)需要通过 OLLAMA_API_KEY、凭证配置档或 provider 的 apiKey 提供真实凭证。


设置了 api: "ollama" 的自定义 provider id 遵循相同规则。例如,指向私有 LAN Ollama 主机的 ollama-remote provider 可以使用 apiKey: "ollama-local",子智能体会通过 Ollama provider 钩子解析该标记,而不是将其视为缺失凭证。记忆搜索也可以将 agents.defaults.memorySearch.provider 设置为该自定义 provider id,以便嵌入使用匹配的 Ollama 端点。


auth-profiles.json 存储 provider id 的凭证。将端点设置(baseUrlapi、model id、headers、timeouts)放在 models.providers.<id> 中。较旧的扁平凭证配置档文件,例如 { "ollama-windows": { "apiKey": "ollama-local" } },不是运行时格式;运行 openclaw doctor --fix 可将其重写为规范的 ollama-windows:default API-key 配置档并创建备份。该文件中的 baseUrl 是兼容性噪音,应移到 provider 配置中。


当 Ollama 用于记忆嵌入时,bearer 身份验证的作用域限定为声明它的主机:

- provider 级密钥只会发送到该 provider  Ollama 主机。
- `agents.*.memorySearch.remote.apiKey` 只会发送到其远程嵌入主机。
-  `OLLAMA_API_KEY` 环境变量值会被视为 Ollama Cloud 约定,默认不会发送到本地或自托管主机。


入门指南

选择你偏好的设置方法和模式。



最适合:最快完成可用的 Ollama 云端或本地设置。

<Steps>
  <Step title="运行新手引导">
    ```bash
    openclaw onboard
    ```

     provider 列表中选择 **Ollama**
  </Step>
  <Step title="选择你的模式">
    - **Cloud + Local**  本地 Ollama 主机加上通过该主机路由的云模型
    - **Cloud only**  通过 `https://ollama.com` 使用托管 Ollama 模型
    - **Local only**  仅使用本地模型

  </Step>
  <Step title="选择模型">
    `Cloud only` 会提示输入 `OLLAMA_API_KEY` 并建议托管云端默认值。`Cloud + Local`  `Local only` 会要求提供 Ollama base URL,发现可用模型,并在所选本地模型尚不可用时自动拉取。若 Ollama 报告了已安装的 `:latest` 标签,例如 `gemma4:latest`,设置过程只会显示该已安装模型一次,而不会同时显示 `gemma4`  `gemma4:latest`,也不会再次拉取裸别名。`Cloud + Local` 还会检查该 Ollama 主机是否已登录以获取云端访问权限。
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list --provider ollama
    ```
  </Step>
</Steps>

### 非交互模式

```bash
openclaw onboard --non-interactive \
  --auth-choice ollama \
  --accept-risk
```

也可以指定自定义 base URL 或模型:

```bash
openclaw onboard --non-interactive \
  --auth-choice ollama \
  --custom-base-url "http://ollama-host:11434" \
  --custom-model-id "qwen3.5:27b" \
  --accept-risk
```


最适合:完全控制云端或本地设置。

<Steps>
  <Step title="选择云端或本地">
    - **Cloud + Local**:安装 Ollama,使用 `ollama signin` 登录,并通过该主机路由云端请求
    - **Cloud only**:使用带有 `OLLAMA_API_KEY`  `https://ollama.com`
    - **Local only**:从 [ollama.com/download](https://ollama.com/download) 安装 Ollama

  </Step>
  <Step title="拉取本地模型(仅本地)">
    ```bash
    ollama pull gemma4
    # or
    ollama pull gpt-oss:20b
    # or
    ollama pull llama3.3
    ```
  </Step>
  <Step title="为 OpenClaw 启用 Ollama">
    对于 `Cloud only`,使用你的真实 `OLLAMA_API_KEY`。对于由主机支持的设置,任何占位符值都可用:

    ```bash
    # Cloud
    export OLLAMA_API_KEY="your-ollama-api-key"

    # Local-only
    export OLLAMA_API_KEY="ollama-local"

    # Or configure in your config file
    openclaw config set models.providers.ollama.apiKey "OLLAMA_API_KEY"
    ```
  </Step>
  <Step title="检查并设置你的模型">
    ```bash
    openclaw models list
    openclaw models set ollama/gemma4
    ```

    或在配置中设置默认值:

    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "ollama/gemma4" },
        },
      },
    }
    ```
  </Step>
</Steps>


云模型



Cloud + Local 使用可访问的 Ollama 主机作为本地模型和云模型的控制点。这是 Ollama 偏好的混合流程。

在设置期间使用 **Cloud + Local**。OpenClaw 会提示输入 Ollama base URL,从该主机发现本地模型,并检查该主机是否已通过 `ollama signin` 登录以获取云端访问权限。当主机已登录时,OpenClaw 还会建议托管云端默认值,例如 `kimi-k2.5:cloud`、`minimax-m2.7:cloud` 和 `glm-5.1:cloud`。

如果主机尚未登录,OpenClaw 会让设置保持为仅本地,直到你运行 `ollama signin`


Cloud only 针对 Ollama 托管 API https://ollama.com 运行。

在设置期间使用 **Cloud only**。OpenClaw 会提示输入 `OLLAMA_API_KEY`,设置 `baseUrl: "https://ollama.com"`,并填充托管云模型列表。此路径****需要本地 Ollama 服务器或 `ollama signin`

`openclaw onboard` 期间显示的云模型列表会从 `https://ollama.com/api/tags` 实时填充,上限为 500 条,因此选择器反映的是当前托管目录,而不是静态种子。如果 `ollama.com` 在设置时无法访问或未返回模型,OpenClaw 会回退到之前的硬编码建议,确保新手引导仍能完成。


在仅本地模式下,OpenClaw 会从已配置的 Ollama 实例发现模型。此路径适用于本地或自托管 Ollama 服务器。

OpenClaw 当前建议 `gemma4` 作为本地默认值。


模型发现(隐式 provider)

当你设置 OLLAMA_API_KEY(或凭证配置档)并且没有定义 models.providers.ollama 或另一个带有 api: "ollama" 的自定义远程 provider 时,OpenClaw 会从 http://127.0.0.1:11434 的本地 Ollama 实例发现模型。

行为 详情
目录查询 查询 /api/tags
能力检测 尽力使用 /api/show 查询来读取 contextWindow、展开后的 num_ctx Modelfile 参数,以及包括视觉/工具在内的能力
视觉模型 /api/show 报告具有 vision 能力的模型会被标记为支持图像(input: ["text", "image"]),因此 OpenClaw 会自动将图像注入到提示词中
推理检测 可用时使用 /api/show 能力,包括 thinking;当 Ollama 省略能力时,回退到模型名称启发式规则(r1reasoningthink
Token 限制 maxTokens 设置为 OpenClaw 使用的默认 Ollama 最大 token 上限
成本 将所有成本设置为 0

这样可以避免手动模型条目,同时让目录与本地 Ollama 实例保持一致。你可以在本地 infer model run 中使用完整引用,例如 ollama/<pulled-model>:latest;OpenClaw 会从 Ollama 的实时目录解析该已安装模型,而无需手写 models.json 条目。

对于已登录的 Ollama 主机,一些 :cloud 模型可能在出现在 /api/tags 之前,就已经可以通过 /api/chat
/api/show 使用。当你显式选择完整的 ollama/<model>:cloud 引用时,OpenClaw 会用
/api/show 验证该精确缺失模型,并且只有在 Ollama 确认模型
元数据时,才将其加入运行时目录。拼写错误仍会作为未知模型失败,而不会被自动创建。

# See what models are available
ollama list
openclaw models list

对于避开完整智能体工具表面的窄文本生成冒烟测试,
请使用带有完整 Ollama 模型引用的本地 infer model run

OLLAMA_API_KEY=ollama-local \
  openclaw infer model run \
    --local \
    --model ollama/llama3.2:latest \
    --prompt "Reply with exactly: pong" \
    --json

该路径仍使用 OpenClaw 已配置的 provider、凭证和原生 Ollama
传输协议,但不会启动聊天智能体轮次,也不会加载 MCP/工具上下文。如果
此路径成功而普通智能体回复失败,接下来请排查该模型的智能体
提示词/工具容量。

对于同一精简路径上的窄视觉模型冒烟测试,请向
infer model run 添加一个或多个图像文件。这会将提示词和图像直接发送到
所选 Ollama 视觉模型,而不会加载聊天工具、记忆或先前
会话上下文:

OLLAMA_API_KEY=ollama-local \
  openclaw infer model run \
    --local \
    --model ollama/qwen2.5vl:7b \
    --prompt "Describe this image in one sentence." \
    --file ./photo.jpg \
    --json

model run --file 接受检测为 image/* 的文件,包括常见 PNG、
JPEG 和 WebP 输入。非图像文件会在调用 Ollama 之前被拒绝。
对于语音识别,请改用 openclaw infer audio transcribe

当你使用 /model ollama/<model> 切换会话时,OpenClaw 会将
其视为精确的用户选择。如果已配置的 Ollama baseUrl
不可访问,下一条回复会因 provider 错误而失败,而不是静默
从另一个已配置的回退模型回答。

隔离的 cron 作业在启动智能体轮次前会额外执行一次本地安全检查。如果选定的模型解析到 local、私有网络或 .local Ollama 提供商,并且 /api/tags 无法访问,OpenClaw 会将该 cron 运行记录为 skipped,并在错误文本中包含选定的 ollama/<model>。端点预检会缓存 5 分钟,因此指向同一个已停止 Ollama 守护进程的多个 cron 作业不会全部发起失败的模型请求。

使用以下命令针对本地 Ollama 实时验证本地文本路径、原生流路径和嵌入:

OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA=1 OPENCLAW_LIVE_OLLAMA_WEB_SEARCH=0 \
  pnpm test:live -- extensions/ollama/ollama.live.test.ts

要添加新模型,只需用 Ollama 拉取它:

ollama pull mistral

新模型会被自动发现并可供使用。


如果你显式设置 models.providers.ollama,或配置自定义远程提供商,例如带有 api: "ollama"models.providers.ollama-cloud,则会跳过自动发现,你必须手动定义模型。像 http://127.0.0.2:11434 这样的回环自定义提供商仍会被视为本地。请参阅下面的显式配置部分。

视觉和图像描述

内置的 Ollama 插件会将 Ollama 注册为支持图像的媒体理解提供商。这让 OpenClaw 可以通过本地或托管的 Ollama 视觉模型来路由显式图像描述请求和已配置的图像模型默认值。

对于本地视觉,请拉取一个支持图像的模型:

ollama pull qwen2.5vl:7b
export OLLAMA_API_KEY="ollama-local"

然后使用 infer CLI 验证:

openclaw infer image describe \
  --file ./photo.jpg \
  --model ollama/qwen2.5vl:7b \
  --json

--model 必须是完整的 <provider/model> 引用。设置后,openclaw infer image describe 会直接运行该模型,而不是因为模型支持原生视觉而跳过描述。

当你需要 OpenClaw 的图像理解提供商流程、已配置的 agents.defaults.imageModel 以及图像描述输出形状时,请使用 infer image describe。当你需要使用自定义提示词和一张或多张图像来原始探测多模态模型时,请使用 infer model run --file

要让 Ollama 成为入站媒体的默认图像理解模型,请配置 agents.defaults.imageModel

{
  agents: {
    defaults: {
      imageModel: {
        primary: "ollama/qwen2.5vl:7b",
      },
    },
  },
}

优先使用完整的 ollama/<model> 引用。如果同一模型列在 models.providers.ollama.models 下,且带有 input: ["text", "image"],并且没有其他已配置的图像提供商暴露相同的裸模型 ID,OpenClaw 也会把像 qwen2.5vl:7b 这样的裸 imageModel 引用规范化为 ollama/qwen2.5vl:7b。如果多个已配置的图像提供商拥有相同的裸 ID,请显式使用提供商前缀。

慢速本地视觉模型可能需要比云模型更长的图像理解超时时间。当 Ollama 尝试在受限硬件上分配完整声明的视觉上下文时,它们也可能崩溃或停止。设置能力超时,并在你只需要普通图像描述轮次时,在模型条目上限制 num_ctx

{
  models: {
    providers: {
      ollama: {
        models: [
          {
            id: "qwen2.5vl:7b",
            name: "qwen2.5vl:7b",
            input: ["text", "image"],
            params: { num_ctx: 2048, keep_alive: "1m" },
          },
        ],
      },
    },
  },
  tools: {
    media: {
      image: {
        timeoutSeconds: 180,
        models: [{ provider: "ollama", model: "qwen2.5vl:7b", timeoutSeconds: 300 }],
      },
    },
  },
}

此超时适用于入站图像理解,也适用于智能体在轮次中可调用的显式 image 工具。提供商级别的 models.providers.ollama.timeoutSeconds 仍控制普通模型调用底层 Ollama HTTP 请求的保护超时。

使用以下命令针对本地 Ollama 实时验证显式图像工具:

OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_OLLAMA_IMAGE=1 \
  pnpm test:live -- src/agents/tools/image-tool.ollama.live.test.ts

如果你手动定义 models.providers.ollama.models,请将视觉模型标记为支持图像输入:

{
  id: "qwen2.5vl:7b",
  name: "qwen2.5vl:7b",
  input: ["text", "image"],
  contextWindow: 128000,
  maxTokens: 8192,
}

OpenClaw 会拒绝未标记为支持图像能力的模型的图像描述请求。使用隐式发现时,当 /api/show 报告视觉能力时,OpenClaw 会从 Ollama 读取此信息。

配置



最简单的仅本地启用路径是通过环境变量:

```bash
export OLLAMA_API_KEY="ollama-local"
```

<Tip>
如果设置了 `OLLAMA_API_KEY`,你可以在提供商条目中省略 `apiKey`,OpenClaw 会为可用性检查填充它。
</Tip>


当你需要托管云设置、Ollama 运行在另一台主机或端口上、想强制指定特定上下文窗口或模型列表,或想完全手动定义模型时,请使用显式配置。

```json5
{
  models: {
    providers: {
      ollama: {
        baseUrl: "https://ollama.com",
        apiKey: "OLLAMA_API_KEY",
        api: "ollama",
        models: [
          {
            id: "kimi-k2.5:cloud",
            name: "kimi-k2.5:cloud",
            reasoning: false,
            input: ["text", "image"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            maxTokens: 8192
          }
        ]
      }
    }
  }
}
```


如果 Ollama 在不同主机或端口上运行(显式配置会禁用自动发现,因此需要手动定义模型):

```json5
{
  models: {
    providers: {
      ollama: {
        apiKey: "ollama-local",
        baseUrl: "http://ollama-host:11434", // No /v1 - use native Ollama API URL
        api: "ollama", // Set explicitly to guarantee native tool-calling behavior
        timeoutSeconds: 300, // Optional: give cold local models longer to connect and stream
        models: [
          {
            id: "qwen3:32b",
            name: "qwen3:32b",
            params: {
              keep_alive: "15m", // Optional: keep the model loaded between turns
            },
          },
        ],
      },
    },
  },
}
```

<Warning>
不要向 URL 添加 `/v1`。`/v1` 路径使用 OpenAI 兼容模式,在该模式下工具调用不可靠。请使用不带路径后缀的基础 Ollama URL
</Warning>


常见配方

将这些作为起点,并将模型 ID 替换为 ollama listopenclaw models list --provider ollama 中的准确名称。



当 Ollama 与 Gateway 网关运行在同一台机器上,并且你希望 OpenClaw 自动发现已安装的模型时,请使用此配置。

```bash
ollama serve
ollama pull gemma4
export OLLAMA_API_KEY="ollama-local"
openclaw models list --provider ollama
openclaw models set ollama/gemma4
```

此路径会让配置保持最小化。除非你想手动定义模型,否则不要添加 `models.providers.ollama` 块。


对于 LAN 主机,请使用原生 Ollama URL。不要添加 /v1

```json5
{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://gpu-box.local:11434",
        apiKey: "ollama-local",
        api: "ollama",
        timeoutSeconds: 300,
        contextWindow: 32768,
        maxTokens: 8192,
        models: [
          {
            id: "qwen3.5:9b",
            name: "qwen3.5:9b",
            reasoning: true,
            input: ["text"],
            params: {
              num_ctx: 32768,
              thinking: false,
              keep_alive: "15m",
            },
          },
        ],
      },
    },
  },
  agents: {
    defaults: {
      model: { primary: "ollama/qwen3.5:9b" },
    },
  },
}
```

`contextWindow`  OpenClaw 侧的上下文预算。`params.num_ctx` 会随请求发送给 Ollama。当你的硬件无法运行模型完整声明的上下文时,请保持二者一致。


当你不运行本地守护进程并希望直接使用托管的 Ollama 模型时,请使用此配置。

```bash
export OLLAMA_API_KEY="your-ollama-api-key"
```

```json5
{
  models: {
    providers: {
      ollama: {
        baseUrl: "https://ollama.com",
        apiKey: "OLLAMA_API_KEY",
        api: "ollama",
        models: [
          {
            id: "kimi-k2.5:cloud",
            name: "kimi-k2.5:cloud",
            reasoning: false,
            input: ["text", "image"],
            contextWindow: 128000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
  agents: {
    defaults: {
      model: { primary: "ollama/kimi-k2.5:cloud" },
    },
  },
}
```


当本地或 LAN Ollama 守护进程已通过 ollama signin 登录,并且应同时服务本地模型和 :cloud 模型时,请使用此配置。

```bash
ollama signin
ollama pull gemma4
```

```json5
{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://127.0.0.1:11434",
        apiKey: "ollama-local",
        api: "ollama",
        timeoutSeconds: 300,
        models: [
          { id: "gemma4", name: "gemma4", input: ["text"] },
          { id: "kimi-k2.5:cloud", name: "kimi-k2.5:cloud", input: ["text", "image"] },
        ],
      },
    },
  },
  agents: {
    defaults: {
      model: {
        primary: "ollama/gemma4",
        fallbacks: ["ollama/kimi-k2.5:cloud"],
      },
    },
  },
}
```


当你有多个 Ollama 服务器时,请使用自定义提供商 ID。每个提供商都有自己的主机、模型、认证、超时和模型引用。

```json5
{
  models: {
    providers: {
      "ollama-fast": {
        baseUrl: "http://mini.local:11434",
        apiKey: "ollama-local",
        api: "ollama",
        contextWindow: 32768,
        models: [{ id: "gemma4", name: "gemma4", input: ["text"] }],
      },
      "ollama-large": {
        baseUrl: "http://gpu-box.local:11434",
        apiKey: "ollama-local",
        api: "ollama",
        timeoutSeconds: 420,
        contextWindow: 131072,
        maxTokens: 16384,
        models: [{ id: "qwen3.5:27b", name: "qwen3.5:27b", input: ["text"] }],
      },
    },
  },
  agents: {
    defaults: {
      model: {
        primary: "ollama-fast/gemma4",
        fallbacks: ["ollama-large/qwen3.5:27b"],
      },
    },
  },
}
```

当 OpenClaw 发送请求时,会剥离活动提供商前缀,因此 `ollama-large/qwen3.5:27b` 会以 `qwen3.5:27b` 到达 Ollama。


有些本地模型可以回答简单提示词,但难以处理完整的智能体工具表面。请先限制工具和上下文,再更改全局运行时设置。

```json5
{
  agents: {
    defaults: {
      experimental: {
        localModelLean: true,
      },
      model: { primary: "ollama/gemma4" },
    },
  },
  models: {
    providers: {
      ollama: {
        baseUrl: "http://127.0.0.1:11434",
        apiKey: "ollama-local",
        api: "ollama",
        contextWindow: 32768,
        models: [
          {
            id: "gemma4",
            name: "gemma4",
            input: ["text"],
            params: { num_ctx: 32768 },
            compat: { supportsTools: false },
          },
        ],
      },
    },
  },
}
```

仅当模型或服务器在工具 schema 上会可靠失败时,才使用 `compat.supportsTools: false`。它会用智能体能力换取稳定性。
`localModelLean` 会从智能体表面移除浏览器、cron 和消息工具,但它不会改变 Ollama 的运行时上下文或思考模式。对于会循环或把响应预算花在隐藏推理上的小型 Qwen 风格思考模型,请将它与显式的 `params.num_ctx`  `params.thinking: false` 搭配使用。


模型选择

配置完成后,你的所有 Ollama 模型都可用:

{
  agents: {
    defaults: {
      model: {
        primary: "ollama/gpt-oss:20b",
        fallbacks: ["ollama/llama3.3", "ollama/qwen2.5-coder:32b"],
      },
    },
  },
}

也支持自定义 Ollama 提供商 ID。当模型引用使用活动提供商前缀时,例如 ollama-spark/qwen3:32b,OpenClaw 只会在调用 Ollama 前剥离该前缀,因此服务器会收到 qwen3:32b

对于较慢的本地模型,优先使用提供商范围的请求调优,然后再提高整个智能体运行时超时时间:

{
  models: {
    providers: {
      ollama: {
        timeoutSeconds: 300,
        models: [
          {
            id: "gemma4:26b",
            name: "gemma4:26b",
            params: { keep_alive: "15m" },
          },
        ],
      },
    },
  },
}

timeoutSeconds 适用于模型 HTTP 请求,包括连接建立、标头、正文流式传输,以及受保护抓取的总中止时间。params.keep_alive 会在原生 /api/chat 请求中作为顶层 keep_alive 转发给 Ollama;当首轮加载时间是瓶颈时,请按模型设置它。

快速验证

# Ollama daemon visible to this machine
curl http://127.0.0.1:11434/api/tags

# OpenClaw catalog and selected model
openclaw models list --provider ollama
openclaw models status

# Direct model smoke
openclaw infer model run \
  --model ollama/gemma4 \
  --prompt "Reply with exactly: ok"

对于远程主机,将 127.0.0.1 替换为 baseUrl 中使用的主机。如果 curl 正常但 OpenClaw 不正常,请检查 Gateway 网关是否运行在另一台机器、容器或服务账号下。

Ollama Web 搜索

OpenClaw 支持将 Ollama Web 搜索 作为内置 web_search 提供商。

属性 详情
主机 使用你配置的 Ollama 主机(设置了 models.providers.ollama.baseUrl 时使用它,否则使用 http://127.0.0.1:11434);https://ollama.com 会直接使用托管 API
凭证 对已登录的本地 Ollama 主机无需密钥;对直接 https://ollama.com 搜索或受凭证保护的主机,使用 OLLAMA_API_KEY 或已配置的提供商凭证
要求 本地/自托管主机必须正在运行并已通过 ollama signin 登录;直接托管搜索需要 baseUrl: "https://ollama.com" 加真实的 Ollama API 密钥

openclaw onboardopenclaw configure --section web 期间选择 Ollama Web 搜索,或设置:

{
  tools: {
    web: {
      search: {
        provider: "ollama",
      },
    },
  },
}

要通过 Ollama Cloud 进行直接托管搜索:

{
  models: {
    providers: {
      ollama: {
        baseUrl: "https://ollama.com",
        apiKey: "OLLAMA_API_KEY",
        api: "ollama",
        models: [{ id: "kimi-k2.5:cloud", name: "kimi-k2.5:cloud", input: ["text"] }],
      },
    },
  },
  tools: {
    web: {
      search: { provider: "ollama" },
    },
  },
}

对于已登录的本地守护进程,OpenClaw 会使用该守护进程的 /api/experimental/web_search 代理。对于 https://ollama.com,它会直接调用托管的 /api/web_search 端点。


有关完整设置和行为详情,请参阅 Ollama Web 搜索

高级配置




在 OpenAI 兼容模式下,工具调用并不可靠。 仅当你需要为代理使用 OpenAI 格式,且不依赖原生工具调用行为时,才使用此模式。

如果你需要改用 OpenAI 兼容端点(例如在只支持 OpenAI 格式的代理后面),请显式设置 `api: "openai-completions"`

```json5
{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://ollama-host:11434/v1",
        api: "openai-completions",
        injectNumCtxForOpenAICompat: true, // default: true
        apiKey: "ollama-local",
        models: [...]
      }
    }
  }
}
```

此模式可能无法同时支持流式传输和工具调用。你可能需要在模型配置中用 `params: { streaming: false }` 禁用流式传输。

 Ollama 使用 `api: "openai-completions"` 时,OpenClaw 默认会注入 `options.num_ctx`,这样 Ollama 就不会静默回退到 4096 上下文窗口。如果你的代理/上游拒绝未知的 `options` 字段,请禁用此行为:

```json5
{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://ollama-host:11434/v1",
        api: "openai-completions",
        injectNumCtxForOpenAICompat: false,
        apiKey: "ollama-local",
        models: [...]
      }
    }
  }
}
```


对于自动发现的模型,OpenClaw 会在可用时使用 Ollama 报告的上下文窗口,包括来自自定义 Modelfile 的更大 PARAMETER num_ctx 值。否则,它会回退到 OpenClaw 使用的默认 Ollama 上下文窗口。

你可以为该 Ollama 提供商下的每个模型设置提供商级别的 `contextWindow``contextTokens`  `maxTokens` 默认值,然后在需要时按模型覆盖它们。`contextWindow`  OpenClaw 的提示词和压缩预算。原生 Ollama 请求会保持 `options.num_ctx` 未设置,除非你显式配置 `params.num_ctx`,因此 Ollama 可以应用自己的模型、`OLLAMA_CONTEXT_LENGTH` 或基于 VRAM 的默认值。要在不重建 Modelfile 的情况下限制或强制 Ollama 的每请求运行时上下文,请设置 `params.num_ctx`;无效、零、负数和非有限值会被忽略。OpenAI 兼容的 Ollama 适配器仍会默认根据已配置的 `params.num_ctx`  `contextWindow` 注入 `options.num_ctx`;如果你的上游拒绝 `options`,请用 `injectNumCtxForOpenAICompat: false` 禁用它。

原生 Ollama 模型条目还接受 `params` 下的常见 Ollama 运行时选项,包括 `temperature``top_p``top_k``min_p``num_predict``stop``repeat_penalty``num_batch``num_thread`  `use_mmap`。OpenClaw 只转发 Ollama 请求键,因此不会把 OpenClaw 运行时参数(如 `streaming`)泄漏给 Ollama。使用 `params.think`  `params.thinking` 发送顶层 Ollama `think``false` 会为 Qwen 风格的思考模型禁用 API 级别思考。

```json5
{
  models: {
    providers: {
      ollama: {
        contextWindow: 32768,
        models: [
          {
            id: "llama3.3",
            contextWindow: 131072,
            maxTokens: 65536,
            params: {
              num_ctx: 32768,
              temperature: 0.7,
              top_p: 0.9,
              thinking: false,
            },
          }
        ]
      }
    }
  }
}
```

按模型设置的 `agents.defaults.models["ollama/<model>"].params.num_ctx` 也可用。如果两者都已配置,显式提供商模型条目优先于智能体默认值。


对于原生 Ollama 模型,OpenClaw 会按 Ollama 期望的方式转发思考控制:顶层 think,而不是 options.think。如果自动发现模型的 /api/show 响应包含 thinking 能力,则会暴露 /think low/think medium/think high/think max;非思考模型只会暴露 /think off

```bash
openclaw agent --model ollama/gemma4 --thinking off
openclaw agent --model ollama/gemma4 --thinking low
```

你也可以设置模型默认值:

```json5
{
  agents: {
    defaults: {
      models: {
        "ollama/gemma4": {
          thinking: "low",
        },
      },
    },
  },
}
```

按模型设置的 `params.think`  `params.thinking` 可以为特定已配置模型禁用或强制 Ollama API 思考。当活动运行只有隐式默认 `off` 时,OpenClaw 会保留这些显式模型参数;非 off 运行时命令(如 `/think medium`)仍会覆盖活动运行。


OpenClaw 默认会将名称中包含 deepseek-r1reasoningthink 等内容的模型视为具备推理能力。

```bash
ollama pull deepseek-r1:32b
```

不需要额外配置。OpenClaw 会自动标记它们。


Ollama 免费并在本地运行,因此所有模型成本都设置为 $0。这同时适用于自动发现和手动定义的模型。


内置 Ollama 插件会为 memory search 注册一个记忆嵌入提供商。它使用已配置的 Ollama 基础 URL 和 API 密钥,调用 Ollama 当前的 /api/embed 端点,并在可能时将多个记忆块批处理到一个 input 请求中。

| 属性 |  |
| ------------- | ------------------- |
| 默认模型 | `nomic-embed-text`  |
| 自动拉取 |   如果本地不存在该嵌入模型,会自动拉取 |

查询时嵌入会为需要或推荐检索前缀的模型使用检索前缀,包括 `nomic-embed-text`、`qwen3-embedding`  `mxbai-embed-large`。记忆文档批次保持原始格式,因此现有索引不需要格式迁移。

要选择 Ollama 作为记忆搜索嵌入提供商:

```json5
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "ollama",
        remote: {
          // Default for Ollama. Raise on larger hosts if reindexing is too slow.
          nonBatchConcurrency: 1,
        },
      },
    },
  },
}
```

对于远程嵌入主机,请将凭证限定在该主机范围内:

```json5
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "ollama",
        model: "nomic-embed-text",
        remote: {
          baseUrl: "http://gpu-box.local:11434",
          apiKey: "ollama-local",
          nonBatchConcurrency: 2,
        },
      },
    },
  },
}
```


OpenClaw 的 Ollama 集成默认使用原生 Ollama API/api/chat),它完全支持同时进行流式传输和工具调用。不需要特殊配置。

对于原生 `/api/chat` 请求,OpenClaw 还会将思考控制直接转发给 Ollama:`/think off`  `openclaw agent --thinking off` 会发送顶层 `think: false`,除非配置了显式的模型 `params.think`/`params.thinking` 值;而 `/think low|medium|high` 会发送匹配的顶层 `think` 强度字符串。`/think max` 会映射到 Ollama 的最高原生强度,即 `think: "high"`

<Tip>
如果你需要使用 OpenAI 兼容端点,请参见上面的“旧版 OpenAI 兼容模式”部分。在该模式下,流式传输和工具调用可能无法同时工作。
</Tip>


故障排除



在带有 NVIDIA/CUDA 的 WSL2 上,官方 Ollama Linux 安装程序会创建一个带有 Restart=alwaysollama.service systemd 单元。如果该服务自动启动,并在 WSL2 启动期间加载由 GPU 支持的模型,Ollama 可能会在模型加载时固定主机内存。Hyper-V 内存回收并不总是能回收这些固定页面,因此 Windows 可能会终止 WSL2 VM,systemd 又会再次启动 Ollama,循环随之重复。

常见证据

- Windows 侧反复出现 WSL2 重启或终止
- WSL2 启动后不久,`app.slice`  `ollama.service`  CPU 占用较高
- 来自 systemd  SIGTERM而不是 Linux OOM-killer 事件

 OpenClaw 检测到 WSL2启用了带有 `Restart=always`  `ollama.service`,并且可见 CUDA 标记时会记录启动警告

缓解措施

```bash
sudo systemctl disable ollama
```

 Windows 侧将以下内容添加到 `%USERPROFILE%\.wslconfig`,然后运行 `wsl --shutdown`:

```ini
[experimental]
autoMemoryReclaim=disabled
```

 Ollama 服务环境中设置更短的 keep-alive或者只在需要时手动启动 Ollama

```bash
export OLLAMA_KEEP_ALIVE=5m
ollama serve
```

参见 [ollama/ollama#11317](https://github.com/ollama/ollama/issues/11317)


确保 Ollama 正在运行,并且你设置了 OLLAMA_API_KEY(或凭证配置文件),且没有定义显式的 models.providers.ollama 条目:

```bash
ollama serve
```

验证 API 是否可访问:

```bash
curl http://localhost:11434/api/tags
```


如果你的模型未列出,请在本地拉取该模型,或在 models.providers.ollama 中显式定义它。

```bash
ollama list  # 查看已安装内容
ollama pull gemma4
ollama pull gpt-oss:20b
ollama pull llama3.3     # 或另一个模型
```


检查 Ollama 是否在正确端口上运行:

```bash
# 检查 Ollama 是否正在运行
ps aux | grep ollama

# 或重启 Ollama
ollama serve
```


从运行 Gateway 网关的同一台机器和运行时进行验证:

```bash
openclaw gateway status --deep
curl http://ollama-host:11434/api/tags
```

常见原因:

- `baseUrl` 指向 `localhost`,但 Gateway 网关在 Docker 中或另一台主机上运行。
- URL 使用 `/v1`,这会选择 OpenAI 兼容行为,而不是原生 Ollama。
- 远程主机需要在 Ollama 侧更改防火墙或 LAN 绑定。
- 模型存在于你的笔记本电脑守护进程上,但不在远程守护进程上。


这通常意味着提供商正在使用 OpenAI 兼容模式,或者模型无法处理工具架构。

优先使用原生 Ollama 模式:

```json5
{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://ollama-host:11434",
        api: "ollama",
      },
    },
  },
}
```

如果小型本地模型在工具架构上仍然失败,请在该模型条目上设置 `compat.supportsTools: false`,然后重新测试。


Hosted Kimi/GLM 响应如果是很长的非语言符号串,会被视为失败的提供商输出,而不是成功的助手回答。这样正常的重试、回退或错误处理就能接管,而不会把损坏文本持久化到会话中。

如果反复发生,请捕获原始模型名称、当前会话文件,以及本次运行使用的是 `Cloud + Local` 还是 `Cloud only`,然后尝试一个新的会话和一个回退模型:

```bash
openclaw infer model run --model ollama/kimi-k2.5:cloud --prompt "Reply with exactly: ok" --json
openclaw models set ollama/gemma4
```


大型本地模型在流式传输开始前可能需要很长的首次加载时间。将超时范围限定到 Ollama 提供商,并且可以选择让 Ollama 在轮次之间保持模型已加载:

```json5
{
  models: {
    providers: {
      ollama: {
        timeoutSeconds: 300,
        models: [
          {
            id: "gemma4:26b",
            name: "gemma4:26b",
            params: { keep_alive: "15m" },
          },
        ],
      },
    },
  },
}
```

如果主机本身接受连接很慢,`timeoutSeconds` 也会延长此提供商受保护的 Undici 连接超时。


许多 Ollama 模型声明的上下文大于你的硬件可以舒适运行的范围。原生 Ollama 会使用 Ollama 自身的运行时上下文默认值,除非你设置 params.num_ctx。当你想要可预测的首个 token 延迟时,请同时限制 OpenClaw 的预算和 Ollama 的请求上下文:

```json5
{
  models: {
    providers: {
      ollama: {
        contextWindow: 32768,
        maxTokens: 8192,
        models: [
          {
            id: "qwen3.5:9b",
            name: "qwen3.5:9b",
            params: { num_ctx: 32768, thinking: false },
          },
        ],
      },
    },
  },
}
```

如果 OpenClaw 发送了过多提示词,请先降低 `contextWindow`。如果 Ollama 正在加载对这台机器来说过大的运行时上下文,请降低 `params.num_ctx`。如果生成运行时间过长,请降低 `maxTokens`



更多帮助:故障排除常见问题

相关内容



所有提供商、模型引用和故障转移行为的概览。


如何选择和配置模型。


Ollama 驱动的 Web 搜索的完整设置和行为详情。


完整配置参考。


📄 OpenAI

原文:https://docs.openclaw.ai/zh-CN/providers/openai

OpenAI 为 GPT 模型提供开发者 API,Codex 也可通过 OpenAI 的 Codex 客户端作为
ChatGPT 计划中的编码智能体使用。OpenClaw 将这些接入面保持分离,让配置保持可预测。

OpenClaw 使用 openai/* 作为规范的 OpenAI 模型路由。OpenAI 模型上的嵌入式智能体
轮次默认通过原生 Codex 应用服务器运行时执行;直接的 OpenAI API key 凭证仍可用于图像、嵌入、语音和 realtime 等非智能体 OpenAI
接入面。

  • 智能体模型 - 通过 Codex 运行时使用 openai/* 模型;如果要使用 ChatGPT/Codex 订阅,请用
    Codex 凭证登录;如果你有意使用 API key 凭证,请配置一个兼容 Codex 的
    OpenAI API key 备用项。
  • 非智能体 OpenAI API - 通过 OPENAI_API_KEY 或 OpenAI API key 新手引导,直接访问 OpenAI Platform,并按用量计费。
  • 旧版配置 - openai-codex/* 模型引用会由
    openclaw doctor --fix 修复为 openai/* 加 Codex 运行时。

OpenAI 明确支持在 OpenClaw 这类外部工具和工作流中使用订阅 OAuth。

提供商、模型、运行时和渠道是彼此独立的层。如果这些标签混在一起,请先阅读 Agent Runtimes,再更改配置。

快速选择

目标 使用 备注
使用原生 Codex 运行时的 ChatGPT/Codex 订阅 openai/gpt-5.5 默认 OpenAI 智能体设置。使用 Codex 凭证登录。
智能体模型的直接 API key 计费 openai/gpt-5.5 加一个兼容 Codex 的 API key 配置文件 使用 auth.order.openai 将备用项放在订阅凭证之后。
通过显式 PI 进行直接 API key 计费 openai/gpt-5.5 加提供商/模型运行时 pi 选择普通的 openai API key 配置文件。
最新 ChatGPT Instant API 别名 openai/chat-latest 仅限直接 API key。用于实验的移动别名,不是默认值。
通过显式 PI 使用 ChatGPT/Codex 订阅凭证 openai/gpt-5.5 加提供商/模型运行时 pi 为兼容性路由选择一个 openai-codex 凭证配置文件。
图像生成或编辑 openai/gpt-image-2 可配合 OPENAI_API_KEY 或 OpenAI Codex OAuth 使用。
透明背景图像 openai/gpt-image-1.5 使用 outputFormat=pngwebp,并设置 openai.background=transparent

命名映射

这些名称相似,但不能互换:

你看到的名称 含义
openai 提供商前缀 规范 OpenAI 模型路由;智能体轮次使用 Codex 运行时。
openai-codex 旧版凭证/配置文件前缀 较旧的 OpenAI Codex OAuth/订阅配置文件命名空间。现有配置文件和 auth.order.openai-codex 仍然可用。
codex 插件 插件 内置 OpenClaw 插件,提供原生 Codex 应用服务器运行时和 /codex 聊天控制。
提供商/模型 agentRuntime.id: codex Agent Runtimes 强制对匹配的嵌入式轮次使用原生 Codex 应用服务器 harness。
/codex ... 聊天命令集 从会话中绑定/控制 Codex 应用服务器线程。
runtime: "acp", agentId: "codex" ACP 会话路由 通过 ACP/acpx 运行 Codex 的显式备用路径。

这意味着配置可以有意包含 openai/* 模型引用,同时凭证配置文件仍指向兼容 Codex 的凭据。新配置优先使用 auth.order.openai;现有 openai-codex:* 配置文件和 auth.order.openai-codex
仍受支持。openclaw doctor --fix 会将旧版 openai-codex/* 模型引用重写为规范 OpenAI 模型路由。


GPT-5.5 可通过直接 OpenAI Platform API key 访问和订阅/OAuth 路由两种方式使用。对于 ChatGPT/Codex 订阅加原生 Codex
执行,请使用 openai/gpt-5.5;未设置的运行时配置现在会为 OpenAI 智能体轮次选择 Codex
harness。只有在你需要为 OpenAI 智能体模型使用直接 API key 凭证时,才使用 OpenAI API key 配置文件。


OpenAI 智能体模型轮次需要内置 Codex 应用服务器插件。显式 PI 运行时配置仍可作为可选兼容性路由使用。当使用 openai-codex 凭证配置文件显式选择 PI 时,OpenClaw 会将公开模型引用保持为 openai/*,并在内部通过旧版
Codex 凭证传输路由 PI。运行 openclaw doctor --fix,以修复陈旧的
openai-codex/* 模型引用,或并非来自显式运行时配置的旧 PI 会话固定项。

OpenClaw 功能覆盖

OpenAI 能力 OpenClaw 接入面 Status
聊天 / Responses openai/<model> 模型提供商
Codex 订阅模型 openai-codex OAuth 的 openai/<model>
旧版 Codex 模型引用 openai-codex/<model> 由 Doctor 修复为 openai/<model>
Codex 应用服务器 harness 省略运行时或使用提供商/模型 agentRuntime.id: codexopenai/<model>
服务端 Web 搜索 原生 OpenAI Responses 工具 是,当 Web 搜索已启用且未固定提供商时
图像 image_generate
视频 video_generate
文本转语音 messages.tts.provider: "openai" / tts
批量语音转文本 tools.media.audio / 媒体理解
流式语音转文本 Voice Call streaming.provider: "openai"
Realtime 语音 Voice Call realtime.provider: "openai" / Control UI Talk
嵌入 记忆嵌入提供商

记忆嵌入

OpenClaw 可以为 memory_search 索引和查询嵌入使用 OpenAI,或兼容 OpenAI 的嵌入端点:

{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
        model: "text-embedding-3-small",
      },
    },
  },
}

对于需要非对称嵌入标签的兼容 OpenAI 端点,请在 memorySearch 下设置 queryInputTypedocumentInputType。OpenClaw 会将它们作为提供商特定的 input_type 请求字段转发:查询嵌入使用
queryInputType;已索引的记忆分块和批量索引使用
documentInputType。完整示例见 记忆配置参考

入门指南

选择你偏好的凭证方式,并按照设置步骤操作。



最适合: 直接 API 访问和按用量计费。

<Steps>
  <Step title="获取你的 API key">
     [OpenAI Platform 控制台](https://platform.openai.com/api-keys)创建或复制 API key
  </Step>
  <Step title="运行新手引导">
    ```bash
    openclaw onboard --auth-choice openai-api-key
    ```

    或直接传入 key

    ```bash
    openclaw onboard --openai-api-key "$OPENAI_API_KEY"
    ```
  </Step>
  <Step title="验证模型是否可用">
    ```bash
    openclaw models list --provider openai
    ```
  </Step>
</Steps>

### 路由摘要

| 模型引用              | 运行时配置             | 路由                       | 凭证             |
| ---------------------- | -------------------------- | --------------------------- | ---------------- |
| `openai/gpt-5.5`      | 省略 / 提供商/模型 `agentRuntime.id: "codex"` | Codex 应用服务器 harness | 兼容 Codex  OpenAI 配置文件 |
| `openai/gpt-5.4-mini` | 省略 / 提供商/模型 `agentRuntime.id: "codex"` | Codex 应用服务器 harness | 兼容 Codex  OpenAI 配置文件 |
| `openai/gpt-5.5`      | 提供商/模型 `agentRuntime.id: "pi"`              | PI 嵌入式运行时      | `openai` 配置文件或选定的 `openai-codex` 配置文件 |

<Note>
`openai/*` 智能体模型使用 Codex 应用服务器 harness。若要为智能体模型使用 API key
凭证,请创建一个兼容 Codex  API key 配置文件,并用 `auth.order.openai` 对其排序;`OPENAI_API_KEY` 仍是非智能体 OpenAI API 接入面的直接备用项。较旧的 `auth.order.openai-codex` 条目仍然可用。
</Note>

### 配置示例

```json5
{
  env: { OPENAI_API_KEY: "sk-..." },
  agents: { defaults: { model: { primary: "openai/gpt-5.5" } } },
}
```

若要通过 OpenAI API 试用 ChatGPT 当前的 Instant 模型,请将模型设置为
`openai/chat-latest`

```json5
{
  env: { OPENAI_API_KEY: "sk-..." },
  agents: { defaults: { model: { primary: "openai/chat-latest" } } },
}
```

`chat-latest` 是一个移动别名。OpenAI 将其记录为 ChatGPT 中使用的最新 Instant
模型,并建议生产 API 使用 `gpt-5.5`,因此除非你明确需要该别名行为,否则请将 `openai/gpt-5.5` 保持为稳定默认值。该别名目前仅接受 `medium` 文本详细程度,因此 OpenClaw 会为此
模型规范化不兼容的 OpenAI 文本详细程度覆盖项。

<Warning>
OpenClaw **不会** 暴露 `openai/gpt-5.3-codex-spark`。实时 OpenAI API 请求会拒绝该模型,当前 Codex 目录也不会暴露它。
</Warning>


最适合: 使用你的 ChatGPT/Codex 订阅,通过原生 Codex app-server 执行,而不是单独的 API key。Codex cloud 需要 ChatGPT 登录。

<Steps>
  <Step title="Run Codex OAuth">
    ```bash
    openclaw onboard --auth-choice openai-codex
    ```

    或直接运行 OAuth:

    ```bash
    openclaw models auth login --provider openai-codex
    ```

    对于无头或不便使用回调的设置,添加 `--device-code`,通过 ChatGPT 设备码流程登录,而不是使用 localhost 浏览器回调:

    ```bash
    openclaw models auth login --provider openai-codex --device-code
    ```
  </Step>
  <Step title="Use the canonical OpenAI model route">
    ```bash
    openclaw config set agents.defaults.model.primary openai/gpt-5.5
    ```

    默认路径不需要运行时配置。OpenAI 智能体轮次会自动选择原生 Codex app-server 运行时,并且 OpenClaw 会在选择此路由时安装或修复内置的 Codex 插件。
  </Step>
  <Step title="Verify Codex auth is available">
    ```bash
    openclaw models list --provider openai-codex
    ```

    Gateway 网关运行后,在聊天中发送 `/codex status`  `/codex models`,以验证原生 app-server 运行时。
  </Step>
</Steps>

### 路由摘要

| 模型 ref | 运行时配置 | 路由 | 凭证 |
|-----------|----------------|-------|------|
| `openai/gpt-5.5` | 省略 / 提供商/模型 `agentRuntime.id: "codex"` | 原生 Codex app-server harness | Codex 登录或有序 `openai` 凭证配置文件 |
| `openai/gpt-5.5` | 提供商/模型 `agentRuntime.id: "pi"` | 带内部 Codex-auth 传输的 PI 嵌入式运行时 | 选定的 `openai-codex` 配置文件 |
| `openai-codex/gpt-5.5` |  doctor 修复 | 旧版路由重写为 `openai/gpt-5.5` | 现有 `openai-codex` 配置文件 |

<Warning>
不要配置较旧的 `openai-codex/gpt-5.1*``openai-codex/gpt-5.2*` 
`openai-codex/gpt-5.3*` 模型 ref。ChatGPT/Codex OAuth 账号现在会拒绝这些模型。请使用 `openai/gpt-5.5`;OpenAI 智能体轮次现在默认选择 Codex 运行时。
</Warning>

<Note>
`openai-codex/*` 模型前缀是由 doctor 修复的旧版配置。对于常见的订阅加原生运行时设置,请使用 Codex 凭证登录,但将模型 ref 保持为 `openai/gpt-5.5`。新配置应将 OpenAI 智能体凭证顺序放在 `auth.order.openai` 下;较旧的 `auth.order.openai-codex` 条目仍然有效。
</Note>

### 配置示例

```json5
{
  plugins: { entries: { codex: { enabled: true } } },
  agents: {
    defaults: {
      model: { primary: "openai/gpt-5.5" },
    },
  },
}
```

使用 API-key 备份时,将模型保持为 `openai/gpt-5.5`,并将凭证顺序放在 `openai` 下。OpenClaw 会先尝试订阅,然后尝试 API key,同时保持使用 Codex harness:

```json5
{
  plugins: { entries: { codex: { enabled: true } } },
  agents: {
    defaults: {
      model: { primary: "openai/gpt-5.5" },
    },
  },
  auth: {
    order: {
      openai: [
        "openai-codex:user@example.com",
        "openai:api-key-backup",
      ],
    },
  },
}
```

<Note>
新手引导不再从 `~/.codex` 导入 OAuth 材料。请使用浏览器 OAuth(默认)或上面的设备码流程登录,OpenClaw 会在自己的智能体凭证存储中管理生成的凭证。
</Note>

### 检查并恢复 Codex OAuth 路由

使用这些命令查看默认智能体正在使用哪个模型、运行时和凭证路由:

```bash
openclaw models status
openclaw models auth list --provider openai-codex
openclaw config get agents.defaults.model --json
openclaw config get models.providers.openai.agentRuntime --json
```

对于特定智能体,添加 `--agent <id>`

```bash
openclaw models status --agent <id>
openclaw models auth list --agent <id> --provider openai-codex
```

如果较旧的配置仍有 `openai-codex/gpt-*`,或存在没有显式运行时配置的陈旧 OpenAI PI 会话固定,请修复它:

```bash
openclaw doctor --fix
openclaw config validate
```

如果 `models auth list --provider openai-codex` 未显示可用配置文件,请重新登录:

```bash
openclaw models auth login --provider openai-codex
openclaw models status --probe --probe-provider openai-codex
```

`openai/*`  OpenAI 智能体轮次通过 Codex 使用的模型路由。`openai-codex` 凭证/配置文件提供商 id 仍被现有配置文件和 CLI 列表接受。

### 状态指示器

聊天 `/status` 会显示当前会话使用的模型运行时。对于 OpenAI 智能体模型轮次,内置 Codex app-server harness 显示为 `Runtime: OpenAI Codex`。陈旧的 PI 会话固定会被修复为 Codex,除非配置显式固定 PI。

### Doctor 警告

如果配置或会话状态中仍保留 `openai-codex/*` 路由或陈旧 OpenAI PI 固定,`openclaw doctor --fix` 会将它们重写为带 Codex 运行时的 `openai/*`,除非显式配置了 PI。

### 上下文窗口上限

OpenClaw 将模型元数据和运行时上下文上限视为两个独立值。

对于通过 Codex OAuth 目录使用的 `openai/gpt-5.5`

- 原生 `contextWindow``1000000`
- 默认运行时 `contextTokens` 上限:`272000`

较小的默认上限在实践中具有更好的延迟和质量特性。使用 `contextTokens` 覆盖它:

```json5
{
  models: {
    providers: {
      "openai-codex": {
        models: [{ id: "gpt-5.5", contextTokens: 160000 }],
      },
    },
  },
}
```

<Note>
使用 `contextWindow` 声明原生模型元数据。使用 `contextTokens` 限制运行时上下文预算。
</Note>

### 目录恢复

当上游 Codex 目录元数据中存在 `gpt-5.5` 时,OpenClaw 会使用它。如果账号已完成身份验证,但实时 Codex 发现缺少 `gpt-5.5` 行,OpenClaw 会合成该 OAuth 模型行,使 cron、子智能体和已配置默认模型运行不会因 `Unknown model` 失败。


原生 Codex app-server 凭证

原生 Codex app-server harness 使用 openai/* 模型 ref 加省略的运行时配置,或提供商/模型 agentRuntime.id: "codex",但其凭证仍基于账号。OpenClaw 按以下顺序选择凭证:

  1. 智能体的有序 OpenAI 凭证配置文件,最好放在
    auth.order.openai 下。现有 openai-codex:* 配置文件和
    auth.order.openai-codex 对较旧安装仍然有效。
  2. app-server 的现有账号,例如本地 Codex CLI ChatGPT 登录。
  3. 仅对于本地 stdio app-server 启动,当 app-server 报告没有账号且仍需要 OpenAI 凭证时,依次使用 CODEX_API_KEY,然后
    OPENAI_API_KEY

这意味着本地 ChatGPT/Codex 订阅登录不会仅因为 Gateway 网关进程同时拥有用于直接 OpenAI 模型或嵌入的 OPENAI_API_KEY 就被替换。环境 API-key fallback 仅用于本地 stdio 无账号路径;它不会发送到 WebSocket app-server 连接。选择订阅风格的 Codex 配置文件时,OpenClaw 还会避免将 CODEX_API_KEYOPENAI_API_KEY 放入派生的 stdio app-server 子进程,并通过 app-server login RPC 发送选定凭证。当该订阅配置文件被 Codex 用量限制阻止时,OpenClaw 可以轮换到下一个有序的 openai:* API-key 配置文件,而无需更改选定模型或退出 Codex harness。订阅重置时间经过后,该订阅配置文件会再次可用。

图像生成

内置 openai 插件通过 image_generate 工具注册图像生成。
它通过相同的 openai/gpt-image-2 模型 ref 同时支持 OpenAI API-key 图像生成和 Codex OAuth 图像生成。

能力 OpenAI API key Codex OAuth
模型 ref openai/gpt-image-2 openai/gpt-image-2
凭证 OPENAI_API_KEY OpenAI Codex OAuth 登录
传输 OpenAI Images API Codex Responses 后端
每个请求的最大图像数 4 4
编辑模式 已启用(最多 5 张参考图像) 已启用(最多 5 张参考图像)
尺寸覆盖 支持,包括 2K/4K 尺寸 支持,包括 2K/4K 尺寸
宽高比 / 分辨率 不转发到 OpenAI Images API 在安全时映射到支持的尺寸
{
  agents: {
    defaults: {
      imageGenerationModel: { primary: "openai/gpt-image-2" },
    },
  },
}


参见 图像生成,了解共享工具参数、提供商选择和故障转移行为。

gpt-image-2 是 OpenAI 文本生成图像和图像编辑的默认值。gpt-image-1.5gpt-image-1gpt-image-1-mini 仍可作为显式模型覆盖使用。对于透明背景 PNG/WebP 输出,请使用 openai/gpt-image-1.5;当前 gpt-image-2 API 会拒绝 background: "transparent"

对于透明背景请求,智能体应调用 image_generate,并设置 model: "openai/gpt-image-1.5"outputFormat: "png""webp",以及 background: "transparent";较旧的 openai.background 提供商选项仍被接受。OpenClaw 还会保护公共 OpenAI 和 OpenAI Codex OAuth 路由,将默认的 openai/gpt-image-2 透明请求重写为 gpt-image-1.5;Azure 和自定义 OpenAI 兼容端点会保留其配置的部署/模型名称。

同一设置也暴露给无头 CLI 运行:

openclaw infer image generate \
  --model openai/gpt-image-1.5 \
  --output-format png \
  --background transparent \
  --prompt "A simple red circle sticker on a transparent background" \
  --json

从输入文件开始时,将相同的 --output-format--background 标志用于
openclaw infer image edit
--openai-background 仍可作为 OpenAI 专用别名使用。

对于 Codex OAuth 安装,保持相同的 openai/gpt-image-2 ref。配置 openai-codex OAuth 配置文件后,OpenClaw 会解析该存储的 OAuth 访问令牌,并通过 Codex Responses 后端发送图像请求。它不会先尝试 OPENAI_API_KEY,也不会对该请求静默回退到 API key。当你想改用直接 OpenAI Images API 路由时,请使用 API key、自定义基础 URL 或 Azure 端点显式配置 models.providers.openai
如果该自定义图像端点位于受信任的 LAN/私有地址,还要设置
browser.ssrfPolicy.dangerouslyAllowPrivateNetwork: true;除非存在此显式选择加入,OpenClaw 会继续阻止私有/内部 OpenAI 兼容图像端点。

生成:

/tool image_generate model=openai/gpt-image-2 prompt="A polished launch poster for OpenClaw on macOS" size=3840x2160 count=1

生成透明 PNG:

/tool image_generate model=openai/gpt-image-1.5 prompt="A simple red circle sticker on a transparent background" outputFormat=png background=transparent

编辑:

/tool image_generate model=openai/gpt-image-2 prompt="Preserve the object shape, change the material to translucent glass" image=/path/to/reference.png size=1024x1536

视频生成

内置 openai 插件通过 video_generate 工具注册视频生成。

能力
默认模型 openai/sora-2
模式 文本转视频、图像转视频、单视频编辑
参考输入 1 张图像或 1 个视频
尺寸覆盖 支持
其他覆盖 aspectRatioresolutionaudiowatermark 会被忽略,并显示工具警告
{
  agents: {
    defaults: {
      videoGenerationModel: { primary: "openai/sora-2" },
    },
  },
}


有关共享工具参数、提供商选择和故障转移行为,请参阅视频生成

GPT-5 提示词贡献

OpenClaw 为跨提供商的 GPT-5 系列运行添加共享的 GPT-5 提示词贡献。它按模型 id 应用,因此 openai/gpt-5.5、旧版修复前引用(例如 openai-codex/gpt-5.5)、openrouter/openai/gpt-5.5opencode/gpt-5.5 以及其他兼容的 GPT-5 引用都会收到相同覆盖层。较旧的 GPT-4.x 模型不会收到。

内置的原生 Codex harness 通过 Codex app-server 开发者指令使用相同的 GPT-5 行为和 Heartbeat 覆盖层,因此通过 Codex 路由的 openai/gpt-5.x 会话会保留相同的跟进和主动 Heartbeat 指引,尽管 Codex 拥有 harness 提示词的其余部分。

GPT-5 贡献会为人格持续性、执行安全、工具纪律、输出形态、完成检查和验证添加带标签的行为契约。特定渠道的回复和静默消息行为保留在共享的 OpenClaw 系统提示词和出站投递策略中。GPT-5 指引始终对匹配模型启用。友好的交互风格层是独立的,并且可配置。

效果
"friendly"(默认) 启用友好的交互风格层
"on" "friendly" 的别名
"off" 仅禁用友好风格层



json5
{
agents: {
defaults: {
promptOverlays: {
gpt5: { personality: "friendly" },
},
},
},
}



bash
openclaw config set agents.defaults.promptOverlays.gpt5.personality off



运行时值不区分大小写,因此 "Off""off" 都会禁用友好风格层。


当未设置共享的 agents.defaults.promptOverlays.gpt5.personality 设置时,旧版 plugins.entries.openai.config.personality 仍会作为兼容性回退读取。

语音与音频



内置 openai 插件会为 messages.tts 表面注册语音合成。

| 设置 | 配置路径 | 默认值 |
|---------|------------|---------|
| 模型 | `messages.tts.providers.openai.model` | `gpt-4o-mini-tts` |
| 语音 | `messages.tts.providers.openai.voice` | `coral` |
| 速度 | `messages.tts.providers.openai.speed` |(未设置)|
| 指令 | `messages.tts.providers.openai.instructions` |(未设置,仅 `gpt-4o-mini-tts`|
| 格式 | `messages.tts.providers.openai.responseFormat` | 语音便签为 `opus`,文件为 `mp3` |
| API key | `messages.tts.providers.openai.apiKey` | 回退到 `OPENAI_API_KEY` |
| 基础 URL | `messages.tts.providers.openai.baseUrl` | `https://api.openai.com/v1` |
| 额外主体 | `messages.tts.providers.openai.extraBody` / `extra_body` |(未设置)|

可用模型:`gpt-4o-mini-tts``tts-1``tts-1-hd`。可用语音:`alloy``ash``ballad``cedar``coral``echo``fable``juniper``marin``onyx``nova``sage``shimmer``verse`

`extraBody` 会在 OpenClaw 生成的字段之后合并到 `/audio/speech` 请求 JSON 中,因此可将其用于需要额外键(例如 `lang`)的 OpenAI 兼容端点。原型键会被忽略。

```json5
{
  messages: {
    tts: {
      providers: {
        openai: { model: "gpt-4o-mini-tts", voice: "coral" },
      },
    },
  },
}
```

<Note>
设置 `OPENAI_TTS_BASE_URL` 可覆盖 TTS 基础 URL,而不会影响聊天 API 端点。OpenAI TTS 仍通过 API key 配置;对于仅 OAuth 的实时语音回复,请使用 Realtime 语音路径,而不是智能体模式的 STT -> TTS 语音。
</Note>


内置 openai 插件通过 OpenClaw 的媒体理解转写表面注册批量语音转文本。

- 默认模型:`gpt-4o-transcribe`
- 端点:OpenAI REST `/v1/audio/transcriptions`
- 输入路径:multipart 音频文件上传
- OpenClaw 中任何使用 `tools.media.audio` 的入站音频转写位置都支持该能力,包括 Discord 语音频道片段和渠道音频附件

要强制为入站音频转写使用 OpenAI

```json5
{
  tools: {
    media: {
      audio: {
        models: [
          {
            type: "provider",
            provider: "openai",
            model: "gpt-4o-transcribe",
          },
        ],
      },
    },
  },
}
```

当共享音频媒体配置或逐调用转写请求提供语言和提示词提示时,它们会转发给 OpenAI


内置的 openai 插件为 Voice Call 插件注册实时转录。

| 设置 | 配置路径 | 默认值 |
|---------|------------|---------|
| 模型 | `plugins.entries.voice-call.config.streaming.providers.openai.model` | `gpt-4o-transcribe` |
| 语言 | `...openai.language` | (未设置) |
| 提示词 | `...openai.prompt` | (未设置) |
| 静音时长 | `...openai.silenceDurationMs` | `800` |
| VAD 阈值 | `...openai.vadThreshold` | `0.5` |
| 认证 | `...openai.apiKey``OPENAI_API_KEY`  `openai-codex` OAuth | API key 直接连接;OAuth 会签发 Realtime 转录客户端密钥 |

<Note>
使用 WebSocket 连接到 `wss://api.openai.com/v1/realtime`,并使用 G.711 u-law(`g711_ulaw` / `audio/pcmu`)音频。当仅配置了 `openai-codex` OAuth 时,Gateway 网关会在打开 WebSocket 之前签发一个临时 Realtime 转录客户端密钥。此流式传输提供商用于 Voice Call 的实时转录路径;Discord 语音目前会录制短片段,并改用批处理 `tools.media.audio` 转录路径。
</Note>


内置的 openai 插件为 Voice Call 插件注册实时语音。

| 设置 | 配置路径 | 默认值 |
|---------|------------|---------|
| 模型 | `plugins.entries.voice-call.config.realtime.providers.openai.model` | `gpt-realtime-2` |
| 语音 | `...openai.voice` | `alloy` |
| Temperature(Azure 部署桥接) | `...openai.temperature` | `0.8` |
| VAD 阈值 | `...openai.vadThreshold` | `0.5` |
| 静音时长 | `...openai.silenceDurationMs` | `500` |
| 前缀填充 | `...openai.prefixPaddingMs` | `300` |
| 推理强度 | `...openai.reasoningEffort` | (未设置) |
| 认证 | `...openai.apiKey``OPENAI_API_KEY`  `openai-codex` OAuth | 浏览器 Talk 和非 Azure 后端桥接可以使用 Codex OAuth |

`gpt-realtime-2` 可用的内置 Realtime 语音:`alloy``ash`
`ballad``coral``echo``sage``shimmer``verse``marin``cedar`
OpenAI 推荐使用 `marin`  `cedar` 以获得最佳 Realtime 质量。这
与上面的 Text-to-speech 语音是不同集合;不要假设像 `fable`
`nova`  `onyx` 这样的 TTS 语音适用于 Realtime 会话。

<Note>
后端 OpenAI realtime 桥接使用 GA Realtime WebSocket 会话形态,该形态不接受 `session.temperature`。Azure OpenAI 部署仍可通过 `azureEndpoint`  `azureDeployment` 使用,并保留与部署兼容的会话形态。支持双向工具调用和 G.711 u-law 音频。
</Note>

<Note>
实时语音会在创建会话时选定。OpenAI 允许大多数
会话字段之后更改,但一旦该会话中的模型已经输出音频,
语音就无法再更改。OpenClaw 目前将内置 Realtime 语音 ID 以字符串形式暴露。
</Note>

<Note>
Control UI Talk 使用 OpenAI 浏览器 realtime 会话,配合 Gateway 网关签发的
临时客户端密钥,并通过浏览器直接与
OpenAI Realtime API 进行 WebRTC SDP 交换。当未配置直接 OpenAI API key 时,
Gateway 网关可以使用所选的 `openai-codex` OAuth
配置签发该客户端密钥。Gateway 网关中继和 Voice Call 后端 realtime WebSocket 桥接会对
原生 OpenAI 端点使用相同的 OAuth 回退。维护者可通过
`OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts`
进行实时验证;
OpenAI 分支会在不记录密钥的情况下验证后端 WebSocket 桥接和浏览器
WebRTC SDP 交换。
</Note>


Azure OpenAI 端点

内置的 openai 提供商可以通过覆盖基础 URL,将图像
生成指向 Azure OpenAI 资源。在图像生成路径上,OpenClaw
会检测 models.providers.openai.baseUrl 上的 Azure 主机名,并自动切换到
Azure 的请求形态。


实时语音使用单独的配置路径
plugins.entries.voice-call.config.realtime.providers.openai.azureEndpoint),
不受 models.providers.openai.baseUrl 影响。其 Azure
设置请参阅 Voice and speech 下的 实时语音
折叠面板。

在以下情况使用 Azure OpenAI:

  • 你已经拥有 Azure OpenAI 订阅、配额或企业协议
  • 你需要 Azure 提供的区域数据驻留或合规控制
  • 你希望将流量保留在现有 Azure 租户内

配置

要通过内置 openai 提供商使用 Azure 图像生成,请将
models.providers.openai.baseUrl 指向你的 Azure 资源,并将 apiKey 设置为
Azure OpenAI key(不是 OpenAI Platform key):

{
  models: {
    providers: {
      openai: {
        baseUrl: "https://<your-resource>.openai.azure.com",
        apiKey: "<azure-openai-api-key>",
      },
    },
  },
}

OpenClaw 会识别以下 Azure 主机后缀,用于 Azure 图像生成
路由:

  • *.openai.azure.com
  • *.services.ai.azure.com
  • *.cognitiveservices.azure.com

对于已识别 Azure 主机上的图像生成请求,OpenClaw 会:

  • 发送 api-key 标头,而不是 Authorization: Bearer
  • 使用部署作用域路径(/openai/deployments/{deployment}/...
  • 在每个请求后追加 ?api-version=...
  • 对 Azure 图像生成调用使用 600 秒默认请求超时。
    每次调用的 timeoutMs 值仍会覆盖此默认值。

其他基础 URL(公共 OpenAI、OpenAI 兼容代理)会保留标准
OpenAI 图像请求形态。


openai 提供商图像生成路径的 Azure 路由需要
OpenClaw 2026.4.22 或更高版本。早期版本会将任何自定义
openai.baseUrl 当作公共 OpenAI 端点处理,并且在 Azure
图像部署上会失败。

API 版本

设置 AZURE_OPENAI_API_VERSION,为 Azure 图像生成路径固定特定的 Azure 预览版或 GA 版本:

export AZURE_OPENAI_API_VERSION="2024-12-01-preview"

未设置该变量时,默认值为 2024-12-01-preview

模型名称是部署名称

Azure OpenAI 会将模型绑定到部署。对于通过内置 openai provider 路由的 Azure 图像生成请求,OpenClaw 中的 model 字段必须是你在 Azure 门户中配置的 Azure 部署名称,而不是公开的 OpenAI 模型 ID。

如果你创建了一个名为 gpt-image-2-prod、提供 gpt-image-2 服务的部署:

/tool image_generate model=openai/gpt-image-2-prod prompt="A clean poster" size=1024x1024 count=1

同样的部署名称规则也适用于通过内置 openai provider 路由的图像生成调用。

区域可用性

Azure 图像生成目前仅在部分区域可用(例如 eastus2swedencentralpolandcentralwestus3uaenorth)。创建部署前,请查看 Microsoft 当前的区域列表,并确认你的区域提供了特定模型。

参数差异

Azure OpenAI 和公开 OpenAI 并不总是接受相同的图像参数。Azure 可能会拒绝公开 OpenAI 允许的选项(例如 gpt-image-2 上的某些 background 值),或仅在特定模型版本上公开这些选项。这些差异来自 Azure 和底层模型,而不是 OpenClaw。如果 Azure 请求因验证错误而失败,请在 Azure 门户中查看你的特定部署和 API 版本支持的参数集。


Azure OpenAI 使用原生传输和兼容行为,但不会接收 OpenClaw 的隐藏归因标头——请参阅 高级配置 下的 Native vs OpenAI-compatible routes 折叠项。

对于 Azure 上的聊天或 Responses 流量(图像生成之外),请使用新手引导流程或专用的 Azure provider 配置——仅设置 openai.baseUrl 不会自动采用 Azure API/认证形态。另有一个单独的 azure-openai-responses/* provider;请参阅下面的 Server-side compaction 折叠项。

高级配置



对于 openai/*,OpenClaw 优先使用 WebSocket,并以 SSE 作为回退("auto")。

 `"auto"` 模式下,OpenClaw:
- 在回退到 SSE 之前,会重试一次早期 WebSocket 失败
- 失败后,将 WebSocket 标记为降级约 60 秒,并在冷却期间使用 SSE
- 为重试和重连附加稳定的会话和轮次身份标头
- 在不同传输变体之间规范化用量计数器(`input_tokens` / `prompt_tokens`

|  | 行为 |
|-------|----------|
| `"auto"`(默认) | 优先 WebSocket,SSE 回退 |
| `"sse"` | 仅强制使用 SSE |
| `"websocket"` | 仅强制使用 WebSocket |

```json5
{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.5": {
          params: { transport: "auto" },
        },
      },
    },
  },
}
```

相关 OpenAI 文档:
- [使用 WebSocket  Realtime API](https://platform.openai.com/docs/guides/realtime-websocket)
- [流式 API 响应(SSE)](https://platform.openai.com/docs/guides/streaming-responses)


OpenClaw 为 openai/* 公开共享的快速模式开关:

- **聊天/UI:** `/fast status|on|off`
- **配置:** `agents.defaults.models["<provider>/<model>"].params.fastMode`

启用后,OpenClaw 会将快速模式映射到 OpenAI 优先级处理(`service_tier = "priority"`)。现有的 `service_tier` 值会被保留,快速模式不会改写 `reasoning`  `text.verbosity`

```json5
{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.5": { params: { fastMode: true } },
      },
    },
  },
}
```

<Note>
会话覆盖优先于配置。在会话 UI 中清除会话覆盖后,会话会回到已配置的默认值。
</Note>


OpenAI 的 API 通过 service_tier 公开优先级处理。在 OpenClaw 中按模型设置:

```json5
{
  agents: {
    defaults: {
      models: {
        "openai/gpt-5.5": { params: { serviceTier: "priority" } },
      },
    },
  },
}
```

支持的值:`auto``default``flex``priority`

<Warning>
`serviceTier` 仅转发到原生 OpenAI 端点(`api.openai.com`)和原生 Codex 端点(`chatgpt.com/backend-api`)。如果你通过代理路由任一 provider,OpenClaw 会保持 `service_tier` 不变。
</Warning>


对于直接 OpenAI Responses 模型(api.openai.com 上的 openai/*),OpenAI 插件的 Pi harness 流包装器会自动启用服务端压缩:

- 强制 `store: true`(除非模型兼容性设置了 `supportsStore: false`
- 注入 `context_management: [{ type: "compaction", compact_threshold: ... }]`
- 默认 `compact_threshold``contextWindow`  70%(不可用时为 `80000`

这适用于内置 Pi harness 路径,也适用于嵌入式运行使用的 OpenAI provider 钩子。原生 Codex 应用服务器 harness 通过 Codex 管理自己的上下文,并由 OpenAI 的默认 agent 路由或 provider/model 运行时策略配置。

<Tabs>
  <Tab title="Enable explicitly">
    适用于 Azure OpenAI Responses 等兼容端点:

    ```json5
    {
      agents: {
        defaults: {
          models: {
            "azure-openai-responses/gpt-5.5": {
              params: { responsesServerCompaction: true },
            },
          },
        },
      },
    }
    ```
  </Tab>
  <Tab title="Custom threshold">
    ```json5
    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": {
              params: {
                responsesServerCompaction: true,
                responsesCompactThreshold: 120000,
              },
            },
          },
        },
      },
    }
    ```
  </Tab>
  <Tab title="Disable">
    ```json5
    {
      agents: {
        defaults: {
          models: {
            "openai/gpt-5.5": {
              params: { responsesServerCompaction: false },
            },
          },
        },
      },
    }
    ```
  </Tab>
</Tabs>

<Note>
`responsesServerCompaction` 只控制 `context_management` 注入。直接 OpenAI Responses 模型仍会强制 `store: true`,除非兼容性设置了 `supportsStore: false`
</Note>


对于 openai/* 上的 GPT-5 系列运行,OpenClaw 可以使用更严格的嵌入式执行契约:

```json5
{
  agents: {
    defaults: {
      embeddedPi: { executionContract: "strict-agentic" },
    },
  },
}
```

使用 `strict-agentic` 时,OpenClaw:
- 当工具操作可用时,不再将仅计划的轮次视为成功进展
- 使用立即行动的 Steer 重试该轮次
- 对实质性工作自动启用 `update_plan`
- 如果模型持续规划而不行动,则显式暴露阻塞状态

<Note>
仅限 OpenAI  Codex GPT-5 系列运行。其他 provider 和较旧模型系列保持默认行为。
</Note>


OpenClaw 对待直接 OpenAI、Codex 和 Azure OpenAI 端点的方式,与通用 OpenAI 兼容 /v1 代理不同:

**原生路由**`openai/*`、Azure OpenAI):
- 仅为支持 OpenAI `none` effort 的模型保留 `reasoning: { effort: "none" }`
- 对会拒绝 `reasoning.effort: "none"` 的模型或代理,省略已禁用的 reasoning
- 默认将工具架构设为严格模式
- 仅在已验证的原生主机上附加隐藏归因标头
- 保留 OpenAI 专用请求塑形(`service_tier``store`、reasoning 兼容性、提示缓存提示)

**代理/兼容路由:**
- 使用更宽松的兼容行为
- 从非原生 `openai-completions` 载荷中移除 Completions `store`
- 接受用于 OpenAI 兼容 Completions 代理的高级 `params.extra_body`/`params.extraBody` 透传 JSON
- 接受用于 vLLM  OpenAI 兼容 Completions 代理的 `params.chat_template_kwargs`
- 不强制严格工具架构或仅原生使用的标头

Azure OpenAI 使用原生传输和兼容行为,但不会接收隐藏归因标头。


相关内容



选择 provider、模型引用和故障转移行为。


共享图像工具参数和 provider 选择。


共享视频工具参数和 provider 选择。


认证细节和凭据复用规则。


📄 OpenRouter

原文:https://docs.openclaw.ai/zh-CN/providers/openrouter

OpenRouter 提供一个统一 API,可通过单一端点和 API key 将请求路由到多个模型。它兼容 OpenAI,因此大多数 OpenAI SDK 只需切换 base URL 即可使用。

入门指南



openrouter.ai/keys 创建 API key。


bash
openclaw onboard --auth-choice openrouter-api-key



新手引导默认使用 openrouter/auto。之后可选择一个具体模型:

```bash
openclaw models set openrouter/<provider>/<model>
```


配置示例

{
  env: { OPENROUTER_API_KEY: "sk-or-..." },
  agents: {
    defaults: {
      model: { primary: "openrouter/auto" },
    },
  },
}

模型引用


模型引用遵循 openrouter/<provider>/<model> 模式。完整的可用提供商和模型列表,请参阅 /concepts/model-providers

内置回退示例:

模型引用 说明
openrouter/auto OpenRouter 自动路由
openrouter/moonshotai/kimi-k2.6 通过 MoonshotAI 使用 Kimi K2.6
openrouter/moonshotai/kimi-k2.5 通过 MoonshotAI 使用 Kimi K2.5

图像生成

OpenRouter 也可以支持 image_generate 工具。在 agents.defaults.imageGenerationModel 下使用 OpenRouter 图像模型:

{
  env: { OPENROUTER_API_KEY: "sk-or-..." },
  agents: {
    defaults: {
      imageGenerationModel: {
        primary: "openrouter/google/gemini-3.1-flash-image-preview",
        timeoutMs: 180_000,
      },
    },
  },
}

OpenClaw 会将图像请求发送到 OpenRouter 的 chat completions 图像 API,并带上 modalities: ["image", "text"]。Gemini 图像模型会通过 OpenRouter 的 image_config 接收受支持的 aspectRatioresolution 提示。对于较慢的 OpenRouter 图像模型,请使用 agents.defaults.imageGenerationModel.timeoutMsimage_generate 工具每次调用的 timeoutMs 参数仍会优先。

视频生成

OpenRouter 也可以通过其异步 /videos API 支持 video_generate 工具。在 agents.defaults.videoGenerationModel 下使用 OpenRouter 视频模型:

{
  env: { OPENROUTER_API_KEY: "sk-or-..." },
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "openrouter/google/veo-3.1-fast",
      },
    },
  },
}

OpenClaw 会向 OpenRouter 提交文生视频和图生视频任务,轮询返回的 polling_url,并从 OpenRouter 的 unsigned_urls 或文档化的任务内容端点下载已完成的视频。默认情况下,参考图像会作为首帧/末帧图像发送;标记为 reference_image 的图像会作为 OpenRouter 输入引用发送。内置的 google/veo-3.1-fast 默认值声明了当前支持的 4/6/8 秒时长、720P/1080P 分辨率,以及 16:9/9:16 宽高比。OpenRouter 未注册视频到视频功能,因为上游视频生成 API 目前接受文本和图像引用。

文本转语音

OpenRouter 也可以通过其 OpenAI 兼容的 /audio/speech 端点用作 TTS 提供商。

{
  messages: {
    tts: {
      auto: "always",
      provider: "openrouter",
      providers: {
        openrouter: {
          model: "hexgrad/kokoro-82m",
          voice: "af_alloy",
          responseFormat: "mp3",
        },
      },
    },
  },
}

如果省略 messages.tts.providers.openrouter.apiKey,TTS 会复用 models.providers.openrouter.apiKey,然后再使用 OPENROUTER_API_KEY

语音转文本(入站音频)

OpenRouter 可以通过共享的 tools.media.audio 路径,使用其 STT 端点(/audio/transcriptions)转录入站语音/音频附件。这适用于任何会将入站语音/音频转发到媒体理解预检的渠道插件。

{
  tools: {
    media: {
      audio: {
        enabled: true,
        models: [{ provider: "openrouter", model: "openai/whisper-large-v3-turbo" }],
      },
    },
  },
}

OpenClaw 会将 OpenRouter STT 请求作为 JSON 发送,并在 input_audio 下携带 base64 音频(OpenRouter STT 契约),而不是作为 multipart OpenAI 表单上传。

身份验证和标头

OpenRouter 在底层使用带有你的 API key 的 Bearer token。

在真实 OpenRouter 请求(https://openrouter.ai/api/v1)中,OpenClaw 还会添加 OpenRouter 文档化的应用归因标头:

标头
HTTP-Referer https://openclaw.ai
X-OpenRouter-Title OpenClaw
X-OpenRouter-Categories cli-agent,cloud-agent,programming-app,creative-writing,writing-assistant,general-chat,personal-agent


如果你将 OpenRouter 提供商重新指向其他代理或 base URL,OpenClaw 不会注入这些 OpenRouter 专用标头或 Anthropic 缓存标记。

高级配置



OpenRouter 响应缓存是选择启用的。通过模型参数为每个 OpenRouter 模型启用:

```json5
{
  agents: {
    defaults: {
      models: {
        "openrouter/auto": {
          params: {
            responseCache: true,
            responseCacheTtlSeconds: 300,
          },
        },
      },
    },
  },
}
```

OpenClaw 会发送 `X-OpenRouter-Cache: true`,并在配置后发送 `X-OpenRouter-Cache-TTL``responseCacheClear: true` 会强制刷新当前请求并存储替换响应。也接受 snake_case 别名(`response_cache``response_cache_ttl_seconds`  `response_cache_clear`)。

这独立于提供商提示词缓存,也独立于 OpenRouter  Anthropic `cache_control` 标记。它只会应用于已验证的 `openrouter.ai` 路由,而不会应用于自定义代理 base URL。


在已验证的 OpenRouter 路由上,Anthropic 模型引用会保留 OpenRouter 专用的 Anthropic cache_control 标记,OpenClaw 使用这些标记来更好地复用 system/developer 提示词块的提示词缓存。


在已验证的 OpenRouter 路由上,启用 reasoning 的 Anthropic 模型引用会在请求到达 OpenRouter 前丢弃末尾的 assistant 预填充轮次,以匹配 Anthropic 要求 reasoning 对话以用户轮次结束的约束。


在受支持的非 auto 路由上,OpenClaw 会将所选 thinking 级别映射到 OpenRouter 代理 reasoning payload。不受支持的模型提示和 openrouter/auto 会跳过该 reasoning 注入。Hunter Alpha 也会针对过期配置的模型引用跳过代理 reasoning,因为 OpenRouter 可能会在该已退役路由的 reasoning 字段中返回最终答案文本。


在已验证的 OpenRouter 路由上,openrouter/deepseek/deepseek-v4-flashopenrouter/deepseek/deepseek-v4-pro 会在重放的 assistant 轮次中填充缺失的 reasoning_content,使 thinking/tool 对话保持 DeepSeek V4 所需的后续形态。OpenClaw 会为这些路由发送 OpenRouter 支持的 reasoning_effort 值;xhigh 是已声明的最高级别,过期的 max 覆盖值会映射到 xhigh


OpenRouter 仍会通过代理风格的 OpenAI 兼容路径运行,因此不会转发仅原生 OpenAI 支持的请求整形,例如 serviceTier、Responses store、OpenAI reasoning 兼容 payload 和提示词缓存提示。


Gemini 后端的 OpenRouter 引用会保留在代理 Gemini 路径上:OpenClaw 会在那里保留 Gemini thought-signature 清理,但不会启用原生 Gemini 重放验证或 bootstrap 重写。


如果你在模型参数下传递 OpenRouter 提供商路由,OpenClaw 会在共享流包装器运行前将其作为 OpenRouter 路由元数据转发。

相关



选择提供商、模型引用和故障转移行为。


智能体、模型和提供商的完整配置参考。


📄 千帆

原文:https://docs.openclaw.ai/zh-CN/providers/qianfan

Qianfan 是百度的 MaaS 平台,提供一个统一 API,可通过单一端点和 API key 将请求路由到多个模型。它兼容 OpenAI,因此大多数 OpenAI SDK 只需切换 base URL 即可使用。

属性
提供商 qianfan
身份验证 QIANFAN_API_KEY
API 兼容 OpenAI
基础 URL https://qianfan.baidubce.com/v2

入门指南



Qianfan Console 注册或登录,并确保已启用 Qianfan API 访问权限。


创建新应用或选择现有应用,然后生成 API key。密钥格式为 bce-v3/ALTAK-...


bash
openclaw onboard --auth-choice qianfan-api-key



bash
openclaw models list --provider qianfan


内置目录

模型引用 输入 上下文 最大输出 推理 备注
qianfan/deepseek-v3.2 text 98,304 32,768 默认模型
qianfan/ernie-5.0-thinking-preview text, image 119,000 64,000 多模态


默认内置模型引用是 qianfan/deepseek-v3.2。只有在需要自定义 base URL 或模型元数据时,才需要覆盖 models.providers.qianfan

配置示例

{
  env: { QIANFAN_API_KEY: "bce-v3/ALTAK-..." },
  agents: {
    defaults: {
      model: { primary: "qianfan/deepseek-v3.2" },
      models: {
        "qianfan/deepseek-v3.2": { alias: "QIANFAN" },
      },
    },
  },
  models: {
    providers: {
      qianfan: {
        baseUrl: "https://qianfan.baidubce.com/v2",
        api: "openai-completions",
        models: [
          {
            id: "deepseek-v3.2",
            name: "DEEPSEEK V3.2",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 98304,
            maxTokens: 32768,
          },
          {
            id: "ernie-5.0-thinking-preview",
            name: "ERNIE-5.0-Thinking-Preview",
            reasoning: true,
            input: ["text", "image"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 119000,
            maxTokens: 64000,
          },
        ],
      },
    },
  },
}



Qianfan 通过 OpenAI 兼容的传输路径运行,而不是原生 OpenAI 请求构造。这意味着标准 OpenAI SDK 功能可以使用,但提供商特定参数可能不会被转发。


当前内置目录包含 deepseek-v3.2ernie-5.0-thinking-preview。只有在需要自定义 base URL 或模型元数据时,才添加或覆盖 models.providers.qianfan

<Note>
模型引用使用 `qianfan/` 前缀(例如 `qianfan/deepseek-v3.2`)。
</Note>


- 确保你的 API key 以 bce-v3/ALTAK- 开头,并且已在百度云控制台启用 Qianfan API 访问权限。
- 如果未列出模型,请确认你的账号已激活 Qianfan 服务。
- 默认 base URL 是 https://qianfan.baidubce.com/v2。仅在使用自定义端点或代理时才更改它。


相关内容



选择提供商、模型引用和故障转移行为。


完整的 OpenClaw 配置参考。


配置智能体默认值和模型分配。


Qianfan API 官方文档。


📄 Qwen

原文:https://docs.openclaw.ai/zh-CN/providers/qwen

Qwen OAuth 已移除。 使用 portal.qwen.ai 端点的免费层 OAuth 集成
qwen-portal)已不再可用。
背景请参见 Issue #49557

OpenClaw 现在将 Qwen 作为一等内置提供商处理,其规范 ID 为
qwen。该内置提供商面向 Qwen Cloud / Alibaba DashScope 和
Coding Plan 端点,并保留旧版 modelstudio ID 作为兼容别名继续可用。

  • 提供商:qwen
  • 首选环境变量:QWEN_API_KEY
  • 兼容性也接受:MODELSTUDIO_API_KEYDASHSCOPE_API_KEY
  • API 风格:OpenAI 兼容


如果你想使用 qwen3.6-plus,优先选择标准(按量付费)端点。
Coding Plan 支持可能落后于公开目录。

入门指南

选择你的计划类型并按照设置步骤操作。



最适合: 通过 Qwen Coding Plan 获得基于订阅的访问。

<Steps>
  <Step title="获取你的 API key">
     [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys) 创建或复制 API key
  </Step>
  <Step title="运行新手引导">
    对于 **Global** 端点:

    ```bash
    openclaw onboard --auth-choice qwen-api-key
    ```

    对于 **China** 端点:

    ```bash
    openclaw onboard --auth-choice qwen-api-key-cn
    ```
  </Step>
  <Step title="设置默认模型">
    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "qwen/qwen3.5-plus" },
        },
      },
    }
    ```
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list --provider qwen
    ```
  </Step>
</Steps>

<Note>
旧版 `modelstudio-*` auth-choice ID  `modelstudio/...` 模型引用仍可作为兼容别名使用,
但新的设置流程应优先使用规范的 `qwen-*` auth-choice ID  `qwen/...` 模型引用。
如果你定义了一个精确的自定义 `models.providers.modelstudio` 条目,并带有另一个 `api`
值,则该自定义提供商会拥有 `modelstudio/...` 引用,而不是 Qwen 兼容别名。
</Note>


最适合: 通过标准 Model Studio 端点获得按量付费访问,包括可能无法在 Coding Plan 上使用的 qwen3.6-plus 等模型。

<Steps>
  <Step title="获取你的 API key">
     [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys) 创建或复制 API key
  </Step>
  <Step title="运行新手引导">
    对于 **Global** 端点:

    ```bash
    openclaw onboard --auth-choice qwen-standard-api-key
    ```

    对于 **China** 端点:

    ```bash
    openclaw onboard --auth-choice qwen-standard-api-key-cn
    ```
  </Step>
  <Step title="设置默认模型">
    ```json5
    {
      agents: {
        defaults: {
          model: { primary: "qwen/qwen3.5-plus" },
        },
      },
    }
    ```
  </Step>
  <Step title="验证模型可用">
    ```bash
    openclaw models list --provider qwen
    ```
  </Step>
</Steps>

<Note>
旧版 `modelstudio-*` auth-choice ID  `modelstudio/...` 模型引用仍可作为兼容别名使用,
但新的设置流程应优先使用规范的 `qwen-*` auth-choice ID  `qwen/...` 模型引用。
如果你定义了一个精确的自定义 `models.providers.modelstudio` 条目,并带有另一个 `api`
值,则该自定义提供商会拥有 `modelstudio/...` 引用,而不是 Qwen 兼容别名。
</Note>


计划类型和端点

计划 区域 Auth choice 端点
标准(按量付费) China qwen-standard-api-key-cn dashscope.aliyuncs.com/compatible-mode/v1
标准(按量付费) Global qwen-standard-api-key dashscope-intl.aliyuncs.com/compatible-mode/v1
Coding Plan(订阅) China qwen-api-key-cn coding.dashscope.aliyuncs.com/v1
Coding Plan(订阅) Global qwen-api-key coding-intl.dashscope.aliyuncs.com/v1

该提供商会根据你的 auth choice 自动选择端点。规范选择使用 qwen-*
系列;modelstudio-* 仅保留用于兼容。
你可以在配置中使用自定义 baseUrl 覆盖。


管理 key: home.qwencloud.com/api-keys |
文档: docs.qwencloud.com

内置目录

OpenClaw 目前随附此内置 Qwen 目录。配置的目录会感知端点:Coding Plan
配置会省略仅已知可在标准端点上工作的模型。

模型引用 输入 上下文 备注
qwen/qwen3.5-plus 文本,图像 1,000,000 默认模型
qwen/qwen3.6-plus 文本,图像 1,000,000 需要此模型时优先使用标准端点
qwen/qwen3-max-2026-01-23 文本 262,144 Qwen Max 系列
qwen/qwen3-coder-next 文本 262,144 编码
qwen/qwen3-coder-plus 文本 1,000,000 编码
qwen/MiniMax-M2.5 文本 1,000,000 已启用推理
qwen/glm-5 文本 202,752 GLM
qwen/glm-4.7 文本 202,752 GLM
qwen/kimi-k2.5 文本,图像 262,144 通过 Alibaba 提供的 Moonshot AI


即使某个模型存在于内置目录中,可用性仍可能因端点和计费计划而异。

思考控制

对于启用推理的 Qwen Cloud 模型,该内置提供商会将 OpenClaw
思考级别映射到 DashScope 顶层的 enable_thinking 请求标志。禁用思考时发送
enable_thinking: false;其他思考级别发送
enable_thinking: true

多模态附加功能

qwen 插件还会在标准 DashScope 端点(而不是 Coding Plan 端点)上公开多模态能力:

  • 通过 qwen-vl-max-latest 实现视频理解
  • 通过 wan2.6-t2v(默认)、wan2.6-i2vwan2.6-r2vwan2.6-r2v-flashwan2.7-r2v 实现 Wan 视频生成

要将 Qwen 用作默认视频提供商:

{
  agents: {
    defaults: {
      videoGenerationModel: { primary: "qwen/wan2.6-t2v" },
    },
  },
}


有关共享工具参数、提供商选择和故障转移行为,请参见 视频生成

高级配置



内置 Qwen 插件会在标准 DashScope 端点(而不是 Coding Plan 端点)上为图像和视频注册媒体理解。

| 属性      | 值                 |
| ------------- | --------------------- |
| 模型         | `qwen-vl-max-latest`  |
| 支持的输入 | 图像,视频       |

媒体理解会根据配置的 Qwen 凭证自动解析,不需要额外配置。
请确保你使用的是标准(按量付费)端点,以获得媒体理解支持。


qwen3.6-plus 可在标准(按量付费)Model Studio
端点上使用:

- China:`dashscope.aliyuncs.com/compatible-mode/v1`
- Global:`dashscope-intl.aliyuncs.com/compatible-mode/v1`

如果 Coding Plan 端点对 `qwen3.6-plus` 返回 “unsupported model” 错误,
请改用标准(按量付费)端点/key 对,而不是 Coding Plan 端点/key 对。

OpenClaw 的内置 Qwen 目录不会在 Coding Plan
端点上公布 `qwen3.6-plus`,但会尊重 `models.providers.qwen.models`
下显式配置的 `qwen/qwen3.6-plus` 条目,并在 Coding Plan baseUrl
上使用;因此,如果 Aliyun 在你的订阅中启用了该模型,你可以选择加入。
上游 API 仍会决定调用是否成功。


qwen 插件正被定位为完整 Qwen Cloud
能力面的厂商归属,而不只是编码/文本模型。

- **文本/聊天模型:** 现已内置
- **工具调用、结构化输出、思考:** 继承自 OpenAI 兼容传输
- **图像生成:** 计划在提供商插件层实现
- **图像/视频理解:** 现已在标准端点上内置
- **语音/音频:** 计划在提供商插件层实现
- **Memory 嵌入/重排序:** 计划通过嵌入适配器能力面实现
- **视频生成:** 现已通过共享视频生成能力内置


对于视频生成,OpenClaw 会先将配置的 Qwen 区域映射到匹配的
DashScope AIGC 主机,然后再提交任务:

- Global/Intl:`https://dashscope-intl.aliyuncs.com`
- China:`https://dashscope.aliyuncs.com`

这意味着,指向 Coding Plan 或标准 Qwen 主机的普通
`models.providers.qwen.baseUrl` 仍会让视频生成使用正确的区域
DashScope 视频端点。

当前内置 Qwen 视频生成限制:

- 每个请求最多 **1** 个输出视频
- 最多 **1** 张输入图像
- 最多 **4** 个输入视频
- 最长 **10 ** 时长
- 支持 `size``aspectRatio``resolution``audio`  `watermark`
- 参考图像/视频模式目前要求使用**远程 http(s) URL**。本地文件路径会被预先拒绝,
  因为 DashScope 视频端点不接受为这些引用上传本地 buffer。


原生 Model Studio 端点会在共享 openai-completions 传输上公布流式用量兼容性。
OpenClaw 现在会根据端点能力启用该行为,因此指向同一原生主机的
DashScope 兼容自定义提供商 ID 会继承相同的流式用量行为,而不再要求必须使用内置
qwen 提供商 ID。

原生流式用量兼容性适用于 Coding Plan 主机和标准 DashScope 兼容主机:

- `https://coding.dashscope.aliyuncs.com/v1`
- `https://coding-intl.dashscope.aliyuncs.com/v1`
- `https://dashscope.aliyuncs.com/compatible-mode/v1`
- `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`


多模态能力面(视频理解和 Wan 视频生成)使用标准 DashScope
端点,而不是 Coding Plan 端点:

- Global/Intl 标准 base URL:`https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
- China 标准 base URL:`https://dashscope.aliyuncs.com/compatible-mode/v1`


如果 Gateway 网关作为守护进程(launchd/systemd)运行,请确保 QWEN_API_KEY
可供该进程使用(例如,在 ~/.openclaw/.env 中,或通过
env.shellEnv)。

相关



选择提供商、模型引用和故障转移行为。


共享视频工具参数和提供商选择。


旧版 ModelStudio 提供商和迁移说明。


常规故障排除和常见问题。


📄 Synthetic

原文:https://docs.openclaw.ai/zh-CN/providers/synthetic

Synthetic 提供 Anthropic 兼容端点。
OpenClaw 将它注册为 synthetic provider,并使用 Anthropic
Messages API。

属性
提供商 synthetic
认证 SYNTHETIC_API_KEY
API Anthropic Messages
基础 URL https://api.synthetic.new/anthropic

入门指南



从你的 Synthetic 账户获取一个 SYNTHETIC_API_KEY,或者让新手引导向导提示你输入。


bash
openclaw onboard --auth-choice synthetic-api-key



完成新手引导后,默认模型会设置为:
synthetic/hf:MiniMaxAI/MiniMax-M2.5


OpenClaw 的 Anthropic 客户端会自动在基础 URL 后附加 /v1,因此请使用
https://api.synthetic.new/anthropic(而不是 /anthropic/v1)。如果 Synthetic
更改了它的基础 URL,请覆盖 models.providers.synthetic.baseUrl

配置示例

{
  env: { SYNTHETIC_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" },
      models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.5": { alias: "MiniMax M2.5" } },
    },
  },
  models: {
    mode: "merge",
    providers: {
      synthetic: {
        baseUrl: "https://api.synthetic.new/anthropic",
        apiKey: "${SYNTHETIC_API_KEY}",
        api: "anthropic-messages",
        models: [
          {
            id: "hf:MiniMaxAI/MiniMax-M2.5",
            name: "MiniMax M2.5",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 192000,
            maxTokens: 65536,
          },
        ],
      },
    },
  },
}

内置目录

所有 Synthetic 模型的成本都为 0(输入/输出/缓存)。

模型 ID 上下文窗口 最大 tokens 推理 输入
hf:MiniMaxAI/MiniMax-M2.5 192,000 65,536 text
hf:moonshotai/Kimi-K2-Thinking 256,000 8,192 text
hf:zai-org/GLM-4.7 198,000 128,000 text
hf:deepseek-ai/DeepSeek-R1-0528 128,000 8,192 text
hf:deepseek-ai/DeepSeek-V3-0324 128,000 8,192 text
hf:deepseek-ai/DeepSeek-V3.1 128,000 8,192 text
hf:deepseek-ai/DeepSeek-V3.1-Terminus 128,000 8,192 text
hf:deepseek-ai/DeepSeek-V3.2 159,000 8,192 text
hf:meta-llama/Llama-3.3-70B-Instruct 128,000 8,192 text
hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8 524,000 8,192 text
hf:moonshotai/Kimi-K2-Instruct-0905 256,000 8,192 text
hf:moonshotai/Kimi-K2.5 256,000 8,192 text + image
hf:openai/gpt-oss-120b 128,000 8,192 text
hf:Qwen/Qwen3-235B-A22B-Instruct-2507 256,000 8,192 text
hf:Qwen/Qwen3-Coder-480B-A35B-Instruct 256,000 8,192 text
hf:Qwen/Qwen3-VL-235B-A22B-Instruct 250,000 8,192 text + image
hf:zai-org/GLM-4.5 128,000 128,000 text
hf:zai-org/GLM-4.6 198,000 128,000 text
hf:zai-org/GLM-5 256,000 128,000 text + image
hf:deepseek-ai/DeepSeek-V3 128,000 8,192 text
hf:Qwen/Qwen3-235B-A22B-Thinking-2507 256,000 8,192 text


模型引用使用 synthetic/<modelId> 这种形式。使用
openclaw models list --provider synthetic 可查看你的账户可用的所有模型。



如果你启用了模型允许列表(agents.defaults.models),请添加你计划使用的每个 Synthetic 模型。不在允许列表中的模型将对智能体隐藏。


如果 Synthetic 更改了它的 API 端点,请在配置中覆盖基础 URL:

```json5
{
  models: {
    providers: {
      synthetic: {
        baseUrl: "https://new-api.synthetic.new/anthropic",
      },
    },
  },
}
```

请记住,OpenClaw 会自动附加 `/v1`。


相关内容



提供商规则、模型引用和故障切换行为。


包含 provider 设置在内的完整配置 schema。


Synthetic 控制台和 API 文档。


📄 Venice AI

原文:https://docs.openclaw.ai/zh-CN/providers/venice

Venice AI 提供注重隐私的 AI 推理,支持无审查模型,并可通过其匿名化代理访问主要专有模型。默认情况下,所有推理都是私密的,不会用你的数据训练,也不会记录日志。

为什么在 OpenClaw 中使用 Venice

  • 面向开源模型的私密推理(不记录日志)。
  • 在你需要时使用无审查模型
  • 在质量很重要时,匿名化访问专有模型(Opus/GPT/Gemini)。
  • OpenAI 兼容的 /v1 端点。

隐私模式

Venice 提供两种隐私级别,理解这一点是选择模型的关键:

模式 描述 模型
私密 完全私密。提示词/响应绝不会被存储或记录。临时存在。 Llama、Qwen、DeepSeek、Kimi、MiniMax、Venice Uncensored 等。
匿名化 通过 Venice 代理并剥离元数据。底层提供商(OpenAI、Anthropic、Google、xAI)会看到匿名化请求。 Claude、GPT、Gemini、Grok


匿名化模型并非完全私密。Venice 会在转发前剥离元数据,但底层提供商(OpenAI、Anthropic、Google、xAI)仍会处理请求。当需要完全隐私时,请选择私密模型。

功能

  • 注重隐私:在“私密”(完全私密)和“匿名化”(代理)模式之间选择
  • 无审查模型:访问不带内容限制的模型
  • 主要模型访问:通过 Venice 的匿名化代理使用 Claude、GPT、Gemini 和 Grok
  • OpenAI 兼容 API:标准 /v1 端点,便于集成
  • 流式传输:所有模型均支持
  • 函数调用:部分模型支持(请查看模型能力)
  • 视觉:具备视觉能力的模型支持
  • 无硬性速率限制:极端使用情况下可能会应用公平使用节流

入门指南



1. 在 venice.ai 注册
2. 前往 Settings > API Keys > Create new key
3. 复制你的 API key(格式:vapi_xxxxxxxxxxxx


选择你偏好的设置方法:

<Tabs>
  <Tab title="Interactive (recommended)">
    ```bash
    openclaw onboard --auth-choice venice-api-key
    ```

    这会:
    1. 提示输入你的 API key(或使用现有 `VENICE_API_KEY`
    2. 显示所有可用的 Venice 模型
    3. 让你选择默认模型
    4. 自动配置提供商
  </Tab>
  <Tab title="Environment variable">
    ```bash
    export VENICE_API_KEY="vapi_xxxxxxxxxxxx"
    ```
  </Tab>
  <Tab title="Non-interactive">
    ```bash
    openclaw onboard --non-interactive \
      --auth-choice venice-api-key \
      --venice-api-key "vapi_xxxxxxxxxxxx"
    ```
  </Tab>
</Tabs>



bash
openclaw agent --model venice/kimi-k2-5 --message "Hello, are you working?"


模型选择

设置完成后,OpenClaw 会显示所有可用的 Venice 模型。根据你的需求选择:

  • 默认模型venice/kimi-k2-5,用于强大的私密推理并支持视觉。
  • 高能力选项venice/claude-opus-4-6,用于最强的匿名化 Venice 路径。
  • 隐私:选择“私密”模型以获得完全私密的推理。
  • 能力:选择“匿名化”模型,通过 Venice 的代理访问 Claude、GPT、Gemini。

随时更改你的默认模型:

openclaw models set venice/kimi-k2-5
openclaw models set venice/claude-opus-4-6

列出所有可用模型:

openclaw models list --all --provider venice

你也可以运行 openclaw configure,选择 Model/auth,然后选择 Venice AI


使用下表为你的使用场景选择合适的模型。

使用场景 推荐模型 原因
通用聊天(默认) kimi-k2-5 强大的私密推理并支持视觉
整体质量最佳 claude-opus-4-6 最强的匿名化 Venice 选项
隐私 + 编码 qwen3-coder-480b-a35b-instruct 具备大上下文的私密编码模型
私密视觉 kimi-k2-5 无需离开私密模式即可支持视觉
快速 + 便宜 qwen3-4b 轻量级推理模型
复杂私密任务 deepseek-v3.2 推理能力强,但不支持 Venice 工具
无审查 venice-uncensored 无内容限制

DeepSeek V4 重放行为

如果 Venice 暴露了 DeepSeek V4 模型,例如 venice/deepseek-v4-pro
venice/deepseek-v4-flash,当代理省略必需的 DeepSeek V4
reasoning_content 重放占位符时,OpenClaw 会在助手消息中填充它。
Venice 会拒绝 DeepSeek 原生的顶层 thinking 控制,因此
OpenClaw 会将该提供商特定的重放修复与原生
DeepSeek 提供商的 thinking 控制分开处理。

内置目录(共 41 个)



| 模型 ID | 名称 | 上下文 | 功能 |
| -------------------------------------- | ----------------------------------- | ------- | -------------------------- |
| kimi-k2-5 | Kimi K2.5 | 256k | 默认、推理、视觉 |
| kimi-k2-thinking | Kimi K2 Thinking | 256k | 推理 |
| llama-3.3-70b | Llama 3.3 70B | 128k | 通用 |
| llama-3.2-3b | Llama 3.2 3B | 128k | 通用 |
| hermes-3-llama-3.1-405b | Hermes 3 Llama 3.1 405B | 128k | 通用、已禁用工具 |
| qwen3-235b-a22b-thinking-2507 | Qwen3 235B Thinking | 128k | 推理 |
| qwen3-235b-a22b-instruct-2507 | Qwen3 235B Instruct | 128k | 通用 |
| qwen3-coder-480b-a35b-instruct | Qwen3 Coder 480B | 256k | 编码 |
| qwen3-coder-480b-a35b-instruct-turbo | Qwen3 Coder 480B Turbo | 256k | 编码 |
| qwen3-5-35b-a3b | Qwen3.5 35B A3B | 256k | 推理、视觉 |
| qwen3-next-80b | Qwen3 Next 80B | 256k | 通用 |
| qwen3-vl-235b-a22b | Qwen3 VL 235B(视觉) | 256k | 视觉 |
| qwen3-4b | Venice Small(Qwen3 4B) | 32k | 快速、推理 |
| deepseek-v3.2 | DeepSeek V3.2 | 160k | 推理、已禁用工具 |
| venice-uncensored | Venice Uncensored(Dolphin-Mistral) | 32k | 无审查、已禁用工具 |
| mistral-31-24b | Venice Medium(Mistral) | 128k | 视觉 |
| google-gemma-3-27b-it | Google Gemma 3 27B Instruct | 198k | 视觉 |
| openai-gpt-oss-120b | OpenAI GPT OSS 120B | 128k | 通用 |
| nvidia-nemotron-3-nano-30b-a3b | NVIDIA Nemotron 3 Nano 30B | 128k | 通用 |
| olafangensan-glm-4.7-flash-heretic | GLM 4.7 Flash Heretic | 128k | 推理 |
| zai-org-glm-4.6 | GLM 4.6 | 198k | 通用 |
| zai-org-glm-4.7 | GLM 4.7 | 198k | 推理 |
| zai-org-glm-4.7-flash | GLM 4.7 Flash | 128k | 推理 |
| zai-org-glm-5 | GLM 5 | 198k | 推理 |
| minimax-m21 | MiniMax M2.1 | 198k | 推理 |
| minimax-m25 | MiniMax M2.5 | 198k | 推理 |


| 模型 ID | 名称 | 上下文 | 功能 |
| ------------------------------- | ------------------------------ | ------- | ------------------------- |
| claude-opus-4-6 | Claude Opus 4.6(通过 Venice) | 1M | 推理、视觉 |
| claude-opus-4-5 | Claude Opus 4.5(通过 Venice) | 198k | 推理、视觉 |
| claude-sonnet-4-6 | Claude Sonnet 4.6(通过 Venice) | 1M | 推理、视觉 |
| claude-sonnet-4-5 | Claude Sonnet 4.5(通过 Venice) | 198k | 推理、视觉 |
| openai-gpt-54 | GPT-5.4(通过 Venice) | 1M | 推理、视觉 |
| openai-gpt-53-codex | GPT-5.3 Codex(通过 Venice) | 400k | 推理、视觉、编码 |
| openai-gpt-52 | GPT-5.2(通过 Venice) | 256k | 推理 |
| openai-gpt-52-codex | GPT-5.2 Codex(通过 Venice) | 256k | 推理、视觉、编码 |
| openai-gpt-4o-2024-11-20 | GPT-4o(通过 Venice) | 128k | 视觉 |
| openai-gpt-4o-mini-2024-07-18 | GPT-4o Mini(通过 Venice) | 128k | 视觉 |
| gemini-3-1-pro-preview | Gemini 3.1 Pro(通过 Venice) | 1M | 推理、视觉 |
| gemini-3-pro-preview | Gemini 3 Pro(通过 Venice) | 198k | 推理、视觉 |
| gemini-3-flash-preview | Gemini 3 Flash(通过 Venice) | 256k | 推理、视觉 |
| grok-41-fast | Grok 4.1 Fast(通过 Venice) | 1M | 推理、视觉 |
| grok-code-fast-1 | Grok Code Fast 1(通过 Venice) | 256k | 推理、编码 |

模型发现

OpenClaw 随附一个由清单支持的 Venice 种子目录,用于只读模型列表。运行时刷新仍然可以从 Venice API 发现模型;如果 API 无法访问,则会回退到清单目录。

/models 端点是公开的(列出模型不需要身份验证),但推理需要有效的 API key。

流式传输和工具支持

功能 支持
流式传输 所有模型
函数调用 大多数模型(查看 API 中的 supportsFunctionCalling
视觉/图像 标记有 “Vision” 功能的模型
JSON 模式 通过 response_format 支持

价格

Venice 使用基于点数的系统。查看 venice.ai/pricing 了解当前费率:

  • 私有模型:通常成本较低
  • 匿名化模型:类似于直接 API 定价 + 少量 Venice 费用

Venice(匿名化)与直接 API

方面 Venice(匿名化) 直接 API
隐私 元数据被剥离,已匿名化 你的账号会被关联
延迟 +10-50ms(代理) 直接连接
功能 支持大多数功能 完整功能
计费 Venice 点数 提供商计费

用法示例

# Use the default private model
openclaw agent --model venice/kimi-k2-5 --message "Quick health check"

# Use Claude Opus via Venice (anonymized)
openclaw agent --model venice/claude-opus-4-6 --message "Summarize this task"

# Use uncensored model
openclaw agent --model venice/venice-uncensored --message "Draft options"

# Use vision model with image
openclaw agent --model venice/qwen3-vl-235b-a22b --message "Review attached image"

# Use coding model
openclaw agent --model venice/qwen3-coder-480b-a35b-instruct --message "Refactor this function"

故障排除



bash
echo $VENICE_API_KEY
openclaw models list | grep venice

确保密钥以 `vapi_` 开头。


Venice 模型目录会动态更新。运行 openclaw models list 查看当前可用的模型。某些模型可能会暂时离线。


Venice API 位于 https://api.venice.ai/api/v1。确保你的网络允许 HTTPS 连接。


更多帮助:故障排除常见问题

高级配置



json5
{
env: { VENICE_API_KEY: "vapi_..." },
agents: { defaults: { model: { primary: "venice/kimi-k2-5" } } },
models: {
mode: "merge",
providers: {
venice: {
baseUrl: "https://api.venice.ai/api/v1",
apiKey: "${VENICE_API_KEY}",
api: "openai-completions",
models: [
{
id: "kimi-k2-5",
name: "Kimi K2.5",
reasoning: true,
input: ["text", "image"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 256000,
maxTokens: 65536,
},
],
},
},
},
}


相关内容



选择提供商、模型引用和故障转移行为。


Venice AI 主页和账号注册。


Venice API 参考和开发者文档。


当前 Venice 点数费率和套餐。


📄 Vercel AI 网关

原文:https://docs.openclaw.ai/zh-CN/providers/vercel-ai-gateway

Vercel AI Gateway 提供统一 API,可通过单一端点访问数百个模型。

属性
提供商 vercel-ai-gateway
认证 AI_GATEWAY_API_KEY
API 兼容 Anthropic Messages
模型目录 通过 /v1/models 自动发现


OpenClaw 会自动发现 Gateway 网关 /v1/models 目录,因此
/models vercel-ai-gateway 会包含当前模型引用,例如
vercel-ai-gateway/openai/gpt-5.5
vercel-ai-gateway/moonshotai/kimi-k2.6

入门指南



运行新手引导并选择 AI Gateway 认证选项:

```bash
openclaw onboard --auth-choice ai-gateway-api-key
```



将模型添加到你的 OpenClaw 配置:

```json5
{
  agents: {
    defaults: {
      model: { primary: "vercel-ai-gateway/anthropic/claude-opus-4.6" },
    },
  },
}
```



bash
openclaw models list --provider vercel-ai-gateway


非交互示例

对于脚本化或 CI 设置,请在命令行传入所有值:

openclaw onboard --non-interactive \
  --mode local \
  --auth-choice ai-gateway-api-key \
  --ai-gateway-api-key "$AI_GATEWAY_API_KEY"

模型 ID 简写

OpenClaw 接受 Vercel Claude 简写模型引用,并会在运行时将其规范化:

简写输入 规范化后的模型引用
vercel-ai-gateway/claude-opus-4.6 vercel-ai-gateway/anthropic/claude-opus-4.6
vercel-ai-gateway/opus-4.6 vercel-ai-gateway/anthropic/claude-opus-4-6


你可以在配置中使用简写或完全限定的模型引用。OpenClaw 会自动解析为规范形式。

高级配置



如果 OpenClaw Gateway 网关作为守护进程(launchd/systemd)运行,请确保
AI_GATEWAY_API_KEY 可供该进程使用。

<Warning>
仅在 `~/.profile` 中设置的密钥不会对 launchd/systemd 守护进程可见,
除非显式导入该环境。请在 `~/.openclaw/.env` 中设置密钥,或通过
`env.shellEnv` 设置,确保 gateway 进程可以读取它。
</Warning>


Vercel AI Gateway 会根据模型引用前缀将请求路由到上游提供商。例如,
vercel-ai-gateway/anthropic/claude-opus-4.6 会通过 Anthropic 路由,
vercel-ai-gateway/openai/gpt-5.5 会通过 OpenAI 路由,
vercel-ai-gateway/moonshotai/kimi-k2.6 会通过 MoonshotAI 路由。
你的单个 AI_GATEWAY_API_KEY 会处理所有上游提供商的认证。


当 OpenClaw 了解上游提供商契约时,/think 选项会遵循可信的上游模型前缀。
vercel-ai-gateway/anthropic/... 使用 Claude 思考配置,包括 Claude 4.6 模型的自适应默认值。
vercel-ai-gateway/openai/gpt-5.4gpt-5.5 和 Codex 风格的引用会像直接的 OpenAI/OpenAI Codex 提供商一样暴露
/think xhigh。其他带命名空间的引用会保留普通推理级别,除非其目录元数据声明了更多级别。

相关内容



选择提供商、模型引用和故障转移行为。


常规故障排除和常见问题。


📄 Xiaomi MiMo

原文:https://docs.openclaw.ai/zh-CN/providers/xiaomi

Xiaomi MiMo 是 MiMo 模型的 API 平台。OpenClaw 包含一个内置的 xiaomi 插件,它会用同一个 XIAOMI_API_KEY 注册一个兼容 OpenAI 的聊天提供商和一个语音(TTS)提供商。

属性
提供商 id xiaomi
插件 内置,enabledByDefault: true
认证环境变量 XIAOMI_API_KEY
新手引导标志 --auth-choice xiaomi-api-key
直接 CLI 标志 --xiaomi-api-key <key>
合约 聊天补全 + speechProviders
API 兼容 OpenAI(openai-completions
基础 URL https://api.xiaomimimo.com/v1
默认模型 xiaomi/mimo-v2-flash
TTS 默认值 mimo-v2.5-tts,语音 mimo_default

入门指南



Xiaomi MiMo 控制台中创建 API key。


bash
openclaw onboard --auth-choice xiaomi-api-key

或者直接传入密钥

```bash
openclaw onboard --auth-choice xiaomi-api-key --xiaomi-api-key "$XIAOMI_API_KEY"
```



bash
openclaw models list --provider xiaomi


内置目录

模型引用 输入 上下文 最大输出 推理 备注
xiaomi/mimo-v2-flash text 262,144 8,192 默认模型
xiaomi/mimo-v2-pro text 1,048,576 32,000 大上下文
xiaomi/mimo-v2-omni text, image 262,144 32,000 多模态


默认模型引用是 xiaomi/mimo-v2-flash。当设置了 XIAOMI_API_KEY 或存在认证配置文件时,提供商会自动注入。

文本转语音

内置的 xiaomi 插件还会将 Xiaomi MiMo 注册为用于
messages.tts 的语音提供商。它会调用 Xiaomi 的聊天补全 TTS 合约,将文本作为
assistant 消息,并将可选的风格指导作为 user 消息。

属性
TTS id xiaomimimo 别名)
认证 XIAOMI_API_KEY
API 带有 audioPOST /v1/chat/completions
默认值 mimo-v2.5-tts,语音 mimo_default
输出 默认 MP3;配置后为 WAV
{
  messages: {
    tts: {
      auto: "always",
      provider: "xiaomi",
      providers: {
        xiaomi: {
          apiKey: "xiaomi_api_key",
          model: "mimo-v2.5-tts",
          voice: "mimo_default",
          format: "mp3",
          style: "Bright, natural, conversational tone.",
        },
      },
    },
  },
}

支持的内置语音包括 mimo_defaultdefault_zhdefault_en
MiaChloeMiloDean。较旧的 MiMo
TTS 账号支持 mimo-v2-tts;默认使用当前的 MiMo-V2.5 TTS 模型。对于 Feishu 和 Telegram 等语音备注目标,OpenClaw 会在交付前使用 ffmpeg 将 Xiaomi 输出转码为 48kHz
Opus。

配置示例

{
  env: { XIAOMI_API_KEY: "your-key" },
  agents: { defaults: { model: { primary: "xiaomi/mimo-v2-flash" } } },
  models: {
    mode: "merge",
    providers: {
      xiaomi: {
        baseUrl: "https://api.xiaomimimo.com/v1",
        api: "openai-completions",
        apiKey: "XIAOMI_API_KEY",
        models: [
          {
            id: "mimo-v2-flash",
            name: "Xiaomi MiMo V2 Flash",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 8192,
          },
          {
            id: "mimo-v2-pro",
            name: "Xiaomi MiMo V2 Pro",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 1048576,
            maxTokens: 32000,
          },
          {
            id: "mimo-v2-omni",
            name: "Xiaomi MiMo V2 Omni",
            reasoning: true,
            input: ["text", "image"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 32000,
          },
        ],
      },
    },
  },
}



当你的环境中设置了 XIAOMI_API_KEY 或存在认证配置文件时,xiaomi 提供商会自动注入。除非你想覆盖模型元数据或基础 URL,否则无需手动配置提供商。


- mimo-v2-flash — 轻量且快速,适合通用文本任务。不支持推理。
- mimo-v2-pro — 支持推理,具备 1M token 上下文窗口,适合长文档工作负载。
- mimo-v2-omni — 启用推理的多模态模型,同时接受文本和图像输入。

<Note>
所有模型都使用 `xiaomi/` 前缀(例如 `xiaomi/mimo-v2-pro`)。
</Note>


- 如果模型没有出现,请确认 XIAOMI_API_KEY 已设置且有效。
- 当 Gateway 网关作为守护进程运行时,请确保该密钥对该进程可用(例如在 ~/.openclaw/.env 中,或通过 env.shellEnv)。

<Warning>
只在交互式 shell 中设置的密钥对由守护进程管理的 Gateway 网关进程不可见。请使用 `~/.openclaw/.env`  `env.shellEnv` 配置来确保可持久使用。
</Warning>


相关内容



选择提供商、模型引用和故障转移行为。


完整的 OpenClaw 配置参考。


Xiaomi MiMo 仪表板和 API key 管理。


📄 Z.AI

原文:https://docs.openclaw.ai/zh-CN/providers/zai

Z.AI 是 GLM 模型的 API 平台。它为 GLM 提供 REST API,并使用 API key 进行身份验证。请在 Z.AI 控制台创建你的 API key。OpenClaw 使用带有 Z.AI API key 的 zai provider。

  • 提供商:zai
  • 身份验证:ZAI_API_KEY
  • API:Z.AI Chat Completions(Bearer 身份验证)

入门指南



最适合: 大多数用户。OpenClaw 会根据密钥检测匹配的 Z.AI 端点,并自动应用正确的 base URL。

<Steps>
  <Step title="运行新手引导">
    ```bash
    openclaw onboard --auth-choice zai-api-key
    ```
  </Step>
  <Step title="设置默认模型">
    ```json5
    {
      env: { ZAI_API_KEY: "sk-..." },
      agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
    }
    ```
  </Step>
  <Step title="验证模型已列出">
    ```bash
    openclaw models list --all --provider zai
    ```
  </Step>
</Steps>


最适合: 想要强制使用特定 Coding Plan 或通用 API 表面的用户。

<Steps>
  <Step title="选择正确的新手引导选项">
    ```bash
    # Coding Plan Global (recommended for Coding Plan users)
    openclaw onboard --auth-choice zai-coding-global

    # Coding Plan CN (China region)
    openclaw onboard --auth-choice zai-coding-cn

    # General API
    openclaw onboard --auth-choice zai-global

    # General API CN (China region)
    openclaw onboard --auth-choice zai-cn
    ```
  </Step>
  <Step title="设置默认模型">
    ```json5
    {
      env: { ZAI_API_KEY: "sk-..." },
      agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
    }
    ```
  </Step>
  <Step title="验证模型已列出">
    ```bash
    openclaw models list --all --provider zai
    ```
  </Step>
</Steps>


内置目录

OpenClaw 会在插件清单中随附内置的 zai provider 目录,因此只读列表可以在不加载提供商运行时的情况下显示已知的 GLM 行:

openclaw models list --all --provider zai

基于清单的目录当前包含:

模型引用 备注
zai/glm-5.1 默认模型
zai/glm-5
zai/glm-5-turbo
zai/glm-5v-turbo
zai/glm-4.7
zai/glm-4.7-flash
zai/glm-4.7-flashx
zai/glm-4.6
zai/glm-4.6v
zai/glm-4.5
zai/glm-4.5-air
zai/glm-4.5-flash
zai/glm-4.5v


GLM 模型可作为 zai/<model> 使用(示例:zai/glm-5)。默认内置模型引用是 zai/glm-5.1

高级配置



未知的 glm-5* ID 仍会在内置提供商路径上向前解析:当 ID 匹配当前 GLM-5 系列形态时,会从 glm-4.7 模板合成提供商拥有的元数据。


Z.AI 工具调用流式传输默认启用 tool_stream。若要禁用它:

```json5
{
  agents: {
    defaults: {
      models: {
        "zai/<model>": {
          params: { tool_stream: false },
        },
      },
    },
  },
}
```


Z.AI 思考遵循 OpenClaw 的 /think 控制。关闭思考时,OpenClaw 会发送 thinking: { type: "disabled" },以避免响应在可见文本之前将输出预算消耗在 reasoning_content 上。

保留思考是选择启用的,因为 Z.AI 要求重放完整的历史 `reasoning_content`,这会增加提示词 token。请按模型启用:

```json5
{
  agents: {
    defaults: {
      models: {
        "zai/glm-5.1": {
          params: { preserveThinking: true },
        },
      },
    },
  },
}
```

启用后且思考处于开启状态时,OpenClaw 会发送 `thinking: { type: "enabled", clear_thinking: false }`,并为同一个 OpenAI 兼容对话记录重放先前的 `reasoning_content`

高级用户仍可使用 `params.extra_body.thinking` 覆盖确切的提供商载荷。


内置的 Z.AI 插件会注册图像理解。

| 属性          | 值          |
| ------------- | ----------- |
| 模型          | `glm-4.6v`  |

图像理解会从已配置的 Z.AI 身份验证自动解析,无需额外配置。


- Z.AI 使用你的 API key 进行 Bearer 身份验证。
- zai-api-key 新手引导选项会根据密钥前缀自动检测匹配的 Z.AI 端点。
- 当你想要强制使用特定 API 表面时,请使用显式区域选项(zai-coding-globalzai-coding-cnzai-globalzai-cn)。


相关内容



GLM 的模型系列概览。


选择提供商、模型引用和故障转移行为。

上一篇 如何查看设备支持的链路聚合组数目和成员接口数目
下一篇 【转载】HCIE R&S 备考笔记 6to4隧道实验(华为设备)