Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions docs/user-stories.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

> **本文档以中文撰写**(用户故事主体、验收标准、流程说明均为中文;关键术语保留中英对照)。
>
> **v1.6(2026-08-15)· 点数锚定改为人民币(CNY).** **1 点 ≈ 1 元人民币**(替代旧规则 1 USD = 1,000 点);**消费点数可为小数**(按 token 用量 × 模型单价精确计费,可能产生小数点数;余额与交易金额保留 2 位小数,四舍五入)。模型定价:**CNY 模型直接 1 元 = 1 点**(如 GLM-5.2 输出 28 元/百万 → 28 点/百万);**USD 模型按 ~7.2 汇率折算为人民币点数**(如 OpenAI 输出 $25/百万 ≈ 180 点/百万)。更新 US-1 / US-2 / US-6 / US-23 / 对齐表;新增 **E-15**(小数计费精度)。
> **v1.5(2026-08-15)· 改用中文撰写.** 全文主体改为中文:产品模型、角色定义、用户故事(「作为〈角色〉,我希望〈能力〉,以便〈价值〉」格式)、关键流程、边界场景等均以中文书写;关键术语中英对照(点数 Points、Key 池 Key pool、上架 Listing、消费 Consumption、收益 Earnings、API Key);用户故事与验收标准(AC)用中文;保留 mermaid 流程图(图中文字中文化)。**内容与 v1.4 完全一致,仅语言变化,不引入新机制。**
> **v1.4(2026-08-15)· 修正新人赠送机制(防薅羊毛).** 旧的「注册即送 10 点(1 周有效)」**替换**为**每日赠送机制**:**每天送 1 点**(每日 1 点),每次赠送的点数**有效期 1 天**(当日有效,过期清零),**注册起连续 10 个自然日**每天发放 1 点(10 天后停止);用户需**每天登录 / 回来**才能领取当日 1 点——未领取日的点数**不发、不积累**。不变:分享收益点数永久有效;未来充值点数永久有效;消费扣减顺序先扣有有效期的点数。防薅动机:每日 1 点 / 1 天有效,集中注册多号无意义。更新 US-3 / US-22 / US-23 / 流程 J-1 / 边界场景 E-13;新增 **E-14**(当日赠送未领取)。
> **v1.3(2026-08-14)· 明确平台运营者角色(运营者 = 宿主本人).** 运营者是**部署者 / 拥有者(宿主本人)**,职责仅两项:**① 查看平台运行情况**(运行状态 / 用户数 / 共享 key 数 / 交易量 / 点数流动)和 **② 给指定用户充值点数**(永久有效点数,产生交易记录)。内容审核 / 违规处理 / 市场调节**明确排除**——保持最小。新增 US-运营1 / US-运营2(替换「规划中 Planned」占位)。
Expand All @@ -25,7 +26,8 @@

| 术语 Term | 定义 Definition |
|---|---|
| **点数 Point** | 平台的计价单位。**1 USD = 1,000 点。** |
| **点数 Point** | 平台的计价单位。**1 点 ≈ 1 元人民币(CNY)**(替代旧规则 1 USD = 1,000 点)。**消费点数可为小数**——按 token 用量 × 模型单价精确计费,可能产生小数点数(如一次消费 0.37 点);余额与交易金额显示保留 **2 位小数**(四舍五入)。 |
| **模型定价 Model pricing** | **CNY 模型直接 1 元 = 1 点**(如 GLM-5.2 输出 28 元/百万 tokens → 28 点/百万);**USD 模型按 ~7.2 汇率折算为人民币点数**(如 OpenAI 输出 $25/百万 tokens ≈ 180 点/百万)。参考单价 = 模型输出价(点数 / 1M tokens)。 |
| **赠送点数 Gift points** | 新用户**每日赠送机制**:**每天 1 点**(每日 1 点),**注册起连续 10 个自然日**;每次赠送的点数**有效期 1 天**(当日有效,过期清零)。用户需**当天登录 / 回来领取**——未领取日的点数**不发、不积累**,第 10 天后停止赠送。防薅动机:每日 1 点 / 1 天有效,集中注册多号无意义。 |
| **收益点数 Earned points** | 分享 key 赚取的点数;**永久有效**——无有效期。 |
| **充值点数 Top-up points** | 未来充值获得的点数;**永久有效**(充值功能当前暂不支持,但规则先定)。 |
Expand All @@ -46,7 +48,7 @@

## 2. 公共场景(Public Scenario)

> **场景说明**: 公共版部署在**公网**——任何人都能注册、分享闲置 key、用点数消费模型。**人人都有分享动机**(把闲置订阅配额变现),所以分享市场是这个场景的核心。注册开放;角色由账号决定(平台运营者 = 宿主本人,见 §2.4,职责最小化仅两项)。功能集合与企业版相同;只有*谁分享*不同。**点数模型(v1.4): 公共版当前无充值渠道——新用户靠每日赠送机制(1 点 / 天,1 天有效,连续 10 天)起步,长期点数靠分享(永久有效)。**
> **场景说明**: 公共版部署在**公网**——任何人都能注册、分享闲置 key、用点数消费模型。**人人都有分享动机**(把闲置订阅配额变现),所以分享市场是这个场景的核心。注册开放;角色由账号决定(平台运营者 = 宿主本人,见 §2.4,职责最小化仅两项)。功能集合与企业版相同;只有*谁分享*不同。**点数模型(v1.6): 1 点 ≈ 1 元 CNY,消费点数可为小数;公共版当前无充值渠道——新用户靠每日赠送机制(1 点 / 天,1 天有效,连续 10 天)起步,长期点数靠分享(永久有效)。**

### 2.1 用户类型 A — 访客 / 新用户(Visitor / New User:未注册,浏览了解)

Expand All @@ -62,9 +64,9 @@
#### 用户故事(User Stories)

- **US-1** 作为访客,我希望注册前先浏览模型市场,以便评估模型与价格再决定是否加入。
- AC:市场无需登录即可浏览;搜索、厂商筛选、排序(价格 / 上下文)可用;价格以点数展示并附 USD / CNY 参考。
- **US-2** 作为访客,我希望看到点数机制的清晰说明(1 USD = 1,000 点),以便决定是否加入。
- AC:落地页 / 登录页可见点数机制说明;换算比例明确写出。
- AC:市场无需登录即可浏览;搜索、厂商筛选、排序(价格 / 上下文)可用;价格以点数展示(CNY 锚定,1 点 ≈ 1 元),USD 模型按汇率折算展示人民币参考。
- **US-2** 作为访客,我希望看到点数机制的清晰说明(1 点 ≈ 1 元人民币),以便决定是否加入。
- AC:落地页 / 登录页可见点数机制说明;锚定关系(1 点 ≈ 1 元 CNY)明确写出;说明消费点数可为小数(按 token 用量精确计费)。
- **US-3** 作为新用户,我希望用邮箱注册 / 登录,以便开始使用平台。
- AC:单一登录入口(登录时不做公共 / 企业二选一);注册创建的账号进入**每日赠送机制(1 点 / 天,1 天有效,连续 10 天)**;角色(管理员 vs 用户)由账号决定。

Expand Down Expand Up @@ -98,13 +100,13 @@ flowchart LR
- **US-5** 作为普通用户,我希望搜索 / 筛选 / 排序市场,以便快速找到需要的模型。
- AC:按模型 / 厂商搜索;按厂商筛选;按输入价升 / 降序与上下文大小降序排序;显示可用性。
- **US-6** 作为普通用户,我希望用点数消费模型(聊天 / API),以便不拥有上游 key 也能使用模型。
- AC:选择可用模型打开聊天 / API 入口;消费按计量 tokens × 模型价格扣点;产生「消费」交易记录;余额不足时阻断请求并给出清晰提示。
- AC:选择可用模型打开聊天 / API 入口;消费按计量 tokens × 模型价格扣点(**可为小数**,如 -0.37 点,保留 2 位小数);产生「消费」交易记录;余额不足时阻断请求并给出清晰提示。
- **US-7** 作为普通用户,我希望查看我的交易记录,以便核对支出与收益。
- AC:交易记录页是消费 / 收益 / 充值 / 提现的**唯一明细来源**;Tab(全部 / 消费 / 收益)+ MRT 风格表格(列排序、列筛选、分页);钱包页链接到它。
- **US-22** 作为新注册用户,我希望收到每日赠送点数,以便立刻体验模型消费。
- AC:注册启动**每日赠送机制**——**连续 10 个自然日每天 1 点**;每次赠送的点数**有效期 1 天**(当天有效,过期清零),需当天登录领取(未领取日**不发、不积累**);钱包显示来源「赠送(gift)」与当前天数(如「今日赠送 +1 · 连续第 N 天 / 共 10 天」)。
- **US-23** 作为普通用户,我希望看到点数的来源与有效期,以便规划使用。
- AC:钱包 / 交易记录能区分**赠送 / 收益 / 充值**点数来源及其有效期(如「赠送 +1 · 有效期至今日」「收益 320 · 永久」);消费先扣有有效期的(赠送)点数。
- AC:钱包 / 交易记录能区分**赠送 / 收益 / 充值**点数来源及其有效期(如「赠送 +1 · 有效期至今日」「收益 320 · 永久」);金额显示**保留 2 位小数**(如 0.37、320.00);消费先扣有有效期的(赠送)点数。

#### 关键流程(Key Flow)— J-1: 注册 → 首次消费

Expand Down Expand Up @@ -332,6 +334,7 @@ flowchart LR
| E-12 | **同一 key 重复 / 冲突上架**(Duplicate / conflicting listings) | 【公共】 | 平台检测同一上游 key 被上架两次并警告分享者;防止同一配额被重复计费。 |
| E-13 | **每日赠送点数过期**(Daily gift point expired) | 【公共】 | 每次每日赠送的点数有效期 **1 天**(当日有效)——当日未用点数在当天结束时过期 / 清零。有效期可见(如「有效期至今日」)。消费**先扣有有效期的(赠送)点数**,再扣永久点数,所以每日赠送点数会被先用掉、永久点数永不因过期竞争而损失。 |
| E-14 | **当日赠送未领取**(Daily gift not claimed) | 【公共】 | 赠送机制**注册起连续 10 个自然日**、每天 1 点;若用户某天未登录,当日点数**不发、不积累**(不积累、不补发)——机制仍在第 10 天后结束。 |
| E-15 | **小数计费精度**(Fractional billing precision) | 【通用】 | 消费按 token 用量 × 模型单价精确计算,结果可为小数;金额与余额**统一保留 2 位小数、四舍五入**(如 0.374 → 0.37、0.375 → 0.38);交易记录与钱包显示一致,避免「显示 0.37 实际扣 0.374」的歧义。 |

---

Expand All @@ -340,8 +343,8 @@ flowchart LR
| 方面 Aspect | 事实来源 Source of truth | 对齐 Alignment |
|---|---|---|
| 页面 / 导航 | `ui/index.html`(仪表盘 / 市场 / 共享 / 钱包 / 交易记录 / 设置 + 管理视图) | 每个故事映射到具体页面;管理视图按角色门控,其余共用。 |
| 点数与定价 | `ui/js/data.js`(1 USD = 1,000 点;模型价格表;参考价 = 输出价 点数/1M) | US-2、US-8 使用同一套规则;没有分享者自定定价。 |
| 点数有效期与扣减顺序 | `docs/user-stories.md` v1.4(每日赠送 1 点 / 1 天有效 / 连续 10 天;收益与充值永久;先扣赠送) | US-22、US-23、US-24、E-13、E-14 一致;UI mock(feat/gift-daily-ui)显示今日赠送(+1)、有效期与连续天数计数。 |
| 点数与定价 | `ui/js/data.js`(**1 点 ≈ 1 元 CNY**;CNY 模型直接 1 元 = 1 点,USD 模型按 ~7.2 汇率折算;参考价 = 输出价 点数/1M) | US-1、US-2、US-8 使用同一套规则;没有分享者自定定价;消费点数可为小数(保留 2 位)。 |
| 点数有效期与扣减顺序 | `docs/user-stories.md` v1.6(每日赠送 1 点 / 1 天有效 / 连续 10 天;收益与充值永久;先扣赠送;金额保留 2 位小数) | US-22、US-23、US-24、E-13、E-14、E-15 一致;UI mock(feat/gift-daily-ui)显示今日赠送(+1)、有效期与连续天数计数。 |
| Key 脱敏与安全 | `ui/js/data.js`、`ui/README.md`(脱敏 key、加密托管、删除确认) | US-8、US-9、US-21、E-05 一致。 |
| 企业语义 | `ui/js/data.js`(key 池状态、部门、成员未分配) | US-12…US-16、E-03、E-06 一致。 |
| 集中式架构 | `docs/architecture.md`(平台托管 key、计量引擎、账本) | 全文基于集中式执行假设;消费 / 收益都流经平台账本。 |
Expand Down
Loading