Releases: Qsir-Q/cc-switch-intention
Releases · Qsir-Q/cc-switch-intention
Release list
intention-router
✨ 本次更新概要
本次版本主要围绕 Claude CLI 意图路由 能力展开,支持在多个供应商 / 模型之间,根据请求内容自动选择更合适的目标,同时保证同一会话内供应商稳定不跳变。并补充了相关用户手册与设计文档。
🧠 新增:Claude CLI 意图路由
仅对 Claude CLI
/v1/messages生效,前提是已启用代理和 Claude 接管。
- 支持为 多个 Claude 供应商 配置“意图描述”,由路由模型根据描述与当前请求内容自动选择最合适的供应商。
- 支持指定 “路由专用供应商/模型”:
- 在设置中可选定一个供应商作为“路由模型”提供方;
- 由该供应商的主模型负责阅读各供应商描述 + 用户请求,返回一个供应商/模型索引。
- 供应商内部支持 模型级路由:
- 在同一供应商下,根据请求长度,在默认模型 / 其他 Claude 模型之间自动选择;
- 路由模型调用失败时,自动回退到基于长度的简单启发式策略。
🔁 会话级绑定供应商
为避免“同一个任务中途换供应商”的体验问题,引入 会话级绑定策略:
- 仅在 会话首轮请求 时执行跨供应商意图路由:
- 请求的
messages中只有一条role: "user"消息; - 尚无任何
role: "assistant"消息。
- 请求的
- 一旦首轮请求为该会话选定了供应商,后续轮次不再做跨供应商路由:
- 后续请求只会在该供应商内部做模型级路由;
- 即使中途修改了供应商的意图描述,老会话不会被重新路由,只对新会话生效。
这样保证了:
同一会话内只在第一次提问做意图识别,后面都用第一次选中的供应商继续。
🧩 供应商级配置:意图路由描述
在「编辑供应商」中新增 / 完善了意图路由相关字段:
- 意图路由描述(Intent Description):
- 用于告诉路由模型“这个供应商适合什么场景”;
- 路由时优先使用该字段;为空时回退到供应商的
notes描述。
推荐写法:
- ✅
适合复杂数学推理与公式推导 - ✅
适合大规模代码库的跨文件分析与重构建议 - ✅
适合高并发下的日常对话与短代码解释 - ❌ 仅写
官方、代理等信息不足的描述
🖥️ UI 与交互改进
- 主界面顶部(Claude 应用区域)新增 “意图路由”开关:
- 图标为 ✨(Sparkles),风格与接管 / 故障转移开关一致;
- 直接映射到「设置 → 高级 → 代理服务 → 启用 Claude CLI 意图路由」。
- 意图路由开关文本说明中去掉了对 Haiku/Sonnet/Opus/Reasoning 等具体模型名的硬编码描述,改为面向“已配置的不同模型”,适配跨供应商场景。
📚 文档更新
- 更新
docs/proxy-guide-zh.md- 在代理功能概览中补充了 “意图路由(Claude CLI)” 作为一项核心特性。
- 用户手册新增章节:
docs/user-manual/4-proxy/4.6-intent-routing.md- 说明如何启用意图路由(代理 + Claude 接管 + 设置开关 + 主界面开关);
- 解释供应商意图描述的作用与写法;
- 详细说明会话级绑定行为和内部路由流程;
- 提供数学 / 代码场景下的实际使用示例与 FAQ。
- 设计文档(SDD):
- 新增
docs/INTENT_ROUTING_SDD.md- 记录意图路由的设计背景、目标与范围;
- 描述 Claude
/v1/messages入口的处理流程、会话 ID 提取与“首轮判定”逻辑; - 拆解供应商级 / 模型级路由实现细节与数据结构;
- 说明未来扩展到 Codex / Gemini / OpenCode 的方向与潜在风险。
- 新增
⚠️ 兼容性与注意事项
- 目前意图路由只影响 Claude CLI 请求,不会改变 Codex / Gemini / OpenCode 的行为。
- 某些 Claude 兼容接口供应商如果不完全支持
/v1/messages语义,路由模型调用可能返回错误,此时会:- 打印警告日志;
- 自动回退到基于长度的简单路由策略。
- 修改供应商的“意图路由描述”后:
- 不会影响已有会话;
- 只对新开启的会话生效(即仅首轮请求会重新跑跨供应商路由)。