进阶 omnigent.ai 2026-10-14 06:47:13 · 24 阅读

第34章 外部路由 API · Omnigent

外部路由 API Omnigent 服务器可以将智能路由(Smart Routing)决策委托给外部服务。 有关工作流,请参阅[智能路由](#smart-routing); 有关服务器设置,请参阅[智能路由配置](#smart-routing-configuration)。

服务器调用以下端点: POST /routes/select Content-Type: application/json

请求和响应体遵循 omnigent.api.routing.v1 架构 (proto3,序列化为带有 snake_case 字段名的 JSON)。此架构独立于任何网关进行版本管理。 请求:SelectRouteRequest 字段 类型 说明 route_options RouteOption[] 候选目标。每个模型和 harness 组合对应一个条目。 task Task 待路由任务。其 prompt 包含用户消息,截断至 4,000 个字符。 route_selector RouteSelector 路由策略。网关会拒绝省略该字段的请求。 session_history SessionHistory 若可用,则包含之前的对话轮次。路由器可借此在对话中保持一致性。

RouteOption 字段 类型 说明 model string 模型 ID,例如 gpt-5-5。 harness string 模型的 harness。原生 harness 可省略此字段,而元 harness(meta-harnesses)必须提供。

RouteSelector 字段 类型 说明 router_name string 来自服务器 routing.router_name 设置的策略。 config Struct 可选的特定于路由器的配置,由所选策略解释。

示例: { "route_options": [ { "model": "claude-opus-4-8", "harness": "claude-sdk" }, { "model": "gpt-5-5", "harness": "codex" }, { "model": "gpt-5-4-mini", "harness": "pi" } ], "task": { "prompt": "Refactor the auth module and add tests" }, "route_selector": { "router_name": "task_v0" } } 响应:SelectRouteResponse 字段 类型 说明 route_selection RouteSelection[] 路由决策。服务器使用第一个条目。 rationale string 对选定目标的人类可读解释。

RouteSelection 字段 类型 说明 route_option RouteOption 选定的模型和 harness。 params Struct 返回决策时附带的可选特定于路由器的参数。

示例: { "route_selection": [ { "route_option": { "model": "claude-opus-4-8", "harness": "claude-sdk" } } ], "rationale": "Multi-file refactor with tests: favor the most capable model." } 服务器会恢复已配置的 model_prefix,然后将选定的模型和 harness 与提供的 route_options 条目进行匹配。未提供的选择将被拒绝。HTTP 错误、格式错误的响应以及空选择都会触发错误,并回退到会话的默认 harness。

评论 (0)