Codex App Manager:官方 OpenAI Codex 桌面应用的安装/更新/卸载管理器(Tauri v2)。
前端 src/,Rust 引擎 crates/ + src-tauri/,分发 Worker cloudflare/,官网 website/。
- main 受保护:禁 force push、必须走 PR,必需检查 = Frontend + Rust (macos/windows) + Audit。
- 实质代码改动的收尾链路:
codex review --uncommitted(或--base main)迭代到无意见 → PR →gh pr merge --squash。 - 提交信息用英文 conventional 风格(
feat:/fix:/docs:/chore(release):)。
- bump 版本号,5 个文件 6 处:
package.json、package-lock.json(顶层 +packages[""]两处)、src-tauri/tauri.conf.json、src-tauri/Cargo.toml、根目录Cargo.lock(单一 Cargo workspace 后 lockfile 已从src-tauri/Cargo.lock移到仓库根;只改codex-app-manager那个[[package]]块——⚠️ lock 里winapi-util等依赖也是0.1.x, 严禁全局替换)。 - 同一个发版 PR 里写 release note:新增
docs/releases/v<X.Y.Z>.md。- 结构与双语风格照
docs/releases/TEMPLATE.md(banner 头图 → 一句话双语主旨 → ✨ 亮点 / 🐛 修复 双语成对行 → 安装升级表)。 - 素材来源:
git log <上个tag>..HEAD+ 读关键 diff 还原细节(squash 提交一句话 背后常有数百行变更);只写用户可感知的变化,内部重构不写。 - 事实核查:渠道、数字必须核实——例:winget(
Wangnov.CodexAppManager)在 microsoft/winget-pkgs 合并前不存在,不要写winget install。 - 安装表、镜像直链、更新器工件说明是模板固化内容,不要改写;Full Changelog 由 release.yml 自动追加,不要手写。
- 结构与双语风格照
- PR 标题
chore(release): bump version to <X.Y.Z>。bump PR 会额外触发非必需的nsis检查(~8min,期间 PR 状态 UNSTABLE)——等它也绿再合并。 - squash 合并后,在 main HEAD 打 annotated tag
v<X.Y.Z>并 push。release.yml自动:四平台构建(macOS arm64/x64 + Windows x64/ARM64)→ 签名/公证 → R2 + IHEP 镜像同步(失败会阻断发布)→ GitHub Release(正文取docs/releases/<tag>.md,缺失回退FALLBACK.md并告警,同时 追加自动 What's Changed)。 - 发布后会 dispatch
winget.yml;Wangnov.CodexAppManager已在 winget-pkgs 中可用, workflow 失败通常需要处理生成的提交/PR。README 下载链接是/manager/latest/*永久直链, 发版通常无需改 README。
- 独立 npm 工程,不要在仓库根目录为它装依赖(会污染主工程 package.json)。
- 站点介绍全家桶三个项目(mirror / Manager / awesome-codex-skins),构建期由
website/site/render.mjs渲染出/(中文)、/en/(英文)、404.html三个静态页。 - 文案唯一来源
website/site/locales/{zh,en}.mjs;改文案后重跑npm run fonts(中文显示字体按用字子集化,缺字会回退系统字体)。 - 数据快照
website/site/data/site.json由npm run data刷新(镜像最新版本/哈希、 Manager 版本、Star、下载量、皮肤目录);线上再由 Worker/api/status.json实时刷新。 - 素材管线:
assets/raw/(git-ignored:gpt-image-2-skill Codex provider 生成的背景/透明物件、 皮肤真机截图、Manager 浏览器预览截图)→npm run images→public/img/。 - 部署:
cd website && npm run deploy(build +npx wrangler@4 deploy)。zone 路由:/manager/*→ 本仓库下载路由器,/latest/*、/stats/*→ mirror 仓库,/*→ 官网,互不抢路; 官网 Worker 只接管/api/*,并只读绑定codex-app-mirror、codex-app-manager两个 R2 桶。 - README banner(
assets/banner.svg)由node website/scripts/readme-banner.mjs再生;官网视觉资产更新后记得重新生成。