# Nexus 全量未完成项修复计划 > **提交部门**: 管理组 > **部门负责人**: 项目经理 > **报告日期**: 2026-05-20 > **状态**: 待审查 ⏳ --- ## 执行总览 | 优先级 | 数量 | 预估工时 | 说明 | |--------|------|---------|------| | P0 安全底线 | 3 项 | 0.5h | API认证/导入修复/重复close | | P1 高优先级 | 6 项 | 2h | WebSocket推送/类型转换/缓存优化 | | P2 中等优先级 | 10 项 | 3h | 前端统一/索引/连接池/移动端 | | P3 WebFM+其他 | 5 项 | 2h | 图标/快捷键/持久化/文档 | --- ## 人员分工 ### 工程部 | 人员/技能 | 分配任务 | |-----------|---------| | **PHP 开发者** | P0-1 Nginx路径隔离 / P1-4 WebSocket进度条(PHP端) / P2-11 前端统一 / P2-19 curl_multi | | **Python 开发者** | P0-2 timedelta / P0-3 双重close / P1-5 类型转换 / P1-8 COUNT合并 / P1-9 Redis缓存 / P2-12 防火墙 / P2-18 httpx单例 | | **Frontend Developer** | P3-1 图标升级 / P3-2 快捷键 / P3-3 状态持久化 / P2-14 WebSocket仪表盘 / P2-15 移动端 | | **DBA** | P2-16 idx_is_online / P2-17 idx_server_started | | **安全工程师** | P2-13 会话超时审计 | | **Senior Developer** | P1-6 install脚本 / P1-7 test清理 / P2-10 agent残留清理 / 代码审查 | ### 测试部 | 人员/技能 | 分配任务 | |-----------|---------| | **Verify** | 逐项验证修复到位 | | **安全测试** | P0-1 API认证回归 | | **测试结果分析师** | 输出验证报告 | | **现实检验者** | 实际运行检查 | --- ## 详细修复方案 ### P0 — 安全底线(3项,0.5h) #### P0-1 API 公网暴露加认证 - **现状**: Nginx 未对 `/api/` 路径做认证隔离,公网可直接访问 - **修复方案**: Nginx location 限制 `/api/` 仅内网或加 auth - **负责**: PHP 开发者 - **预估**: 30min #### P0-2 scheduler.py timedelta import - **现状**: `from datetime import datetime, timedelta` 已正确(之前验证确认) - **修复方案**: 确认无误则标记关闭 - **负责**: Python 开发者 - **预估**: 5min #### P0-3 health_checker.py 双重 finally: db.close() - **现状**: 函数内 `try/finally` 嵌套导致 `db.close()` 可能被调用两次 - **修复方案**: 删除内层多余的 close 或改用单一 finally - **负责**: Python 开发者 - **预估**: 10min ### P1 — 高优先级(6项,2h) #### P1-4 WebSocket 实时推送进度条 - **现状**: 同步操作无实时进度反馈 - **修复方案**: sync_engine 推送 WebSocket 事件,前端显示进度条 - **负责**: Python 开发者 + PHP 开发者 - **预估**: 1h #### P1-5 类型转换修复 - **现状**: settings 从 DB/Redis 读取为字符串,未转 int/bool - **修复方案**: `config.py` 的 `load_settings_from_db` 加类型转换 - **负责**: Python 开发者 - **预估**: 15min #### P1-6 install_central.sh 模块名修正 - **现状**: 脚本中模块名可能拼写错误 - **修复方案**: 修正模块名 - **负责**: Senior Developer - **预估**: 5min #### P1-7 test_api.py 加 DELETE 清理 - **现状**: 测试创建服务器后未清理 - **修复方案**: 添加 DELETE 请求清理测试数据 - **负责**: Senior Developer - **预估**: 10min #### P1-8 3 次 COUNT 合并为 1 次 - **现状**: 仪表盘 3 次独立 COUNT 查询 - **修复方案**: 合并为单次 `SELECT COUNT(*), SUM(is_online) FROM servers` - **负责**: Python 开发者 - **预估**: 10min #### P1-9 /api/servers/ 加 Redis 30s 缓存 - **现状**: 每次请求都查 DB - **修复方案**: Redis 缓存 30s,减少 DB 压力 - **负责**: Python 开发者 - **预估**: 15min ### P2 — 中等优先级(10项,3h) | # | 任务 | 修复方案 | 负责 | 预估 | |---|------|---------|------|------| | P2-10 | agent残留清理 | 删除 agent.py/agent.sh 残留文件 | Senior Dev | 20min | | P2-11 | 前端统一 | sidebar 统一 + deploy.php 改 api() | PHP Dev | 30min | | P2-12 | firewalld | _open_firewall 补 firewalld 支持 | Python Dev | 10min | | P2-13 | 会话超时 | Redis TTL/GC/cookie 超时审计 | 安全工程师 | 20min | | P2-14 | 仪表盘WS | WebSocket 实时更新仪表盘 | Frontend | 30min | | P2-15 | 移动端 | sidebar折叠 + 响应式表格 | Frontend | 40min | | P2-16 | idx_is_online | ALTER TABLE servers ADD INDEX | DBA | 5min | | P2-17 | idx_server_started | ALTER TABLE sync_logs ADD INDEX | DBA | 5min | | P2-18 | httpx单例 | 模块级 AsyncClient 复用 | Python Dev | 10min | | P2-19 | curl_multi | api_proxy.php 并发请求 | PHP Dev | 20min | ### P3 — WebFM + 文档(5项,2h) | # | 任务 | 修复方案 | 负责 | 预估 | |---|------|---------|------|------| | P3-1 | 文件图标升级 | emoji→Font Awesome CDN + 文件类型映射 | Frontend | 40min | | P3-2 | 键盘快捷键 | 补 Ctrl+A/F2/F5/Backspace/Ctrl+C/X/V/F | Frontend | 30min | | P3-3 | 状态持久化 | sortCol/sortDir→sessionStorage + 恢复 | Frontend | 20min | | P3-4 | 文档更新 | README/宝塔指南/CHANGELOG | Senior Dev | 20min | | P3-5 | 注释英文化 | 删除宝塔注释,关键注释英文化 | Senior Dev | 10min | --- ## 执行时间线 ``` Phase 1 — P0 安全底线(~30min) ├─ P0-2 timedelta 确认 ├─ P0-3 双重 close 修复 └─ P0-1 Nginx 认证隔离 Phase 2 — P1 高优先级(~2h) ├─ P1-5 类型转换 ├─ P1-8 COUNT 合并 ├─ P1-9 Redis 缓存 ├─ P1-6 install 脚本 ├─ P1-7 test 清理 └─ P1-4 WebSocket 进度条 Phase 3 — P2 中等优先级(~3h) ├─ P2-16/17 索引 ├─ P2-18 httpx 单例 ├─ P2-12 防火墙 ├─ P2-10 agent 清理 ├─ P2-11 前端统一 ├─ P2-13 会话超时 ├─ P2-19 curl_multi ├─ P2-14 仪表盘 WS └─ P2-15 移动端 Phase 4 — P3 WebFM+文档(~2h) ├─ P3-1 图标升级 ├─ P3-2 快捷键 ├─ P3-3 状态持久化 ├─ P3-4 文档更新 └─ P3-5 注释英文化 Phase 5 — 测试验证(~1h) ``` --- ## 审批 | 角色 | 意见 | 签名 | 日期 | |------|------|------|------| | **项目经理** | ⏳ 待审批 | — | — |