Files
digital-psychology/.ai/product/feature-spec/cece-frontend-re/complete-design/12-page-ask.md
T
jackyu66gitandCursor bd22d9dddd feat: P1 合盘/星座/问答与测测完整设计包及模拟器取证工具
落地 synastry/star/ask API 与 H5 页面,补齐 cece-frontend-re complete-design 证据文档,并加入 Android 模拟器截图抓取脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 11:37:53 +08:00

4.8 KiB
Raw Blame History

12 ·「问」完整设计(测测 AI + 真人 1v1)

Route: /ask · Design Complete · 战略核心页


1. 目标

  1. 以星盘档案为底座的垂直 AI 对话
  2. 同页低摩擦切换真人咨询
  3. 对象切换(自己/TA)扩展关系场景
  4. 深度思考与子场景(灵魂伴侣等)承载差异化

2. UI 完整清单

2.1 顶栏 AskTopBar E8

ID 元素 行为
A-BACK 返回 回上一页/首页
A-TAB-AI 「测测AI」 默认选中
A-TAB-HUMAN 「真人1v1」 角标「新客半价」(运营可配)
A-MENU 汉堡菜单 历史/设置;可带红点

2.2 AI 轨首屏( E8 · 非纯聊天空态)

冷启动为引导页 + 转化区,而非空白线程:

区块 内容
人设问候 猫头鹰 IP +「Hi~我是测测AI / 最近有什么事…」
引导问题 ×4 整行按钮(非小芯片)
真人咨询导流 「也可以选择真人咨询…」+「228位测测达人在线」+「去提问」
达人数量卡 1/3/8/15 位;「新客6折」等角标
底栏快捷 工具 · 语音通话 · 深度解读 · 灵魂伴侣
输入框 placeholder「让我来解答你的问题吧」
免责声明 「内容由AI生成,仅供娱乐…」

实测引导问题( 替换原草稿)

  1. 有哪些适合我的财富建议?
  2. 这份工作有发展吗?
  3. 我有什么性格弱点吗?
  4. 我和Ta会复合吗?

2.3 上下文/能力入口( E8 落在底栏快捷)

ID 元素 行为
A-TOOLS 「工具」 Sheet:星盘等工具入口
A-VOICE 「语音通话」 语音;可红点
A-DEEP 「深度解读」 深度能力(可能付费)
A-SOUL 「灵魂伴侣」 子场景

对象切换/星盘维度:在工具 Sheet 或对话上下文中(待 ask/tools-sheet 截图补全)。

2.4 输入区 AskComposer

元素 行为
文本框 placeholder 见上
发送 输入后出现
语音 底栏「语音通话」独立入口

2.5 真人轨 AskHumanRail

顶栏切「真人1v1」(角标「新客半价」);同页亦嵌入 AI 轨中部的达人导流卡。

2.6 子页

  • /ask/soulmate 灵魂伴侣
  • /ask/history 会话历史
  • Profile 创建嵌入式 Modal

3. 交互与业务规则

规则 ID 规则
R-ASK-01 每条用户消息消耗 1 次额度;深度思考 ×2
R-ASK-02 额度=0 → PaywallSheet(会员优先)
R-ASK-03 切换对象后下一条消息带新 profile_ctx_id
R-ASK-04 对象无档案 → 强制建档流,不可发送
R-ASK-05 流式中再次发送:排队或禁用(D:禁用)
R-ASK-06 敏感意图 → 危机卡片,不计成功陪伴文案
R-ASK-07 切「真人1v1」不清除 AI 历史
R-ASK-08 下拉加载更早消息,page_size=20

4. 状态机

stateDiagram-v2
  [*] --> Boot
  Boot --> IdleFresh: 无历史
  Boot --> IdleHistory: 有历史
  IdleFresh --> Streaming: send/chip
  IdleHistory --> Streaming
  Streaming --> IdleHistory: done
  Streaming --> StreamError: fail
  StreamError --> Streaming: retry
  IdleFresh --> NeedProfile: 选TA无档
  NeedProfile --> IdleFresh: 建档完成
  IdleHistory --> QuotaEmpty
  QuotaEmpty --> Paywall
  IdleHistory --> HumanRail: tab
  HumanRail --> IdleHistory: tab AI

全量状态:Boot · IdleFresh · IdleHistory · Streaming · StreamError · NeedProfile · QuotaEmpty · Paywall · HumanRail · Offline · AuthRequired · DeepOn(正交 flag)。


5. API

API 说明
GET /v1/ai/bootstrap 额度、默认 profile、引导问题、deep 是否可用
GET /v1/ai/conversations 列表
GET /v1/ai/conversations/{id}/messages?cursor= 历史
POST /v1/ai/chat body: {conversation_id?, content, profile_ctx_id, dimension, deep}SSE
POST /v1/ai/conversations 新建
GET /v1/ai/quota remaining

SSE 事件:meta · delta · suggest · usage · error · done


6. 异常矩阵

场景 UI
SSE 中断 气泡「已中断」+ 重试
402 额度 Paywall
400 无档案 NeedProfile
403 内容安全 固定拒答
超时 30s StreamError
离线 禁用发送

7. 埋点

ask_open · ask_send · ask_chip_click · ask_deep_toggle · ask_profile_switch · ask_dimension_change · ask_soulmate_open · ask_human_tab · ask_paywall_show · ask_stream_error


8. 校验 ID

V-A01 顶栏双 Tab · V-A02 上下文三控件+灵魂伴侣 · V-A03 引导问题原文 · V-A04 下拉历史 Tip · V-A05 深度思考是否耗额度 · V-A06 流式表现