diff --git a/docs/user-stories.md b/docs/user-stories.md index 92bd3eb..6d24b5b 100644 --- a/docs/user-stories.md +++ b/docs/user-stories.md @@ -2,6 +2,7 @@ > **本文档以中文撰写**(用户故事主体、验收标准、流程说明均为中文;关键术语保留中英对照)。 > +> **v1.12(2026-08-17)· 移除「组织设置 Organization settings」表单.** 组织管理页只保留部门列表(部门 CRUD + 每月点数分配),删除底部「组织设置」表单(组织名称 / 默认成员配额 / 开关)。「关闭外部注册」属**部署配置项,不在 UI 中设置**(US-16 标注);「成员自助申请加额需管理员审批」开关移除后,申请加额流程**默认需审批**(US-20 说明)。 > **v1.11(2026-08-17)· 管理视图移除独立「Key 池」管理,统一走「上架 key」.** 管理员与普通用户一样通过**共享管理页「上架新 key」**(选厂商 → Plan → 模型、填 key、声明额度、可用时间段)配置上游 key——企业场景下管理员上架、员工消费,本质上就是 key 池;不再有独立的管理员 Key 池界面。移除 Admin「Key 池」tab(成员管理 / 用量报表 / 组织管理 / 平台运营保留)。「Key 池」保留为**数据层概念**(平台持有的上游 key 集合,见 docs/architecture.md 4.2)。更新 US-12 / 企业流程 / 对齐表。 > **v1.10(2026-08-17)· 上架表单"可用时间段"结构化.** 上架 key 的可用时间段改为**正式字段**(星期多选 + 起止时间,可多选;留空 = 全天不限),后端可解析生效;**备注只作纯文本**,不承载任何逻辑。共享列表展示可用时间段(如「周一~周五 09:00-18:00」),未设置显示「全天」。更新 US-8 / US-9 AC。 > **v1.9(2026-08-17)· 上架流程改为「厂商 → Plan → 模型」.** 分享者上架时选择的是**厂商的 Plan**(而不是厂商/模型):大多数分享的是自己的 Plan 订阅(如阿里 Token Plan、Kimi Code),同一厂商不同 Plan 的 Base URL 可能不同。上架表单改为三级联动「选厂商 → 选 Plan → 选该 Plan 支持的模型」,Plan 下拉中「API(按量)」代表按量计价的 key,其余为订阅 Plan;内置国内已知 Plan 清单(阿里云百炼 / 智谱 / 火山方舟 / Kimi 月之暗面 / MiniMax / DeepSeek,每家至少一个「API(按量)」项)。共享列表展示「厂商 · Plan / 模型」。更新 US-8 / US-9 / 核心机制表「上架 Listing」行。 @@ -243,7 +244,7 @@ flowchart LR - **US-15** 作为企业管理员,我希望按模型与成员查看用量报表,以便控制成本、发现重度用户。 - AC:用量 Tab 显示按模型、按成员的点数消费;数字与账本一致。 - **US-16** 作为企业管理员,我希望可选地关闭外部注册,以便企业部署保持仅内网。 - - AC:组织设置含「关闭外部注册(企业内网部署)」开关;开启后仅受邀 / 已有账号可登录。 + - AC:**部署配置项,不在 UI 中设置**(企业内网部署时在部署配置中关闭外部注册);开启后仅受邀 / 已有账号可登录。 #### 关键流程(Key Flow)— J-3: key 池 → 员工使用模型 @@ -284,7 +285,7 @@ flowchart LR - **US-19** 作为企业成员,我希望查看我的交易记录,以便知道何时花了多少。 - AC:交易记录页列出消费记录(及管理员充值调整)带时间戳。 - **US-20** 作为企业成员,我希望余额低时申请更多点数,以便继续工作。 - - AC:低余额通知(设置开关);申请流程(按原型:组织设置中「成员自助申请加额需管理员审批」开关);申请到达管理员。 + - AC:申请流程(默认需管理员审批——原「需审批」开关随组织设置表单移除);申请到达管理员。 #### 关键流程(Key Flow)— J-4: 登录 → 消费 → 申请更多点数 @@ -331,7 +332,7 @@ flowchart LR | E-03 | **部门被删除**(Department deleted) | 【企业】 | 被删部门的成员变为**未分配**;不计入任何部门汇总;管理员可重新分配;其点数余额不受影响。 | | E-04 | **点数不足**(Insufficient points) | 【通用】 | 任何上游调用前先阻断请求;清晰提示当前余额与所需点数;不允许负余额;引导用户充值 / 申请更多。 | | E-05 | **API Key 泄露 / 失陷**(API key leak / compromise) | 【通用】 | 设置:立即删除 key(带确认,「删除后该 key 立即失效」);平台签发的 key 可撤销且即时生效;鼓励用户轮换;上游 key 在 UI 任何位置都不明文展示。 | -| E-06 | **新成员未分配**(New member, no department) | 【企业】 | 新注册默认**未分配**;仍获得默认成员配额(按组织设置);管理员之后分配。 | +| E-06 | **新成员未分配**(New member, no department) | 【企业】 | 新注册默认**未分配**;仍获得默认成员配额;管理员之后分配。 | | E-07 | **模型无定价数据**(Model with no pricing data) | 【公共】 | 上架仍成功,使用「默认价」兜底;市场显示该价格;后续迭代可补充定价。 | | E-08 | **非法充值金额**(Top-up with invalid amount) | 【企业】 | 管理员任意金额充值校验**正整数**;零 / 负 / 非数字输入被拒绝并提示。 | | E-09 | **剪贴板受限(file://)**(Clipboard restricted) | 【通用】 | 一键复制降级为选中 key + Ctrl/Cmd+C 指引,用户仍能拿到完整 key。 | diff --git a/ui/README.md b/ui/README.md index fe1ace5..d6cc675 100644 --- a/ui/README.md +++ b/ui/README.md @@ -11,7 +11,7 @@ - **企业版**:部署在企业内网,管理员(IT)把采购的 key 放进池子、给成员分配点数; - 两者的**功能集合完全相同**(市场 / 共享 / 钱包 / 交易 / 设置),不存在"企业版专属功能"; - 差异只在**谁会主动分享**(公共版人人可分享;企业版只有管理员有动力采购/分享 key); -- **角色是权限差异,不是产品差异**:管理员额外拥有"管理视图"(key 池 / 成员点数 / 用量报表 / 组织设置),普通用户没有;员工就是普通用户,用同一套界面。 +- **角色是权限差异,不是产品差异**:管理员额外拥有"管理视图"(成员点数 / 用量报表 / 组织管理 / 平台运营),普通用户没有;员工就是普通用户,用同一套界面。 本原型据此实现:单一登录入口(角色由账号决定),一套导航(仪表盘 / 模型市场 / 共享管理 / 钱包 / 交易记录 / 设置 + 管理员角色视图)。 @@ -40,10 +40,10 @@ python3 -m http.server 8000 --directory ui 1. 仪表盘 Dashboard — 点数余额、本月用量、共享收益、**本月点数变化(近 1 月按类型汇总收支:赠送/过期/收益/消费/充值/提现 + 净变化,取代静态"点数来源"分组)** 2. 模型市场 Marketplace — 模型浏览、搜索、厂商筛选、排序(按价格/上下文);可用性标注「多 key · 自动故障转移」(该模型配置多个上游 key,架构 v0.2 路由策略);每行「使用 / 消费」入口 → 聊天 Mock 模拟调用(按模型输出参考价扣小数点数,如 -0.38 点,产生消费交易;余额不足时阻断并提示) 3. 共享管理 Sharing — 默认只显示统计 + 我的共享列表(key 脱敏展示,可暂停/恢复/重新上架/彻底删除;列表展示「厂商 · Plan / 模型 · 可用时间段」,如「智谱 · GLM Coding Plan / glm-5.2 · 周一~周五 09:00-18:00」,未设置显示「全天」);点击"+ 添加 / 上架新 key"展开上架表单(**三级联动:厂商 → Plan → 模型**——内置国内已知 Plan 清单(阿里云百炼 / 智谱 / 火山方舟 / Kimi / MiniMax / DeepSeek,每家含「API(按量)」= 按量计价的 key),选 Plan 后显示 key 前缀 / 专属端点提示;**可用时间段为结构化字段**:星期多选 chips + 起止时间(留空 = 全天不限),备注仅纯文本;须填 API Key,平台加密托管;分享者只填声明额度,单价由平台按模型定价自动计算并展示参考价),提交成功或取消后自动收起 -4. 钱包 Wallet — 点数余额、**本月点数变化(近 1 月按类型汇总收支 + 净变化,与仪表盘一致)**、**充值入口(US-4:模拟流程——输入点数 → 余额增加 → topup 交易记录;文案注明"演示,真实支付后续接入";提现仍 disabled)**、**申请加额(US-20:企业成员余额低时申请更多点数 → 提交后等待管理员审批,与组织设置开关联动)**;收支明细已去重,统一到【交易记录】(页内提供跳转提示) +4. 钱包 Wallet — 点数余额、**本月点数变化(近 1 月按类型汇总收支 + 净变化,与仪表盘一致)**、**充值入口(US-4:模拟流程——输入点数 → 余额增加 → topup 交易记录;文案注明"演示,真实支付后续接入";提现仍 disabled)**、**申请加额(US-20:企业成员余额低时申请更多点数 → 提交后等待管理员审批,默认需审批)**;收支明细已去重,统一到【交易记录】(页内提供跳转提示) 5. 交易记录 Transactions — 消费/收益/充值/提现/赠送(gift)唯一明细入口,Tab 筛选 + MRT 风格表格(列排序/列筛选/分页,与 Tab 叠加生效) 6. 设置 Settings — 账户、API Key 管理(完整增删改查:生成带名字、改名、删除需确认「删除后该 key 立即失效」、按名字搜索、一键复制完整 key——列表脱敏展示 atk_live_****xxxx,复制为完整值;file:// 下 clipboard API 受限时降级为选中+Ctrl/Cmd+C)、通知、偏好 -7. 管理视图 Admin(管理员 / 运营者角色专属)— 成员管理(改部门:下拉可选部门或"未分配";任意金额充值,正整数校验;新注册成员默认未分配部门;**加额申请审批(US-20:待审批列表 → 批准=成员余额+申请点数 / 驳回)**)、用量报表(按模型/成员)、组织管理(部门列表 + 部门增删改查 + 每月点数分配,含部门汇总统计,未分配成员不计入任何部门;保留组织设置卡片,含"关闭外部注册"企业部署开关与"成员自助申请加额需管理员审批"开关——关掉后成员申请直接生效)、平台运营(运营者 = 宿主本人,职责最小化:① 运行概览——运行状态 / 用户数 / 共享 key 数 / 交易量 / 点数流入流出;② 用户充值——按用户名 / 邮箱搜索定位,输入点数金额(可为小数)确认后余额增加永久有效点数并产生一条交易记录)。**无独立 Key 池管理**——管理员与普通用户一样通过共享管理页「上架 key」配置上游 key(共享列表即 key 池视图,可暂停/删除) +7. 管理视图 Admin(管理员 / 运营者角色专属)— 成员管理(改部门:下拉可选部门或"未分配";任意金额充值,正整数校验;新注册成员默认未分配部门;**加额申请审批(US-20:待审批列表 → 批准=成员余额+申请点数 / 驳回;申请默认需审批)**)、用量报表(按模型/成员)、组织管理(部门列表 + 部门增删改查 + 每月点数分配,含部门汇总统计,未分配成员不计入任何部门;**无「组织设置」表单**——组织名称 / 默认成员配额 / 开关均移除,"关闭外部注册"为部署配置项不在 UI 中)、平台运营(运营者 = 宿主本人,职责最小化:① 运行概览——运行状态 / 用户数 / 共享 key 数 / 交易量 / 点数流入流出;② 用户充值——按用户名 / 邮箱搜索定位,输入点数金额(可为小数)确认后余额增加永久有效点数并产生一条交易记录)。**无独立 Key 池管理**——管理员与普通用户一样通过共享管理页「上架 key」配置上游 key(共享列表即 key 池视图,可暂停/删除) ## 文件结构 diff --git a/ui/index.html b/ui/index.html index 659eef8..84357b7 100644 --- a/ui/index.html +++ b/ui/index.html @@ -342,16 +342,6 @@

部门列表 Departments

-
-

组织设置 Organization settings

-
- - - - - -
-