Files
Nexus/docs/design/plans/2026-06-07-missing-features-alignment-plan.md
T
Nexus Agent c8b0663508
Nexus CI/CD / test (push) Waiting to run
Nexus CI/CD / deploy (push) Blocked by required conditions
Nexus Pre-commit Checks / quick-check (push) Waiting to run
feat: 批量IP添加、脚本库历史、推送权限记录与脚本SSH执行修复
批量添加替代CSV并支持去重;脚本库页内嵌执行历史;推送历史记录 rsync 权限策略;
脚本执行不再依赖 Agent 在线;服务器同步日志与相关单测补齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 03:15:40 +08:00

9.9 KiB
Raw Blame History

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 生产部署 dfb0ea2API + 前端静态) 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 nexus-full-site-features.md §23 至少 24h 折线图;数据来自 MySQL 历史或现有 heartbeat 落库
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 子 TabPlatform/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/uploadSFTP 专用流未暴露 P3 文档明确等价路径或补 UI

D. 产品 Backlog(非 14 页核心)

ID 功能 优先级 状态 说明 验收标准
D-01 Agent upgrade 与 install.sh venv 对齐 P1 upgrade-agent API 已有;需与 web/agent/install.sh 路径/venv 一致 升级后 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 / L4L5

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.mdVue SPA 非 Alpine P2
E-22 扩写功能指南 §12.8 Schedules、§12.6 Scripts 能力表 P2

1. 推荐执行顺序

Week 0(立即)
  A-01 → A-02 → A-03 + A-04 + A-05

Week 1P1 能力)
  B-01 Commands 推送日志视图
  B-04 CSV 模板
  D-01 Agent upgrade 对齐
  E-01 E-02 E-03

Week 2+P2/P3
  B-02 Dashboard 趋势
  C-01 资产管理页
  C-02 配置推送 UI
  E-09E-13 POSIX
  D-02D-05 按需

2. 单项 DoD(通用)

每项关闭须满足:

  1. docs/design/specs/ 或本计划 ID 引用(中改以上)
  2. 实现 + bash scripts/local_verify.sh 或针对性 pytest
  3. docs/changelog/YYYY-MM-DD-*.md
  4. 生产点验(A/B/C/D 类)或 E2EE-02
  5. 更新功能指南 / 本表状态 ☐→☑

3. 进度总表

A 部署验证     [~] 1/5 已部署,2~4 待浏览器/SSH
B 14页缺口     [~] 3/6B-01/B-04/B-05
C API无UI      [ ] 0/4
D 产品backlog  [ ] 0/5
E 工程债       [~] 2/22E-08/E-22)
─────────────────────
合计           [~] 6/31 本批完成或部分完成

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 导入、文件预览)