From cc2dad7f311860ef838a854a8dee8fd3299e6cc5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 1 Jun 2026 14:20:45 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=94=9F=E4=BA=A7=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8=E9=AA=8C=E6=94=B6=20=E2=80=94=20SPA/WebSSH/health=5Fm?= =?UTF-8?q?onitor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 详见 docs/reports/2026-06-01-browser-verification.md;批量条与 Telegram/Push/kill 留维护窗口或人工确认。 --- .../2026-06-01-browser-verification.md | 38 +++++++++++++++++++ .../2026-06-01-single-owner-execution.md | 10 +++++ docs/handoff-2026-06-01.md | 10 +++-- .../2026-06-01-browser-verification.md | 30 +++++++++++++++ .../2026-06-01-production-verification.md | 18 +++++++-- 5 files changed, 99 insertions(+), 7 deletions(-) create mode 100644 docs/changelog/2026-06-01-browser-verification.md create mode 100644 docs/reports/2026-06-01-browser-verification.md diff --git a/docs/changelog/2026-06-01-browser-verification.md b/docs/changelog/2026-06-01-browser-verification.md new file mode 100644 index 00000000..2af84d53 --- /dev/null +++ b/docs/changelog/2026-06-01-browser-verification.md @@ -0,0 +1,38 @@ +# Changelog — 生产浏览器验收(续) + +**日期**: 2026-06-01 +**类型**: 验收 / 文档 + +## 摘要 + +继续单负责人执行计划:对 `https://api.synaglobal.vip` 做 SPA 与 WebSSH 浏览器抽测,并确认 Redis 心跳与 Layer3 健康检查 cron。 + +## 动机 + +完成上轮未做的「浏览器验证」与部分 L5 抽测项,留下可复查证据。 + +## 涉及文件 + +- `docs/reports/2026-06-01-browser-verification.md`(新) +- `docs/reports/2026-06-01-production-verification.md` — 勾选浏览器项 +- `docs/handoff-2026-06-01.md` §八 — 验收状态更新 +- `docs/design/plans/2026-06-01-single-owner-execution.md` — 第二阶段 B1–B5 + +## 验证结果(摘要) + +| 项 | 结果 | +|----|------| +| 仪表盘 / 服务器 / 告警 / 推送 | ✅ | +| WebSSH server_id=8 | ✅ 已连接 ~228ms | +| Redis `heartbeat:*` | 1 条 | +| health_monitor cron | ✅ 每分钟 | +| 批量选择条自动化 | ⚠️ 需人工 30 秒 | +| Telegram / 正式 Push / kill 守护 | 未执行(见报告) | + +## 迁移 / 重启 + +无。 + +## 回滚 + +仅文档,git revert 即可。 diff --git a/docs/design/plans/2026-06-01-single-owner-execution.md b/docs/design/plans/2026-06-01-single-owner-execution.md index 7359dcd9..496a99e2 100644 --- a/docs/design/plans/2026-06-01-single-owner-execution.md +++ b/docs/design/plans/2026-06-01-single-owner-execution.md @@ -22,6 +22,16 @@ 3. 生产 `tests/test_api.py`(若环境允许) 4. 记录 Redis/MySQL/WebSSH/告警/守护 — 能 SSH 检查的写结果,需 UI 的标「待用户抽测」 +## 第二阶段(2026-06-01 续)— 浏览器验收 + +| # | 任务 | 状态 | +|---|------|------| +| B1 | 仪表盘 / 服务器 / 告警 / 推送 页面 | ✅ | +| B2 | WebSSH `terminal?server_id=8` | ✅ 已连接 | +| B3 | Redis heartbeat + health_monitor cron | ✅ | +| B4 | 批量选择条 | ⚠️ 人工确认 | +| B5 | Telegram / Push / kill 守护 | ⏸ 见 browser-verification 报告 | + ## 回滚 - T2:`git reset --hard ` + `supervisorctl restart nexus` diff --git a/docs/handoff-2026-06-01.md b/docs/handoff-2026-06-01.md index ba2201f6..f8f38ae6 100644 --- a/docs/handoff-2026-06-01.md +++ b/docs/handoff-2026-06-01.md @@ -313,10 +313,12 @@ MCP deploy 工具自动执行门控,任何一门不过返回 🚫 DEPLOY BLOCK | P2 | 422 调试 handler 是否保留 | server/main.py | 若日志已稳定可改为仅 4xx 结构化响应 | | P2 | 壁纸旧端点缓存 | LoginPage.vue | 强刷 `/app/` 或清站点数据 | | UX | 终端命令栏高亮对齐 | TerminalPage.vue | 多分辨率抽测 | -| **验收** | 告警 Telegram + WS 端到端 | — | 需故意超阈值或模拟 | -| **验收** | WebSSH 长会话 + resize | terminal | 浏览器抽测 | -| **验收** | Sync 推送 2 台试跑 | push | 业务抽测 | -| **验收** | 三层守护 kill 测试 | deploy/ | 维护窗口执行 | +| **验收** | 告警 Telegram + WS 端到端 | — | 未触发;见 `docs/reports/2026-06-01-browser-verification.md` | +| **验收** | WebSSH 连接 | terminal | ✅ 2026-06-01 `server_id=8` 已连接;resize/长会话待抽测 | +| **验收** | SPA 主要页面 | — | ✅ 仪表盘/服务器/告警/推送 | +| **验收** | 批量选择条 UI | ServersPage.vue | 自动化未触发 v-model;**人工勾选 2 台确认** | +| **验收** | Sync 推送 2 台试跑 | push | 未执行正式推送(防误操作) | +| **验收** | 三层守护 kill 测试 | deploy/ | 维护窗口;cron 已确认存在 | | **运维** | 生产 pytest | tests/test_api.py | 服务器无 pytest 模块时用 WSL/CI 25/25 为准 | --- diff --git a/docs/reports/2026-06-01-browser-verification.md b/docs/reports/2026-06-01-browser-verification.md new file mode 100644 index 00000000..b4c56138 --- /dev/null +++ b/docs/reports/2026-06-01-browser-verification.md @@ -0,0 +1,30 @@ +# 浏览器验收记录 — 2026-06-01(续) + +> 站点:https://api.synaglobal.vip/app/ +> 会话:已有 admin 登录态(未重新测登录页) + +## 结果摘要 + +| 项 | 结果 | 说明 | +|----|------|------| +| 仪表盘 `#/` | ✅ | 8 台服务器统计、列表、侧栏导航正常 | +| 服务器 `#/servers` | ✅ | 表格、添加/导入/导出按钮可见 | +| 批量选择条「已选择 N 台」 | ⚠️ | 自动化点击 Vuetify `v-selection-control` 未触发 `selectedItems`;**请人工点选 2 行确认**(历史已验 `normalizeServerIds`) | +| 告警中心 `#/alerts` | ✅ | 页面加载,类型/状态筛选器存在 | +| 推送 `#/push` | ✅ | 源/目标路径、预览/推送、服务器列表与同步模式 | +| WebSSH `#/terminal?server_id=8` | ✅ | xterm 存在,显示 **已连接**、延迟 ~228ms、「断开」按钮 | +| Redis 心跳 | ✅ | `heartbeat:*` key 数量 1(与面板「1 在线」一致) | +| Layer3 `health_monitor.sh` | ✅ | 脚本存在,root crontab 每分钟执行 | +| 告警 WS + Telegram | ⏸ | 需真实超阈值或测试钩子,未在本轮触发 | +| 实际 Push 2 台 | ⏸ | 避免误推生产文件,未点「推送」 | +| kill Python 三层守护 | ⏸ | **维护窗口**执行,不在本轮操作 | + +## WebSSH 片段(DOM 文本) + +- 服务器:机器人 / `66.154.115.131` +- 状态:**已连接**,计时器运行,终端输入框可聚焦 + +## 建议人工 30 秒确认 + +1. 服务器页勾选 2 台 → 出现「已选择 2 台服务器」+ 安装/升级 Agent 按钮 +2. (可选)推送页选 2 台点「预览」,不执行正式推送 diff --git a/docs/reports/2026-06-01-production-verification.md b/docs/reports/2026-06-01-production-verification.md index 5d1201a8..6cc1adbd 100644 --- a/docs/reports/2026-06-01-production-verification.md +++ b/docs/reports/2026-06-01-production-verification.md @@ -15,10 +15,22 @@ | MySQL | `SELECT 1` | ✅ ok | | `test_api.py` | 生产机 | ⚠️ 无 `pytest` 模块;以 WSL/本地 CI 为准 | -## 待用户/维护窗口抽测 +## 浏览器抽测(2026-06-01 续) -- [ ] WebSocket 告警 + Telegram 推送与恢复 -- [ ] WebSSH 开终端、resize、断线 +详见 `docs/reports/2026-06-01-browser-verification.md`。 + +- [x] SPA 仪表盘 / 服务器 / 告警 / 推送 页面 +- [x] WebSSH `server_id=8` 已连接 +- [x] `health_monitor.sh` cron 已配置 +- [ ] 批量选择条(自动化未触发 Vue `selectedItems`,建议人工 30 秒确认) +- [ ] 告警 Telegram 端到端 +- [ ] Push 试跑(避免误操作未执行) +- [ ] kill Python 守护(维护窗口) + +## 待维护窗口 + +- [ ] WebSocket 告警 + Telegram 推送与恢复(需超阈值或测试钩子) +- [ ] WebSSH resize / 长会话断线重连 - [ ] Push/Sync 选 2 台试跑 - [ ] kill Python → Supervisor 恢复;health_monitor 连续失败重启