mvp: MVP-2 API 开放与治理 #35

Open
opened 2026-08-24 00:53:09 +08:00 by ila · 4 comments
Owner

基本信息

  • 类型:MVP 汇总
  • 所属 Epic:#3
  • 阶段:进行中
  • 提出时间:2026-08-24

原始需求

  • 来源:用户对话与 Product-Requirements-Overview 既有 MVP-2 分期。
  • 用户确认原话:“面向现有受控用户,交付安全的 API Key、OpenAPI 生成接口、限流、审计和必要管理页面;不开放注册,不实施自动数据删除,不增加计费或每日配额。”

目标

在 MVP-1 已验收能力上,为现有受控用户提供可撤销、可审计的程序化生成入口,同时保护用户、服务和 Provider,且不扩大到公开获客、计费或自动删除。

已确认范围

  • 用户 API Key 生命周期:创建时一次性显示,哈希落库,列表只显示前缀/元数据,可撤销。
  • OpenAPI 生成接口:提交、单条查询、游标历史与鉴权结果访问;文本、文生图、图片编辑复用既有生成链路。
  • 用户/API Key/Provider 维度限流,超限使用 429 与 Retry-After;只做流量与并发保护,不做每日配额。
  • API Key 生命周期、程序调用和限流决策审计。
  • portal 用户 API Key 页面与 admin 元数据查询/撤销页面。
  • 可逆迁移、mock 集成、权限/越权/幂等/限流/脱敏测试和 OpenAPI 使用文档。

明确不做

  • 公开注册、邮件验证、找回密码和注册反滥用。
  • 自动保留期、文件或数据库自动删除。
  • 计费、点数、余额、支付、退款或每日生成配额。
  • Webhook、SDK、批量生成、任务取消和流式响应。
  • 内容审核、cmshopee 专用端点、软件授权或设备绑定。

设计与实施门禁

  • 先完成技术设计和 portal/admin 页面原型,用户确认后才拆分生产实现工单。
  • API Key 认证不得与浏览器 Cookie/CSRF 或管理员 JWT 混用。
  • 生产继续禁止 AutoMigrate;不调用真实 Provider 做反复试错。

子工单

  • #36 API Key、OpenAPI、限流与审计技术设计

  • #37 API Key 用户端与管理端原型

  • #41 MVP-2 数据迁移与 API Key 核心能力

  • #42 用户 API Key 生命周期与 Portal 页面

  • #43 OpenAPI v1 认证与生成接口

  • #44 三维限流与生成队列延后

  • #45 API 安全审计与管理端 API

  • #46 管理端 API Key 治理页面

  • #47 MVP-2 跨模块集成验收

  • #53 修复 MVP-2 Portal E2E 审计数据清理顺序

  • #52 规范化管理端 API Key 幂等撤销时间响应

  • #38 统一管理本地 Portal、Admin API 与 Admin UI 启停

  • #54 配置自定义 OpenAI Provider 模型并受控验证

  • #55 Provider 出站端口白名单配置(2026-08-27 验收通过)

MVP 验收标准

  • API Key 完整值只在创建时显示,数据库只保存不可逆哈希,撤销立即生效。
  • 程序可提交文本/文生图/图片编辑任务,查询状态/历史并鉴权取得结果。
  • 幂等、跨用户隔离、429/Retry-After、用户/API Key/Provider 限流和审计行为明确且通过测试。
  • portal/admin 页面符合已确认原型,完整 Key 不进入列表、日志、审计、错误、工单、Wiki 或截图。
  • migration up/down、Go/admin/portal/admin-ui 构建测试和浏览器 E2E 通过。
  • OpenAPI 与使用文档可由初级维护者直接验证,核心 Wiki 和任务归档闭环。

文档影响

更新 Product-Requirements-Overview、Architecture-and-Code-Map、Business-Rules-and-Glossary、Local-Development-and-Verification;最终用户操作文档在生产交付阶段补充。

当前进度(2026-08-24)

#36 技术设计与 #37 v1 原型已完成并提交 875f5b0,两项工单和 Wiki 归档均保持待验收。当前停在人工确认门禁;在用户明确确认 #36 与 #37 前,不勾选子工单、不拆分生产实现。浏览器连接不可用,#37 多视口截图与真实交互检查已如实记录为未验证。

  • #39

  • #40 修复管理端动态菜单视图路径拼接错误

设计验收状态(2026-08-24)

  • #36 技术设计与 #37 v1 原型均已由用户验收,设计与原型门禁已解除。

  • 下一步按已确认范围拆分生产实现单元工单;MVP-2 功能尚未实现或交付。

  • #49 管理端导航中文化与标题统一

  • #50 用户端仅账号密码登录

  • #51 终端用户密码最小长度调整为 6 位

  • #56

  • #58

  • #59 管理端分组导航与适用系统模块原型设计

  • #60 对齐 cmhub 的 images_edits 图片编辑协议并启用路由

  • #61 修正生成记录 attempt 进行中状态被显示为失败

  • #62 按实测数据放宽图片生成超时并修复租约不足

  • #63 修正生成失败错误码被终态码覆盖

  • #64 放开 extra_body 的 resolution 并配置文生图尺寸(已停止:上游忽略该参数)

  • #65 完善 Portal 与 Admin 生成记录耗时和时间展示

  • #66 建立管理端四分组菜单与权限 migration(2026-08-26 验收通过)

  • #67 适配管理端系统 API 与管理员保护

  • #68 实现四分组导航与系统管理页面

  • #69 验收管理端分组导航与系统模块安全边界

  • #71 修复菜单结构只读列表关联字段错误

  • #72 Admin 生成记录查看提示词原图与生成结果

  • #73 管理员创建终端用户与重置密码

  • #74 Portal YAML 支持配置监听地址和端口

## 基本信息 - 类型:MVP 汇总 - 所属 Epic:#3 - 阶段:进行中 - 提出时间:2026-08-24 ## 原始需求 - 来源:用户对话与 Product-Requirements-Overview 既有 MVP-2 分期。 - 用户确认原话:“面向现有受控用户,交付安全的 API Key、OpenAPI 生成接口、限流、审计和必要管理页面;不开放注册,不实施自动数据删除,不增加计费或每日配额。” ## 目标 在 MVP-1 已验收能力上,为现有受控用户提供可撤销、可审计的程序化生成入口,同时保护用户、服务和 Provider,且不扩大到公开获客、计费或自动删除。 ## 已确认范围 - 用户 API Key 生命周期:创建时一次性显示,哈希落库,列表只显示前缀/元数据,可撤销。 - OpenAPI 生成接口:提交、单条查询、游标历史与鉴权结果访问;文本、文生图、图片编辑复用既有生成链路。 - 用户/API Key/Provider 维度限流,超限使用 429 与 Retry-After;只做流量与并发保护,不做每日配额。 - API Key 生命周期、程序调用和限流决策审计。 - portal 用户 API Key 页面与 admin 元数据查询/撤销页面。 - 可逆迁移、mock 集成、权限/越权/幂等/限流/脱敏测试和 OpenAPI 使用文档。 ## 明确不做 - 公开注册、邮件验证、找回密码和注册反滥用。 - 自动保留期、文件或数据库自动删除。 - 计费、点数、余额、支付、退款或每日生成配额。 - Webhook、SDK、批量生成、任务取消和流式响应。 - 内容审核、cmshopee 专用端点、软件授权或设备绑定。 ## 设计与实施门禁 - 先完成技术设计和 portal/admin 页面原型,用户确认后才拆分生产实现工单。 - API Key 认证不得与浏览器 Cookie/CSRF 或管理员 JWT 混用。 - 生产继续禁止 AutoMigrate;不调用真实 Provider 做反复试错。 ## 子工单 - [x] #36 API Key、OpenAPI、限流与审计技术设计 - [x] #37 API Key 用户端与管理端原型 - [x] #41 MVP-2 数据迁移与 API Key 核心能力 - [x] #42 用户 API Key 生命周期与 Portal 页面 - [x] #43 OpenAPI v1 认证与生成接口 - [x] #44 三维限流与生成队列延后 - [x] #45 API 安全审计与管理端 API - [x] #46 管理端 API Key 治理页面 - [x] #47 MVP-2 跨模块集成验收 - [x] #53 修复 MVP-2 Portal E2E 审计数据清理顺序 - [x] #52 规范化管理端 API Key 幂等撤销时间响应 - [x] #38 统一管理本地 Portal、Admin API 与 Admin UI 启停 - [ ] #54 配置自定义 OpenAI Provider 模型并受控验证 - [x] #55 Provider 出站端口白名单配置(2026-08-27 验收通过) ## MVP 验收标准 - [ ] API Key 完整值只在创建时显示,数据库只保存不可逆哈希,撤销立即生效。 - [ ] 程序可提交文本/文生图/图片编辑任务,查询状态/历史并鉴权取得结果。 - [ ] 幂等、跨用户隔离、429/Retry-After、用户/API Key/Provider 限流和审计行为明确且通过测试。 - [ ] portal/admin 页面符合已确认原型,完整 Key 不进入列表、日志、审计、错误、工单、Wiki 或截图。 - [ ] migration up/down、Go/admin/portal/admin-ui 构建测试和浏览器 E2E 通过。 - [ ] OpenAPI 与使用文档可由初级维护者直接验证,核心 Wiki 和任务归档闭环。 ## 文档影响 更新 Product-Requirements-Overview、Architecture-and-Code-Map、Business-Rules-and-Glossary、Local-Development-and-Verification;最终用户操作文档在生产交付阶段补充。 <!-- design-gate-875f5b0 --> ## 当前进度(2026-08-24) #36 技术设计与 #37 v1 原型已完成并提交 `875f5b0`,两项工单和 Wiki 归档均保持待验收。当前停在人工确认门禁;在用户明确确认 #36 与 #37 前,不勾选子工单、不拆分生产实现。浏览器连接不可用,#37 多视口截图与真实交互检查已如实记录为未验证。 - [x] #39 - [x] #40 修复管理端动态菜单视图路径拼接错误 ## 设计验收状态(2026-08-24) - #36 技术设计与 #37 v1 原型均已由用户验收,设计与原型门禁已解除。 - 下一步按已确认范围拆分生产实现单元工单;MVP-2 功能尚未实现或交付。 - [x] #49 管理端导航中文化与标题统一 - [x] #50 用户端仅账号密码登录 - [x] #51 终端用户密码最小长度调整为 6 位 - [x] #56 - [x] #58 - [x] #59 管理端分组导航与适用系统模块原型设计 - [x] #60 对齐 cmhub 的 images_edits 图片编辑协议并启用路由 - [x] #61 修正生成记录 attempt 进行中状态被显示为失败 - [x] #62 按实测数据放宽图片生成超时并修复租约不足 - [x] #63 修正生成失败错误码被终态码覆盖 - [x] #64 放开 extra_body 的 resolution 并配置文生图尺寸(已停止:上游忽略该参数) - [x] #65 完善 Portal 与 Admin 生成记录耗时和时间展示 - [x] #66 建立管理端四分组菜单与权限 migration(2026-08-26 验收通过) - [x] #67 适配管理端系统 API 与管理员保护 - [x] #68 实现四分组导航与系统管理页面 - [x] #69 验收管理端分组导航与系统模块安全边界 - [x] #71 修复菜单结构只读列表关联字段错误 - [x] #72 Admin 生成记录查看提示词原图与生成结果 - [x] #73 管理员创建终端用户与重置密码 - [ ] #74 Portal YAML 支持配置监听地址和端口
Author
Owner

2026-08-26:子工单 #67、#68、#69 已完成实现、测试、文档与归档并进入待验收;实现提交 3898aae、2482ea3、2935c8e,文档提交 ef3ad27。用户明确验收前不勾选父工单索引、不关闭子工单。

2026-08-26:子工单 #67、#68、#69 已完成实现、测试、文档与归档并进入待验收;实现提交 `3898aae`、`2482ea3`、`2935c8e`,文档提交 `ef3ad27`。用户明确验收前不勾选父工单索引、不关闭子工单。
Author
Owner

2026-08-27:缺陷 #71 已完成并进入待验收,提交 ee4f87d。待用户明确验收后再勾选 #71,并同步 #67、#69 的验收状态。

2026-08-27:缺陷 #71 已完成并进入待验收,提交 `ee4f87d`。待用户明确验收后再勾选 #71,并同步 #67、#69 的验收状态。
Author
Owner

2026-08-27:用户明确验收通过 #55、#56、#58、#60、#61、#65、#67、#68、#69、#71、#72;对应单元工单已追加验收结论并关闭,MVP 子工单索引已同步勾选。#54 的前置 #55 已解除,但其“一次生文和一次文生图形成可审计终态”仍未完成,因此 #54 恢复为待实施,MVP #35 继续保持开放。

2026-08-27:用户明确验收通过 #55、#56、#58、#60、#61、#65、#67、#68、#69、#71、#72;对应单元工单已追加验收结论并关闭,MVP 子工单索引已同步勾选。#54 的前置 #55 已解除,但其“一次生文和一次文生图形成可审计终态”仍未完成,因此 #54 恢复为待实施,MVP #35 继续保持开放。
Author
Owner

2026-08-28:用户明确验收通过 #73;MVP 子工单索引已勾选,#73 已完成并关闭。#54 仍未完成,因此 MVP #35 继续保持开放。

2026-08-28:用户明确验收通过 #73;MVP 子工单索引已勾选,#73 已完成并关闭。#54 仍未完成,因此 MVP #35 继续保持开放。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/chorus#35