showen
d30c111c71
feat: M1.1 完成 + M1.2 启动 — 全量更新
...
M1.1 收尾:
- 24项 P0/P1/P2 bug 修复 (Rust 107 tests + Flutter 15 tests)
- Flutter App v0.3: cupertino_icons 修复, 单元测试, 调试面板, APK 52.6MB
- 示例插件完善: manifest.json + 请求/响应示范 + 7个测试
- API 文档重写 (以 routes.rs 为唯一权威)
- MILESTONES.md 更新至 100%
M1.2 启动:
- P0: 插件管理 API 闭环 (handle_manager_message Custom 分支 + broadcast_plugin_states)
- ServiceManager 集成测试 8/8 (tests/m1_2_service_manager.rs)
- M1.2 测试计划 (docs/M1.2_TEST_PLAN.md, 18个E2E场景)
- 动态插件系统: auto_rollback + version_manager GC + 路径穿越防护
总计: Rust 115/115 测试, Flutter 15/15 测试, 零 warning
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 18:12:42 +08:00
showen
6067c3f0a2
fix: 修复3个P0遗留 — AutoRollback回退/ConfigReloaded序列化/FfiString跨allocator
2026-03-13 05:15:04 +08:00
showen
99ee78984c
feat: 插件自动挂载测试机制 — capabilities + self_test + 3阶段启动
...
- Plugin trait 增加 capabilities() 和 self_test() 方法
- PluginVTable 增加 get_capabilities 和 self_test FFI
- ServiceManager 三阶段启动: init → self_test → start
- SendCallback 改为 ctx 参数传递,消除 thread_local
- export_plugin! 宏所有 FFI 函数包裹 catch_unwind
- PluginManifest 增加 capabilities/required_capabilities/auto_test
- 新增 3 个自测相关测试用例 (共 59 测试)
2026-03-13 04:31:39 +08:00
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
4edbd34797
feat: implement ConfigReloadRequest handler in ServiceManager
...
Complete the config hot-reload flow:
- ServiceManager receives ConfigReloadRequest from HTTP plugin
- Reloads config from source_path using AppConfig::from_file
- Updates internal config Arc
- Broadcasts ConfigReloaded(new_config) to all plugins
- Logs error on reload failure without crashing
This closes the P0 gap identified by architect Wang Siyuan:
the HTTP /api/config save endpoint promised hot-reload but
ServiceManager only had a TODO placeholder.
cargo check: 0 warnings, cargo test: 22/22 passed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:43:33 +08:00
showen
8ed9c93c8e
fix BLE wifi status delivery and websocket compile issues
2026-03-12 08:07:21 +08:00
showen
d443f28f6e
docs: 战略规划和管理架构优化
...
- 新增 STRATEGY.md: 三年战略规划、技术路线、团队策略
- 新增 MILESTONES.md: 详细里程碑和时间表(M1.1-M1.4)
- 新增 CODE_REVIEW.md: 代码审核标准和流程
- 组建管理班子: 新增 PM 刘建国,优化管理架构
- 丰富团队成员背景: 补充所有成员的教育经历、工作经验、技能树
- 解锁多线程思考能力: 团队成员可使用 kilo 命令并行探索
- 更新工作流程: CEO → PM → 开发团队,两级审核制度
- 修正 kilo 调用方式: 不使用 -f 参数,在消息中指示读取文件
2026-03-12 06:14:52 +08:00
showen
98ba7704dd
core: Message Clone + ServiceManager Broadcast 完整实现
...
张明远交付:
- Message/PlayerCommand/WifiCommand/Destination 加 derive(Clone)
- Broadcast 分支遍历所有插件转发 msg.clone()
- running 标志控制主循环
- Manager 收到 Shutdown 时先广播给所有插件再停
- cargo check 零 warning
Co-Authored-By: GPT-5.4 <noreply@openai.com >
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 05:42:53 +08:00
showen
23f4d46287
init: ShowenV2 项目骨架 — 数字生命窗口平台
...
- core/ 跨平台内核骨架 (Plugin trait, Message, ServiceManager, Config)
- plugins/ 空桩 (video, http, ble, screen, wifi)
- PROGRESS.md 进度跟踪, TEAM.md 团队档案
- cargo check 零 warning 通过
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 05:03:58 +08:00