Skip to content

整合 CC 3.17 底座并保留 Tuzi 产品能力#37

Merged
chenpingan666 merged 7 commits into
developfrom
codex/tuzi-next
Jul 22, 2026
Merged

整合 CC 3.17 底座并保留 Tuzi 产品能力#37
chenpingan666 merged 7 commits into
developfrom
codex/tuzi-next

Conversation

@selwen-0102

Copy link
Copy Markdown
Collaborator

问题描述

现有 Tuzi 1.x 底座无法持续承接 CC Switch 新版本能力。升级过程中必须保持 Tuzi 品牌、数据目录、六线路、Codex 会话历史、官方认证和更新能力,不能用新版 CC 覆盖 Tuzi 产品功能。

修复思路

  • 以 CC Switch v3.17.0 后的精确提交 f6e37ed99443 为完整底座。
  • 将 Tuzi 品牌、Provider 线路、会话迁移、认证保护、原生 updater 和 Web 热更新重建为产品扩展层。
  • 增加受保护路径和 pnpm check:tuzi 产品契约,后续 CC 同步先恢复 Tuzi 专属文件再运行全量门禁。
  • 移除主界面、通用设置和托盘中的项目切换入口。
  • Gemini OAuth Client 凭据改为通过 release Environment 构建变量注入,源码不保存明文。

更新代码架构

  • CC 正式版本底座 + Tuzi 产品扩展层
  • CC 正式 Release 自动同步到 develop 的 PR 流程
  • Tuzi 原生签名发布与 Web 热更新双链路
  • Codex 统一会话桶、迁移备份账本与精确恢复
  • 独立 Docs 与 QA 报告

验证结果

  • pnpm check:tuzi:通过
  • pnpm format:check:通过
  • pnpm typecheck:通过
  • Tuzi Provider 与 updater:4/4 通过
  • 托盘专项:25/25 通过
  • Codex 会话迁移:26/26 通过
  • Codex 官方认证保留:3/3 通过
  • Web 热更新:7/7 通过
  • Rust 格式、YAML、git diff --check:通过
  • GitHub Secret Protection:通过,OAuth 明文已移除

发布前置条件

仓库默认分支当前仍为 main。本 PR 合入 develop 后,GitHub 定时工作流若要自动运行,还需将同步工作流纳入默认分支,或将 develop 设置为默认分支。

release Environment 还需配置 updater、Apple 签名/公证、Web 热更新及 Gemini OAuth 构建凭据。详情见 Docs 与 QA 文档。

水滴鱼 added 7 commits July 20, 2026 18:04
问题描述:现有 Tuzi 1.x 底座无法持续承接 CC Switch 新功能,且会话、认证、更新和品牌能力需要在升级中保持稳定。

修复思路:以 CC Switch 3.17.0 完整源码为底座,迁移 Tuzi 品牌、六线路、会话历史、官方认证、原生更新与 Web 热更新能力;移除项目切换入口,并通过构建环境注入 OAuth 凭据。

更新代码架构:采用 CC 主线 + Tuzi 产品扩展层,增加受保护路径、产品契约、develop 上游同步 PR、签名发布流程及独立 Docs/QA 文档。
问题描述:CI 仅监听 main,指向 develop 的 PR 无法触发远端检查。

修复思路:将 pull_request 和 push 的监听范围扩展到 develop。

更新代码架构:develop 作为日常集成与上游同步目标,复用现有跨平台 CI。
问题描述:跨平台 CI 将会话账本返回类型判定为过度复杂。

修复思路:为官方会话和线程账本增加类型别名,不改变迁移逻辑。

更新代码架构:统一会话账本类型定义,保持恢复流程契约不变。
问题描述:同步 CC 3.17 底座后,显式 codex 官方路由被当作用户自定义路由跳过,统一会话开关仍写入 codex 桶。

修复思路:仅识别 OpenAI OAuth Responses 官方路由并迁移到 tuziswitch,同时保留第三方同名路由。

更新代码架构:在统一会话注入层增加官方路由兼容分支,并同步 profile 引用,不改变供应商存储模板。
问题描述:供应商缺少 auth 时已返回可本地化错误,旧测试仍只接受 Config,首个失败还会毒化共享测试锁。

修复思路:按稳定错误键校验 Localized,并保留旧 Config 兼容断言。

更新代码架构:测试契约对齐新版错误层,不修改供应商切换生产逻辑。
问题描述:认证保留已默认开启,旧测试却依赖默认关闭;缺少 auth 的错误也已改为本地化类型。

修复思路:在关闭场景显式设置 false,并按稳定错误键兼容校验 Localized 与旧 Config。

更新代码架构:测试明确表达设置前提并对齐错误层,不修改认证与供应商切换生产实现。
问题描述:CC 整合时移除了主页、通用设置和托盘的项目切换入口,且旧热更新资源会继续覆盖内置界面。

修复思路:复用现有 Profile 数据层和服务,恢复入口与托盘事件;将热更新和 Tuzi 不变量改为正向保护,并使旧契约资源自动失效。

更新代码架构:保持 Profile API、查询和服务边界不变,仅恢复 App、设置、托盘接线,增加热更新 v2 契约、定向测试及同步文档。

@chenpingan666 chenpingan666 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已完成审查。重点检查了 Tuzi 产品扩展层、Codex 会话与认证、updater/热更新、上游同步及发布工作流;未发现阻塞问题。远端跨平台 CI 全部通过,本地 pnpm check:tuzi、format:check、typecheck、451 项单测、cargo fmt 与 cargo check --locked 均通过。

@chenpingan666
chenpingan666 merged commit bc0e774 into develop Jul 22, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants