模型均匀分配策略

跨4个 Provider(GitHub Copilot、my-azure、prism-foundry、liwei-eastus2)的 ~73 个模型部署,按角色能力需求均匀分配给10个 Agent。

概述

模型均匀分配策略是为 OpenClaw 多代理架构设计的资源管理方案。随着系统从单一 provider 扩展到4个 Azure + GitHub Copilot provider、约73个模型部署,如何合理地将模型资源分配给不同职能的 Agent 成为关键问题。

分配原则遵循”避免 pro 模型(成本高)、按角色匹配能力、均匀分散到各 provider 避免单点瓶颈”。核心推理任务使用 Claude Opus 4.6,研究任务使用 Claude Sonnet 系列,工作和开发任务使用 GPT-5.4/5.2/5.3,英语教学使用中文底座 FW-GLM-5。

经过多轮测试和调整,最终形成了 GitHub Copilot 3个、my-azure 3个、prism-foundry 2个、liwei-eastus2 2个的均衡分布,并清理了闲置9天的 javis 和 javis-code 代理。

关键点

  • 4个 Provider:GitHub Copilot (15模型)、my-azure/resley-sweden (39模型)、prism-foundry (3模型)、liwei-eastus2 (16模型)
  • 总计约73个模型部署:涵盖 Claude、GPT-5.x、DeepSeek、GLM-5 等
  • 分配原则:避开 pro 系列,按角色匹配,均匀分散
  • 闲置清理:删除了闲置9天的 javis 和从未运行过的 javis-code
  • Azure AI 模型 API 差异:三种 API 路径格式各不相同(Cohere rerank / Cohere embed / OpenAI embed)
  • 新 Provider 添加:us2 (resley-east-us-2-resource) 包含8个模型,所有 bot 可用

技术细节

最终分配方案

| Bot              | Provider         | 模型                        |
| ---------------- | ---------------- | --------------------------- |
| @dora            | github-copilot   | claude-opus-4.6             |
| @researcher      | github-copilot   | claude-sonnet-4.6           |
| @research-craft  | github-copilot   | claude-sonnet-4.5           |
| @work-assistant  | my-azure         | gpt-5.4                     |
| @clawline-gw     | my-azure         | gpt-5.2                     |
| @clawline-ch     | my-azure         | gpt-5.3-chat                |
| @misse           | prism-foundry    | FW-GLM-5                    |
| @research-portal | prism-foundry    | gpt-5.4                     |
| @clawline-web    | liwei-eastus2    | DeepSeek-V3.2               |

Provider 配置

# prism-foundry
Base URL: https://prism-foundry-b2p.openai.azure.com/openai/v1
Models: gpt-5.4, FW-GLM-5, text-embedding-3-large

# liwei-eastus2
Base URL: https://liwei-m6u2eooi-eastus2.openai.azure.com/openai/v1
Models: 16个 (GPT-5.x系列, DeepSeek, FW-GLM-5, embedding等)

# us2 (resley-east-us-2-resource)
Base URL: https://resley-east-us-2-resource.cognitiveservices.azure.com/
Models: gpt-5.3-codex, gpt-5.4, gpt-5.4-pro, gpt-4o, gpt-4.1, gpt-5-mini, FW-GLM-5, FW-MiniMax-M2.5

Azure AI 模型 API 清单

| 模型            | 路径格式                               | 备注             |
| ------------- | ---------------------------------- | -------------- |
| Cohere rerank | /providers/cohere/v2/rerank        | model 在 body 里 |
| Cohere embed  | /openai/v1/embeddings              | input 必须是数组    |
| OpenAI embed  | /models/embeddings?api-version=... | input 可以是字符串   |

GPT-5.3-codex 测试

  • 在 Azure Foundry 部署后通过 OpenClaw 测试成功
  • 需要将模型添加到 provider list 和 agents.defaults.models 允许列表
  • 注意 gpt-5.4 需要用 max_completion_tokens 而非 max_tokens

时间线

  • 2026-03-02: 测试 Azure 模型 gpt-5.3-codex,确认可用
  • 2026-03-18: 添加 prism-foundry provider(3个模型),全部测试通过
  • 2026-03-18: 添加 liwei-eastus2 provider(16个模型)
  • 2026-03-18: 整理全部73个模型部署,删除闲置 javis/javis-code
  • 2026-03-18: 完成10个 agent 模型均匀分配到4个 provider
  • 2026-03-19: 验证6个 Azure AI endpoint(Cohere rerank/embed + OpenAI embed × 2节点)
  • 2026-03-20: 添加 us2 provider (resley-east-us-2-resource),8个模型,所有 bot 可用

相关页面

Copilot→Anthropic 代理服务(2026-04-06)

researcher agent 开发了一个 Copilot→Anthropic 代理转发服务 copilot-anthropic-proxy.mjs,通过逆向分析 GitHub Copilot 调用 Claude 的完整链路,发现 Copilot 端点原生支持 Anthropic Messages API,实现了免 Anthropic API Key 使用 Claude 模型的代理方案。

代理服务信息

属性
服务端口4819
Dashboardhttp://127.0.0.1:4819/
源码~/.openclaw/workspace-researcher/prototypes/copilot-anthropic-proxy.mjs
数据库prototypes/proxy-logs.db(SQLite)
进程管理launchctl (com.leway.copilot-anthropic-proxy)

优化内容(2026-04-06)

在运行稳定后进行了以下优化:

优化项说明
CST 时间所有时间戳统一使用 UTC+8(中国标准时间)
SQLite 持久化日志存入 proxy-logs.db,服务重启不丢失
时间筛选Dashboard 支持从/到时间范围筛选请求记录
模型筛选下拉框按模型过滤请求
模型统计卡片每个模型的调用次数、token 总量、平均耗时

与 Claude Code CLI 集成

代理服务同时支持 Claude Code CLI 接入:

  • 配置 ANTHROPIC_BASE_URL 到 zshrc
  • 禁用 Azure Foundry 旧配置
  • 通过代理成功运行 Claude Code(免 Anthropic API Key)

MiniMax Provider 配置

wukong-bot 使用 MiniMax 作为模型提供商,通过 minimax-portalminimax 两个 provider 接入。

minimax-portal Provider

  • 认证方式: OAuth (minimax-portal:default)
  • 可用模型:
    • MiniMax-M2.5(主力模型)
    • MiniMax-M2.1
    • MiniMax-M2.1-lightning
    • MiniMax-M2.5-highspeed
    • VL-01(视觉-语言多模态,可能测试阶段)
  • Token 上限: 128k in / 200k context window

minimax Provider

  • 可用模型: 3个(包括 MiniMax-M2.5 等)

MiniMax 官方模型矩阵

类型模型
文本M2.5, M2.5-highspeed, M2.1, M2.1-highspeed, M2, M2-her
语音Speech 2.6, Speech 2.5
视频Hailuo 2.3
音乐Music 2.5+

VL-01 不在官方文档中,推测为 Vision-Language 多模态模型。

CraftBot Azure 端点迁移

craftbot 在 2026-03-17 完成了 Azure OpenAI 端点迁移:

端点变更

  • 旧端点: resley-sweden-ext.openai.azure.com(模型:gpt-5.2, gpt5.2-codex)
  • 新端点: resley-sweden.openai.azure.com(39 个模型)

新增模型清单(39 个)

类别模型
GPT-5.x5.4, 5.4-pro, 5.3-chat, 5.3-codex, 5.2, 5.2-chat, 5.2-codex, 5.1, 5.1-codex, 5.1-codex-max, 5-pro, 5-mini, 5-nano, 5-codex
GPT-4.x4.1, 4.1-mini, 4.1-nano, 4o, 4o-mini
推理o3, o3-mini, o3-pro, o4-mini, o1-pro
Embedding3-large, 3-small, ada-002
多模态gpt-image-1, gpt-image-1.5, dall-e-3, whisper, tts, tts-hd
代码codex-mini
第三方claude-opus-4.6, claude-sonnet-4.6, deepseek-v3.2, deepseek-r1, grok-4

GitHub Copilot 调试经验(来自 quokka

stream: false 导致 Claude API 崩溃

在 claw-bot (192.168.31.141) 的 openclaw.json 中,github-copilot/claude-opus-4.6 被配置了 "stream": false。这导致:

  1. 超时:GitHub Copilot 底层代理 Anthropic 的 Claude API 强依赖 SSE 流式输出,stream: false 使上游网关尝试”憋完全部回答再返回”,在大上下文时必然超时
  2. 数据流错乱:超时断开时吐出残缺 SSE 数据,报错 got message_start before receiving "message_stop"
  3. 降级雪崩:主模型超时后触发 24 个模型的降级轮询,每个超时约 80~150 秒,一轮下来半小时

修复:删除 params.stream 配置,恢复默认流式输出。

GitHub Copilot 静默限流

即使修复了 stream: false,claw-bot 上绑定的 GitHub Token 仍偶发被 Copilot 后端静默限流(不返回 429,而是直接挂起请求直到客户端超时)。通过更换 Token(从 ottor-laptop 拷贝)暂时恢复。

关键发现:两台机器使用不同的 GitHub Token(hash 不同),被限流的仅是 claw-bot 的 Token。

Azure Foundry 模型查询

quokka 帮助查询 Azure AI Foundry 中的模型部署:

  • 已部署模型:GPT-5.x 系列、DeepSeek-V3.2、Kimi-K2.5、Cohere rerank、语音/图像多模态等
  • MiniMax 2.5/2.7:在 Azure ML Registry 公共列表中未找到
  • GLM-5:公共注册表中未找到
  • Jina Embeddings v3:Azure 上可用但需在 AI Studio 界面手动部署(Marketplace 条款需交互式确认)

模型端点健康检查(2026-04-09)

来源:research Agent 自动心跳检查

Research Agent 定期执行模型端点健康检查。04-09 检查发现所有端点均可达,部分返回 400 是因为 max_tokens=1 过小导致模型拒绝生成(非故障)。调高为 max_tokens=10 后全部返回 200。

04-09 健康检查结果

Provider模型状态说明
us2gpt-5.4✅ 200
us2gpt-4o✅ 200
sweden-extgpt-5.4✅ 200
github-copilotclaude-opus-4.6✅ 200当前会话验证

关键发现:400 错误不代表端点故障。Azure OpenAI 在 max_completion_tokens 过小时会返回 400(模型成功连接并响应,只是拒绝以极小 token 数生成)。健康检查应使用 max_tokens=10 或更高值。

04-10 健康检查结果

Provider模型状态说明
sweden-ext (主)gpt-5.4✅ 可达400=max_tokens 限制,非故障
sweden-extgpt-4o✅ 200
us2 (备)gpt-5.4✅ 可达
clawfood (备)gpt-5.4✅ 可达
liwei-eastus2 (备)gpt-5.4⚠️ 401API Key 失效,非主用,有 fallback
github-copilotclaude-opus-4.6当前会话运行中

2026-04-11 更新:5 Provider 全面启用 + EAIPS 中转代理

Provider 架构变更

liwei-eastus2 的 API Key 失效后,通过 EAIPS 中转代理 (dp.eaips.net) 重新恢复可用性。同时新增 eaips-sweden 作为第五个 provider,最终 5 个 Azure provider 全部在线

ProviderBase URL模型数状态说明
us2resley-east-us-2-resource.cognitiveservices.azure.com13美东2
clawfoodclawfood.openai.azure.com/openai/v19
sweden-extresley-sweden-ext.openai.azure.com/openai/v128最全,含音频/实时/图像/Sora
eaips-sweden (新)dp.eaips.net/openai/v119EAIPS 中转代理
eaips-eastus2 (原 liwei-eastus2)dp.eaips.net/openai/v116从直连迁移到 EAIPS 中转

关键操作

  1. sweden-ext apiKey 轮换 — 更新 azure provider 和 memory embedding 的 apiKey
  2. eaips-sweden 新增dp.eaips.net 中转代理,密钥 sk-fin...-001,19 个模型全部测试通过
  3. liwei-eastus2 迁移 — 原直连 liwei-m6u2eooi-eastus2.openai.azure.com 已改为走 EAIPS 中转
  4. 命名规范统一 — 所有中转 provider 统一使用 eaips-{区域} 格式
  5. Memory embedding baseURL 同步 — 从旧的 dp.eaips.net 更新为 sweden-ext

模型可用性测试结果

全量测试所有 provider 的模型可用性:

  • gpt-5.4 — 全部 5 个 provider ✅
  • gpt-4.1 / gpt-4o — us2、clawfood、sweden-ext、eaips-sweden ✅
  • DeepSeek-V3.2 — eaips-eastus2、sweden-ext ✅
  • Kimi-K2.5 — us2、clawfood、sweden-ext ✅
  • codex 系列 — 全部返回 400(需走 Responses API / Codex 专用接口,非 bug)