Files
ShowenV2/docs/STATUS.md
XiuchengWu 6f7e24db63 feat: M2.1 客户端骨架、BLE 修复、仓库整理与现状板
- BLE: 修复 BlueZ LocalName 与 Includes 冲突,串行注册与退避
- HTTP: 语音对话补 Live2D talking 标志与 session;Web 补 X-Session-Id
- Flutter: 角色/对话/模型页 + API,Gradle/依赖升级,麦克风权限
- 文档: 新增 docs/STATUS.md,校准 CLAUDE/PROGRESS/README
- 清理: 移除根目录截图与临时模型,运维脚本迁入 scripts/device
2026-07-09 12:41:34 +08:00

6.4 KiB
Raw Blame History

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. 仓库结构(整理后)

ShowenV2/
├── CLAUDE.md              # CEO 操作手册(派发/铁律/当前状态)
├── README.md              # 架构与快速开始
├── PROGRESS.md            # 里程碑摘要
├── docs/
│   ├── STATUS.md          # ← 本文件(功能成熟度)
│   ├── M2.1_PRD.md        # M2.1 产品需求
│   └── ...
├── src/
│   ├── core/              # 微内核
│   └── plugins/           # video / http / ble / wifi / device / screen / live2d / ai
├── configs/               # 角色内容包 JSONdog/cat/live2d_anime
├── clients/flutter/       # 安卓控制 App
├── scripts/device/        # 设备运维脚本(从根目录迁入)
├── tests/                 # M1.2 集成测试
└── souls/                 # 团队档案

根目录禁止再堆:截图 *.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 安卓 AppFlutter · 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 说话态/sessionchat.js session 头
clients/flutter/ M2.1 三角色/对话/模型页 + Gradle/依赖升级
根目录清理 移除 xwd/haru 垃圾;脚本迁 scripts/device/

设备端:上述 BLE/HTTP 二进制可能已部署,但 git 与设备代码可能不完全一致,合并前需同步。


5. 不完善点(按优先级)

P0 — 不做则无法说「M2.1 可用」

  1. 真机验收闭环App 装机 → 角色切换 → 文字/语音对话 → 模型列表/切换
  2. 设备 ↔ 本机代码对齐commit + 设备 git pull/同步 + cargo test
  3. 对话失败可理解AI 未就绪 / 超时 / 模型缺失时App/Web 明确提示

P1 — 体验完整度

  1. App 对话历史本地存储 + 清空
  2. 切换角色时清空会话上下文App 已调 clearWeb 需确认)
  3. 模型下载进度实时刷新与失败重试
  4. Web HTTP 录音限制的产品文案统一
  5. release APK 与安装渠道

P2 — 技术债 / 收尾

  1. M1.2 tag m1.2
  2. 单实例保护
  3. sanitize_filename 测试转正
  4. CursorVisibility 等 Phase2 消息清理
  5. 数字人/歌姬素材管线

6. 建议下一轮工作顺序

1) 老板/本机:提交当前工作区改动(或拆成 ble / http / flutter 三提交)
2) 设备同步 + cargo test --workspace
3) App 真机:配网 → 角色 → 对话 → 模型 四条用户旅程
4) 按失败项修 P0
5) 再谈素材与 release

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