Files

242 lines
10 KiB
Markdown
Raw Permalink Normal View History

# Nexus — AI 接续(2026-06-08 · Linux
> **已由 [AI-HANDOFF-2026-06-09.md](AI-HANDOFF-2026-06-09.md) 取代**(生产 @ `56139a4` 时区交付)。下文保留 Master Backlog 索引。
> SSOT`docs/project/nexus-functional-development-guide.md` · 门控 `bash deploy/pre_deploy_check.sh`
---
## 复制提示词(整段给新会话)
```
【Nexus 6.0 接续 · Linux · 2026-06-08】
工作区:$NEXUS_ROOT(本机 ~/桌面/Nexus 或 /opt/nexus
仓库:http://66.154.115.8:3000/admin/Nexus.git · 分支 main @ a401ea5
生产:https://api.synaglobal.vip · Docker @ /opt/nexus · 端口 8600
SSHexport NEXUS_SSH="azureuser@20.24.218.235"
export NEXUS_SSH_KEY="/home/r/下载/Telegram Desktop/nz-admin.pem" # 路径含空格须引号
pushbash scripts/git-push.sh(凭据 deploy/nexus-1panel.secrets.shgitignore
部署:bash deploy/pre_deploy_check.sh && bash deploy/deploy-production.sh
【栈】FastAPI + Async SQLAlchemy + Redis · Vue 3 + Vuetify 4 SPA15 页)· Vite → web/app/
【铁律】单 Agent · 完美实现 perfect-implementation.mdc · 改代码必 changelog + 部署前 audit · 测试 Agent 做、用户终验
【生产已部署(a401ea5)】
- server_ids 批量上限 2000 + 列表 422 中文完整(a401ea5
- 设置页 v-form 校验 + 422 中文 + 数值字段 String 保存(632891e / ff143c2
- 未设路径服务器区:独立面板、行内详情、批量操作与主表齐平、sort-by 排序(85ecd1f
- 未设路径批量检测选中数修复(05c7aeb)
- 展开详情对比度 + 同步日志仅 1 条(d0526c0
- 资源恢复 Telegram 联动 CPU/内存/磁盘开关;仪表盘移除服务器列表(fe8b24c/cb49fd9
- 登录门控/壁纸/IP 校验、页面缓存刷新、server_batch 后台任务、WebSSH ANSI、终端快捷栏等(见 git log 2026-06-08
【本会话运维记录】
- 批量任务 #20install-agent)因部署重启僵尸 running;已通过任务 #26 对 #290/#346 重装 Agent 成功
- 用户报「server_ids 最多 50 项s after validation, not 101」→ 已修并部署 a401ea5
- 设置页连接池保存 422「Input should be a valid string」→ 已修并部署 ff143c2/632891e
【2026-06-08 已部署 69068e2】
- server_batch 僵尸回收 + stuck 60s 扫描
- sync_logs 30 天 purge(启动首轮 + 24h
- 批量安装 Agent:已装且版本 ≥ 主站则跳过
- 验证:`docs/reports/2026-06-08-full-align-deploy-verification.md`
【用户终验待确认】
- 全选 101 台批量操作(install-agent / detect-path)不再 422
- 设置页连接池等数值字段保存
- 未设路径区排序、批量检测选中数、展开对比度、关 CPU 告警无恢复 Telegram
- WebSSH 实连 pwd、Telegram 测试发送、推送预览(勿误推生产)
【优先待办 TOP 10】
1. server_batch 僵尸回收 ☑(69068e2 已部署)
2. sync_logs 30 天自动清理 ☑(69068e2 已部署)
3. Agent 401 停循环 ☑(代码+单测;子机 rollout 见 #7
4. Agent upgrade 与 install.sh venv 对齐(D-01
5. ~75 条后端 API 英文 detail 改中文(Pydantic 422 已部分中文化)
6. 更新 AI-HANDOFF + alignment-plan 勾选状态(文档 SSOT
7. L4 Playwright 全绿 + L5 production-verification-checklist
8. Dashboard 24h 历史趋势图(B-02
9. 资产管理页 / Sync 配置 UIC-01/C-02
10. POSIX-1418 + 文件管理 FM-L* 生产浏览器验收
【完整 132 条待办】docs/project/AI-HANDOFF-2026-06-08.md §Master Backlog 索引
【对齐计划 31 项】docs/design/plans/2026-06-07-missing-features-alignment-plan.md
【Master 长计划】docs/project/2026-06-01-master-backlog-plan.md
【勿重复做 / 已否决】RBAC、移动端、会话录像、审计 CSV 导出、邮件报告、Redis Cluster、独立文件编辑器
【已风险接受】WebSocket JWT queryADR-011)、Agent global API_KEY legacy — risk-acceptance-single-operator.md
【工作区】69068e2 已 push/deploy;本地勿提交 web/app/assets/* 构建残留、gate_log.jsonl、.cursor/settings.json
【文档】Handoff 本文 · 功能指南 nexus-functional-development-guide.md · 验收 development-acceptance-standard.md
```
---
## 生产状态
| 项 | 值 |
|----|-----|
| 分支 | `main` @ **`69068e2`** |
| 生产 URL | `https://api.synaglobal.vip` |
| 运行时 | Docker Compose @ `/opt/nexus`1panel-network |
| SSH | `azureuser@20.24.218.235`(本机 `Host nexus` 常不可用,用 IP + pem |
| 最近部署 | 2026-06-08 — server_ids 2000 + 422 中文(`a401ea5`)· `/health` ok · `/app/` 200 |
---
## 2026-06-08 已推送主要变更(摘要)
| Commit | 主题 |
|--------|------|
| `a401ea5` | server_ids 批量上限 2000;列表 too_long 422 纯中文 |
| `632891e` | 设置页 v-form 校验;422 中文;SettingUpdatePayload 数字 coerce |
| `ff143c2` | 设置保存数值字段 String(value) 修 422 |
| `85ecd1f` | 未设路径区表格 `sort-by` 服务端排序 |
| `05c7aeb` | 未设路径批量检测对话框选中数 |
| `d0526c0` | 展开详情对比度;同步日志 limit=1 |
| `fe8b24c` | 资源恢复 Telegram 联动 CPU/内存/磁盘开关 |
| 更早 | 登录门控、pages 自动刷新、server_batch 后台、WebSSH ANSI 等(见 `docs/changelog/2026-06-08-*.md` |
---
## 本会话未完成(写入日志 · 2026-06-08 对话框结束)
### A. 代码已写未提交
| 模块 | 状态 | 说明 |
|------|------|------|
| server_batch 僵尸回收 | ☐ 未 commit | `recover_orphaned_batch_jobs` + `server_batch_reconcile_loop` 60schangelog/plan 已有 |
| 若干 verification 报告 | ☐ 未提交 | `docs/reports/2026-06-08-*-verification.md` 多份 |
### B. 已识别待做(未开始或部分)
| # | 项 | 状态 |
|---|-----|------|
| 3 | sync_logs 30 天自动 purge | ☑ |
| 4 | Agent 401 停循环(A-05 | ☑~(待部署+子机升级) |
| 5 | upgrade-agent 与 install.sh 对齐(D-01 | ☐ |
| — | ~75 条后端 API 英文 `detail` 改中文 | ☐ |
| — | ~25 前端英/混排标签 | ☐ |
| 2931 | L4 Playwright + L5 验收清单 | ☐ |
| 8795 | 用户浏览器终验(WebSSH/Telegram/推送等) | ~ |
### C. 工作区卫生
- 勿提交:`web/app/assets/*``deploy/gate_log.jsonl``.cursor/settings.json`
- Handoff 本文已更新至 `a401ea5`server_batch reconcile 待下一会话收尾
---
## 关键路径
| 用途 | 路径 |
|------|------|
| 后端入口 | `server/main.py` |
| 服务器 API/批量 | `server/api/servers.py` · `server/application/services/server_batch_service.py` |
| 批量回收(未提交) | `server/background/server_batch_reconcile.py` |
| 422 中文 | `server/utils/validation_errors_zh.py` |
| 未设路径前端 | `frontend/src/components/servers/ServerUnsetPathPanel.vue` · `ServersPage.vue` |
| Agent 安装 | `web/agent/install.sh` |
| 门控 | `deploy/pre_deploy_check.sh`7/7 |
| 部署 | `deploy/deploy-production.sh` |
---
## Master Backlog 索引(132 条 · 2026-06-08 盘点)
> 新会话接某编号时说「做 #N」即可。
### 一、运维可靠性(17
1. server_batch 僵尸任务回收(例 #20 ☑~ **(本地已实现,待部署)**
2. server_batch 启动 stuck 扫描 ☑~ **(同上)**
3. sync_logs 30 天自动 purge ☑
4. Agent 401 停循环(A-05 ☑~
5. upgrade-agent 与 install.sh 对齐(D-01
6. 生产复核 `push_schedules.target_path` 列(A-02 ~
7. 各子机同步 agent.pyA-05 依赖) ☐
### 二、对齐计划 A 部署点验(8–12)
8. A-01 持续部署 ☑ · 9. A-02 ~ · 10. A-03 脚本库点验 ~ · 11. A-04 调度点验 ~ · 12. A-05 同 #4
### 三、14 页缺口 B1319
13. B-01 Commands 推送日志 Tab ☑~ · 14. B-02 Dashboard 24h 趋势 ☐ · 15. B-03 Files 树形侧栏 ☐
16. B-04 CSV 模板 ☑~ · 17. B-05 SSOT 扩写 ☑ · 18. B-06 Settings Agent 指引 ☐ · 19. WebSSH 重连生产验证 ~
### 四、API 无 UI C2023
20. C-01 资产管理页 ☐ · 21. C-02 Sync 配置 UI ☐ · 22. C-03 Sync 批量命令 ☐ · 23. C-04 Sync SFTP ☐
### 五、产品 D2428
24. D-01 同 #5 · 25. D-02 宝塔监控 ☐ · 26. D-03 mTLS ☐ · 27. D-04 搜索增强 ☐ · 28. D-05 凭据轮询 E2E ☐
### 六、验收 E2950
29. E-01 local_verify 401 ☐ · 30. E-02 Playwright 15 绿 ☐ · 31. E-03 L5 清单 ☐
3235. E-04E-07 心跳/WS/守护/install E2E ☐ · 36. E-08 ☑ · 3741. POSIX-1418 ☐
4246. ENH-0104/08 ☐ · 4750. 文档 SSOT E-1922#47/#50 部分 ☑)
### 七、Master FM/T5181
51. A-09 local_integration_smoke ☐ · 52. Phase C 浏览器 L1L4 ☐ · 5374. FM-L1L4 文件管理生产验收 ☐
7577. ENH-0507 文档回写 ☐ · 78. T-04 Telegram ☐ · 79. T-06 同 #31 · 80. T-07 WebSSH ~ · 81. T-08 CSV ☑
### 八、Handoff 可选(8286
82. 全选筛选结果 ☑ · 83. 失败分组 ☑ · 84. 失败导出 CSV ☐ · 85. 归档旧 handoff ☐ · 86. 其它表 sort 扫尾 ☐
### 九、用户终验(8795
8790. WebSSH/推送/Telegram/kill 自愈 ☐ · 9195. 近期功能浏览器终验 ~
### 十、L5 清单(96125
96125. `production-verification-checklist.md` 逐项 ☐(#122 /health ☑)
### 十一、仓库卫生(126–132)
126132. handoff/alignment 过期、verification 未提交、assets 残留、gate_log、.cursor ☐
### 十二、不做 / 风险接受(133–137)
133135. 已否决功能 · 136137. ADR-011 / global API_KEY 风险接受
---
## 常用命令
```bash
cd ~/桌面/Nexus # 或 $NEXUS_ROOT
docker compose up -d mysql redis
bash scripts/start-dev.sh # API :8600
bash scripts/local_verify.sh
cd frontend && npm run dev # :3000/app/
bash deploy/pre_deploy_check.sh
bash scripts/git-push.sh
export NEXUS_SSH="azureuser@20.24.218.235"
export NEXUS_SSH_KEY="/home/r/下载/Telegram Desktop/nz-admin.pem"
bash deploy/deploy-production.sh
```
---
## 铁律
- 单 Agent;禁止虚拟部门
- 完美实现:设计→技术文档→代码→测试→changelog→(批准)部署
- 测试 Agent 执行;用户只做终验(`docs/reports/2026-06-01-final-acceptance-checklist.md`
---
## 变更记录
| 日期 | 变更 |
|------|------|
| 2026-06-08 初版 | 3f995a7 摘要 |
| 2026-06-08 中 | 更新至 85ecd1f132 条 Master Backlog |
| 2026-06-08 末 | 更新至 a401ea5;记录 server_ids/设置 422 修复;server_batch reconcile 未提交待办 |