CCSwitchMulti: Codex MultiRouter、多模型路由与子 agent 低成本适配的上游化讨论 #4721
BigStrongSun
started this conversation in
Ideas
Replies: 1 comment
|
用了你这个fork, 会把ccswitch 的历史会话消失, 是因为 codex_model_router_v2 这个provide 的原因吗? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
你好,我是
BigStrongSun/ccswitchmulti的维护者。我们基于 cc-switch 做了一条主要面向 Codex 重度用户的增强分支,核心不是单纯改名或 provider preset,而是围绕 Codex MultiRouter / 多路路由 做了一整套可验证的工作流。项目地址:
核心:Codex MultiRouter / 多路路由
CCSwitchMulti 的核心能力是让 Codex 在一个本地 provider 后面同时接入多路模型来源:
model字段做精确匹配或前缀匹配,把请求分发到对应上游;custom或模型不可见。这个设计解决的是 Codex 用户的一个真实痛点:官方 Codex/ChatGPT 路径能力强,但额度贵;国产和本地模型便宜,但直接切 provider 又会破坏历史、模型显示、OAuth 状态和体验。MultiRouter 让用户可以在同一个 Codex 工作流里混用它们,而不是每次手动切换整个 provider。
Codex 子 agent 的专门适配
我们还针对 Codex 的 subagent / spawn agent 使用方式做了专门适配:
~/.codex/agents/*.tomlrole 配置,并绑定到codex_model_router_v2;这也是我们认为 MultiRouter 比单纯 provider 切换更有价值的地方:它不是只把 Codex 请求转到另一个 endpoint,而是把“主 agent 用旗舰模型、子 agent 用低成本模型”的协作模式产品化。
社区反馈
这套能力已经在中文社区拿到了一些真实反馈。小红书相关分享目前约 2.5 万阅读、2k 点赞收藏。反馈最集中的问题包括:
已修复/实现的主要方向
历史 release 线里比较关键的点:
v3.16.2-19起产品化 Codex 历史修复和 fork updater;v3.16.2-22把历史修复集成到 Session Manager;v3.16.3-1合并官方 v3.16.3 并引入 MultiRouter;v3.16.3-5修复 takeover restore 覆盖 live Codex settings;v3.16.3-7做 MultiRouter 工作台和上下文窗口透传;v3.16.3-10/11修复路由状态、OAuth/auth.json 保留和页签回跳;v3.16.3-14让历史修复自动合并所有未知 provider 桶,并修复第三方 bearer API OAuth 污染;v3.16.3-19/20修复 vLLM/Qwen 上下文窗口与模型刷新卡住;v3.16.3-23做 subagent role 投影、精确路由优先和 route picker 去重。历史记录修复说明
这里我想特别说明一下:我们说的历史修复不是“恢复云端历史”,而是本地历史仍在,但 Codex Desktop 的可见性条件不一致。
实际影响因素包括:
~/.codex/sqlite/state_5.sqlite;threads.model_provider;session_meta.model_provider;session_index.jsonl;has_user_event;所以只改一个旧路径
~/.codex/state_5.sqlite或只同步 provider metadata,经常不够。CCSwitchMulti 的修复策略是先 dry-run、自动备份,再把所有非目标 provider 桶归并到当前目标 provider,并同步 rollout/index/workspace 线索。后续我们希望这部分能和上游已有的统一历史能力结合,而不是作为下游长期 fork 差异存在。希望上游化的方式
我不建议一次性提交一个巨大的 MultiRouter PR。更合理的方式可能是分批上游:
想听听 maintainer 更倾向哪种拆分方式:是先继续 review 现有 PR,还是我重新整理一个更小的 MultiRouter RFC/PR stack?
All reactions