心序
C 端 AI 产品设计

心序

2026

项目概览

心序是一个面向情绪陪伴场景的 AI 产品设计:用户不需要学会写日记,只要愿意开口说一句话,就会有人接住。

从产品结构、交互与视觉设计到可运行原型,这条链路由我独立负责。原型已接入真实模型,回复逐字生成,并带有明确的角色边界与应对风险表达的分级规则——它是能上手对话的,不是可以点击的示意图。

项目背景

情绪陪伴类产品真正的难点不在功能,而在「开始」这一步。人处在低落状态时,注意力和语言组织能力同时下降——让他先选情绪分类、再写今天发生了什么、再想一个标题,这本身就是一次劝退。它不是体验细节没打磨好,是入口选错了。

所以心序没有把「记录」作为核心,而是把对话放在入口:先说一句,再看要不要往下走。这个判断决定了信息如何组织,也决定了后续 AI 体验的设计重点——回应的节奏,比回应的数量重要。

项目挑战与取舍

这三件事各自卡住过一次。比起最后的方案,更有信息量的是它们分别否掉了什么。

01

表达门槛

问题

情绪低落时,用户说不出「发生了什么」,也未必愿意打开一套结构化的记录工具。

考虑过

以情绪记录作为核心入口:选标签、写下今天发生的事、积累成可回看的趋势。

否掉

问题不在交互,而在前提——它要求用户先具备组织语言的能力,而这恰恰是低落状态下最先失效的东西。

最终

把提问做在用户开口之前:首页直接给四个可以点击的话题,把表达从「组织一段话」降级为「挑一个」。

02

承接能力

问题

同一句「你好吗」,对刚下班的疲惫和深夜的失眠需要完全不同的回应,固定文案覆盖不了。

考虑过

先用预设对话规则做原型:命中「工作 / 压力 / 睡不着」这类关键词,就返回对应文案。

否掉

规则能跑通流程,但节奏是死的。它永远在回应关键词,而不是回应人——同一句话在疲惫和委屈面前,本不该得到同一个回答。

最终

接入真实模型,并把语气、篇幅、提问方式写成人格设定:先回应情绪、一次最多问一个问题、不说「你应该」。

03

边界与安全

问题

情绪陪伴必然触及敏感内容,而这里要同时做到两件相反的事:不越界诊断,也不回避风险。

考虑过

只在文案里承诺三条不做:不诊断、不替代咨询、高风险需转介。

否掉

「不做什么」是免责,不是设计。风险场景里用户需要的是一个明确动作;而且这三条之间没有优先级,冲突时不知道听谁的。

最终

改成按严重程度排序的分级规则,并为最高一级声明最高优先级——它会覆盖其他所有人格设定。

我的职责

这是一个真实项目,我独立负责其中的设计部分:从问题定义、产品结构,到交互与视觉设计。页面最后那个能亲自对话的原型,是我为了验证方案自己做的——这一页里的取舍,也都由我承担。

ROLEUI/UX 设计师

产品梳理 · 交互设计 · 视觉设计 · 前端原型实现 · AI 体验与提示词设计

产品结构与核心流程

围绕一件事组织产品:让用户不必先组织好语言,也能开始。入口负责降低压力,对话负责承接,异常与风险一并纳入结构,而不是当作例外处理。

  1. 01

    进入陪伴首页

    情绪化问候 + 推荐问题,把开场压力降到最低

  2. 02

    开始表达

    点击推荐问题,或自由输入此刻想说的话

  3. 03

    对话承接

    先回应感受,再通过追问帮助用户继续说

  4. 04

    下一步引导

    视场景给出小范围、可执行的梳理或建议

  5. 05

    异常处理

    高风险表达转向专业求助引导

核心界面

以下界面全部截自本节末尾那个可在线体验的原型,是它此刻真实运行的样子,不是设计稿的渲染图。

心序 · 陪伴首页 · 推荐问题
陪伴首页 · 推荐问题
心序 · 对话承接 · 先回应感受
对话承接 · 先回应感受
心序 · 多轮追问 · 按节奏往下走
多轮追问 · 按节奏往下走
心序 · 最近的记录 · 把历史摊开
最近的记录 · 把历史摊开
心序 · 正在生成 · 等待被看见
正在生成 · 等待被看见
心序 · 自由输入 · 想说什么都可以
自由输入 · 想说什么都可以

回复文字由模型实时生成,所以每次打开看到的内容都不会一样——这里的每一句都不是写死的。

AI EXPERIENCE DESIGN

把 AI 的回应,设计成一段可预期的陪伴

为什么必须是模型,而不是更聪明的规则

规则能命中关键词,但不能回应人。同一个状态在不同日子里需要不同的接法,靠关键词分支去覆盖,穷举到最后只会得到一堆正确的废话。

AI 在这里的价值不是说得更多,而是接得更准。

对话体验如何发生

对话不是一句文案,而是一条克制的路径——从承接,到追问,再到适度的下一步。

  1. 01用户表达
  2. 02情绪承接
  3. 03适度追问
  4. 04帮助梳理
  5. 05提供下一步选择

界面中的对应关系

  • 推荐问题 — 点击即可开始,降低「不知从何说起」的压力。
  • 情绪承接 — 先回应「正在经历的感受」,再往下引导。
  • 开放式追问 — 克制、开放地邀请用户继续说,而非替用户下结论。
  • 下一步行动 — 需要时给出小范围、可执行的建议。

以下为对话页局部示意,标注与左侧流程一一对应;真实运行效果见「核心界面」与「在线交互原型」。

哈咯
心序陪伴
最近心理有点乱?
帮我慢慢理清楚
# 工作最近压力比较大
✦ 心序
听起来最近压力确实不小……我在这儿,你可以慢慢讲。
✦ 心序
是发生了什么,还是一直这样绷着?能多说说吗?
今晚可以试试:把今天最重的一件事写下来

AI 的边界:三条按严重程度排序的规则

边界不是免责声明,而是一组可执行的规则。它们按严重程度排序,越靠下优先级越高。

  1. 01日常情绪

    只倾听,不给建议。不诊断、不评判,也不把用户的感受翻译成结论。

  2. 02长期停留

    当话题反复回到同一处,轻轻提一次线下求助的可能,不以「你应该」的方式。

  3. 03风险信号

    一旦出现自伤或轻生的表达,最高优先级生效:停止分析、承认自己无法提供紧急援助,并给出现实路径——联系信任的人、心理援助热线或 120。

第 03 条被声明为最高优先级:触发时其他人格设定都要让位——把话说清楚,比保持一贯的语气重要。

这条体验是怎么落地的

密钥不进前端

原型是纯静态页面,直接调用模型就会把 API Key 暴露给每个访客。所以中间加了一层服务端代理,密钥只存在于服务端环境变量,前端只知道一个同域接口。

流式输出

接口以 SSE 逐字回传,界面边收边渲染。等待被看见,回复才有「对方正在想」的感觉,而不是一整段忽然砸下来。

多轮上下文

每次请求携带最近若干轮对话,模型能接住上一句话;上下文有上限并做长度截断,避免无限增长。

失败要看得见

网络中断或密钥未配置时,界面明确降级为本地回应并给出提示,不白屏、不假装成功。

不确定与风险状态,同样经过设计

AI 体验不只是「输入—回复」的理想路径。等待、失败、不确定与高风险同样需要被认真对待——这里保留最能说明设计完整度的四个状态。

我今晚有点烦
01

正在生成让用户知道系统正在处理,避免误以为卡顿。

回复好像没发出去,再试一次?
重新生成换一种方式说
02

回复失败与重新生成失败时明确反馈并提供重试,不让用户陷入困惑。

我还不完全确定你的意思,但我会继续听——可以再多说一点吗?
继续倾听
03

内容不确定不确定时不硬答,坦诚继续倾听比给出错误判断更重要。

听起来你现在非常难受。比起我一个人陪你,更建议你联系专业的心理支持,好吗?
寻求专业帮助我陪你一起看
04

高风险求助引导识别高风险表达,温和而明确地引导用户转向专业帮助。

等待回复、停止生成、网络异常、对话历史与隐私说明等其余状态也已纳入设计考虑,不再单独展开。

INTERACTIVE PROTOTYPE

OPEN FULL EXPERIENCE ↗

从静态界面,到可以亲自对话的产品原型

这是一个用于验证对话入口、回应节奏与情绪体验的网页原型。你可以选择推荐话题,也可以输入自己的内容,完整体验一段对话——回复由真实模型生成。

当前可以体验

推荐问题点击 · 自由文本输入 · 消息发送 · 多轮对话 · 逐字流式回复 · 最近记录 · 手机外壳展示 · 响应式适配

LIVE MODEL · DEEPSEEK

这里的回复由真实模型实时生成,经服务端代理调用,密钥不暴露在前端;网络中断或服务端未配置密钥时,会自动降级为本地回应。

项目状态

已完成

产品结构、核心流程、交互与视觉设计,以及可在网页中真实操作的原型。

已接入真实模型

对话由模型实时生成,支持逐字流式输出与多轮上下文,并带有按严重程度排序的安全兜底规则。

仍在进行

补齐更细的异常状态(停止生成、对话历史管理),补上真实用户可用性测试,并把高风险识别从「提示词层」推进到更可靠的独立判断。

项目复盘

项目仍在推进中,还没有上线后的用户数据。下面是我在做这件事的过程里形成的判断,以及我自己是怎么验证的——它们是需要被后续真实使用检验的假设,不是结论。

三条设计判断

  1. 01把表达降级为「挑一个」,比教用户「该怎么表达」更有效。
  2. 02克制的回应更适合这个场景:先接住,再往前一步。
  3. 03安全必须是可执行的分级动作,而不是一句「不做诊断」的声明。

我自己验证了什么

  • 在真实浏览器里跑通完整对话链路:逐字流式是否成立、多轮上下文是否接得住、断网与服务端未配置密钥时是否稳定降级而不是白屏。

  • 对模型回应做边界测试,包括自伤相关表达,确认最高优先级的兜底会被触发,且不被其他设定覆盖。

  • 这些都是我自己的技术自查,不是用户测试。缺少真实用户是这个项目最明确的一处缺口,也是下一步要做的事。

项目信息

角色

UI/UX 设计师

年份

2026

项目类型

C 端 AI 产品设计

项目性质

真实项目 · 独立负责设计

产出物

  • 产品结构梳理与核心流程
  • 交互设计与视觉设计
  • 可运行网页原型(含真实模型接入)
在线体验原型
闫嘉星 — UI/UX 设计师