Files
ShowenV2/README.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

66 lines
2.3 KiB
Markdown
Raw 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 — 数字生命窗口平台
基于 Rust 的跨平台插件微内核架构,支持全息/VR/AR/屏幕显示承载虚拟宠物、数字人、AI 歌姬、3D 模型等数字生命内容。
## 架构概览
```
ShowenV2/
├── CLAUDE.md / docs/STATUS.md # 管理手册 · 功能成熟度板
├── src/
│ ├── core/ # 插件微内核(消息/配置/动态插件/版本)
│ └── plugins/ # video · http · ble · wifi · device · screen · live2d · ai
├── configs/ # 角色内容包 JSON
├── clients/flutter/ # 安卓控制 AppM1 遥控 + M2.1 对话骨架)
├── scripts/device/ # 设备运维脚本
├── plugin-sdk/ · plugins/ # 动态插件 SDK 与示例
├── tests/ # M1.2 集成测试
└── docs/ # PRD / 测试计划 / STATUS
```
**功能做到哪了**:请先读 [`docs/STATUS.md`](docs/STATUS.md),勿仅看提交日期。
## 技术栈
- **语言**: Rust (edition 2021)
- **视频**: OpenCV 0.66
- **HTTP**: warp + tokio
- **BLE**: D-Bus + BlueZ (GATT)
- **WiFi**: nmcli
- **插件加载**: libloading
- **远程仓库**: ureq + flate2 + tar
## 动态插件系统
ShowenV2 支持两种插件模式:
1. **静态插件** — 编译时链接video, http, ble, wifi, device, screen, live2d, ai 等)
2. **动态插件** — 运行时加载 `.so` 文件,通过 `extern "C"` FFI + JSON 序列化通信
动态插件特性:
- 多版本管理 (`plugin_store/` 目录结构)
- 远程仓库下载安装 (HTTP + tar.gz)
- 错误自动回退 (AutoRollback / DisableAndLog)
- REST API 管理 (`/api/plugins/*`)
## 快速开始
```bash
# 验证配置
cargo run -- --validate --config configs/dog_state_machine.json
# 运行
cargo run -- --config configs/dog_state_machine.json
# 测试
cargo test --workspace
```
## 硬件与平台定位
- **平台定位**: ShowenV2 是通用数字生命窗口平台,不局限于“全息宠物播放器”
- **分辨率支持**: 支持 8K 以内所有分辨率显示
- **显示类型**: 支持 AR、VR、XR、普通屏幕、全息显示、投影、LED 矩阵,以及任何可运行的显示设备
- **当前调试环境**: Debian 11 KDE 桌面 (`ARM64` / `aarch64`)
- **跨平台策略**: 当前以 Linux/ARM64 为主,架构已为扩展到其他平台预留空间