|
26 | 26 |
|
27 | 27 | ## 非目标 |
28 | 28 | - 本轮不直接实现 DeepSeek 接入 |
29 | | -- 本轮不改账号池 UI 或 sidecar 配置协议 |
30 | 29 | - 本轮不承诺参考 `CLIProxyAPI` 中所有 provider 都会进入 GetTokens 首批产品范围 |
31 | | -- 本轮不设计完整的“多厂商 API Key 管理后台” |
| 30 | +- 本轮不照搬参考项目的完整 AI Providers 后台 |
| 31 | +- 本轮不把 `openai-compatible` 降级为新的单条 `DeepSeek API Key` 特例 |
32 | 32 |
|
33 | 33 | ## 验收标准 |
34 | 34 | - 能明确回答“现在能不能添加 DeepSeek 账号” |
|
49 | 49 | - 状态:in-progress |
50 | 50 | - 最近更新:2026-04-27 |
51 | 51 |
|
| 52 | +## 完全体需求补充 |
| 53 | + |
| 54 | +在账号池信息架构升级后,`openai-compatible` 不再只是一个“未来可讨论”的技术槽位,而是 `账号池` 父级下的正式子菜单之一: |
| 55 | + |
| 56 | +1. 左侧点击 `账号池` |
| 57 | +2. 在 `账号池` 下展开: |
| 58 | + - `codex` |
| 59 | + - `openai-compatible` |
| 60 | +3. `openai-compatible` 子菜单承接 provider 级对象管理 |
| 61 | + |
| 62 | +这意味着本 space 的定位也从“能不能支持”升级为“如何在产品内以完整心智接入”。 |
| 63 | + |
52 | 64 | ## 当前结论 |
53 | 65 |
|
54 | 66 | ### 结论 1:现在不能把 DeepSeek 当成 GetTokens 已支持的“可添加账号” |
|
109 | 121 | - 其中 `openai-compatible` 还是一个扩展槽位,可以继续挂更多兼容 OpenAI 协议的厂商 |
110 | 122 | - `DeepSeek` 属于这个扩展槽位中的候选,而不是现在已经打通的产品功能 |
111 | 123 |
|
112 | | -## DeepSeek 接入的最小实现边界 |
| 124 | +## OpenAI-Compatible 最小产品边界 |
113 | 125 |
|
114 | | -如果后续要把 DeepSeek 做成“可添加账号”的正式能力,最小实现边界至少包括: |
| 126 | +如果后续要把 DeepSeek 或其他 OpenAI 兼容厂商做成正式能力,最小实现边界至少包括: |
115 | 127 |
|
116 | | -1. 后端把 `CodexAPIKey` 抽象成通用 provider API key 资产,或新增 `DeepSeekAPIKey` 平行链路 |
117 | | -2. Wails bindings 新增对应的创建、删除、更新接口 |
118 | | -3. 本地存储不再硬编码为 `codex-api-keys` |
119 | | -4. 账号池前端从“添加 Codex API Key”升级为“添加 provider API Key” |
120 | | -5. provider 配置片段生成、详情展示、筛选文案同步支持 `deepseek` |
121 | | -6. 明确 DeepSeek 是走专用 provider 还是走 `openai-compatible` 抽象层 |
| 128 | +1. 后端补齐 `openai-compatible` 的 Wails / management bridge,而不是只扩 `CodexAPIKey` |
| 129 | +2. 前端从“添加 Codex API Key”升级为“新增 openai-compatible provider” |
| 130 | +3. 顶层对象改为 provider 容器,而不是单个 API key 资产 |
| 131 | +4. 第一阶段最少支持: |
| 132 | + - `name` |
| 133 | + - `baseUrl` |
| 134 | + - `apiKeyEntries[0].apiKey` |
| 135 | + - `prefix` |
| 136 | +5. 第二阶段再补: |
| 137 | + - `headers` |
| 138 | + - 多 `apiKeyEntries` |
| 139 | + - `models` |
| 140 | +6. DeepSeek 作为 `openai-compatible` 下的 provider 候选,而不是先做专用 `DeepSeek API Key` |
122 | 141 |
|
123 | 142 | ## BDD 场景 |
124 | 143 |
|
|
140 | 159 |
|
141 | 160 | - Given 决定把 DeepSeek 纳入账号池正式能力 |
142 | 161 | - When 开始实现 |
143 | | -- Then 需要同时补齐后端资产模型、Wails 接口、前端录入入口、持久化方案与测试 |
| 162 | +- Then 需要同时补齐后端 provider bridge、Wails 接口、前端 provider 入口、持久化方案与测试 |
| 163 | +- And DeepSeek 应优先以 `openai-compatible provider` 的形式进入产品 |
144 | 164 | - And 不能只改 UI 文案或只依赖参考 sidecar 配置示例 |
| 165 | + |
| 166 | +### 场景 4:账号池子菜单中的 openai-compatible |
| 167 | + |
| 168 | +- Given 用户点击左侧 `账号池` |
| 169 | +- When 用户选择子菜单 `openai-compatible` |
| 170 | +- Then 页面主体进入 openai-compatible provider 视图 |
| 171 | +- And 用户看到的对象应是 provider 容器 |
| 172 | +- And 页面不应继续显示只适用于 codex 的新增入口文案 |
0 commit comments