Nexus 6.0 — 缺失功能对齐计划(Backlog)
日期:2026-06-07
基线:docs/project/nexus-functional-development-guide.md §12 + 附录 E/J · dfb0ea2(脚本库+调度已 push)
对照审计:docs/reports/2026-06-06-frontend-14p-contract-audit.md
用途:逐项排期、勾选验收;禁止与已完成项重复实现。
0. 总览
| 类别 |
项数 |
说明 |
| A 待部署/生产验证 |
4 |
代码已在 Gitea,生产未生效或未点验 |
| B 14 页 SPA 能力缺口 |
6 |
相对功能 SSOT / 旧版 HTML 仍缺 UI 或细节 |
| C 后端有 API、前端无页 |
4 |
Sync/Assets 等 API 已存在 |
| D 产品增强(P1/P2/可选) |
5 |
非 14 页核心,但 backlog 仍列 |
| E 验收与工程债 |
12 |
L4/L5、POSIX、ENH、文档 SSOT |
| 合计可排期项 |
31 |
不含「已否决」功能 |
14 页 API 路径层:2026-06-06 审计 PASS(端点存在 ≠ 能力完整)。
已否决(不做,勿排期):RBAC、移动端、会话录像、审计 CSV 导出、邮件报告、Redis Cluster、独立文件编辑器模块。
A. 待部署与生产验证(优先)
代码已合入 main@dfb0ea2,不算功能缺失,但必须上线后才算对齐完成。
| ID |
任务 |
优先级 |
状态 |
涉及 |
验收标准 |
| A-01 |
生产部署 dfb0ea2(API + 前端静态) |
P0 |
☑ |
deploy/deploy-production.sh |
生产 git pull 后 API 重启;web/app/ 同步;/health 200 |
| A-02 |
DB 迁移 push_schedules.target_path |
P0 |
~ |
migrations.py 启动时 DDL |
生产 SHOW COLUMNS FROM push_schedules LIKE 'target_path' 有列 |
| A-03 |
脚本库生产点验 |
P0 |
~ |
ScriptsPage + /scripts/exec |
新建 ops 脚本 → 选机执行 → 状态条 #id;历史按 script_id 过滤;长任务/凭据可用 |
| A-04 |
推送调度生产点验 |
P0 |
~ |
SchedulesPage + schedule_runner |
新建 cron 推送:target_path 可选、next_run 有值、runNow 留空目标走各机配置;script 调度 runNow 走 /scripts/exec |
| A-05 |
边端 Agent 401 停循环 |
P1 |
☐ |
web/agent/agent.py |
错误 key 心跳 401 后子机 agent 不再无限重试(需各机同步 agent 文件) |
依赖:A-01 → A-02 → A-03/A-04 可并行点验。
B. 十四页 SPA — 相对设计 SSOT 的能力缺口
| ID |
页面 |
缺失能力 |
优先级 |
状态 |
设计依据 |
验收标准 |
| B-01 |
Commands /commands |
推送日志视图(第三 Tab:rsync 历史、状态/模式/触发源过滤) |
P1 |
☑ |
旧版 commands.html 三视图;现 SPA 仅命令+会话 |
第三视图可调 GET /servers/logs 或 sync_logs 分页 API;筛选与 Push 历史一致 |
| B-02 |
Dashboard / |
历史趋势图(CPU/内存/磁盘时序,非仅 Redis 实时) |
P2 |
☑ |
fleet_metric_samples + v-sparkline |
至少 24h 折线图;10min 舰队采样 |
| B-03 |
Files /files |
树形侧栏目录导航 |
P3 |
☐ |
归档 §12 文件管理「未实现:树形侧栏」 |
左树右表;与 browse API 联动 |
| B-04 |
Servers /servers |
CSV 导入模板静态文件缺失 |
P2 |
☑ |
UI 链到 /app/servers_import_template.csv 但仓库无此文件 |
提供模板 CSV + 文档列说明;导入 E2E 一条 |
| B-05 |
Schedules /schedules |
设计文档 §12.8 扩写(push/script、cron/once 已代码实现) |
P2 |
☑ |
功能指南仍只写一行「Cron 调度推送」 |
更新 SSOT 与附录 E.1 字段表;避免下轮误判缺失 |
| B-06 |
Settings /settings |
子机 Agent 批量同步入口(若运维需要一键提示) |
P3 |
☐ |
边端 A-05 依赖人工 scp |
文档或设置页展示 agent 升级/同步命令(非必须新 API) |
说明(勿重复做):
- WebSSH 断线自动重连:
useTerminalSessions.ts 已实现指数退避重连 → 归档 §23 过时,仅需 生产验证,不新开 B 项。
- CSV 批量导入:
ServersPage + POST /servers/import 已实现 → 仅 B-04 补模板。
- 文件内容预览:
FilesDialogs.vue preview 已实现 → 不列入缺口。
- 脚本库 / 调度:B 类无缺口;归 A-03/A-04 部署验证。
C. 后端 API 已有、前端无独立页面
| ID |
API 模块 |
端点(示例) |
缺失 UI |
优先级 |
状态 |
验收标准 |
| C-01 |
资产管理 |
GET/POST/PUT/DELETE /api/assets/platforms |
无 #/assets 页;Platform/Node 仅在服务器表单下拉只读 |
P2 |
☐ |
独立页或 Settings 子 Tab:Platform/Node CRUD + 审计 |
| C-02 |
Sync 配置推送 |
POST /api/sync/config、/config/rollback |
无配置批量下发 UI |
P2 |
☐ |
选服务器 + key/value 或文件;回滚一次操作 |
| C-03 |
Sync 批量命令 |
POST /api/sync/commands |
无独立页(脚本库部分覆盖) |
P3 |
☐ |
与 Scripts 边界写清:临时命令 vs 入库脚本 |
| C-04 |
Sync SFTP |
POST /api/sync/sftp |
文件页 upload 走 /sync/upload,SFTP 专用流未暴露 |
P3 |
☐ |
文档明确等价路径或补 UI |
D. 产品 Backlog(非 14 页核心)
| ID |
功能 |
优先级 |
状态 |
说明 |
验收标准 |
| D-01 |
Agent upgrade 与 install.sh venv 对齐 |
P1 |
☑ |
server/utils/agent_deploy.py 统一 pip/路径/port;单台与批量共用 |
升级后 agent 版本与中心一致;install 脚本 idempotent |
| D-02 |
宝塔 API 监控集成 |
可选 |
☐ |
可选增强 |
设计文档 + 配置项 + 只读指标 |
| D-03 |
Agent mTLS |
可选 |
☐ |
安全增强 |
ADR + 双端证书轮换方案 |
| D-04 |
全局搜索增强 |
P3 |
☐ |
App.vue 已有 /search/ |
结果分组、键盘导航、schedules 新字段展示 |
| D-05 |
E2E:凭据轮询 |
P2 |
☐ |
审计报告 §5 建议 |
add-by-ip 失败 → pending → 重试/删除 Playwright |
E. 验收、审计与文档工程债
E.1 测试与验收(Phase F / L4–L5)
| ID |
任务 |
优先级 |
状态 |
命令/文档 |
| E-01 |
修复本地 local_verify.sh 登录 401 环境 |
P1 |
☐ |
.env + seed_local_admin.py |
| E-02 |
L4 Playwright 15 用例全绿 |
P1 |
☐ |
frontend/e2e/full-acceptance.spec.mjs |
| E-03 |
L5 生产验收清单勾选 |
P1 |
☐ |
production-verification-checklist.md |
| E-04 |
T-01 心跳 Redis 写入 |
P2 |
☐ |
Agent 60s → heartbeat:{id} |
| E-05 |
T-02 WebSocket 告警 + Telegram |
P2 |
☐ |
浏览器 WS + 消息 |
| E-06 |
T-03 三层守护杀进程重启 |
P2 |
☐ |
Supervisor 恢复 |
| E-07 |
T-05 install 向导五步 |
P2 |
☐ |
干净环境 E2E |
| E-08 |
acceptance_catalog 增 add-by-ip / schedules 字段 |
P3 |
☐ |
tests/acceptance_catalog.py |
E.2 POSIX 审计批次(Phase E)
| ID |
任务 |
状态 |
| E-09 |
POSIX-14 unix_ls.py 边界用例 |
☐ |
| E-10 |
POSIX-15 前端 remotePath.ts 扫尾 |
☐ |
| E-11 |
POSIX-16 sync_engine_v2 rsync 目标回归 |
☐ |
| E-12 |
POSIX-17 生产 Win 开发 + Linux SSH 目标回归 |
☐ |
| E-13 |
POSIX-18 nexus-posix-paths.mdc + 可选 CI |
☐ |
E.3 增强项(Phase G)
| ID |
任务 |
优先级 |
状态 |
| E-14 |
ENH-01 危险路径 chmod 二次确认 |
P2 |
☐ |
| E-15 |
ENH-02 find -maxdepth 替代大范围 chmod -R |
P3 |
☐ |
| E-16 |
ENH-03 预加载失败聚合提示 |
P3 |
☐ |
| E-17 |
ENH-04 NEXUS_FILES_ELEVATION_DEFAULT env |
P3 |
☐ |
| E-18 |
ENH-08 文件列表「权限」列默认隐藏 + 列设置 |
P3 |
☐ |
E.4 文档 SSOT 漂移(避免误判「缺失」)
| ID |
任务 |
优先级 |
状态 |
| E-19 |
更新 AI-HANDOFF-2026-06-03.md 指针与 commit |
P1 |
☐ |
| E-20 |
修正 nexus-full-site-features.md §23(重连/CSV/预览已实现) |
P1 |
☐ |
| E-21 |
更新 status.md(Vue SPA 非 Alpine) |
P2 |
☐ |
| E-22 |
扩写功能指南 §12.8 Schedules、§12.6 Scripts 能力表 |
P2 |
☐ |
1. 推荐执行顺序
2. 单项 DoD(通用)
每项关闭须满足:
- 有
docs/design/specs/ 或本计划 ID 引用(中改以上)
- 实现 +
bash scripts/local_verify.sh 或针对性 pytest
docs/changelog/YYYY-MM-DD-*.md
- 生产点验(A/B/C/D 类)或 E2E(E-02)
- 更新功能指南 / 本表状态 ☐→☑
3. 进度总表
4. 相关文档
| 文档 |
路径 |
| 功能 SSOT |
docs/project/nexus-functional-development-guide.md |
| 14 页契约审计 |
docs/reports/2026-06-06-frontend-14p-contract-audit.md |
| Master backlog |
docs/project/2026-06-01-master-backlog-plan.md |
| 脚本库修复 changelog |
docs/changelog/2026-06-07-scripts-spa-perfect-implementation.md |
| 调度修复 changelog |
docs/changelog/2026-06-07-schedules-perfect-implementation.md |
| 验收标准 |
docs/project/development-acceptance-standard.md |
变更记录
| 日期 |
变更 |
| 2026-06-07 |
初版:31 项可排期 backlog;标注 dfb0ea2 待部署;剔除已实现误报(自动重连、CSV 导入、文件预览) |