Files
Nexus/TEAM_ROLES.md
T

426 lines
9.6 KiB
Markdown
Raw Normal View History

# 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:0015分钟
- **频道**: 飞书/钉钉项目群
- **文档**: 飞书文档/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