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
This commit is contained in:
37
README.md
37
README.md
@@ -6,33 +6,20 @@
|
||||
|
||||
```
|
||||
ShowenV2/
|
||||
├── CLAUDE.md / docs/STATUS.md # 管理手册 · 功能成熟度板
|
||||
├── src/
|
||||
│ ├── core/ # 插件微内核
|
||||
│ │ ├── message.rs # 类型安全消息协议 (Serialize/Deserialize)
|
||||
│ │ ├── plugin.rs # Plugin trait 定义
|
||||
│ │ ├── service_manager.rs # 生命周期管理 + 消息路由 + 错误策略
|
||||
│ │ ├── config.rs # 配置解析/验证
|
||||
│ │ ├── dispatch.rs # 文本命令解析
|
||||
│ │ ├── plugin_abi.rs # C FFI 类型 (动态插件边界)
|
||||
│ │ ├── dynamic_plugin.rs # DynamicPlugin (libloading)
|
||||
│ │ ├── plugin_loader.rs # plugin_store/ 扫描/加载
|
||||
│ │ ├── version_manager.rs # 版本切换/回退/GC
|
||||
│ │ └── plugin_repo.rs # 远程仓库 HTTP 客户端
|
||||
│ └── plugins/ # 功能插件
|
||||
│ ├── video/ # 视频播放引擎 (OpenCV)
|
||||
│ ├── http/ # Web UI + REST API (warp)
|
||||
│ ├── ble/ # BLE 配网 (D-Bus BlueZ)
|
||||
│ ├── wifi/ # WiFi 管理 (nmcli)
|
||||
│ ├── device/ # 设备能力 (Display/SleepInhibit/Backlight/Cursor)
|
||||
│ └── screen/ # 屏幕管理 (thin wrapper,转发到 device)
|
||||
├── plugin-sdk/ # 动态插件开发 SDK
|
||||
├── plugins/
|
||||
│ └── example-plugin/ # 示例动态插件 (cdylib)
|
||||
├── configs/ # 配置文件 (状态机 JSON)
|
||||
├── clients/ # 外部控制客户端应用
|
||||
└── souls/ # 团队成员档案
|
||||
│ ├── core/ # 插件微内核(消息/配置/动态插件/版本)
|
||||
│ └── plugins/ # video · http · ble · wifi · device · screen · live2d · ai
|
||||
├── configs/ # 角色内容包 JSON
|
||||
├── clients/flutter/ # 安卓控制 App(M1 遥控 + M2.1 对话骨架)
|
||||
├── scripts/device/ # 设备运维脚本
|
||||
├── plugin-sdk/ · plugins/ # 动态插件 SDK 与示例
|
||||
├── tests/ # M1.2 集成测试
|
||||
└── docs/ # PRD / 测试计划 / STATUS
|
||||
```
|
||||
|
||||
**功能做到哪了**:请先读 [`docs/STATUS.md`](docs/STATUS.md),勿仅看提交日期。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **语言**: Rust (edition 2021)
|
||||
@@ -47,7 +34,7 @@ ShowenV2/
|
||||
|
||||
ShowenV2 支持两种插件模式:
|
||||
|
||||
1. **静态插件** — 编译时链接,6 个内置插件 (video, http, ble, wifi, device, screen)
|
||||
1. **静态插件** — 编译时链接(video, http, ble, wifi, device, screen, live2d, ai 等)
|
||||
2. **动态插件** — 运行时加载 `.so` 文件,通过 `extern "C"` FFI + JSON 序列化通信
|
||||
|
||||
动态插件特性:
|
||||
|
||||
Reference in New Issue
Block a user