docs: 两人分工方案定稿

This commit is contained in:
dev-team 2026-10-23 09:31:52 +08:00
parent 155405fbcc
commit e0a076d570

View File

@ -41,17 +41,31 @@ git push -u origin feature/agent-nvenc # 推送并建立跟踪
示例:perf(agent): 采集限速 30fps 降低带宽需求
```
## 二、模块分工建议(按当前代码结构)
## 二、两人分工方案(定稿)
代码分三个 crate,边界清晰,天然适合按模块认领:
按"被控侧 / 主控侧"纵向切分,crate 边界即人的边界,避免合并冲突:
| 成员 | 主责模块 | 内容 |
|---|---|---|
| **A** | `agent/`(被控端) | DXGI 采集、openh264 编码调优 → NVENC 硬编、关键帧策略、Windows 服务化、后续 **Linux 被控端**(新 crate `linux-agent/`) |
| **B** | `viewer/`(主控端) | 渲染/HUD、键鼠映射、手机端主控(后期)、多屏支持 |
| **C** | `common/` + 传输/服务端 | 协议设计(serde 消息)、QUIC 调优、P2P 打洞 + coturn、信令服务器、码率自适应 |
### 成员 A —— 被控侧(agent/)
| 项 | 内容 |
|---|---|
| 主责 crate | `agent/`(以及未来的 `linux-agent/`) |
| 当前任务 | ① 双机复测 H.264 版拿实测数据;② NVENC/QSV 硬编(60fps 目标);③ Windows 服务化 + 守护进程;④ Linux 被控端(差异化卖点,UU 不做) |
| 技术域 | DXGI 采集、编码器、SendInput、Windows 服务 |
> 2 人时:A 管 agent 侧,B 管 viewer+common,传输/服务端按阶段共同承担。
### 成员 B —— 主控侧 + 协议(viewer/ + common/)
| 项 | 内容 |
|---|---|
| 主责 crate | `viewer/`、`common/` |
| 当前任务 | ① 配合 A 双机联调(负责启动/读 HUD 数据);② 码率自适应(接收端统计 → 反馈编码端);③ P2P 打洞 + coturn 中继 + 信令服务器;④ 多屏支持、文件传输 |
| 技术域 | 渲染/HUD、QUIC 调优、网络穿透、协议设计 |
### 共同规则
1. **`common/` 改动双人过审**:协议是两端契约,A 动了采集侧消息、B 动了解码侧消息都要对方看一眼;
2. **交叉 review**:A 的 PR 由 B 批准,B 的 PR 由 A 批准——两人都要懂全链路;
3. **联调接口**:新消息类型先在 `common/` 合入 main,再各自动两端,避免协议漂移;
4. **共享基础设施**(信令服务器、coturn 部署脚本)由 B 主建,A 参与;
5. **联调日**:每周固定一次双机联调(A 带被控机,B 带主控机),过完再合 main。
## 三、协作流程(一个功能的完整生命周期)