文档导航
文档 / SquillaRouter

SquillaRouter

SquillaRouter 是 OpenSquilla 的本地模型路由层。它帮助 agent 为每个 turn 选择合适的模型层级,使常规工作不必总是 运行在最昂贵的模型上。

当你想要启用路由、了解它会带来哪些变化,或决定是否在特定运行中 改用固定 provider/模型时,请参阅此页面。

为什么使用它

SquillaRouter 在以下情形中非常有用:

  • 为简单的聊天、编辑、摘要以及常规工具工作降低成本;
  • 将更强大的模型保留给复杂推理、恢复以及长任务;
  • 用一个 OpenSquilla workflow 跨 provider 配置文件进行路由;
  • 在本地完成路由决策,而无需仅仅为了选择模型而把 prompts 发送到独立的 外部分类器。

它并非必需。OpenSquilla 也可以直接运行在单模型模式下。

启用路由

推荐的首次运行安装:

opensquilla onboard --router recommended

为已有安装重新配置:

opensquilla configure router --router recommended

使用 OpenRouter 混合默认配置:

opensquilla configure router --router openrouter-mix

禁用路由并直接使用已配置的 provider/模型:

opensquilla configure router --router disabled

查看 Provider 支持

查看你安装中可用的 provider 目录:

opensquilla providers list

如果 gateway 正在运行,查看运行时的 provider 健康状况:

opensquilla providers status

Router 支持的配置文件取决于已安装的 OpenSquilla 版本、 可选依赖以及已配置的 provider 凭据。常见的配置文件 包括 OpenRouter、OpenAI、DeepSeek、Gemini、DashScope、Moonshot、Volcengine、 Zhipu 以及由本地目录暴露的兼容 provider 层级。

Router 可以影响哪些方面

根据配置,SquillaRouter 可能影响:

  • 所选模型层级;
  • 直接的模型回退;
  • reasoning 等级;
  • 响应策略;
  • 支持图像的模型选择;
  • 对近期更高层级 turns 的 cache 连续性保护。

具体决策可通过运行时元数据和诊断页面获取。 当你需要了解某个 turn 为何被路由到特定模型时,请开启诊断:

opensquilla diagnostics on

终端 Router HUD

当 router 元数据存在且所选后端支持结构化的 UI/插件入口时,交互式终端聊天 可以通过 TUI Router HUD 呈现路由决策。在当前实现中,OpenTUI 预览页脚是 此 HUD 的主要终端显示。该 HUD 仅用于显示:它消费同一份 turn 元数据, 并不会改变模型选择。

该 HUD 可以显示所选层级、所选模型、基线模型、路由来源、置信度、预估节省、 回退状态、thinking 模式、prompt 策略、是否应用了路由,以及 rollout 阶段。

完整路由会显示为一条 active route。仅观察(observe-only)路由会显示为一个 observe 决策,这意味着 OpenSquilla 记录了 router 本会选择的内容,同时保持 已配置的基线行为。回退决策使用警告样式,以便在 turn 期间能看到 provider 或策略的恢复。

推荐运行模式

目标建议模式
通用个人 agent 使用recommended
通过 OpenRouter 进行多 provider 成本优化openrouter-mix
Provider 评估、计费审计或可复现基准运行disabled
排障某个 provider 的特定行为disabled

日常使用请从 recommended 开始。仅在模型选择本身就是你要测试的对象时 才禁用路由。

示例请求

对 router 友好的请求描述结果,而不是层级:

Summarize this long issue thread and list the decision points.
Review my current diff and point out the highest-risk changes.

除非你正在排障,否则不要让 router 像手动模型选择器一样工作:

Use exactly this one model for every turn.

若需指定具体模型的工作,请配置直接路由。

排障

如果路由似乎未生效:

  1. 确认 router 已启用:

    opensquilla config get router.enabled
    opensquilla config get llm.provider
  2. 检查 provider 就绪状态:

    opensquilla providers status
    opensquilla doctor
  3. 如果 SquillaRouter 的可选依赖缺失,OpenSquilla 仍可在直接单模型路由下运行。 在 Windows 上,ONNX Runtime 可能需要 Visual C++ Redistributable。

  4. 如果你需要某次运行具有确定性的模型行为,请禁用路由:

    opensquilla configure router --router disabled

文档索引 · 产品指南 · 改进此页面 · 反馈文档问题

在 GitHub 上编辑此页(英文原稿) OpenSquilla 文档 · 中文社区翻译