@minniexcode/codex-switch 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.AI.md +52 -13
- package/README.CN.md +94 -39
- package/README.md +75 -33
- package/dist/app/add-provider.js +29 -26
- package/dist/app/bridge.js +15 -15
- package/dist/app/edit-provider.js +2 -18
- package/dist/app/get-status.js +35 -13
- package/dist/app/import-providers.js +1 -1
- package/dist/app/init-codex.js +13 -14
- package/dist/app/list-providers.js +0 -1
- package/dist/app/remove-provider.js +1 -1
- package/dist/app/run-doctor.js +21 -39
- package/dist/app/run-mutation.js +3 -2
- package/dist/app/setup-codex.js +30 -18
- package/dist/app/show-config.js +1 -5
- package/dist/app/switch-provider.js +16 -33
- package/dist/cli/output.js +4 -6
- package/dist/cli.js +35 -3
- package/dist/commands/args.js +2 -2
- package/dist/commands/dispatch.js +40 -0
- package/dist/commands/handlers.js +202 -84
- package/dist/commands/help.js +2 -0
- package/dist/commands/registry.js +33 -12
- package/dist/domain/backups.js +4 -4
- package/dist/domain/config.js +102 -61
- package/dist/domain/providers.js +12 -5
- package/dist/domain/runtime-state.js +81 -4
- package/dist/domain/setup.js +58 -3
- package/dist/interaction/add-interactive.js +55 -1
- package/dist/interaction/interactive.js +1 -5
- package/dist/runtime/copilot-adapter.js +56 -13
- package/dist/runtime/copilot-bridge.js +392 -44
- package/dist/runtime/copilot-cli.js +142 -0
- package/dist/runtime/copilot-installer.js +59 -11
- package/dist/runtime/copilot-sdk-loader.js +5 -5
- package/dist/storage/auth-repo.js +28 -77
- package/dist/storage/backup-repo.js +4 -4
- package/dist/storage/codex-paths.js +34 -8
- package/dist/storage/config-repo.js +1 -36
- package/dist/storage/lock-repo.js +2 -4
- package/dist/storage/runtime-state-repo.js +43 -10
- package/dist/storage/tool-config-repo.js +111 -0
- package/docs/Design/codex-switch-copilot-integration-design.md +517 -0
- package/docs/Design/codex-switch-v0.0.10-design.md +669 -0
- package/docs/Design/codex-switch-v0.0.11-design.md +824 -0
- package/docs/PRD/codex-switch-prd-v0.0.10.md +406 -0
- package/docs/PRD/codex-switch-prd-v0.0.11.md +577 -0
- package/docs/cli-usage.md +166 -271
- package/docs/codex-switch-product-overview.md +2 -2
- package/docs/codex-switch-technical-architecture.md +6 -5
- package/package.json +1 -1
|
@@ -150,7 +150,7 @@ MVP 的能力范围主要包括:
|
|
|
150
150
|
|
|
151
151
|
- `config.toml` 是主配置文件
|
|
152
152
|
- `providers.json` 是 `codex-switch` 自身维护的 provider 清单
|
|
153
|
-
- `auth.json`
|
|
153
|
+
- `auth.json` 是当前 active direct provider 的认证投影文件;切换 direct provider 时会刷新 `OPENAI_API_KEY`
|
|
154
154
|
- `backups/` 用于保存历史备份
|
|
155
155
|
|
|
156
156
|
产品不会要求用户先理解全部内部实现,只暴露统一的命令接口。
|
|
@@ -167,7 +167,7 @@ MVP 的能力范围主要包括:
|
|
|
167
167
|
|
|
168
168
|
### 场景 3:切换到目标 provider
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
用户执行切换命令后,工具会完成校验、备份、修改运行态配置,并在 direct provider 场景下同步 `auth.json`。
|
|
171
171
|
|
|
172
172
|
### 场景 4:出现异常时恢复
|
|
173
173
|
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
- `Low Coupling`
|
|
99
99
|
- 参数解析、业务编排、文件访问、错误模型彼此解耦
|
|
100
100
|
- `Split State Model`
|
|
101
|
-
|
|
101
|
+
- `providers.json` 是管理态事实源,`config.toml` 是运行态路由文件,`auth.json` 是 direct provider 的认证投影
|
|
102
102
|
- `Lightweight Transactions`
|
|
103
103
|
- 单次写操作要有锁、备份、回滚边界
|
|
104
104
|
|
|
@@ -125,7 +125,8 @@ Infrastructure 层
|
|
|
125
125
|
当前实现还明确区分三类状态对象:
|
|
126
126
|
|
|
127
127
|
- 管理态单一事实源:`providers.json`
|
|
128
|
-
-
|
|
128
|
+
- 运行态路由:`config.toml`
|
|
129
|
+
- 当前 active direct provider 的认证投影:`auth.json`
|
|
129
130
|
- 回滚态:`backups/latest.json` 和对应 manifest
|
|
130
131
|
|
|
131
132
|
这意味着未来即使引入 GUI / MCP / HTTP 适配层,核心同步目标仍然是 runtime files,而不是把 runtime files 本身当成长期管理数据库。
|
|
@@ -555,13 +556,13 @@ scripts/
|
|
|
555
556
|
- 深度解析 profile 内部更多字段
|
|
556
557
|
- 管理 base URL 或模型等 profile 内容
|
|
557
558
|
|
|
558
|
-
|
|
559
|
+
它在当前架构里是 direct provider 的认证投影文件,不承担 provider 选择职责,也不作为 provider registry 的事实源。
|
|
559
560
|
|
|
560
561
|
### 5.3 `auth.json`
|
|
561
562
|
|
|
562
563
|
当前实现不直接建模其内部字段,但它有明确架构角色:
|
|
563
564
|
|
|
564
|
-
-
|
|
565
|
+
- 属于 direct provider 的认证投影
|
|
565
566
|
- 在存在时纳入备份与回滚
|
|
566
567
|
- 不是 provider registry 的事实源
|
|
567
568
|
|
|
@@ -622,7 +623,7 @@ scripts/
|
|
|
622
623
|
6. 校验 provider 对应的 `profile` 在配置中存在
|
|
623
624
|
7. 创建备份:
|
|
624
625
|
- `config.toml`
|
|
625
|
-
|
|
626
|
+
- `auth.json` 仅在历史备份清单已包含时由 rollback 兼容恢复
|
|
626
627
|
8. 更新顶层 `profile`
|
|
627
628
|
9. 如果未传 `--no-login`,执行 `codex login --with-api-key`
|
|
628
629
|
10. 成功后把这次备份记录为 `latest.json`
|