426 lines
9.6 KiB
Markdown
426 lines
9.6 KiB
Markdown
|
|
# 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
|