OpenClaw的模型和渠道详解
下面把OpenClaw 的“模型”和“渠道”合起来讲。这里“渠道”可能有两层含义一是模型提供商渠道比如 OpenAI、Anthropic、Gemini、OpenRouter、Ollama二是消息渠道比如 WhatsApp、Telegram、Discord、Slack。OpenClaw 里这两套东西都经过 Gateway 协调。1. 总体关系可以先用这张图理解WhatsApp / Telegram / Slack / Discord / WebChat │ ▼ OpenClaw Gateway │ ┌───────┴────────┐ ▼ ▼ Agent 路由 会话 / 权限 / 工具 │ ▼ 模型选择器 │ ▼ OpenAI / Anthropic / Gemini / OpenRouter / Ollama / 其他 provider消息渠道决定“用户从哪里进来、回复发回哪里”。模型渠道 / 模型提供商决定“这次 Agent 用哪个大模型思考和调用工具”。OpenClaw 官方文档中聊天渠道是通过 Gateway 连接的所有渠道都支持文本但媒体和表情回应因渠道而异。([OpenClaw][1]) 模型则使用provider/model格式例如openai/gpt-5.5、anthropic/claude-opus-4-6、google/gemini-3.1-pro-preview。([OpenClaw][2])一、模型体系详解2. 模型引用格式provider/modelOpenClaw 的模型引用通常是provider/model例如openai/gpt-5.5 anthropic/claude-opus-4-6 google/gemini-3.1-pro-preview zai/glm-5 openrouter/moonshotai/kimi-k2 opencode/claude-opus-4-6官方说明模型引用使用provider/model格式如果设置了agents.defaults.models它会成为模型允许列表。([OpenClaw][2])配置示例{agents:{defaults:{model:{primary:openai/gpt-5.5,fallbacks:[anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview]}}}}含义是默认先用 OpenAI 的主模型失败、限流或触发 fallback 逻辑后再尝试 Anthropic、Gemini。3. 模型选择顺序OpenClaw 的模型选择大致按这个顺序1. agents.defaults.model.primary 2. agents.defaults.model.fallbacks 3. provider 内部认证/密钥故障转移 4. 会话级 /model 覆盖 5. Agent 级 model 覆盖 6. Cron 或任务级 model 覆盖官方模型文档列出的核心顺序是先用主模型agents.defaults.model.primary再按agents.defaults.model.fallbacks使用回退模型最后在单个 provider 内部做凭证故障转移每个智能体也可以通过agents.list[].model覆盖默认模型。([OpenClaw][3])典型配置{agents:{defaults:{model:{primary:anthropic/claude-opus-4-6,fallbacks:[openai/gpt-5.5,google/gemini-3.1-pro-preview]}},list:[{id:coding,model:{primary:openai/gpt-5.5,fallbacks:[anthropic/claude-opus-4-6]}},{id:chat,model:{primary:google/gemini-3-flash-preview}}]}}这样coding agent → 用更强的代码模型 chat agent → 用更便宜/更快的聊天模型 默认 agent → 用全局默认模型4. 常见模型提供商OpenAI常见模型引用openai/gpt-5.5 openai/gpt-5.4-mini认证方式通常是exportOPENAI_API_KEY...或通过openclaw onboard --auth-choice openai-api-keyOpenAI provider 支持 WebSocket 优先、SSE 回退的auto传输也可以按模型在agents.defaults.models[openai/model].params.transport中覆盖为sse、websocket或auto。([OpenClaw][2])Anthropic常见模型引用anthropic/claude-opus-4-6认证变量exportANTHROPIC_API_KEY...官方文档列出的 Anthropic provider ID 是anthropic认证变量是ANTHROPIC_API_KEY也支持多 key 轮换变量例如ANTHROPIC_API_KEYS、ANTHROPIC_API_KEY_1、ANTHROPIC_API_KEY_2。([OpenClaw][2])配置{agents:{defaults:{model:{primary:anthropic/claude-opus-4-6}}}}OpenAI Codex OAuth如果你走 OpenAI Codex / ChatGPT OAuth 路线provider 是openai-codex模型示例openai-codex/gpt-5.4登录命令openclaw onboard --auth-choice openai-codex# 或openclaw models auth login--provideropenai-codex官方说明 OpenAI Code / Codex provider 使用 OAuth并且默认传输也是auto即 WebSocket 优先、SSE 回退。([OpenClaw][2])Google Gemini常见模型引用google/gemini-3.1-pro-preview google/gemini-3-flash-preview认证变量exportGEMINI_API_KEY...官方文档列出的 provider 是google认证变量是GEMINI_API_KEY也支持GEMINI_API_KEYS、GEMINI_API_KEY_1、GEMINI_API_KEY_2、GOOGLE_API_KEY等回退变量。([OpenClaw][2])配置{agents:{defaults:{model:{primary:google/gemini-3.1-pro-preview,fallbacks:[google/gemini-3-flash-preview]}}}}Z.AI / GLM常见模型引用zai/glm-5认证变量exportZAI_API_KEY...官方说明 Z.AI provider ID 是zai示例模型是zai/glm-5并且z.ai/*、z-ai/*会标准化为zai/*。([OpenClaw][2])Vercel AI Gateway如果你希望通过 Vercel AI Gateway 聚合模型可以使用vercel-ai-gateway/anthropic/claude-opus-4.6认证变量exportAI_GATEWAY_API_KEY...官方文档列出的 provider 是vercel-ai-gateway认证变量是AI_GATEWAY_API_KEY。([OpenClaw][2])5. 模型 allowlist限制可用模型如果你设置了{agents:{defaults:{models:{openai/gpt-5.5:{},anthropic/claude-opus-4-6:{},google/gemini-3-flash-preview:{}}}}}那么这就变成允许列表。用户通过/model或 UI 切模型时只能选这些模型。官方文档说明如果设置了agents.defaults.models它会成为/model和会话覆盖的允许列表用户选择不在列表里的模型时会返回Model provider/model is not allowed。([OpenClaw][3])这在多用户、多渠道场景里很重要公开 Telegram bot → 只允许便宜模型 内部 Slack bot → 允许强模型 代码 Agent → 允许工具能力强的模型6. 模型 CLI 常用命令常用命令openclaw models status openclaw models list openclaw modelssetopenai/gpt-5.5 openclaw models scan官方 CLI 文档说明openclaw models status会显示默认模型、fallback 和认证概览models set接受provider/model或别名models list用于列出模型。([OpenClaw][4])更多命令# 查看当前模型状态openclaw models status# 查看所有已配置模型openclaw models list# 查看完整模型目录openclaw models list--all# 只看某个 provideropenclaw models list--provideropenai# 设置默认模型openclaw modelssetanthropic/claude-opus-4-6# 查看 fallbackopenclaw models fallbacks list# 添加 fallbackopenclaw models fallbacksaddgoogle/gemini-3-flash-preview# 清空 fallbackopenclaw models fallbacksclear# 实时探测认证openclaw models status--probe注意--probe会发真实请求可能消耗 token 或触发 rate limit官方 CLI 文档也提醒探测是真实请求。([OpenClaw][4])7. 不同媒体模型文本、图片、视频、音乐OpenClaw 不只区分聊天模型还可以配置图片、PDF、视频、音乐等模型{agents:{defaults:{model:{primary:openai/gpt-5.5},imageGenerationModel:{primary:openai/gpt-image-2,fallbacks:[google/gemini-3.1-flash-image-preview]},videoGenerationModel:{primary:some-provider/video-model},musicGenerationModel:{primary:some-provider/music-model}}}}官方模型文档列出的相关配置键包括agents.defaults.imageGenerationModel.primary、agents.defaults.videoGenerationModel.primary、agents.defaults.musicGenerationModel.primary并说明如果省略生成工具会尝试推断一个有凭证支持的 provider 默认值。([OpenClaw][3])二、消息渠道 Channel 详解8. 支持的消息渠道OpenClaw 的消息渠道是用户和 Agent 对话的入口。官方列出的渠道包括BlueBubbles / Discord / Feishu / Google Chat / iMessage IRC / LINE / Matrix / Mattermost / Microsoft Teams Nextcloud Talk / Nostr / QQ Bot / Signal / Slack Synology Chat / Telegram / Twitch / WhatsApp / Zalo官方聊天渠道页说明每个渠道都通过 Gateway 连接文本在所有渠道都支持Discord 支持服务器、频道和私信Slack 使用 Bolt SDKTelegram 使用 grammY Bot APIWhatsApp 使用对应渠道插件/运行时。([OpenClaw][1])常见选择渠道适合场景Telegram最快上手Bot Token 即可WhatsApp日常个人助理移动端体验好Slack团队/工作区机器人Discord社群、频道、线程iMessage / BlueBubblesApple 生态Matrix / Mattermost / Nextcloud Talk自托管聊天Signal隐私取向WebChatGateway 自带 Web UI 聊天入口9. 渠道配置的基本结构一个典型配置{channels:{telegram:{botToken:env:TELEGRAM_BOT_TOKEN,allowFrom:[123456789]},whatsapp:{allowFrom:[15555550123]},slack:{botToken:env:SLACK_BOT_TOKEN,appToken:env:SLACK_APP_TOKEN,signingSecret:env:SLACK_SIGNING_SECRET}}}安全上通常要设置allowFrom 允许哪些用户 allowGroups 允许哪些群 dmPolicy 私信策略 groupPolicy 群组策略 mention 群里是否必须 机器人 pairing 是否需要配对批准10. 渠道路由消息进来后给哪个 AgentOpenClaw 不一定只有一个 Agent。你可以定义多个 Agent然后用bindings把不同渠道、账号、群、线程路由到不同 Agent。官方渠道路由文档说明关键术语包括channel、accountId、AgentId、SessionKey支持的渠道名包括telegram、whatsapp、discord、irc、googlechat、slack、signal、imessage、line以及扩展渠道。([OpenClaw][5])示例{agents:{list:[{id:personal,name:Personal Assistant,workspace:~/.openclaw/workspace-personal,model:{primary:google/gemini-3-flash-preview}},{id:work,name:Work Assistant,workspace:~/.openclaw/workspace-work,model:{primary:anthropic/claude-opus-4-6}},{id:support,name:Support Bot,workspace:~/.openclaw/workspace-support,model:{primary:openai/gpt-5.4-mini}}]},bindings:[{match:{channel:telegram,peer:{kind:user,id:123456789}},agentId:personal},{match:{channel:slack,teamId:T123},agentId:work},{match:{channel:discord,guildId:987654321},agentId:support}]}含义Telegram 私聊 → personal agent → Gemini Slack 工作区 → work agent → Claude Discord 服务器 → support agent → OpenAI mini这就是 OpenClaw “渠道 → Agent → 模型” 的典型路由链。11. 会话 SessionKey不同渠道怎么共享上下文OpenClaw 会为不同来源生成不同 session key。官方文档说明默认情况下私信可以折叠到智能体的 main 会话群组和频道会按渠道保持隔离Slack/Discord 线程会追加:thread:threadIdTelegram 论坛话题会嵌入:topic:topicId。([OpenClaw][5])大致是私聊 agent:agentId:main Telegram 群 agent:agentId:telegram:group:groupId Discord 频道 agent:agentId:discord:channel:channelId Slack/Discord 线程 agent:agentId:discord:channel:channelId:thread:threadId Telegram 话题 agent:agentId:telegram:group:groupId:topic:topicId这很重要因为它决定上下文是否共享 工具权限如何派生 并发如何控制 回复应该发回哪里12. 渠道默认账号 defaultAccount多账号场景下一个渠道可以有多个账号实例。例如多个 Telegram bot、多个 WhatsApp 账号、多个 Slack workspace。官方文档说明channels.channel.defaultAccount用于在出站路径没指定accountId时选择默认账号如果一个渠道配置了两个或更多账号建议显式设置默认值否则回退路由可能选择第一个标准化后的账号 ID。([OpenClaw][5])示例{channels:{telegram:{defaultAccount:main-bot,accounts:{main-bot:{botToken:env:TELEGRAM_MAIN_BOT_TOKEN},support-bot:{botToken:env:TELEGRAM_SUPPORT_BOT_TOKEN}}}}}13. 渠道模型覆盖不同渠道用不同模型OpenClaw 支持用渠道来影响模型选择。配置参考里提到channels.modelByChannel可以把特定渠道 ID 固定到某个模型值可以是provider/model或已配置模型别名当某个会话尚未有模型覆盖时会应用这个渠道映射。([OpenClaw][6])示例{channels:{modelByChannel:{telegram:google/gemini-3-flash-preview,slack:anthropic/claude-opus-4-6,discord:openai/gpt-5.4-mini,whatsapp:openai/gpt-5.5}}}这适合做成本控制Telegram 日常聊天 → 便宜快速模型 Slack 工作任务 → 强模型 Discord 社群问答 → mini 模型 WhatsApp 私人助手 → 主力模型不过更推荐的可维护方式通常是用 bindings 路由到不同 agent然后每个 agent 配自己的 model。这样不只模型不同workspace、tools、skills、安全策略也可以不同。三、模型渠道与消息渠道如何组合14. 三层路由模型OpenClaw 的完整路由可以理解成三层第一层消息渠道路由 Telegram / Slack / WhatsApp / Discord ↓ 第二层Agent 路由 personal / work / support / coding ↓ 第三层模型路由 openai / anthropic / google / openrouter / local配置示例{agents:{list:[{id:personal,workspace:~/.openclaw/personal,model:{primary:google/gemini-3-flash-preview,fallbacks:[openai/gpt-5.4-mini]},tools:{profile:messaging}},{id:work,workspace:~/.openclaw/work,model:{primary:anthropic/claude-opus-4-6,fallbacks:[openai/gpt-5.5]},tools:{profile:coding}}]},channels:{telegram:{botToken:env:TELEGRAM_BOT_TOKEN,allowFrom:[123456789]},slack:{botToken:env:SLACK_BOT_TOKEN,appToken:env:SLACK_APP_TOKEN,signingSecret:env:SLACK_SIGNING_SECRET}},bindings:[{match:{channel:telegram},agentId:personal},{match:{channel:slack},agentId:work}]}这样比单纯channels.modelByChannel更强因为它同时隔离了模型 工作区 会话 工具权限 skills 文件系统 上下文15. 推荐部署模式个人助理{agents:{defaults:{model:{primary:openai/gpt-5.5,fallbacks:[google/gemini-3-flash-preview]}}},channels:{whatsapp:{allowFrom:[15555550123]},telegram:{botToken:env:TELEGRAM_BOT_TOKEN,allowFrom:[123456789]}}}适合WhatsApp / Telegram 里随时问自己的私人 Agent团队工作机器人{agents:{list:[{id:team,workspace:~/.openclaw/team,model:{primary:anthropic/claude-opus-4-6,fallbacks:[openai/gpt-5.5]},tools:{profile:coding,deny:[exec]}}]},channels:{slack:{botToken:env:SLACK_BOT_TOKEN,appToken:env:SLACK_APP_TOKEN,signingSecret:env:SLACK_SIGNING_SECRET}},bindings:[{match:{channel:slack,teamId:T123},agentId:team}]}适合Slack 内部问答、代码解释、文档搜索、轻量任务自动化成本分层{agents:{list:[{id:cheap-chat,model:{primary:google/gemini-3-flash-preview}},{id:hard-work,model:{primary:anthropic/claude-opus-4-6,fallbacks:[openai/gpt-5.5]}}]},bindings:[{match:{channel:telegram},agentId:cheap-chat},{match:{channel:slack},agentId:hard-work}]}适合低风险渠道用便宜模型 高价值工作渠道用强模型16. 常见问题Q1模型会自己决定回复到哪个渠道吗不会。模型不负责选择渠道。渠道路由由 Gateway 和配置决定。官方渠道路由文档说明OpenClaw 会把回复路由回消息来源路由是确定性的由主机配置控制。([OpenClaw][7])Q2同一个 WhatsApp 可以用不同模型吗可以。推荐做法是把不同联系人、群组或账号用bindings路由到不同 agent每个 agent 配不同模型。也可以用channels.modelByChannel做渠道级模型覆盖。Q3用户能临时切模型吗可以通过/model。官方文档说明/model会持久化新的会话选择如果 agent 空闲下一次运行会使用新模型如果当前运行已开始则可能排队到干净重试点或下一轮。([OpenClaw][3])Q4为什么设置了模型但没有回复常见原因1. 模型不在 agents.defaults.models 允许列表里 2. provider 没有配置 API key / OAuth 3. 模型 ID 写错 4. 当前会话固定了一个不可用模型 5. fallback 也不可用 6. 渠道 allowlist / pairing 拦截了消息可以先跑openclaw models status openclaw models status--probeopenclaw models list openclaw channels status--probeopenclaw logs--followmodels status会显示默认模型、fallback 和认证概览加--probe可以做实时认证探测。([OpenClaw][4])17. 总结OpenClaw 的模型和渠道可以这样理解消息渠道 Channel 用户在哪里跟 Agent 说话 WhatsApp / Telegram / Slack / Discord / WebChat 模型提供商 Provider Agent 用哪个大模型思考 OpenAI / Anthropic / Gemini / Z.AI / OpenRouter / Ollama Agent 中间的“人格 工作区 工具 skills 模型配置” Gateway 把渠道、Agent、模型、工具、会话全部串起来的中枢最推荐的设计方式是不要只按渠道硬切模型 而是按渠道/账号/群组 → 路由到不同 Agent → 每个 Agent 配自己的模型、工具和 skills。这样结构更清晰也更安全。参考链接[1]: https://docs.openclaw.ai/zh-CN/channels “聊天渠道 - OpenClaw”[2]: https://docs.openclaw.ai/zh-CN/concepts/model-providers “模型提供商 - OpenClaw”[3]: https://docs.openclaw.ai/zh-CN/concepts/models “模型 CLI - OpenClaw”[4]: https://docs.openclaw.ai/zh-CN/cli/models “models - OpenClaw”[5]: https://docs.openclaw.ai/zh-CN/channels/channel-routing “渠道路由 - OpenClaw”[6]: https://docs.openclaw.ai/zh-CN/gateway/configuration-reference?utm_sourcechatgpt.com “配置参考 - OpenClaw”[7]: https://docs.openclaw.ai/zh-CN/channels/channel-routing?utm_sourcechatgpt.com “渠道路由 - OpenClaw”