ShowenV2 项目现状板
更新:2026-07-09
用途:一页看清「能干什么 / 不能干什么 / 下一步做什么」。
操作派发仍以 CLAUDE.md 为 CEO 手册;本文件是功能成熟度权威清单。
1. 里程碑总览
| 里程碑 |
状态 |
说明 |
| M1.1 |
✅ 完成 |
插件微内核、视频/设备/HTTP/BLE/WiFi 骨架 |
| M1.2 |
✅ 验收通过 |
目标机 147/147 测试全绿;仅差老板打 tag m1.2 |
| M2.1 |
🟡 进行中(半成品) |
语音数字生命 V1:后端/网页/App 已有骨架,体验与验收未闭环 |
2. 仓库结构(整理后)
根目录禁止再堆:截图 *.xwd、临时模型 .haru.*、一次性 .*.sh。
3. 能力成熟度矩阵
图例:✅ 可用 · 🟡 半成品 · ❌ 缺失 · 🚫 本期不做
3.1 设备端(Linux ARM64 · 192.168.31.105)
| 能力 |
状态 |
备注 |
开机自启 showen_v2.service |
✅ |
Restart=always,用户级 + Linger |
| 视频状态机 / Live2D 渲染 |
✅ |
设备画面主路径 |
| HTTP :5000 Web + API |
✅ |
|
| BLE 广播 + GATT 配网 |
✅ |
已修 LocalName/Includes 冲突;广播实例=1 |
| WiFi (nmcli) |
✅ |
|
| AI 对话管线 ASR→LLM→TTS |
🟡 |
设备实测文字对话可通;延迟数秒~十余秒 |
| 模型管理 API |
🟡 |
列表/下载/切换/删除有;进度/配额 UX 待验 |
| 角色配置切换 API |
✅ |
/api/config/available + switch 带 character 元信息 |
| 单实例锁 |
❌ |
防御性双保险未做 |
| 设备本机麦克风/扬声器对话 |
🚫 |
硬件未接;V1 声音走客户端 |
3.2 网页控制端(chat.html + chat.js)
| 能力 |
状态 |
备注 |
| 播放/触发/配置/视频/文件/WiFi |
✅ |
M1 存量 |
| 角色切换 UI |
🟡 |
有入口,端到端验收不足 |
| 文字对话 + 浏览器播 TTS |
🟡 |
API 通;人设/状态联动待系统验 |
| 按住说话 |
🟡 |
HTTP 下 getUserMedia 受限;PRD 允许降级 |
| 模型管理 UI |
🟡 |
有入口,下载进度/错误态未系统验 |
| 与 App 状态互相同步 |
🟡 |
依赖 WS/轮询,未做验收用例 |
3.3 安卓 App(Flutter · v0.4 debug APK)
| 能力 |
状态 |
备注 |
| 设备连接 / 播放 / 网络 / BLE 配网 / 设置 |
✅ |
M1 能力 |
| 角色页 |
🟡 |
代码已加,真机体验未验 |
| 对话页(文字+按住说话+播回复) |
🟡 |
代码已加,真机体验未验 |
| 模型管理页 |
🟡 |
代码已加,真机体验未验 |
| debug APK |
✅ |
clients/flutter/build/app/outputs/flutter-apk/app-debug.apk (~146MB) |
| release 签名包 |
❌ |
未打 |
| 对话历史本地持久化 / 隐私文案 |
❌ |
PRD 有要求 |
| 角色卡片封面图 |
❌ |
API 未提供 cover |
3.4 内容与素材
| 项 |
状态 |
| dog / cat 视频包 |
✅ 可用(路径仍偏仓库外历史形态) |
| live2d_anime 包 |
🟡 有配置,素材依赖设备本地 configs/live2d/ |
| 数字人/歌姬完整 4 状态视频包 |
❌ 素材未齐(PRD 最大外部依赖) |
角色 talk 状态全覆盖 |
🟡 宠物包可降级 |
4. 未提交改动(本机工作区,2026-07-09)
以下在仓库 working tree,尚未 commit(按老板规则不代提交):
| 区域 |
内容 |
src/plugins/ble/ |
BLE 广播 LocalName 修复 + 串行注册 |
src/plugins/http/ |
chat/audio 说话态/session;chat.js session 头 |
clients/flutter/ |
M2.1 三角色/对话/模型页 + Gradle/依赖升级 |
| 根目录清理 |
移除 xwd/haru 垃圾;脚本迁 scripts/device/ |
设备端:上述 BLE/HTTP 二进制可能已部署,但 git 与设备代码可能不完全一致,合并前需同步。
5. 不完善点(按优先级)
P0 — 不做则无法说「M2.1 可用」
- 真机验收闭环:App 装机 → 角色切换 → 文字/语音对话 → 模型列表/切换
- 设备 ↔ 本机代码对齐:commit + 设备
git pull/同步 + cargo test
- 对话失败可理解:AI 未就绪 / 超时 / 模型缺失时,App/Web 明确提示
P1 — 体验完整度
- App 对话历史本地存储 + 清空
- 切换角色时清空会话上下文(App 已调 clear;Web 需确认)
- 模型下载进度实时刷新与失败重试
- Web HTTP 录音限制的产品文案统一
- release APK 与安装渠道
P2 — 技术债 / 收尾
- M1.2 tag
m1.2
- 单实例保护
sanitize_filename 测试转正
- CursorVisibility 等 Phase2 消息清理
- 数字人/歌姬素材管线
6. 建议下一轮工作顺序
7. 环境速查
| 环境 |
要点 |
| 设备 SSH |
ssh -p 2222 showen@192.168.31.105(密码 showen) |
| 设备 Web |
http://192.168.31.105:5000/ |
| 本机 Flutter |
source ~/.showen_dev_env · Flutter 3.44.5 · JDK17 · Android SDK36 |
| 本机 APK |
clients/flutter/build/app/outputs/flutter-apk/app-debug.apk |
8. 文档导航
| 需求 |
文件 |
| 派任务 / 铁律 |
CLAUDE.md |
| 功能成熟度(本页) |
docs/STATUS.md |
| M2.1 产品定义 |
docs/M2.1_PRD.md |
| 里程碑摘要 |
PROGRESS.md |
| 架构入门 |
README.md |