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

171 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 — 体验完整度
4. App 对话历史本地存储 + 清空
5. 切换角色时清空会话上下文App 已调 clearWeb 需确认)
6. 模型下载进度实时刷新与失败重试
7. Web HTTP 录音限制的产品文案统一
8. release APK 与安装渠道
### P2 — 技术债 / 收尾
9. M1.2 tag `m1.2`
10. 单实例保护
11. `sanitize_filename` 测试转正
12. CursorVisibility 等 Phase2 消息清理
13. 数字人/歌姬素材管线
---
## 6. 建议下一轮工作顺序
```text
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` |