Auto-Combo: Let OmniRoute Pick the Best AI for You (中文 (简体))
你无需选择特定的 AI 模型(例如 GPT-4o 或 Claude),而是可以让 OmniRoute 为每个请求自动选择最佳模型。它会考虑:
- 健康状态 — 提供者当前是否正常工作?
- 速度 — 响应速度有多快?
- 成本 — 使用成本是多少?
- 质量 — 是否擅长处理此类任务?
- 容量 — 是否还有剩余配额?
OmniRoute 会为你已连接的所有提供者评分,并选择最佳提供者。如果调用失败,它会自动尝试下一个。
步骤 1:在 IDE 或 CLI 中将模型设置为 auto:
model: "auto"步骤 2:就这么简单!其余工作由 OmniRoute 处理。
步骤 3(可选):针对特定任务使用变体:
model: "auto/coding" # 最适合编程model: "auto/fast" # 响应最快model: "auto/cheap" # 成本最低我应该使用哪个 “auto”?
Section titled “我应该使用哪个 “auto”?”| 如果你想要…… | 使用此项 | 最适合 | 工作方式 |
|---|---|---|---|
| 综合表现最佳 | auto |
一般问题、聊天 | 平衡速度、成本和质量 |
| 最适合编程 | auto/coding |
编写代码、调试 | 选择擅长编程任务的模型 |
| 响应最快 | auto/fast |
快速回答、低延迟场景 | 将速度置于首位 |
| 成本最低 | auto/cheap |
节省费用 | 选择成本最低的提供者 |
| 最智能的模型 | auto/smart |
复杂任务 | 质量优先,同时探索新模型 |
| 可用性最高 | auto/offline |
提供者繁忙时 | 选择剩余容量最多的提供者 |
# 常规聊天 — 均衡curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
# 代码生成 — 质量优先curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto/coding","messages":[{"role":"user","content":"Write a Python function"}]}'
# 快速回答 — 速度优先curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto/fast","messages":[{"role":"user","content":"What is 2+2?"}]}'工作原理(简化版)
Section titled “工作原理(简化版)”当你发送包含 model: "auto" 的请求时,OmniRoute 会:
- 检查所有已连接的提供者 — 你添加的每个提供者(OpenAI、Anthropic、Google 等)
- 为每个提供者评分,考量因素包括:
- 是否正常工作?(健康状态)
- 是否有可用容量?(配额)
- 成本是多少?(价格)
- 速度有多快?(速度)
- 是否擅长此任务?(质量)
- 选择最佳提供者 — 得分最高的提供者将处理你的请求
- 自动恢复 — 如果调用失败,OmniRoute 会自动尝试下一个提供者
每个提供者都会获得一个 0 到 1 之间的分数。分数越高,匹配度越高。
| 因素 | 权重 | 含义 |
|---|---|---|
| 健康状态 | 20% | 提供者是否正常工作?(熔断器状态) |
| 配额 | 15% | 是否还有剩余容量? |
| 成本 | 15% | 费用有多高?(越便宜,得分越高) |
| 速度 | 12% | 速度有多快?(延迟越低,得分越高) |
| 任务适配度 | 8% | 是否擅长此类任务? |
| 稳定性 | 5% | 表现是否稳定?(错误率低) |
| 层级 | 5% | 账户层级(Ultra > Pro > Free) |
| 其他 | 20% | 上下文亲和度、连接密度等 |
变体如何改变评分方式
Section titled “变体如何改变评分方式”每种变体使用不同的权重:
| 变体 | 优先考虑 | 关键权重 |
|---|---|---|
auto |
均衡 | health=20%, quota=15%, cost=15% |
auto/coding |
质量 | taskFit=37%, stability=15% |
auto/fast |
速度 | latency=32%, health=28% |
auto/cheap |
成本 | cost=37% |
auto/smart |
质量 + 探索 | taskFit=37%, exploration=10% |
auto/offline |
容量 | quota=37%, health=28% |
如何处理故障
Section titled “如何处理故障”OmniRoute 提供三层保护机制:
1. 自动回退
Section titled “1. 自动回退”如果最佳提供者失败,OmniRoute 会自动尝试下一个。你无需进行任何操作。
如果某个提供者持续失败:
- 评分 < 0.2 → 排除 5 分钟
- 断路器开启 → 自动排除
- 超过 50% 的提供者不可用 → 事故模式(停止探索)
3. 紧急回退
Section titled “3. 紧急回退”如果所有提供者都失败,OmniRoute 会将请求路由到稳定的免费提供者(如 Kiro 或 Qoder),作为最后的保障。
如果你为同一个提供者配置了多个账户(例如两个 OpenAI 密钥),OmniRoute 会将每个账户视为一个独立候选项。这意味着:
- 账户 A 仍有剩余额度 → 使用它
- 账户 B 受到速率限制 → 跳过它
- 账户 C 成本更低 → 优先使用它
每个账户都会根据自身的健康状况、额度和速度进行独立评分。
多臂老虎机探索
Section titled “多臂老虎机探索”OmniRoute 偶尔会探索新的提供者,以发现更好的选择:
- 默认:5% 的请求会发送给随机提供者
- Auto/smart:探索率为 10%
- 当超过 50% 的提供者处于不健康状态时禁用
这有助于 OmniRoute 了解哪些提供者最适合你的使用模式。
“它总是会选择最昂贵的模型吗?”
Section titled ““它总是会选择最昂贵的模型吗?””**不会。**默认情况下,成本只占评分的 15%。便宜、快速且健康状况良好的提供者可能会胜过昂贵的提供者。如果你希望进一步优先考虑成本,请使用 auto/cheap。
“如果某个提供者宕机会怎样?”
Section titled ““如果某个提供者宕机会怎样?””OmniRoute 会自动跳过它并尝试下一个。如果某个提供者持续失败,它将被临时排除(5-30 分钟)。你无需进行任何操作。
“我可以查看使用了哪个提供者吗?”
Section titled ““我可以查看使用了哪个提供者吗?””检查响应标头——OmniRoute 会在每个响应中包含所使用的提供者和模型。
“它会从我的使用情况中学习吗?”
Section titled ““它会从我的使用情况中学习吗?””会!评分系统会利用历史数据(延迟、错误率、成功率),随着时间推移做出更好的决策。
“auto 和 auto/smart 有什么区别?”
Section titled ““auto 和 auto/smart 有什么区别?””auto—— 均衡模式,探索率为 5%auto/smart—— 质量优先(权重与auto/coding相同),探索率为 10%
如果你希望获得最佳质量,并且可以接受偶尔的探索,请使用 auto/smart。
“我可以强制使用特定提供者吗?”
Section titled ““我可以强制使用特定提供者吗?””可以!请使用采用 priority 策略的组合,而不是 auto,然后将组合的确切名称作为 model 字段发送(例如 model: "my-combo",而不是 auto)。详情请参阅技术参考。
“这与轮询有什么不同?”
Section titled ““这与轮询有什么不同?””轮询会按顺序依次使用各个提供者。Auto-combo 会为每个提供者评分并选择最佳提供者。它更加智能——会综合考虑健康状况、速度、成本和质量。
开发者和贡献者可参阅 Auto-Combo 技术参考,了解:
- 完整的 16 因子评分算法
- 模式包权重表
- 实现文件路径
- API 端点
- 自修复算法详情
HagiCode
HagiCode 是一套智能体编码工作台:结构化工作流、多 Agent 并行执行与 Hero Dungeon 视图,把想法变成真正交付的软件。
让想法更快变成好用的软件,让智能编码更聪明、更高效,也更有趣。

- Smart结构化工作流将意图转化为从想法到交付的可执行路径。
- Efficient多 Agent 工作流让调研、实现与审阅并行推进。
- FunHero Dungeon 让长时间编码协作更直观、更有参与感。