了然 · 个人资产全景 产品逻辑 · 业务规则 · 迭代看板
Web v4.4 iOS v0.3.4

了然 · 产品逻辑与迭代看板

这里讲的是业务:用户是谁、要什么、每一步发生什么、钱怎么算、什么不许做。表达方式参照亚马逊 Working Backwards(从用户故事出发)美团规则化需求表达(状态机 / 决策表 / 异常与边界 / 验收标准)

用户故事:作为…我想…以便… 状态机:每个流程的阶段与转换 决策表:规则一行一行可判定 异常与边界:出错时用户看到什么 验收标准:☐ 逐条可验证

0迭代工作区

当前迭代状态(手工维护)。每次迭代结束,把条目在三列之间挪动。这是你我做功能迭代时的对齐起点。

进行中

iOS 账户创建 / 编辑 / 归档
iOS 买入 / 卖出 / 分红记账
iOS 内部转移 / 换汇 / 校准 / 撤销
iOS 收益分析 / 账单 / 各类详情页

待办

上架阻塞
删除整个用户账号(跨端新增)
上架阻塞
第三方 AI 数据同意 + 撤回 + 隐私申报
口径冲突
期权「张数 × 乘数」口径统一
口径冲突
通用记账的做空分支 · 上海日与 UTC 日界线
生产配置
期权实时行情(长桥)与免费延迟行情开通

已完成

Web v4.4 期权免费延迟价自动估值
iOS v0.3.4 系统 Liquid Glass 导航
iOS v0.3.0 组合透视 + 趋势查值
Web v4.3 手动价时效 + 每日汇总 + 资金路径

1产品定位与用户

先回答「为谁、解决什么、凭什么信」——产品一切规则都由这三件事推导。

1.1

一句话定位

了然是一个自己托管的个人资产看板:把散落在加密货币、港股、美股、A 股、基金、黄金、现金理财里的资产,汇总成一个统一折算人民币的可信全景——看清资产、现金、负债、收益和「数据可不可信」,并配一个必须先经你确认才敢动账的 AI 助手。
1.2

目标用户与核心场景

作为一个多账户投资者,我想在一个页面上看清所有渠道的资产和总净资产,以便不用在券商 App、银行 App、基金 App 之间来回切换。
作为一个记账人,我想用最少步骤记一笔买入/卖出/分红,以便现金余额和持仓成本自动算对,不靠脑子。
作为一个关心收益的人,我想知道今天/本月赚了多少、来自行情还是来自买卖,以便评估决策质量。
作为一个重视隐私的人,我想一键隐藏全部金额,以便在公共场合放心打开应用。
1.3

产品承诺(四条不可违背的信任)

  • 金额不伪造——同一笔资产,网页端、手机端算出来必须一致;任何一端不得自己另算一套公式。
  • 时点不冒充——价格是哪天的、是不是缓存、是不是手动填的,必须如实标注;「30 秒刷新」是检查频率,不是「每条价格都实时」的承诺。
  • Agent 不越过确认——AI 只能生成草稿,你不点「确认」,账本一个字都不会动。
  • 数据可靠性 ≠ 资产风险——手动价/缓存价/延迟价/缺价只说明「数据质量」,绝不单独把组合判成「高风险」。

2领域语言(业务对象)

整份文档统一使用以下词汇;业务规则全部建立在这些对象之上。

业务对象是什么(业务语言)关键性质
账户放钱的口袋,共 7 类:现金、信用、投资、储蓄、负债、债权、其他可归档;归档账户仍计入总净资产,但不进日常选择器
现金余额一个账户里各币种的钱支持 CNY / HKD / USD 三种币种并存于同一账户
持仓你持有的一种资产(股票/基金/黄金/加密/自定义)有数量、成本、币种;可跨账户;同一经济标的会合并看待
流水账户资金变动的一条记录买入/卖出/分红/转入/转出/校准,每次变动都留痕
内部转移自己账户之间转钱总净资产不变,账单里折叠为一条中性记录
每日快照每天 23:55 自动拍下的资产状态趋势图和日盈亏都从快照推算,不是靠回忆
投资资产持仓市值 + 投资账户现金「投资」口径;与总净资产分开展示
总净资产持仓市值 + 所有正资产账户 − 信用/负债账户「钱包」口径;口径桥把两个口径连起来
价格来源每条价格背后的可信度等级实时 / 延迟 / 手动 / 缓存 / 缺价,五种事实
风险偏好你自己设定的组合结构偏好组合透视的对照基准;没保存过就用默认值(只读)

3信息架构与全局交互约定

页面怎么组织、入口在哪、全局行为是什么——这是所有模块共用的「交互架构」。

3.1

导航架构(双端)

网页端:底部 5 个 Tab

全景(资产) 钱包 日历 市场 更多
另有全局常驻入口:右下角 Agent 圆钮 + 「添加交易」三步流。

手机端(iOS):固定 4 个业务 Tab + 独立 Agent 圆钮

全景 钱包 市场 更多 ◯ Agent(独立圆钮)
Agent 不伪装成第 5 个 Tab:打开是全屏弹层,关闭后回到你原来所在的业务 Tab。手机端不提供日历
3.2

全局交互约定

  • 涨跌配色:默认按 A 股习惯——涨红跌绿;可在「更多 → 个性化」切为西方(绿涨红跌)。收支颜色不随涨跌方案变:收入绿、支出红。
  • 金额遮罩:全局开关,一键隐藏金额;且必须同时隐藏数量、比例、方向色、趋势形状(日历还要隐藏热力深浅)——不能从颜色或长度猜出盈亏。
  • 行情刷新:每 30 秒自动检查一次价格;每条价格都标注自己的真实时点和来源。
  • 触控与尺寸:手机上所有可点元素 ≥44px;375px 宽不出现横向滚动;金额输入用数字键盘。
  • 深浅色:跟随系统,可手动覆盖;所有页面两套配色齐全。
  • 弹层:所有临时操作(新建、编辑、确认)用底部弹层或全屏子页承载,不跳转离开主流程。
  • 登录失效:任何接口提示登录失效时,一律清理会话并回到登录页,不出现「半登录」状态。

4功能模块(业务版)

14 个模块。每张卡片:用户故事 → 页面与交互 → 业务规则 → 异常与边界 → 验收标准。徽章 = 网页端 / 手机端覆盖状态。

没有匹配的模块,换个关键词或状态试试。
A

账号与身份

Web 完整iOS 基建
作为用户,我想注册并登录,以便在我的所有设备上看到同一份资产。

页面与交互

  • 打开应用 → 登录页(品牌 + 登录/注册切换)→ 输用户名密码 → 进入全景
  • 登录一次保持 30 天;退出后回到登录页,且本地不再残留任何资产数据

业务规则

  • 密码加密保存,任何人(包括管理员)看不到明文
  • 登录失效(过期/异常)→ 强制回登录,不出现半登录状态
  • 退出失败必须如实提示「退出未成功」,不得假装已退出

异常与边界

  • 用户名已存在 / 密码错误 → 明确提示,不泄露「该用户是否存在」以外的信息
  • 网络不通 → 可重试,不误报「密码错误」

验收标准

  • 注册成功即自动登录
  • 刷新/重进应用保持登录
  • 退出后看不到任何金额数据
B

全景与投资

Web 完整iOS 基建
作为用户,我想打开应用一眼看到总净资产、今日盈亏和趋势,以便快速掌握全局。

页面与交互

  • 首屏:总净资产大数字 + 今日盈亏(涨红跌绿箭头)+ 逐日趋势折线
  • 拖动趋势图可查任意一天的净资产和当日变化(手机端支持无障碍逐日调节)
  • 「口径桥」把总净资产拆成:持仓市值 / 投资现金 / 其他资产 / 负债,怎么加出来的看得见
  • 站内切换「全景 / 投资」两个视角;投资视角看投资资产、持仓、现金和盈亏趋势

业务规则

LRN-LEDGER-002
  • 投资资产 = 持仓市值 + 投资账户现金;总净资产 = 持仓市值 + 正资产 − 信用/负债
  • 持仓市值与账户现金必须分开展示,不能混成一个数
  • 趋势图数据来自每日快照,缺哪天的数据就断哪段,不画假线

异常与边界

  • 首次使用没有历史快照 → 显示「从今天开始记录」
  • 部分持仓缺价 → 总市值标注「不完整」,不把缺价当成 0 元(否则画出来像暴跌)

验收标准

  • 口径桥各分项相加 = 总净资产
  • 趋势拖动查值正确
  • 遮罩开启时趋势形状被隐藏
C

组合透视

Web 完整iOS 完整
作为用户,我想知道我的钱都投在了哪、和我自己设定的风险偏好是否匹配,以便发现集中度过高或偏离意图的地方。

页面与交互

  • 全景上的「组合透视」摘要卡 → 点进详情页
  • 五个视角看结构:按标的 / 按行业 / 按上市市场 / 按资产载体 / 按账户(环形图 + 条带)
  • 可设置个人风险偏好(网页端已上线,手机端读已保存的偏好)
  • 诊断结论只给三档:符合偏好 / 需要关注 / 建议复核,并列出触发结论的具体标的、行业或市场

业务规则

LRN-INSIGHT-001
  • 参与计算的是非零持仓;同一经济标的跨账户合并;正股与同标的期权归一
  • 计算基数 = 正的多头市值 + 正的投资现金;负数现金、空头、期权义务一律不混进分母
  • 上市地 ≠ 公司真实经济暴露(中概股不按「美股」简单归类判断)
  • 没保存过偏好 → 用系统默认偏好,读取不产生任何写入
  • 偏好读不出来(服务故障)→ 只展示结构,不得悄悄套用默认值还宣称「匹配」
  • 不给「伪精确总分」(如 87.3 分),只给可解释的结论和原因
  • 手动价/延迟价/缓存价只是价格来源事实,不参与风险判定

异常与边界

  • 部分缺价 → 进入「部分覆盖」状态:只对已估值的部分给结论,并明说还有多少没覆盖;已估值部分没问题也不得宣称「全组合符合偏好」
  • 含期权 → 期权义务口径尚未统一前,只提示「存在待解析期权」,不计算名义义务/总敞口

验收标准

  • 跨账户同标的合并正确
  • 负现金/空头/期权不进基数
  • 缺价时诚实显示覆盖范围
  • 遮罩开启时结构名称、比例、结论全部隐藏
D

收益分析

Web 完整iOS 计划
作为用户,我想知道今天/这个月赚了多少、分别来自行情涨跌还是买卖操作,以便评估自己的决策。

页面与交互

  • 周期切换:7 日 / 1 月 / 3 月 / 1 年 / 今年以来 / 全部——切换时数据、范围、日期文案同步更新
  • 已实现盈亏(卖出落袋的)与未实现盈亏(还拿着的)分开展示
  • 「净流入」单独一栏:这段时间从外部转入的钱 − 转出的钱

业务规则

LRN-PNL-001LRN-FLOW-002
  • 某日盈亏 = 当日资产值 − 前一日资产值 + 当日买卖/分红造成的现金变化
  • 只有两个相邻日都有完整快照才算得出;断档显示「未知」,绝不插值
  • 余额校准、外部转入转出不算投资收益
  • 自己账户之间的内部转移,对全景严格为 0(钱没出家门)
  • 统计不足 30 天的周期,年化收益率显示「--」不硬算
  • 每笔现金影响按交易发生当天的汇率折算人民币,事后汇率变了不回头重算

异常与边界

  • 快照断档 → 该日显示「未知」而非 0
  • 基准日的资金流已含在基准资产里,累计时排除,避免重复计算

验收标准

  • 断档不插值
  • 校准/外部资金不计收益
  • 30 天内年化显示「--」
E

持仓与行情估值

Web 完整iOS 基建
作为用户,我想知道每个持仓现在值多少钱、价格是哪天的、可不可信,以便决定是否要复核手动价或相信自动行情。

页面与交互

  • 持仓列表按市场分组(美股/港股/A股/基金…),每组显示小计
  • 每行:名称 / 市值 / 数量 / 现价 / 成本 / 未实现盈亏
  • 点进持仓详情:价格来源说明、价格时点、缺价/回退状态、该标的的历史流水
  • 手动价入口:更新价格,或点「仍有效」确认一次(确认后 7 天内不再提醒)

业务规则:价格选择顺序

LRN-VAL-002
① 实时期权价 ② 免费延迟价 ③ 手动价 ④ 自动报价降级(缓存) ⑤ 缺价(显示未知,绝不为 0)
  • 手动价与延迟价并存时:只有延迟行情的日期晚于你最后确认手动价的日期,延迟价才接管;否则继续用手动价
  • 手动价第 7 天仍有效,第 8 天起提醒复核,但不会自动失效

业务规则:估值与汇率

LRN-VAL-003LRN-VAL-001
  • 市值 = 价格 × 数量 × 汇率;未实现盈亏 = 市值 − 成本价值
  • 汇率缺失时按 HKD 0.92 / USD 7.2 兜底,但页面必须标注「汇率失效、按兜底值」
  • 手动价、延迟价的持仓不算「今日盈亏」(价格可能不是今天的,算了会骗人)

异常与边界

  • 所有来源都失败 → 显示「缺价」,市值记为未知
  • 上游故障自动用缓存价 → 必须标「缓存」,不得伪装实时

验收标准

  • 五种价格事实各标注清楚
  • 手动价第 8 天提示、第 7 天不提示
  • 缺价不为 0、不画暴跌
F

钱包与账户

Web 完整iOS 基建
作为用户,我想管理所有账户并看清总净资产是怎么组成的,以便不遗漏任何一个口袋。

页面与交互

  • 钱包首页:总净资产 + 迷你趋势 + 最后更新时间;账户按 7 类分组,组头显示折人民币小计,可折叠
  • 右上「+」→ 选择账户类型(每类带一句说明,如「信用账户:用于透支的信用账户,比如信用卡、花呗等」)
  • 「口径对账」:持仓市值 → 投资现金 → 投资资产 → 其他账户净额 → 总净资产,一级级桥接给你看
  • 账户详情:多币种余额、投资持仓、资金变动、换汇、校准余额、编辑/归档

业务规则

LRN-LEDGER-001
  • 一个账户可同时持有 CNY/HKD/USD;「默认币种」只是显示习惯,改默认币种 ≠ 换汇,余额不动
  • 归档的投资账户仍计入总净资产,但不进日常下拉选择
  • 有过内部转移历史的账户不能删除,只能归档(删了历史就对不上了)

异常与边界

  • 负债/债权账户金额用负号参与净资产计算
  • 空状态:某类账户还没有时,显示带引导的空态(如「添加信用账户」)

验收标准

  • 口径桥逐级正确
  • 多币种合计正确
  • 归档账户计入净资产但不进选择器
G

交易记账(三步流)

Web 完整iOS 计划
作为用户,我想用最少步骤记一笔买入/卖出/分红,以便现金余额和持仓成本自动算对。

页面与交互(三步)

① 选类型:股票 / 基金 / 贵金属 / 自定义 ② 搜标的:输代码自动识别市场 ③ 填交易:买/卖/分红 + 数量价格手续费账户 添加
  • 输代码自动识别:6 开头→沪市,0/3 开头→深市,5 位→港股,字母→美股,6 位基金代码→基金;用户无需懂符号规则
  • 表单里可勾选「现金联动」:买入时从所选账户扣钱,卖出时回款到账户;不勾则只记持仓不动现金

业务规则

LRN-TXN-001
  • 买入:持仓数量增加,成本按移动平均更新;联动现金时扣「数量 × 价格 + 手续费」
  • 卖出:数量不能超过持仓;联动现金时加「数量 × 价格 − 手续费」;已实现盈亏按当前平均成本计算
  • 分红:不改持仓,联动现金时加净分红
  • 同一笔操作重复提交(网络卡了多点一次)→ 只记一笔,绝不重复扣钱
  • 持仓、现金、流水三者要么全部成功、要么全部失败,不允许记了一半

异常与边界

  • 卖出数量 > 持仓 → 拒绝并提示
  • 做空、期权目前不在通用三步流里开放(口径尚未统一,防止记错 100 倍)

验收标准

  • 买入后现金、持仓、流水三者一致
  • 卖出后已实现盈亏正确
  • 重复提交只记一笔
H

资金变动(转移 / 换汇 / 校准 / 撤销)

Web 完整iOS 计划
作为用户,我想在账户间转钱、跨币种换汇、把账面校准到真实值,以便账本始终和真实世界一致,且误操作能撤销。

页面与交互

  • 账户详情里发起内部转移:选转出账户 → 转入账户 → 金额;跨币种时让你填实际到账额(汇率你说了算)
  • 「调整余额」:直接把账面改成真实值,系统记录差额为一次校准
  • 流水页可对整笔内部转移一键撤销(两条配对流水一起撤回)

业务规则

LRN-FLOW-001
  • 内部转移 = 一条主记录 + 两条流水(转出方一笔、转入方一笔),同时生效
  • 同币种转移:两边金额相等;跨币种:按你确认的实际到账额
  • 内部转移在账单里折叠为一条中性记录(钱没出家门,不算收入也不算支出)
  • 余额校准不算投资收益、不算净流入(只是把账本改对)
  • 外部转入/转出才计入净流入/净流出
  • 重复提交只记一笔

异常与边界

  • 撤销必须整笔,不允许只撤一边
  • 有转移历史的账户只能归档不能删除

验收标准

  • 同币种转移两边守恒
  • 账单中内部转移为中性
  • 撤销整笔原子生效
I

每日快照

Web 完整iOS 基建
作为用户,我想系统每天自动记录资产状态,以便趋势和盈亏有据可查,不用自己每天手动记。

页面与交互

  • 用户无感:每天 23:55(上海时间)自动拍快照;打开应用或资产结构变化时也会补拍
  • 手机端只负责「请求拍一张」,拍什么、拍成什么样由服务端按真实状态决定

业务规则

LRN-SNAP-001
  • 快照质量三档:完整(明细齐全且无缓存/缺价)/ 部分(有缓存或缺价)/ 旧版(历史快照没有明细)
  • 「部分」快照不得覆盖已存在的「完整」快照
  • 防止旧数据把新数据顶掉:每次采集带版本号,过期的采集结果直接丢弃

异常与边界

  • 缺价日 → 记为「部分」快照,后续可被「完整」快照修复

验收标准

  • 部分快照不覆盖完整快照
  • 过期采集结果被丢弃
J

日历与账单

Web 完整iOS 排除
作为网页端用户,我想在日历上按天回看盈亏和收支,以便对「哪天发生了什么」一目了然。

页面与交互

  • 双模式切换:账单(看收支)/ 资产(看盈亏);周日开头的月历,左右翻月
  • 日期格按当月相对强度填色(1–4 级热力),点某天看下方当日明细
  • 账单页:全账户/单账户切换、月度结余

业务规则

LRN-CAL-001
  • 资产模式:涨红跌绿;账单模式:收入绿、支出红(不随涨跌配色方案变)
  • 内部转移在账单里显示为中性记录
  • 金额遮罩开启时:金额、方向、颜色、热力深浅全部隐藏——不能从色块深浅猜出盈亏

平台边界

  • 日历是网页端兼容能力,手机端不提供(产品决策,不算缺口)

验收标准

  • 热力按相对强度分 4 级
  • 遮罩下无颜色/深浅泄露
K

市场温度与行情

Web 完整iOS 基建
作为用户,我想知道 A 股/美股/港股当前的市场冷热和主要行情,以便对所处环境有个参考。

页面与交互

  • 三地温度 Tab 切换;半圆仪表显示 0–100 温度 + 当前区间 + 日变化 + 数据日期
  • 四因子分解:一年位置 / 20 日动能 / 均线趋势 / 波动舒适度,每个因子带「?」可看白话解释
  • 主要指数、BTC/ETH/黄金、汇率卡片;30 秒自动刷新

业务规则

LRN-MARKET-001
  • 温度 = 价格位置×35% + 20 日动能×30% + 均线趋势×20% + 平静度×15%
  • 温度是技术状态信号:不是恐慌指数 VIX、不是估值分位、不是买卖建议(页面必须说明)
  • 三地各自用对应基准指数、至少 200 个交易日计算
  • 数据不足或上游失败 → 显示降级状态,绝不把「没数据」说成「市场中性」

异常与边界

  • 30 秒是检查频率,每条价格仍标注自己的真实时点

验收标准

  • 三地温度 0–100 可切换
  • 四因子解释可读
  • 降级状态诚实
L

了然 Agent(摘要)

Web 完整iOS 基建
作为用户,我想用自然语言问资产问题、让 AI 帮我整理成可确认的记账操作,以便省去手动翻页和手工填单。

一句话概括

Agent 会「看懂你的资产全貌并回答问题」,也会「把你说的话整理成一张可编辑的记账单,等你确认后才写入账本」。它绝不下单到券商。

完整逻辑

见下方 「了然 Agent(完整逻辑)」 专章:角色边界、入口架构、对话状态机、操作卡生命周期、隐私同意与联动、异常恢复。
M

个性化与隐私遮罩

Web 完整iOS 基建
作为用户,我想自定义主题、涨跌配色、金额缩写,并一键隐藏全部金额,以便在公共场合安心打开应用。

页面与交互

  • 「更多 → 个性化」:主题(跟随系统/浅色/深色)、涨跌色(东方红涨绿跌/西方绿涨红跌)、金额缩写
  • 全局眼睛图标:一键遮罩/恢复全部金额

业务规则

LRN-PREF-001
  • 这些偏好都是设备本地设置,不写进账本,换设备不跟随(资产数据本身是跟随账号的)
  • 遮罩必须同时隐藏:金额、数量、收益比例、方向色、趋势形状(日历的热力深浅)——不能只把数字换成「*」
  • 手机端开启遮罩 → 立即停止 Agent 生成并隐藏对话
  • 退出登录、登录失效、撤回 AI 授权、切换账号 → 清理对话、错误信息与本地资产缓存,不跨账号残留

异常与边界

  • 「退出凭证删除失败」必须提示,不得假装已退出

验收标准

  • 遮罩无任何方向/比例/色深泄露
  • 手机端遮罩开 → Agent 立即停
  • 切换账号无数据残留
N

数据导出

Web 完整iOS 计划
作为用户,我想把全部数据导出留档,以便数据永远属于我自己。

页面与交互

  • 「更多 → 导出」→ 走系统分享/下载,导出全量数据(账户、多币种现金、持仓、流水、快照、风险偏好)

业务规则

  • 导出的是敏感全量数据,文件需要系统级保护(不裸放在公共目录)

验收标准

  • 导出文件包含全部六类数据且可读

4.5C 端页面展示与状态图谱

每个模块固定按「1. 模块 → 2. 模块逻辑 → 3. 图示」展开。图示使用当前原生 iOS 的内容层级和真实业务文案;点击状态枚举可切换加载、空、部分数据、错误、隐私或确认态。图示是产品验收视图,不是 Apple 官方设计稿。

1 · 模块入口、页面、核心对象与用户要完成的事。
2 · 模块逻辑输入、计算、状态转换、失败恢复和联动。
3 · 图示用户真正看到的页面层级、状态和行动。

5了然 Agent(完整逻辑)

Agent 是产品里规则最多的功能,这里把它的全部业务逻辑讲透:角色、入口、对话状态机、操作卡生命周期、隐私、异常。

5.1

角色与边界:Agent 能做什么、不能做什么

能做的

  • 回答问题:围绕你的账户、持仓、行情、近 90 天流水、快照和风险偏好,回答「我现在的总资产多少」「拼多多占多少比例」这类问题
  • 生成记账草稿:把「我昨天买了 10 股苹果 @180」整理成一张可编辑的记账单
  • 按你的风险偏好给提示:每轮回答都会读取你保存的偏好红线,可从具体风险继续追问

不能做的

  • 绝不直接写账本:只能生成草稿,必须你点「确认」才写入
  • 绝不下单:不连接任何券商,「确认」只写了然自己的账本
  • 不展示思考过程原文:深度模式下只告诉你「正在思考」,不把模型的逐字推理摊给你看
  • 不记住上次聊了什么:每轮回答都基于「当下最新」的数据重建,对话不落盘——退出、刷新、重启即清空
5.2

入口与交互架构

入口位置

  • 网页端:右下角常驻浮动圆钮;桌面端顶部也有入口
  • 手机端:底部功能层最右侧的独立圆形入口——它不是第 5 个 Tab:点开是全屏弹层,关闭后回到你原来所在的业务 Tab(看全景时打开,关掉还回全景)

对话形态

  • 全屏对话界面 + 快捷问题(常用问题一键发问)+ 停止按钮 + 深度思考开关
  • 同一登录会话内对话连续:在资产页发起提问、切去别的页再回来,对话还在

与页面其他功能的联动

  • 资产页有带具体风险上下文的「让 Agent 分析」入口(带着当前组合的问题去问)
  • 金额遮罩开启时,Agent 立即停止并隐藏对话(见 5.5)
5.3

对话流程状态机

一轮对话的生命周期

输入问题 发送 读取最新资产上下文 深度模式:显示「正在思考」 逐字流式输出回答 完成

状态规则

  • 上下文每次重建:每轮发送时,用「此刻」最新的账户、持仓、行情、90 天流水、快照、风险偏好来回答——你刚买完股票立刻问,它就知道
  • 两种思考模式:快速模式(直接作答);深度思考模式(先进入思考阶段,只显示「正在思考」的状态,不显示思维链原文)
  • 生成期间模式锁定:回答生成中不能切换快/深模式,防止状态混乱
  • 停止 = 真停:点停止后不再有任何输出;正在流式输出时自动跟随滚动
  • 回答内容安全:回答里的链接只允许可信协议,外部链接在新窗口打开
5.4

操作卡生命周期(记账的核心流程)

从一句话到一笔账

你自然语言描述 Agent 解析为可编辑草稿卡 你审阅 / 二次编辑 你点「确认」→ 写入账本
任意环节「取消 / 忽略」→ 不写任何数据

草稿卡里有什么

  • 操作类型(买入 / 卖出 / 卖出开仓 / 买入平仓 / 分红)+ 标的 + 数量 + 价格 + 手续费 + 入账账户 + 币种,全部可编辑
  • 草稿生成、编辑、普通回答、取消——都不碰账本,只有确认才写入

确认后的写入规则

  • 一次确认,在同一笔里同时更新:持仓数量/成本 + 现金余额 + 一条流水;要么全成要么全不成
  • 同一张草稿被重复确认(网络卡顿多点一次)→ 只写一笔,靠草稿自带的一次性凭据防重
  • 卖出开仓(如卖 Put 收权利金)与买入平仓:目前只有 Agent 这条路能正确记账,通用三步流不开放
  • 期权单位口径:1 张 = 100 单位;卖出 Put 的权利金按「张数 × 100 × 单价 − 手续费」入账

已知口径冲突(写账前必读)

  • 期权「张数 × 合约乘数」在不同模块口径不统一,极端情况下可能差 100 倍——在统一之前,普通表单不开放期权写入,只有 Agent 确认路径按 1 张 = 100 单位执行
  • 记账日一律按上海时间;个别校验仍用 UTC 日,上海 0–8 点可能误判「今天是未来」——该时段的 Agent 写入不算完全对齐,正在修复
5.5

隐私同意与联动规则

首次使用前的同意门禁(手机端,上架前硬性要求)

  • 第一次发送前必须明确告知:① 回答由第三方 AI 服务(DeepSeek)生成;② 为回答会把你的账户、持仓、行情、近期流水、快照、风险偏好发送给它;③ 你需主动同意;④ 之后可随时在设置里撤回
  • 未同意时:Agent 入口可见,但不发送任何金融数据——不许把「没同意」伪装成「可用」

隐私联动(全局规则)

LRN-PREF-001
  • 金额遮罩开启 → Agent 立即停止生成、隐藏对话
  • 退出登录 / 登录失效 / 撤回 AI 授权 / 切换账号 → 清空对话、生成追踪、错误信息与本地资产缓存,不允许上一个账号的数据出现在下一个账号里
5.6

异常与恢复

  • AI 服务不可用 → 明确报错(如「AI 服务暂不可用,请稍后重试」),不假装在回答
  • 回答超时 → 明确超时提示,可重新发起
  • 输入不合法(如卖出超过持仓)→ 在草稿卡上给出可读错误,不写库
  • 确认写入失败 → 显示失败原因;由于有防重凭据,用户重试不会重复记账
  • 取消/停止 → 立刻停止输出,已写账的部分不存在(因为只有确认才写)

验收标准

  • 草稿、编辑、取消全程账本无变化
  • 确认后持仓 + 现金 + 流水三者一致
  • 重复确认只记一笔
  • 不泄露思维链原文
  • 手机端未同意时不发送数据
  • 遮罩开启立即停止生成

6关键业务规则决策表

把最重要的规则压成「查表即知」的形式。每张表 = 一组同类决策。

6.1

交易类型 → 对持仓/现金/盈亏的影响

交易类型持仓数量成本现金(联动时)已实现盈亏
买入+ 数量移动平均更新−(数量 × 价格 + 手续费)
卖出− 数量(≤持仓)不变+(数量 × 价格 − 手续费)按平均成本计算
分红不变不变+ 净分红计收益
卖出开仓(Put 等)− 张数 × 100+(张数 × 100 × 单价 − 手续费)仅 Agent 确认路径
买入平仓对冲还原按实际仅 Agent 确认路径
内部转入 / 转出不变不变+/−全景中性,不计收益
余额校准不变不变校准到真实值不计收益、不计净流入
6.2

价格选择决策表(一条持仓用什么价)

场景用哪个价页面标注
有有效的实时期权行情实时价实时 + 时点
有免费延迟价,且没有手动价延迟价「24h 延迟」+ 价格日期
有免费延迟价,也有手动价延迟行情日期晚于手动确认日 → 延迟价;否则 → 手动价标明用的是哪个 + 理由
只有手动价手动价「手动」+ 确认日期;第 8 天起提示复核
自动行情故障,只有上次的缓存缓存价「缓存」+ 缓存时间
什么都没有缺价市值「未知」,不为 0
6.3

资金变动分类决策表

变动类型计入净流入/流出?计入投资收益?账单表现
外部转入 / 转出收入 / 支出
内部转移(自己账户间)否(全景严格为 0)折叠为一条中性记录
余额校准独立校准记录
6.4

快照质量决策表

等级含义覆盖规则
完整持仓、投资现金、其他资产、负债四项明细齐全,且无缓存/缺价优先保留
部分存在缓存价或缺价不得覆盖「完整」
旧版历史快照,没有四项明细兼容展示
6.5

折算与盈亏口径速查

口径公式(业务语言)
汇率折算港币 × HKD 汇率;美元 × USD 汇率;人民币原值(汇率失效时按 0.92 / 7.2 兜底并标注)
投资资产持仓市值 + 投资账户现金
总净资产持仓市值 + 全部正资产账户余额 − 信用/负债账户余额
未实现盈亏市值 − 成本价值(成本 > 0 才算收益率)
当日盈亏当日资产值 − 前日资产值 + 当日买卖/分红现金变化(两日快照都完整才算)
市场温度价格位置×35% + 20 日动能×30% + 均线趋势×20% + 平静度×15%

6.6数据库与业务规则索引

从页面模块反查全部持久化对象与规则。表名和字段来自当前服务端结构;“本机偏好 / 运行时行情”明确标为非数据库对象,避免把缓存或系统设置误认成持久化表。

数据库与运行时对象

业务规则

7跨端覆盖状态

网页端能力是基线;手机端逐项迁移。徽章含义:完整 = 双端行为一致;基建 = 原生架构已就位、只读可用;计划 = 尚未迁移;排除 = 产品决策不在手机端提供。

能力网页端手机端说明
注册/登录完整基建原生登录 + 安全凭证存储
导航结构完整完整4 业务 Tab + Agent 圆钮
净资产趋势逐日查值完整完整拖动/点选/无障碍
组合透视完整完整共享同一套规则与测试数据
全局 Agent 入口完整完整关闭回原 Tab
全景/投资摘要完整基建只读展示可用
持仓与价格来源展示完整基建来源/时点如实标注
钱包与账户分组完整基建只读展示可用
市场温度完整基建只读展示可用
个性化/隐私遮罩完整基建本地偏好
日历双模式完整排除产品决策,不算缺口
详情页/收益分析/账单完整计划后续逐页迁移
账户创建/编辑/归档完整计划写操作需完整确认状态
买入/卖出/分红记账完整计划多头先迁,期权受限
内部转移/换汇/校准/撤销完整计划防重复与恢复待完成
Agent 操作卡完整计划做空仅走 Agent 确认
旧数据一次性迁移完整不适用手机端无该数据源
删除整个用户账号缺失阻塞上架前必须跨端新增

8风险、阻塞与数据红线

当前知道的所有「坑」,业务语言描述 + 对应影响。

编号问题(业务语言)状态影响与约束
口径-1期权「张数 × 合约乘数」口径不统一,最坏差 100 倍冲突统一前:手机端不计算期权名义义务/总敞口;通用表单不开放期权记账
口径-2通用记账流程的做空分支不完整冲突做空只能走 Agent 确认路径
口径-3个别校验用 UTC 日,上海 0–8 点可能误判「今天是未来」冲突该时段 Agent 写入不算完全对齐
上架-1没有「删除整个用户账号」的入口阻塞上架前必须新增:再认证 → 后果说明 → 确认 → 级联清理
上架-2第三方 AI 数据同意需完整合规阻塞同意 + 撤回 + 隐私政策与申报
8.1

数据红线(维护时必读)

  • 真实用户的 20 条持仓 + 7 个投资账户是真实资产,视同生产数据,改动前必须先备份
  • 两个早期遗留账号来源未确认前不得删除
  • 任何测试产生的数据必须精确按用户名/ID 删除,绝不整库清空
  • 数据库结构变更要兼容旧版本(因为线上可能随时回滚到旧版本)

9版本里程碑

每个上线版本解决什么问题(业务视角)。完整验收证据见 docs/acceptance/

版本解决什么问题
v3.0建立「账户+持仓+流水+快照」模型与 5 Tab 结构
v3.5Agent 可以生成并确认记账操作
v3.6全新视觉 + Agent 常驻入口 + 期权行情接入
v3.7一个投资账户可同时管 CNY/HKD/USD,买卖入口落地
v3.9A 股/美股/港股三地市场温度
v3.11品牌更名「了然」+ 正式域名
v4.0资产全景与持仓健康(风险红线可个人设定)
v4.2组合透视五维结构 + 净资产趋势 + 日历热力
v4.3手动价时效提醒 + 每日自动汇总 + 完整资金路径
v4.4期权免费延迟价自动估值(当前线上)
iOS v0.3.4原生系统级玻璃质感导航(当前)
了然 · 产品逻辑与迭代看板 —— 业务规则的权威事实源是 product-logic/ 目录;本页是它的业务语言视图。任何改动金额/状态/口径的迭代后,同步更新本页对应模块与「迭代工作区」。
技术足迹(简注):网页端用 React 界面,手机端用 SwiftUI 原生(iOS 17+);数据统一存在自有服务端(SQLite 单文件库);行情来自腾讯/OKX/天天基金/长桥;AI 对话由 DeepSeek 提供。