将多个 OpenAI Codex 账户合并为一个统一池。自动路由请求。实时配额监控。
scrollOpenAI 按每个订阅账户实施速率限制。如果您拥有 3–5 个 Codex 账户,必须手动切换管理。
配额用尽时手动切换
不知道哪个账户还有余量
无法聚合吞吐量
对于 5–10 人共享网关的团队,这个问题会成倍增加。
每个 Codex/ChatGPT 账户注册为独立的命名 Provider。GoClaw 存储刷新令牌并自动处理令牌刷新。
选择一个 Provider 作为所有者,将其他添加到 codex_pool.extra_provider_names。
配置请求分配方式:优先主账户、轮询或优先级排序。
设置 override_mode: "inherit" — Agent 自动从 Provider 继承池配置。
| Strategy | 行为 |
|---|---|
primary_first | 优先使用所有者,出错时故障转移到成员 |
round_robin | 在池中所有账户之间轮询 |
priority_order | 按优先级顺序使用,账户出错时自动切换 |
Agent 从 Provider 继承路由配置 — 配置一次,所有 Agent 自动受益。
override_mode: "custom"GoClaw 调用 OpenAI Usage API 获取池中每个账户的配额。
网关通过追踪数据跟踪每个账户的健康状态。当账户持续失败时,路由引擎自动切换到其他账户。
仅 admin/operator 可管理池
Viewer:仪表板 只读
租户隔离 — 无跨租户泄漏
令牌过期时显示 needs_reauth 标签
round_robininheritcodex-heavy(Pro)→ 重任务 Agentcodex-light(Plus)→ 日常聊天 Agent| Component | File | 职责 |
|---|---|---|
| Pool Validation | chatgpt_oauth_pool_validation.go | 验证图:无循环,无双重所有权 |
| Pool HTTP API | agents_codex_pool.go | CRUD 池配置、活动、健康 |
| Quota Fetcher | oauth/openai_quota.go | OpenAI Usage API,解析配额窗口 |
| Quota Transport | oauth/openai_quota_transport.go | HTTP 传输 + 认证注入 |
| Token Mgmt | oauth/token.go | 刷新令牌,元数据回填 |
| Routing | agent/resolver.go | 按策略解析 Provider |
| Store Types | store/agent_store.go | 常量、路由配置结构 |
| Dashboard | agent-codex-pool-page.tsx | Pool management UI |
| Quota UI | chatgpt-oauth-quota-*.tsx | Bars, badges, readiness |