# Nexus 6.0 团队分工与职责文档

## 项目团队结构

```
项目经理 (PM)
    ├── 技术负责人 (Tech Lead)
    │       ├── 后端开发组
    │       ├── 前端开发组
    │       └── DevOps组
    ├── 安全负责人 (Security Lead)
    └── 测试负责人 (QA Lead)
```

---

## 角色与职责

### 1. 项目经理 (PM)

**职责范围**:
- 项目进度管理
- 需求优先级排序
- 跨团队协调
- 客户沟通

**关注文件**:
- `CLAUDE.md` - 项目总体进度
- `docs/` - 需求文档
- `PROJECT_HANDOVER.md` - 项目状态

---

### 2. 技术负责人 (Tech Lead)

**职责范围**:
- 技术架构决策
- 代码审查
- 技术债务管理
- 团队技术指导

**关键文件**:
- `server/` - 后端架构
- `web/app/` - 前端架构
- `deploy/` - 部署架构

---

### 3. 后端开发组

#### 3.1 API开发工程师

**负责模块**:
```
server/api/
├── agent.py          # Agent心跳接收 (优先级: 高)
├── auth.py           # 认证授权 (优先级: 高)
├── auth_jwt.py       # JWT中间件 (优先级: 高)
├── servers.py        # 服务器CRUD (优先级: 高)
├── sync_v2.py        # 同步引擎API (优先级: 高)
├── scripts.py        # 脚本管理 (优先级: 中)
├── assets.py         # 资产管理 (优先级: 中)
├── settings.py       # 系统设置 (优先级: 中)
├── push.py           # 推送调度 (优先级: 中)
├── files.py          # 文件浏览 (优先级: 低)
├── webssh.py         # WebSSH (优先级: 低)
└── websocket.py      # WebSocket (优先级: 低)
```

**技能要求**:
- FastAPI / Python 3.9+
- Async SQLAlchemy 2.0
- Pydantic 数据验证
- JWT认证流程

#### 3.2 服务层工程师

**负责模块**:
```
server/application/services/
├── sync_engine_v2.py    # 同步引擎v2 (核心)
├── auth_service.py       # 认证服务
├── server_service.py     # 服务器服务
└── ...
```

**技能要求**:
- 业务逻辑设计
- 异步编程 (asyncio)
- SSH连接池管理
- 错误处理策略

#### 3.3 数据层工程师

**负责模块**:
```
server/infrastructure/database/
├── server_repo.py        # 服务器Repository
├── audit_log_repo.py     # 审计日志Repository
├── admin_repo.py         # 管理员Repository
├── sync_log_repo.py      # 同步日志Repository
└── ...

server/domain/models/
└── __init__.py           # SQLAlchemy模型 (14张表)
```

**技能要求**:
- SQLAlchemy ORM
- MySQL优化
- 索引设计
- 数据库迁移

#### 3.4 基础设施工程师

**负责模块**:
```
server/infrastructure/
├── ssh/
│   └── asyncssh_pool.py  # SSH连接池 (关键)
├── redis/
│   └── client.py         # Redis客户端
├── telegram/
│   └── __init__.py       # Telegram推送
└── database/
    └── session.py        # 数据库会话管理
```

**技能要求**:
- asyncssh 库
- Redis操作
- 网络编程
- 异步并发

---

### 4. 前端开发组

#### 4.1 页面开发工程师

**负责页面**:
```
web/app/
├── login.html          # 登录页 (优先级: 高)
├── index.html          # 仪表盘 (优先级: 高)
├── servers.html        # 服务器管理 (优先级: 高)
├── assets.html         # 资产管理 (优先级: 中)
├── push.html           # 推送页面 (优先级: 中)
├── scripts.html        # 脚本管理 (优先级: 中)
├── commands.html       # 命令日志 (优先级: 中)
├── files.html          # 文件浏览 (优先级: 低)
├── settings.html       # 系统设置 (优先级: 低)
├── audit.html          # 审计日志 (优先级: 低)
├── retries.html        # 重试队列 (优先级: 低)
├── terminal.html       # WebSSH终端 (优先级: 低)
└── install.html        # 安装向导 (一次性)
```

**技能要求**:
- HTML5 / CSS3
- Tailwind CSS v4
- Alpine.js 框架
- Fetch API

#### 4.2 共享组件工程师

**负责文件**:
```
web/app/
├── api.js              # API模块 (JWT+自动刷新+Toast)
├── layout.js           # 共享布局 (侧边栏+导航)
└── components/         # 可复用组件
```

**技能要求**:
- JavaScript模块化
- LocalStorage操作
- 事件驱动编程
- 响应式设计

---

### 5. DevOps组

#### 5.1 部署工程师

**负责文件**:
```
deploy/
├── supervisor/
│   └── nexus.conf      # Supervisor配置
├── nginx/
│   └── nexus.conf      # Nginx配置
├── db_backup.sh        # 数据库备份脚本
└── health_monitor.sh   # 健康检查脚本
```

**职责**:
- 服务器环境搭建
- 自动化部署脚本
- 配置管理
- 日志收集

**技能要求**:
- Linux系统管理
- Supervisor进程管理
- Nginx反向代理
- Shell脚本

#### 5.2 监控工程师

**负责模块**:
```
server/background/
├── self_monitor.py         # Python自检
├── heartbeat_flush.py      # 心跳数据刷新
├── scheduler.py            # 定时任务调度
└── retry_worker.py         # 重试队列处理
```

**职责**:
- 系统监控告警
- 性能指标收集
- 故障自动恢复
- 容量规划

**技能要求**:
- Python后台任务
- Redis数据流
- 监控工具 (Prometheus/Grafana)
- 告警策略

---

### 6. 安全负责人 (Security Lead)

**负责领域**:

#### 6.1 认证授权
```
server/api/auth.py
server/api/auth_jwt.py
server/application/services/auth_service.py
```

**关注点**:
- JWT安全 (密钥管理、过期策略)
- TOTP双因素认证
- 登录防暴破机制
- 会话安全 (8小时超时)

#### 6.2 数据加密
```
server/api/servers.py        # 凭据加密
server/infrastructure/       # 加密实现
```

**关注点**:
- Fernet对称加密
- 密钥安全存储
- API脱敏处理
- 传输层安全 (HTTPS)

#### 6.3 审计合规
```
server/infrastructure/database/audit_log_repo.py
server/api/                  # 审计日志调用
```

**关注点**:
- 操作审计全覆盖
- 敏感操作记录
- 审计日志查询
- 合规性检查

**技能要求**:
- 安全架构设计
- 加密算法
- 安全审计
- 漏洞评估

---

### 7. 测试负责人 (QA Lead)

**负责领域**:

#### 7.1 自动化测试
```
tests/
├── unit/                   # 单元测试
├── integration/            # 集成测试
└── e2e/                    # 端到端测试

test_p1_p2.py               # 功能验证脚本
```

#### 7.2 测试策略

| 测试类型 | 覆盖范围 | 工具 |
|----------|----------|------|
| 单元测试 | Repository, Service | pytest |
| API测试 | 所有API端点 | pytest + httpx |
| 集成测试 | 数据库、Redis、SSH | pytest |
| E2E测试 | 关键用户流程 | Playwright |

**技能要求**:
- Python测试框架
- API测试
- 性能测试
- 测试覆盖率

---

## 代码审查分工

### 审查矩阵

| 模块 | 主审查人 | 次审查人 |
|------|----------|----------|
| API层 | Tech Lead | 后端组长 |
| Service层 | 后端组长 | Tech Lead |
| Repository层 | 数据层工程师 | Tech Lead |
| 前端页面 | 前端组长 | Tech Lead |
| 共享组件 | Tech Lead | 前端组长 |
| 部署脚本 | DevOps组长 | Tech Lead |
| 安全配置 | Security Lead | Tech Lead |

### 审查清单

**后端代码审查**:
- [ ] 异步函数正确使用 async/await
- [ ] 数据库会话正确关闭
- [ ] 异常处理完善
- [ ] 审计日志记录
- [ ] JWT权限检查
- [ ] 输入参数验证

**前端代码审查**:
- [ ] API错误处理
- [ ] 加载状态显示
- [ ] 空状态处理
- [ ] 响应式布局
- [ ] XSS防护

---

## 沟通机制

### 日常沟通
- **站会**: 每日10:00，15分钟
- **频道**: 飞书/钉钉项目群
- **文档**: 飞书文档/Confluence

### 技术决策
- **架构评审**: Tech Lead + 相关开发
- **安全评审**: Security Lead + Tech Lead
- **代码审查**: 至少1人批准

### 问题升级
```
Level 1: 开发自行解决 (2小时内)
Level 2: 小组内讨论 (4小时内)
Level 3: Tech Lead介入 (1天内)
Level 4: 项目会议决策 (2天内)
```

---

## 知识传递

### 关键知识领域

| 领域 | 负责人 | 备份人 | 文档位置 |
|------|--------|--------|----------|
| 同步引擎 | 后端组长 | Tech Lead | `server/application/services/sync_engine_v2.py` |
| SSH连接池 | 基础设施工程师 | Tech Lead | `server/infrastructure/ssh/asyncssh_pool.py` |
| JWT认证 | Security Lead | 后端组长 | `server/api/auth_jwt.py` |
| 前端架构 | 前端组长 | Tech Lead | `web/app/api.js`, `layout.js` |
| 部署流程 | DevOps组长 | Tech Lead | `deploy/` |

### 培训计划

**新员工入职**:
1. 项目架构介绍 (Tech Lead, 2小时)
2. 代码规范培训 (各组长, 2小时)
3. 开发环境搭建 (DevOps, 4小时)
4. 第一个任务指导 (导师制, 1周)

---

## 交付物清单

### 已完成 ✅
- [x] 后端API (15个模块)
- [x] 前端页面 (15个HTML)
- [x] 数据库模型 (14张表)
- [x] 同步引擎v2 (4种模式)
- [x] 后台任务 (4个模块)
- [x] 部署配置 (Supervisor+Nginx)
- [x] 验证测试脚本

### 待开始 ⏳
- [ ] 生产环境部署
- [ ] 压力测试
- [ ] 安全渗透测试
- [ ] 用户验收测试
- [ ] 运维文档完善

---

## 风险与应对

| 风险 | 概率 | 影响 | 应对措施 |
|------|------|------|----------|
| SSH连接池性能瓶颈 | 中 | 高 | 监控连接数，调优池大小 |
| Redis单点故障 | 低 | 高 | 配置Redis Sentinel集群 |
| MySQL性能瓶颈 | 中 | 中 | 读写分离，索引优化 |
| 前端兼容性问题 | 中 | 低 | 多浏览器测试 |
| 安全漏洞 | 低 | 高 | 定期安全扫描 |

---

**文档维护**: Tech Lead  
**最后更新**: 2026/05/22
