Commit Graph

4 Commits

Author SHA1 Message Date
showen
7135f28545 feat: 实现动态插件系统 (6阶段完成)
- 阶段1: 消息类型序列化 (Serialize/Deserialize, &'static str → String)
- 阶段2: FFI 边界类型 + Plugin SDK (plugin_abi, showen-plugin-sdk crate)
- 阶段3: PluginLoader + DynamicPlugin (libloading 动态加载 .so)
- 阶段4: 版本管理 + 错误策略 (VersionManager, PluginState, 自动回退)
- 阶段5: 远程仓库客户端 (HTTP 下载 + tar.gz 安装)
- 阶段6: 示例插件 + HTTP 管理 API + 全目录 README 文档

54/54 测试通过,0 warnings。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 03:38:08 +08:00
showen
5af7fc18a5 feat: core tests, bug fixes, API docs rewrite, HTTP compat routes
- Fix state_machine reset_state_progress: reset sequence index before
  validation to prevent out-of-bounds error on state transitions
- Fix video transformer test: use ±1 tolerance for OpenCV interpolation
- Add core integration tests (service_manager, dependencies, messages)
- Add HTTP compat routes (/index.html, POST /api/wifi/scan, hotspot aliases)
- Rewrite clients/docs/API.md to match actual implementation
- Fix BLE unused imports warning
- CEO task planning for next round (ConfigReload, playlist snapshot)

cargo check: 0 warnings, cargo test: 22/22 passed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:40:17 +08:00
showen
b6e05e743f feat: 插件动态注册和多架构扩展设计
更新 PLUGIN_DEPENDENCY.md:
- 支持多架构并存(WiFi、BLE、Zigbee、LoRa、NFC 等)
- 新增动态扩展原则:
  - 插件动态注册和卸载
  - 插件动态安装(从插件市场)
  - 热插拔(不重启系统)
  - 版本管理和更新
  - 依赖检查

插件动态管理:
- 插件生命周期(下载→安装→注册→运行→卸载)
- 动态注册 API 设计
- 插件安装/卸载/更新流程
- 插件市场功能设计
- 安全机制(签名验证、沙箱隔离)

通讯插件扩展性:
- 有线通讯:以太网、USB、串口、CAN 总线
- 无线通讯:WiFi、BLE、Zigbee、LoRa、NFC、红外
- 网络协议:HTTP、WebSocket、MQTT、CoAP、gRPC
- 所有通讯方式都可以作为独立插件

更新 clients/:
- 新增开发者工具目录(cli、sdk、plugin-dev)
- 客户端类型可无限扩展
- 支持第三方开发者贡献
2026-03-12 06:47:57 +08:00
showen
fa692cd873 feat: 新增客户端应用目录结构
新增 clients/ 目录:
- 外部控制应用的统一目录
- 支持多种客户端类型:
  - 移动端:iOS, Android, Flutter
  - 小程序:微信、支付宝、抖音
  - Web:响应式 Web 应用、桌面应用
  - 智能设备:手表、音箱、智能家居

目录结构:
- shared/ - 共享代码(API 客户端、数据模型)
- web/ - Web 应用
- flutter/ - Flutter 跨平台应用
- ios/ - iOS 原生应用
- android/ - Android 原生应用
- wechat-miniapp/ - 微信小程序
- desktop/ - Electron 桌面应用
- docs/ - 客户端开发文档

文档:
- clients/README.md - 客户端总览和开发计划
- clients/docs/API.md - HTTP API 完整文档
- clients/docs/DESIGN.md - 设计规范和组件库

更新 PLUGIN_DEPENDENCY.md:
- 明确 WiFi + BLE 双架构模型
- BLE 既可配置 WiFi,也可独立提供网络功能
- 新增双架构设计原则
2026-03-12 06:46:05 +08:00