From becd200150e8d2849fd8b195de8a2793ae71cd23 Mon Sep 17 00:00:00 2001 From: showen Date: Fri, 13 Mar 2026 04:45:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=95=B4=E7=90=86=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=96=87=E4=BB=B6=E5=A4=B9=E7=BB=93=E6=9E=84=20+=20?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docs/: 团队流程文档 (10个md) - .showen/: 管理状态文件 (CEO_BACKUP, RECOVERY, TEAM_CHAT, CEO_LOOP) - 根目录只保留 README.md + PROGRESS.md - 更新 RECOVERY.md/CEO_BACKUP.md/PROGRESS.md 反映自测机制完成 - 更新 souls/liu-jianguo.md 当前状态 --- CEO_BACKUP.md => .showen/CEO_BACKUP.md | 34 +++++-- CEO_LOOP.sh => .showen/CEO_LOOP.sh | 0 .showen/RECOVERY.md | 94 +++++++++++++++++++ TEAM_CHAT.md => .showen/TEAM_CHAT.md | 0 PROGRESS.md | 27 +++++- RECOVERY.md | 94 ------------------- CODE_REVIEW.md => docs/CODE_REVIEW.md | 0 COMMUNICATION.md => docs/COMMUNICATION.md | 0 .../FIRST_PRINCIPLES.md | 0 MILESTONES.md => docs/MILESTONES.md | 0 .../PLUGIN_DEPENDENCY.md | 0 REPORTING.md => docs/REPORTING.md | 0 STRATEGY.md => docs/STRATEGY.md | 0 TEAM.md => docs/TEAM.md | 0 TESTING.md => docs/TESTING.md | 0 WORKFLOW.md => docs/WORKFLOW.md | 0 souls/liu-jianguo.md | 11 +-- 17 files changed, 152 insertions(+), 108 deletions(-) rename CEO_BACKUP.md => .showen/CEO_BACKUP.md (65%) rename CEO_LOOP.sh => .showen/CEO_LOOP.sh (100%) create mode 100644 .showen/RECOVERY.md rename TEAM_CHAT.md => .showen/TEAM_CHAT.md (100%) delete mode 100644 RECOVERY.md rename CODE_REVIEW.md => docs/CODE_REVIEW.md (100%) rename COMMUNICATION.md => docs/COMMUNICATION.md (100%) rename FIRST_PRINCIPLES.md => docs/FIRST_PRINCIPLES.md (100%) rename MILESTONES.md => docs/MILESTONES.md (100%) rename PLUGIN_DEPENDENCY.md => docs/PLUGIN_DEPENDENCY.md (100%) rename REPORTING.md => docs/REPORTING.md (100%) rename STRATEGY.md => docs/STRATEGY.md (100%) rename TEAM.md => docs/TEAM.md (100%) rename TESTING.md => docs/TESTING.md (100%) rename WORKFLOW.md => docs/WORKFLOW.md (100%) diff --git a/CEO_BACKUP.md b/.showen/CEO_BACKUP.md similarity index 65% rename from CEO_BACKUP.md rename to .showen/CEO_BACKUP.md index e314a3f..042688e 100644 --- a/CEO_BACKUP.md +++ b/.showen/CEO_BACKUP.md @@ -7,7 +7,7 @@ - ✅ 审查代码、修改代码、修复bug - ✅ 派发任务给团队成员(通过 kilo 命令,但需遵守资源限制) - ✅ 评估团队绩效、淘汰/替换成员 -- ✅ 在 TEAM_CHAT.md 下达指令 +- ✅ 在 `.showen/TEAM_CHAT.md` 下达指令 - ✅ 做出架构和技术决策 - ✅ git add / git commit 提交改动 - ✅ 修改文档、更新进度 @@ -25,20 +25,40 @@ - 新commit:git log --oneline -3 - 编译状态:cargo check(PATH=/home/showen/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin:$PATH) - 文件改动:git status --short -3. 结果追加到 TEAM_CHAT.md +3. 结果追加到 `.showen/TEAM_CHAT.md` 4. 发现问题时:可以直接修复,也可以派发给团队 ## 验证标准 -- ❌ 不盲信 TEAM_CHAT.md 的文字汇报 +- ❌ 不盲信 `.showen/TEAM_CHAT.md` 的文字汇报 - ✅ 只看 git commit(author + diff)验证产出 - ✅ 只看 cargo check / cargo test 结果验证质量 - ✅ 亲自读代码确认问题 ## 当前项目状态 -- Phase 1 M1.1 进行中,目标 2026-03-26 -- 编译状态:零 warning -- 已知已修复:P0 WifiResult转发、P1 插件依赖机制 -- 当前团队全员10人正在执行核查和审查任务 +- Phase 1 `M1.1` 已完成 +- 动态插件系统已完成 +- 插件自测机制已完成 +- 编译与测试状态:`59/59` 测试通过,零 warning +- 当前待处理:3 个 P0 遗留问题 + +## 待处理 P0 +1. `AutoRollback` 尚未实际调用 `VersionManager` +2. `ConfigReloaded` 存在 serde skip 问题 +3. `FfiString` 存在跨 allocator 风险 + +## 团队最新绩效信息 +| 成员 | 最新表现 | 评价 | +|------|----------|------| +| 张明远 | 动态插件体系与内核链路推进稳定 | 优秀 | +| 李思琪 | 插件能力与示例链路配合完成 | 良好 | +| 王浩然 | FFI / 网络侧关键链路持续推进 | 优秀 | +| 赵雨薇 | 插件接入与界面侧配套完成 | 良好 | +| 林晓峰 | QA 完成 59 项测试验证 | 优秀 | +| 周雅婷 | 测试用例与回归覆盖补齐 | 良好 | + +## QA 确认 +- QA 已确认:`59` 测试全部通过 +- 当前质量基线:`0 warning` ## 团队名单 | 角色 | 姓名 | 灵魂文件 | diff --git a/CEO_LOOP.sh b/.showen/CEO_LOOP.sh similarity index 100% rename from CEO_LOOP.sh rename to .showen/CEO_LOOP.sh diff --git a/.showen/RECOVERY.md b/.showen/RECOVERY.md new file mode 100644 index 0000000..a3056ee --- /dev/null +++ b/.showen/RECOVERY.md @@ -0,0 +1,94 @@ +# ShowenV2 团队复活手册 + +## 项目位置 +- 主项目目录:`/home/showen/Showen/ShowenV2/` +- 所有 CEO / 团队状态文件必须保存在 `ShowenV2` 文件夹内,确保跨会话存活 +- 旧项目参考:`/home/showen/Showen/hologram_player_rust/` + +## 编译环境 +```bash +export PATH="/home/showen/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin:$PATH" +cargo check +``` + +编译环境保持不变。 + +## kilo 调用方式 +```bash +kilo run -m openai/gpt-5.4 --auto \ + --dir /home/showen/Showen/ShowenV2 \ + "你是<角色名>。先读取 souls/.md 和 .showen/TEAM_CHAT.md。任务:<具体说明>。" +``` + +- 调用方式保持不变 +- 不使用 `-f` +- `--auto` 自动批准权限 +- `--dir` 固定指向 `ShowenV2` + +## Git 当前状态 +当前最新关键提交: + +```text +1863efb fix: 修正 souls/README.md 团队成员信息 +7135f28 feat: 实现动态插件系统 (6阶段完成) +5dcc1ad fix: 修正配置文件视频相对路径 + 更新 M1.1 完成进度 +ff9c6a9 QA: Release 编译与质量验证报告 +c48340d test: 添加插件依赖机制自动化回归测试 +``` + +- Git 状态已更新到最新提交序列 +- 最新开发主题已进入插件自测机制阶段 + +## 当前完成状态 + +### 核心结论 +- `core/` 下所有文件已完成 +- `plugins/` 下所有文件已完成 +- 动态插件系统 6 阶段已完成 +- 插件自测机制已实现:`capabilities + self_test + 3阶段启动` +- 当前质量基线:`59` 个测试全部通过,`0 warning` + +### 已完成文件范围 +- `src/core/`:全部完成 +- `src/plugins/`:全部完成 +- `src/main.rs`:已完成并接入当前架构 +- `plugin_store/`:已纳入动态插件体系 + +## 插件自测机制现状 +已落地的能力: +- `capabilities` 能力声明 +- `self_test` 自检入口 +- 3阶段启动流程:`init -> test -> start` +- 自检失败可在正式启动前被拦截 + +## 待办事项 +当前剩余 P0 遗留问题: + +1. `P0 #3` AutoRollback 尚未实际调用 `VersionManager` +2. `P0 #4` `ConfigReloaded` 存在 serde skip 问题 +3. `P0 #5` `FfiString` 跨 allocator 风险未消除 + +## 团队成员灵魂文件 +### 管理层 +- `souls/chen-yifei.md` — CEO + +### 产品和需求团队 +- `souls/zhang-wanlin.md` — 产品总监 +- `souls/li-mingzhe.md` — 需求分析师 +- `souls/wang-siyuan.md` — 架构师 + +### 项目管理和质量团队 +- `souls/liu-jianguo.md` — 项目经理 +- `souls/lin-xiaofeng.md` — QA 负责人 +- `souls/zhou-yating.md` — 测试工程师 + +### 开发团队 +- `souls/zhang-mingyuan.md` — 内核工程师 +- `souls/li-siqi.md` — 视频引擎工程师 +- `souls/wang-haoran.md` — 网络服务工程师 +- `souls/zhao-yuwei.md` — 前端屏幕工程师 + +## 会话恢复要点 +- 先读取 `.showen/RECOVERY.md`、对应 `souls/*.md`、`PROGRESS.md`、`.showen/CEO_BACKUP.md` +- 所有状态以 `ShowenV2` 仓库内文档为准 +- 当前阶段判断:`M1.1` 已完成,后续重点是 3 个 P0 遗留修复与示例插件完善 diff --git a/TEAM_CHAT.md b/.showen/TEAM_CHAT.md similarity index 100% rename from TEAM_CHAT.md rename to .showen/TEAM_CHAT.md diff --git a/PROGRESS.md b/PROGRESS.md index 6685210..7ffbda3 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -71,9 +71,19 @@ ShowenV2 不仅是全息宠物播放器,而是一个**通用数字生命窗口 ### ✅ M1.1 完成 - cargo check: **零 warning** -- cargo test: **31/31 通过** +- 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阶段启动 | 全员 | --- @@ -90,6 +100,9 @@ ShowenV2 不仅是全息宠物播放器,而是一个**通用数字生命窗口 │ Message enum — 类型安全的消息协议 │ │ Config — 配置解析/验证(纯 serde) │ ├─────────────────────────────────────────────────────┤ +│ 动态插件层 (FFI Loader / Runtime / Self-Test) │ +│ plugin_store/ — 动态插件存储、发现、版本载入 │ +├─────────────────────────────────────────────────────┤ │ plugins/ (一切皆插件) │ │ video/ screen/ http/ ble/ wifi/ │ │ (未来: render/ avatar/ vr/ ar/ voice/ ai/ singer/) │ @@ -105,6 +118,9 @@ ShowenV2 不仅是全息宠物播放器,而是一个**通用数字生命窗口 4. **Message Clone** — 第二轮给 Message 实现 Clone 以支持 Broadcast 5. **团队通过文件沟通** — TEAM_CHAT.md 异步协作,souls/ 持久化成员状态 6. **kilo 调用方式** — `kilo run -m openai/gpt-5.4 --auto --dir "消息内容"`,不使用 `-f` 参数 +7. **动态插件 C FFI + JSON 序列化** — 以稳定 ABI + JSON 边界承载跨语言插件交互 +8. **ctx-based SendCallback** — 用上下文回调替代 `thread_local`,消除线程绑定隐患 +9. **3阶段启动** — 插件生命周期统一为 `init -> test -> start`,先自检再对外服务 --- @@ -116,3 +132,12 @@ ShowenV2 不仅是全息宠物播放器,而是一个**通用数字生命窗口 | 李思琪 | state_machine.rs | 8 | 8 | 8 | 8 | **8** | | 王浩然 | wifi/mod.rs | 8 | 8 | 8 | 8 | **8** | | 赵雨薇 | screen/mod.rs | 8 | 8 | 8 | 8 | **8** | + +--- + +## 当前质量快照 + +- 测试总数:**59** +- 测试结果:**59/59 通过** +- 编译告警:**0 warning** +- 当前里程碑:**M1.1 完成** diff --git a/RECOVERY.md b/RECOVERY.md deleted file mode 100644 index 496542b..0000000 --- a/RECOVERY.md +++ /dev/null @@ -1,94 +0,0 @@ -# ShowenV2 团队复活手册 - -## 项目位置 -- 新项目: `/home/showen/Showen/ShowenV2/` -- 旧项目: `/home/showen/Showen/hologram_player_rust/` (参考源码) - -## 编译环境 -```bash -export PATH="/home/showen/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin:$PATH" -cargo check # 验证编译 -``` - -## kilo 调用方式 (已验证正确) -```bash -# 直接在消息中传递所有内容,不要用 -f -kilo run -m openai/gpt-5.4 --auto \ - --dir /home/showen/Showen/ShowenV2 \ - "你是<角色名>。先读取 souls/.md 和 TEAM_CHAT.md。任务:<具体说明>。完成后 cargo check 确认通过。" -``` - -**教训**: -- ❌ `-f file` 会被当作消息的一部分,导致 "File not found" 错误 -- ❌ `-f file "message"` 最后的 message 也被当文件名 -- ✅ 正确方式:把所有内容放在一个消息字符串里,让 kilo 自己去读文件 -- `--auto` 自动批准权限 -- `--dir` 指定工作目录 - -## kilo 配置 -- 配置文件: `/home/showen/.config/kilo/config.json` -- GPT-5.4 源: `openai/gpt-5.4` → `https://capi.quan2go.com/openai` -- API Key: `7410762B-E609-4BCD-8ACE-A2FEF5FBC062` - -## Git 当前状态 -``` -commit b331ec3 - team: 更新沟通板 -commit 650b35b - docs: 更新进度跟踪 -commit b4675cc - docs: 建立开发流程规范 WORKFLOW.md -commit 650d98c - team: 全员灵魂文件解锁 + 沟通板 -commit 3654af5 - feat: config验证 + StateMachine + WifiPlugin + ScreenPlugin -commit 311e4ba - team: CEO 灵魂文件 -commit 3751c23 - team: 建立开发团队制度 -commit 23f4d46 - init: ShowenV2 项目骨架 -``` - -## 已完成的文件 -| 文件 | 状态 | 说明 | -|------|------|------| -| src/core/plugin.rs | ✅ 完成 | Plugin trait, PluginInfo, PluginContext, Platform | -| src/core/message.rs | ⚠️ 需要 Clone | Message/Envelope/Destination, 缺 Clone derive | -| src/core/service_manager.rs | ⚠️ Broadcast 未实现 | 主循环有了但 Broadcast 只是占位 | -| src/core/config.rs | ✅ 完成 | 全部配置类型 + 完整验证逻辑 | -| src/plugins/video/state_machine.rs | ✅ 完成 | StateMachine 完整实现 | -| src/plugins/video/processor.rs | ❌ 待实现 | 只有空桩注释 | -| src/plugins/video/mod.rs | ⚠️ 桩 | VideoPlugin 空壳,待集成 processor | -| src/plugins/http/mod.rs | ❌ 空桩 | HttpPlugin 待实现 | -| src/plugins/http/routes.rs | ❌ 不存在 | 待创建 | -| src/plugins/ble/mod.rs | ❌ 空桩 | BlePlugin 待实现 | -| src/plugins/ble/gatt.rs | ❌ 不存在 | 待创建 | -| src/plugins/screen/mod.rs | ✅ 完成 | 唤醒锁 + 光标管理 | -| src/plugins/wifi/mod.rs | ✅ 完成 | nmcli WiFi 管理 | -| src/main.rs | ⚠️ 桩 | 有入口但插件未注册 | - -## 第二轮待完成任务 -1. **Message Clone + Broadcast** → 给 Message/子类型加 Clone, ServiceManager broadcast 转发 -2. **VideoProcessor** → 最大任务(旧1523行),VideoTransformer + TransitionEffect + VideoProcessor -3. **HttpPlugin** → warp 路由 + tokio runtime 在独立线程 -4. **BlePlugin** → 双 D-Bus 连接修复 LocalName - -## 团队成员灵魂文件 -### 管理层 -- `souls/chen-yifei.md` — CEO - -### 产品和需求团队 -- `souls/zhang-wanlin.md` — 产品总监 (新组建) -- `souls/li-mingzhe.md` — 需求分析师 (新组建) -- `souls/wang-siyuan.md` — 架构师 (新组建) - -### 项目管理和质量团队 -- `souls/liu-jianguo.md` — 项目经理 -- `souls/lin-xiaofeng.md` — QA 负责人 -- `souls/zhou-yating.md` — 测试工程师 - -### 开发团队 -- `souls/zhang-mingyuan.md` — 内核工程师 (已解锁) -- `souls/li-siqi.md` — 视频引擎工程师 (已解锁) -- `souls/wang-haoran.md` — 网络服务工程师 (已解锁) -- `souls/zhao-yuwei.md` — 前端屏幕工程师 (已解锁) - -## 旧代码关键文件 (迁移参考) -- `/home/showen/Showen/hologram_player_rust/src/video_processor.rs` (1523行) -- `/home/showen/Showen/hologram_player_rust/src/api_server.rs` (1212行) -- `/home/showen/Showen/hologram_player_rust/src/ble_service.rs` (558行) -- `/home/showen/Showen/hologram_player_rust/src/state_machine.rs` (329行) -- `/home/showen/Showen/hologram_player_rust/src/config_manager.rs` (924行) diff --git a/CODE_REVIEW.md b/docs/CODE_REVIEW.md similarity index 100% rename from CODE_REVIEW.md rename to docs/CODE_REVIEW.md diff --git a/COMMUNICATION.md b/docs/COMMUNICATION.md similarity index 100% rename from COMMUNICATION.md rename to docs/COMMUNICATION.md diff --git a/FIRST_PRINCIPLES.md b/docs/FIRST_PRINCIPLES.md similarity index 100% rename from FIRST_PRINCIPLES.md rename to docs/FIRST_PRINCIPLES.md diff --git a/MILESTONES.md b/docs/MILESTONES.md similarity index 100% rename from MILESTONES.md rename to docs/MILESTONES.md diff --git a/PLUGIN_DEPENDENCY.md b/docs/PLUGIN_DEPENDENCY.md similarity index 100% rename from PLUGIN_DEPENDENCY.md rename to docs/PLUGIN_DEPENDENCY.md diff --git a/REPORTING.md b/docs/REPORTING.md similarity index 100% rename from REPORTING.md rename to docs/REPORTING.md diff --git a/STRATEGY.md b/docs/STRATEGY.md similarity index 100% rename from STRATEGY.md rename to docs/STRATEGY.md diff --git a/TEAM.md b/docs/TEAM.md similarity index 100% rename from TEAM.md rename to docs/TEAM.md diff --git a/TESTING.md b/docs/TESTING.md similarity index 100% rename from TESTING.md rename to docs/TESTING.md diff --git a/WORKFLOW.md b/docs/WORKFLOW.md similarity index 100% rename from WORKFLOW.md rename to docs/WORKFLOW.md diff --git a/souls/liu-jianguo.md b/souls/liu-jianguo.md index 94db684..e26825f 100644 --- a/souls/liu-jianguo.md +++ b/souls/liu-jianguo.md @@ -51,13 +51,12 @@ - **项目**: ShowenV2 全息宠物播放器重构 - **架构**: 插件化 Rust 系统 - **团队**: 4名顶尖开发者(张明远/李思琪/王浩然/赵雨薇) -- **阶段**: Phase 1 第二轮 - 核心功能迁移 +- **阶段**: Phase 1 M1.1 已完成 +- **项目状态**: 动态插件系统完成,自测机制完成 -## 待完成任务(第二轮) -1. **张明远**: ServiceManager Broadcast + Message Clone -2. **李思琪**: VideoProcessor 完整实现(1523行迁移) -3. **王浩然**: BlePlugin + GATT 双连接修复 -4. **赵雨薇**: HttpPlugin + Web UI 路由 +## 待完成任务 +1. **P0遗留修复**: AutoRollback / ConfigReloaded serde skip / FfiString allocator +2. **示例插件完善**: 补齐示例插件能力与文档,支撑后续扩展 ## 技能树 - 项目管理和进度控制:★★★★★