# ShowenV2 — 数字生命窗口平台 ## 愿景 ShowenV2 不仅是全息宠物播放器,而是一个**通用数字生命窗口平台**。 支持的显示模式: - **全息显示** — 半透镜 45° 伪全息(当前硬件) - **VR** — 头显输出(未来) - **AR** — 增强现实叠加(未来) - **直接屏幕** — 普通显示器/手机/平板 支持的内容类型: - **宠物动画** — 视频状态机驱动的虚拟宠物(当前核心) - **3D 模型** — 实时渲染 3D 角色/物体 - **数字人** — AI 驱动的虚拟形象 - **AI 歌姬** — 人工歌姬/虚拟歌手 - **未来内容** — 通过插件无限扩展 核心理念:**平台不关心内容是什么,插件决定一切**。 --- ## 项目信息 - 旧项目: `/home/showen/Showen/hologram_player_rust/` (单体全息宠物播放器) - 新项目: `/home/showen/Showen/ShowenV2/` - 架构: 跨平台插件内核 + 功能插件 - 团队: CEO(Claude Opus 4.6) + 4名开发者(GPT-5.4 via kilo) --- ## 完成进度 ### ✅ 已完成 | # | 提交 | 内容 | 负责人 | |---|------|------|--------| | 1 | `23f4d46` | 项目骨架:Cargo.toml, core/ 骨架, plugins/ 空桩 | CEO | | 2 | `3751c23` | 团队制度:末位淘汰 + 灵魂保存机制 | CEO | | 3 | `311e4ba` | CEO 灵魂文件 + souls/ 目录 | CEO | | 4 | `3654af5` | config验证 + StateMachine + WifiPlugin + ScreenPlugin | 全员 | | 5 | `650d98c` | 全员灵魂文件解锁 + 沟通板 | CEO | | 6 | `8ed9c93` | BLE/WiFi 状态回传 + WebSocket 编译修复 | 全员 | | 7 | `45c0a8d` | Video 单元测试 + on_video_completed 逻辑修复 | 全员 | | 8 | `404196f` | 插件架构审查报告 | 王思远 | | 9 | `6048831` | 新旧功能差异分析 | 李明哲 | | 10 | `5af7fc1` | core 集成测试 + bug修复 + API文档重写 + HTTP兼容路由 | CEO+全员 | | 11 | `4edbd34` | ConfigReloadRequest 闭环(P0消除)| CEO | ### ✅ 第四轮 Opus 团队 (全部完成) | # | 提交 | 内容 | 负责人 | |---|------|------|--------| | 12 | `9daf65d` | 暂停时释放防息屏锁 | 赵雨薇 | | 13 | `6ca5992` | /api/playlist 快照语义 | 李思琪 | | 14 | `e45573f` | FreeMode 状态随机游走 | 张明远 | | 15 | `7091008` | BLE GATT notify 落地验证 | 王浩然 | | 16 | `c48340d` | 插件依赖回归测试 (7 tests) | 周雅婷 | | 17 | `ff9c6a9` | QA Release 编译与质量报告 | 林晓峰 | ### ✅ 实机运行验证 (CEO) | 验证项 | 结果 | |--------|------| | 配置路径修复 | `../` → `../../` (configs/ 子目录修正) | | `--validate` | 21 个视频路径全部有效 | | 插件初始化 | 5/5 插件全部正常 start | | HTTP API | `/api/status`、`/api/playlist` 正常返回 JSON | | framebuffer | 检测到 fb0 480x800 | | GTK backend | SSH 环境无 DISPLAY 预期报错,实机 X session 无此问题 | ### ✅ M1.1 完成 - cargo check: **零 warning** - cargo test: **59/59 通过** - cargo build --release: **9.4MB ARM aarch64** - 实机启动: **通过** (SSH 无 GTK 是预期限制) - 动态插件系统:**6 阶段完成** - 插件自测机制:**已实现** (`capabilities + self_test + init→test→start`) ### ✅ 最新进展追加 | # | 提交 | 内容 | 负责人 | |---|------|------|--------| | 18 | `7135f28` | 动态插件系统 6 阶段完成 | 全员 | | 19 | `1863efb` | 修正 `souls/README.md` 团队成员信息 | CEO | | 20 | `待提交` | 插件自测机制:capabilities + self_test + 3阶段启动 | 全员 | --- ## 架构概览 ``` ┌─────────────────────────────────────────────────────┐ │ main.rs │ │ 加载配置 → 按平台注册插件 → ServiceManager.run() │ ├─────────────────────────────────────────────────────┤ │ core/ (跨平台内核,零业务逻辑) │ │ ServiceManager — 插件注册/生命周期/消息路由 │ │ Plugin trait — 统一插件接口 │ │ Message enum — 类型安全的消息协议 │ │ Config — 配置解析/验证(纯 serde) │ ├─────────────────────────────────────────────────────┤ │ 动态插件层 (FFI Loader / Runtime / Self-Test) │ │ plugin_store/ — 动态插件存储、发现、版本载入 │ ├─────────────────────────────────────────────────────┤ │ plugins/ (一切皆插件) │ │ video/ screen/ http/ ble/ wifi/ │ │ (未来: render/ avatar/ vr/ ar/ voice/ ai/ singer/) │ └─────────────────────────────────────────────────────┘ ``` --- ## 关键决策记录 1. **Rust edition 2018** — 兼容 ARM 设备 stable toolchain 2. **std::sync::mpsc** 消息传递 — VideoPlugin 在阻塞线程运行 3. **BLE 双连接修复** — conn_server 处理回调, conn_client 同步注册 4. **Message Clone** — 第二轮给 Message 实现 Clone 以支持 Broadcast 5. **团队通过文件沟通** — TEAM_CHAT.md 异步协作,souls/ 持久化成员状态 6. **kilo 调用方式** — `kilo run -m openai/gpt-5.4 --auto --dir