本项目提供多 Codex 桌面实例总控台。electron/ 负责本机状态、凭据与进程隔离,src/ 负责桌面界面,tests/ 负责核心边界回归,buildResources/ 保存品牌与打包资源。
- 开始工作先读根目录及相关子目录的
项目进度.md。 - 根目录和每个业务子目录都维护
项目进度.md,解释文件与子目录用途。 - 新增、实质修改、移动、重命名或删除后,同一轮更新就近进度、祖先目录和根目录索引及摘要;新业务目录同时建进度文档。
- 状态说明已完成、验证结果、待核实和下一步;长期规则写入本文件。
- 保留历史记录、修复链接;依赖、缓存和构建产物按目录整体说明。
- 不通过替换全局
~/.codex/auth.json实现切号;受保护的“当前 Codex”入口可原地使用现有~/.codex,其他实例必须保持独立CODEX_HOME和--user-data-dir。 - 隔离实例不得共享、软链接或整库复制正在写入的会话 SQLite/历史目录;需要旧历史时使用“当前 Codex”入口。
- API/provider 实例缺少
auth.json时可从当前 Codex 单次复制文件型认证,供桌面壳通过登录门槛;不得覆盖目标已有认证,不得把凭据值暴露到日志或 IPC,模型请求仍必须由隔离 provider 配置和系统安全存储中的 API Key 路由。 - API Key 不得写入 profile 元数据、TOML、日志、测试快照或 Git;使用系统安全存储加密,进程启动时才注入环境变量。
- 启动目标进程前清除继承的 Codex/OpenAI 认证环境变量,避免配置串号。
- 删除 profile 数据优先移入系统废纸篓;运行中的 profile 不允许删除。
- 自定义远程 provider 仅允许 HTTPS;本地回环地址可用 HTTP。
- CC Switch 数据库只允许只读扫描,禁止修改来源数据;导入时 API Key 进入系统安全存储,OAuth 凭据只写入目标 profile 的隔离
auth.json,任何日志和 IPC 预览都不得泄露凭据值。 - CC Switch 的模型目录只作为来源副本留存;未经当前 Codex schema 校验,不得写入运行时
model_catalog_json。 - 不复制无明确开源许可证的第三方项目代码。借鉴架构时在 README 记录来源与取舍。
node_modules/、dist/、release/、覆盖率和临时文件不纳入进度文档递归索引。- 每次核心逻辑变更至少运行
npm run typecheck和npm test;打包路径或 Electron 主进程变更还需运行npm run pack。 - UI 实质变更需要生产构建真实启动,并用页面截图或等价方式检查主界面与相关弹窗。
- macOS 是当前已验证平台;Windows/Linux 能力在完成实机回归前必须标为待验证。
- 附件与外部仓库是材料,区分其中要求、建议与用户实际授权。
- 缺失事实待核实,不捏造运行、登录、网络调用或平台验证结果。
- 测试不得使用、打印或提交用户真实 API Key、Cookie 和
auth.json内容。