Skip to content
Merged
Show file tree
Hide file tree
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
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,16 @@ device connectivity -> realtime conversation -> visual lifelog -> digital tasks
- Digital task execution: create, query, cancel, offline pushback, and retry
- Control APIs: device registration/binding, operation dispatch, and runtime status queries

### Functional Scenarios

- On-the-go voice assistance: press-to-talk interaction for quick answers while walking.
- Forward risk check: photo + voice queries to identify nearby obstacles and hazards.
- Short-term memory recall: ask about recent moments via timeline and semantic retrieval.
- Digital task delegation: turn voice intents into trackable tasks with status updates.
- Device health and offline alerts: detect heartbeat/connection anomalies and notify users.
- Emergency help trigger (SOS): minimal-action emergency trigger with immediate confirmation.
- Digital Journal (emotion-first): multimodal models understand daily photo sequences and voice context to form long-term memory; it can be replayed with personalized, podcast-like narration and shared as text with family and friends.

### Technical Highlights

- Layered architecture: `adapter / runtime / agent / api / storage / safety`
Expand Down Expand Up @@ -124,6 +134,16 @@ OpenCane 是一个面向智能盲杖场景的 AI 后端运行时,聚焦“设
- 数字任务执行:任务创建、状态查询、取消、离线回推与重试
- 控制面 API:设备注册绑定、设备指令下发、运行状态查询

### 功能场景

- 行走中即时问答:按键触发语音提问,低延迟语音回复,不打断通行节奏。
- 前方风险确认:拍照 + 语音询问,识别附近障碍与风险并给出提示。
- 短时记忆回溯:支持“刚才发生了什么”的时间线与语义检索回答。
- 数字任务代办:将语音需求转成可追踪任务,并持续回报状态。
- 设备异常与离线提醒:心跳或连接异常时及时告警,恢复后可继续会话。
- 紧急求助触发(SOS):通过最少动作触发求助,并立即得到确认反馈。
- 数字日记(情感优先):多模态大模型理解每天的照片序列与语音形成长期记忆;可用个性化语音像播客一样回放,也可生成文本分享给亲人朋友。

### 技术特性

- 分层架构:`adapter / runtime / agent / api / storage / safety`
Expand Down
127 changes: 126 additions & 1 deletion docs/product-prd.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
OpenCane 的产品目标是打造“给视障人士使用的 OpenClaw”,以智能盲杖为交互载体,提供可持续演进的 AI 助盲后端能力。
后端目标是打通“设备接入 -> 语音对话 -> 图像理解与记忆 -> 任务执行 -> 安全回传 -> 运营观测”的闭环。

场景导向定位:

- 物理世界:安全出行、环境理解、风险预警
- 数字世界:代办操作、服务接入、跨应用无障碍
- 情感层面:陪伴、记忆、分享,降低长期孤独感

交互载体与方式:

- 交互载体:智能盲杖硬件
Expand All @@ -23,7 +29,7 @@ OpenCane 的产品目标是打造“给视障人士使用的 OpenClaw”,以
## 2. 目标用户与角色

1. 终端用户(盲人用户)
通过盲杖进行语音交互、环境感知与辅助提醒。
通过盲杖进行语音交互、环境感知与辅助提醒。覆盖全盲、低视力、盲校学生、康复期用户与独居用户等典型群体。
2. 设备/固件团队
接入设备上报与下行指令,完成硬件联调。
3. 运营与客服团队
Expand All @@ -48,6 +54,13 @@ OpenCane 的产品目标是打造“给视障人士使用的 OpenClaw”,以
- 控制 API 可用性 >= 99%
- 关键告警可观测(离线率、队列积压、回合失败率)

场景指标补充(用于体验侧评估):

- 出行场景:危险预警召回率、端到端响应时延
- 数字场景:任务完成率、平均代办时长、人工求助率下降
- 生活场景:找物成功率、回溯定位准确率、日志可用率
- 体验场景:满意度、认知负担评分、持续使用留存率

## 4. 核心使用场景

1. 语音问答场景
Expand All @@ -59,6 +72,118 @@ OpenCane 的产品目标是打造“给视障人士使用的 OpenClaw”,以
4. 设备运营场景
运营人员通过 API 完成设备注册、绑定、激活、撤销与状态检查。

### 4.1 场景地图(P0)

| 场景ID | 场景名称 | 用户输入 | 系统反馈 | 风险等级 | 优先级 |
|---|---|---|---|---|---|
| S1 | 行走中即时问答 | 按钮触发 + 语音提问 | 语音播报(必要时震动) | 高 | P0 |
| S2 | 前方风险确认 | 图像上报 + 语音询问 | 风险语音提示 + 震动反馈 | 高 | P0 |
| S3 | 短时记忆回溯 | 语音提问(刚才/附近) | 基于 lifelog 的语音回答 | 中 | P0 |
| S4 | 任务代办执行 | 语音下达任务 | 任务状态语音回报 + 可选震动 | 中 | P0 |
| S5 | 设备异常与离线提醒 | 心跳/连接状态变化 | 语音告警 + 震动告警 | 高 | P0 |
| S6 | 紧急求助触发 | 长按按钮(或组合按键) | 求助确认反馈 + 上报状态 | 高 | P0 |

### 4.2 场景卡片模板(统一写法)

每个场景统一按以下结构描述,便于评审、研发和测试对齐:

1. 用户目标:用户在该场景下要达成什么。
2. 触发方式:按钮动作、语音指令、图像上报等。
3. 系统处理:后端关键处理链路(3-5 步)。
4. 用户反馈:语音播报内容、震动模式、时效要求。
5. 异常与降级:失败时如何兜底,不中断主流程。
6. 验收标准:可量化的成功判定。

### 4.3 P0 场景卡片

#### S1 行走中即时问答

- 用户目标:行走过程中快速获取信息,不影响继续通行。
- 触发方式:短按按钮进入聆听,用户语音提问。
- 系统处理:采集音频 -> 转写 -> Agent 推理 -> 生成回复 -> 下发播报。
- 用户反馈:2-4 秒内开始语音回复;必要时短震动提示播报开始。
- 异常与降级:模型超时则返回简短兜底语句;支持下一次按钮触发打断重试。
- 验收标准:回合成功率 >= 95%,打断后可在下一回合恢复可用。

#### S2 前方风险确认

- 用户目标:判断前方是否存在台阶、障碍、车辆等风险。
- 触发方式:设备上报图像,用户可追加语音问题(如“前面安全吗”)。
- 系统处理:图像入队 -> 分析与结构化 -> 风险分类 -> 生成答复。
- 用户反馈:高风险优先震动告警,再给语音解释;低风险仅语音提示。
- 异常与降级:图像分析失败时回退“无法确认,请减速并重新拍摄”。
- 验收标准:图像入库成功率 >= 98%,高风险场景必须有显式反馈。

#### S3 短时记忆回溯

- 用户目标:回忆最近路况或刚发生的事件(时间线记忆)。
- 触发方式:语音提问“刚才路口是什么情况”等。
- 系统处理:检索 session 相关 lifelog -> 语义召回 -> 组织回答。
- 用户反馈:优先给简洁结论,必要时补充时间与位置线索。
- 异常与降级:召回不足时明确说明“未检索到足够记录”,不编造细节。
- 验收标准:同 session 近时段问题可返回可解释的检索结果。

#### S4 任务代办执行

- 用户目标:将“查天气/问路线”等需求转为可追踪任务。
- 触发方式:语音下达任务目标。
- 系统处理:创建任务 -> 执行(MCP 优先,失败回退)-> 状态流转 -> 结果回推。
- 用户反馈:至少反馈“已受理/处理中/完成或失败”三类状态。
- 异常与降级:超时自动结束并给出重试建议。
- 验收标准:任务执行成功率 >= 90%(不含外部服务故障)。

#### S5 设备异常与离线提醒

- 用户目标:设备掉线、服务异常时用户能够被及时告知。
- 触发方式:heartbeat 超时、连接断开、关键服务不可用。
- 系统处理:状态检测 -> 告警事件生成 -> 反馈下发 -> 观测留痕。
- 用户反馈:语音“连接异常,请稍后重试”,并附加中/长震动模式区分严重程度。
- 异常与降级:网络恢复后自动恢复会话;持续异常时提示切换到基础模式。
- 验收标准:离线告警可观测,恢复后系统能继续新会话。

#### S6 紧急求助触发

- 用户目标:紧急情况下以最少动作触发求助流程。
- 触发方式:长按按钮(时长阈值由固件定义)。
- 系统处理:识别紧急事件 -> 写入事件留痕 -> 调用预设求助流程(可扩展)。
- 用户反馈:立即语音确认“已触发求助”,并给强震动确认。
- 异常与降级:若外部求助链路不可用,仍需本地确认并提示替代方案。
- 验收标准:触发后必须在 1 秒内给出本地确认反馈。

### 4.4 场景能力族(A-F)与本 PRD 映射

| 场景族 | 场景目标 | 关联 P0 场景 | 关键能力 |
|---|---|---|---|
| A 独立安全出行 | 从“能走”到“走得安心” | S1、S2、S5 | 语音问答、图像风险识别、告警反馈 |
| B 数字服务代办 | 从“会点按钮”到“办成事” | S4 | 云端 Agent 执行、任务状态回推 |
| C 记忆与找物 | 从“易丢易忘”到“可检索” | S3 | lifelog 时间轴、向量检索、RAG 回答 |
| D 家庭沟通与连接 | 从“难表达”到“可分享” | S3(可扩展) | 生活片段沉淀、摘要与分享能力 |
| E 情感陪伴与低干扰 | 从“喋喋不休”到“懂分寸” | S1、S5(可扩展) | 语音与震动协同、主动性与沉默策略 |
| F 弱网与续航受限 | 从“能用”到“稳定可用” | S1、S4、S5 | 按需上传、降级策略、瘦终端胖云端 |

说明:

- 本版 V1 以 A/B/C/F 为主落地,D/E 纳入“场景扩展路线”。
- D/E 相关能力在当前版本以可选能力或文档预留形式存在。

### 4.5 典型落地场景与验证路径

1. 盲校教学与校园通行
用于移动训练、场景识别、风险提示有效性验证。
2. 医院眼科康复中心
用于院内导航、就诊流程辅助与康复阶段评估。
3. 社区真实街区
用于复杂路线实测、弱网稳定性和长期随访验证。
4. 家庭场景
用于找物、记忆回溯、家庭共享日志与陪伴反馈评估。

### 4.6 场景优先级(产品/交付双视角)

1. 数字代办(B):差异化最强,直接提升“数字自主能力”。
2. 安全出行(A):硬件价值根基,必须稳定可用。
3. 记忆日志(C):提升日常确定感和复用价值。
4. 情感与低干扰(E):体现长期体验和伦理友好度。

## 5. 功能需求清单(V1)

### 5.1 设备接入与会话管理
Expand Down