Files
sub2api-cn-relay-manager/docs/PRD.md
2026-06-04 20:00:03 +08:00

72 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# sub2api-cn-relay-manager PRDMVP
日期2026-05-13
## 目标
在**完全不修改 sub2api 官方系统代码**的前提下,交付一个可独立打包运行的外部伴生项目,使管理员能够通过一次导入动作,把国产模型 OpenAI 兼容中转能力安装到任意一套兼容的 sub2api 实例中。
## 硬约束
1. 不修改宿主源码
2. 不 fork 宿主并运行私有二进制
3. 不直接写宿主数据库
4. 不向宿主目录注入插件代码或补丁文件
5. 仅通过宿主现有 HTTP 管理 API 与标准 API 工作
## 首版验收
1. `model_pack` 可独立校验与装载
2. CLI 可直接读取 pack、选择 provider、导入多条 key
3. 导入流程能创建 group / channel / plansubscription 模式)/ accounts
4. 至少一个 account 完成 `/test``/models` 验证
5. 至少一种普通用户访问路径被真实探测:`GET /v1/models`
6. 失败时明确区分:`succeeded / partially_succeeded / failed`
## 首版边界
### 做
- pack runtime
- provider schema 校验
- 多 key 去重与批量导入
- subscription/self-service 两种访问模式建模
- CLI 一键导入
- 基于 stub 的端到端测试
### 暂不做
- 通用型、需要单独前端工程维护的 Web 控制台
- 多宿主管理
- 自动代用户签发最终 API key
- 对账调度器完整实现
- 真实宿主删除/回滚链路
## 当前实现策略
首版先把“可独立打包 + 零侵入导入 + 用户访问验证”做成最小闭环状态库、HTTP 控制面、对账调度在此基础上继续扩展。
## 2026-06-01 边界补充
上面的“暂不做 Web 控制台”仍然保留其历史语义:首版不以单独前端工程、完整产品化管理台作为 MVP 放行前提。
但当前仓库已经额外纳管了一组 deployment-facing 静态前端资产,作为控制面与公网 portal 的运维/验收配套,不应再被误读为“仓库没有前端”:
- `deploy/tksea-portal/index.html`
- `deploy/tksea-portal/admin/index.html`
- `deploy/tksea-portal/admin/logical-groups.html`
- `deploy/tksea-portal/admin/route-health.html`
- `deploy/tksea-portal/admin/accounts.html`
- `deploy/tksea-portal/admin/providers.html`
- `deploy/tksea-portal/admin-batch-import.html`
- `deploy/tksea-portal/admin/batch-import.html`
这些页面的角色是:
- 为已存在的控制面/宿主 API 提供静态浏览器入口
- 为 portal、provider 导入、logical group、route health、batch import 等链路提供可操作或可观测界面
- 作为部署与验收资产纳入仓库门禁
所以当前口径应统一为:
- `PRD` 首版主线仍然是“控制面 + pack + 零侵入导入闭环”
- 前端页面属于后续已落地的配套交付物,而不是 `PRD` 当天写作时承诺的 MVP 主目标