Nexus Agent
dc4593f8b5
Remove browser RDP (guacd/Guacamole) feature entirely.
...
Product decision: drop 3389 remote desktop page, API, guacd sidecar, and related tests after unresolved target-side black screen issues.
2026-06-10 23:23:09 +08:00
Nexus Agent
341b130d9b
fix(rdp): guacd 后台读取队列 + 隧道超时与尺寸
...
独立 guacd reader 避免 WS 竞争丢数据;ping 回显与 sync 已生产验证;前端 90s 超时与 OPEN 后发尺寸。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 21:54:50 +08:00
Nexus Agent
af47b24450
fix(rdp): connect 前挂载画布并修复 RdpPage 布局
...
Guacamole display 需在 DOM 中才能完成 sync;canvasHost 独立挂载避免 Vue 重绘清除画布。
2026-06-10 21:45:54 +08:00
Nexus Agent
aeca2fd7cb
fix(rdp): guacd→WebSocket 按完整指令转发,修复黑屏
...
Nexus CI/CD / test (push) Waiting to run
Nexus CI/CD / e2e (push) Blocked by required conditions
Nexus CI/CD / deploy (push) Blocked by required conditions
Nexus Pre-commit Checks / quick-check (push) Waiting to run
TCP 块转发会截断 img/blob 指令导致 guacamole-common-js 无法渲染;connect 不再经 URL 传密码。
2026-06-10 21:37:10 +08:00
Nexus Agent
960598f504
fix(rdp): 服务端 guacd 握手替代透明 TCP 桥接
...
guacamole-common-js 不会向 guacd 发送 select/connect;改为 Nexus 用 rdp_hosts 凭据完成握手后再桥接 WebSocket,消除 protocol violation。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 21:33:01 +08:00
Nexus Agent
6f998048b6
fix(rdp): WS JWT 改路径避免 Guacamole 查询串冲突
...
Guacamole connect() 追加 ?hostname= 会破坏 ?token= 导致 403。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 21:18:23 +08:00
Nexus Agent
9b9a857720
docs(audit): 补全 rdp_hosts 审计文件清单
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 20:59:09 +08:00
Nexus Agent
f127f07ab2
feat(rdp): 3389 页独立管理 RDP 主机
...
rdp_hosts 表与专用 API,在 3389远程页添加/连接,不再依赖子机列表。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 20:58:46 +08:00
Nexus Agent
dabfc128b3
feat: 浏览器 RDP、推送提示音与子机指标等多项功能
...
- 3389远程页 + guacd 侧车 WebSocket 桥(无 RDP 会话审计)
- 文件推送完成独立提示音,至少一台成功即播放
- 子机列表展开 CPU/内存/磁盘 sparkline 与指标采样落库
- 终端全量服务器列表、连接中状态;告警 Telegram 公网 IP
- SSH 密钥凭据 UI 简化;子机搜索未设路径筛选
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-10 01:37:32 +08:00
Nexus Agent
dd870859b5
docs(changelog): 记录服务器名称列 chip 副标题回退
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 20:45:10 +08:00
Nexus Agent
700b3b4301
Revert "feat(servers): 名称列地址与资源 chip 副标题"
...
This reverts commit cc34b9c3cc .
2026-06-09 20:44:39 +08:00
Nexus Agent
cc34b9c3cc
feat(servers): 名称列地址与资源 chip 副标题
...
拆分 ServerListNameCell/AddressRow/MetricChips,列表展开前可见分类、CPU/内存/磁盘与心跳。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 20:41:34 +08:00
Nexus Agent
53b700f929
fix(dashboard): 移除舰队资源趋势 CSV 导出
...
产品决定不在趋势区提供 CSV 下载,保留全屏内明细表。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 18:01:45 +08:00
Nexus Agent
fc4b46566e
docs(audit): 子机离线告警 8 步审计与部署验证
...
补全 7209f53 门控审计报告与生产验证记录,更新离线统计审计 DoD。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 17:34:29 +08:00
Nexus Agent
7209f53af9
feat: 子机离线 Telegram 告警与仪表盘统计/趋势增强
...
离线边沿检测推送一次 Telegram(设置开关 notify_alert_offline);对齐仪表盘与服务器页统计卡、舰队趋势交互与告警叠加。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 17:16:48 +08:00
Nexus Agent
283041fe2f
docs(audit): gate7 cover test_servers_dashboard
2026-06-09 09:50:51 +08:00
Nexus Agent
85b0c3a980
fix(servers): accurate offline count and status filter
...
Count online/offline per monitored server via Redis; filter list by UI status; expose offline_list for main table scope.
2026-06-09 09:50:37 +08:00
Nexus Agent
cbbcdae66d
feat(servers): interactive stat cards and unset_path count
...
Click offline/online to filter, unset-path to scroll to panel; add unset_path to /servers/stats; fix Docker deploy frontend sync.
2026-06-09 09:42:51 +08:00
Nexus Agent
c5e54da8de
docs(audit): list all files for agent diagnose UI gate 7
2026-06-09 09:27:04 +08:00
Nexus Agent
a82d69c3e5
feat(servers): add Agent diagnose button and API endpoint
...
Expose central heartbeat + SSH probe diagnostics in the servers UI via POST /api/servers/{id}/agent-diagnose, sharing logic with the CLI script.
2026-06-09 09:26:42 +08:00
Nexus Agent
fc837bfd43
feat(ops): add batch Agent remote diagnose script
...
SSH from central creds to inspect systemctl, redacted config, 401/heartbeat logs, and /health on sub-servers.
2026-06-09 09:19:40 +08:00
Nexus Agent
7a9dc3d3fc
fix(credentials): default database credential host to 127.0.0.1
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 09:11:34 +08:00
Nexus Agent
1fefa4b6cb
feat(credentials): validate RSA/OPENSSH PEM and auto-derive public key
...
Accepts keys like nz-admin.pem (BEGIN RSA PRIVATE KEY); rejects invalid PEM
before encrypting. Public key field optional on create/update.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 09:05:06 +08:00
Nexus Agent
6a6f3f7614
docs: audit cover web/app build output
...
Nexus CI/CD / test (push) Waiting to run
Nexus CI/CD / e2e (push) Blocked by required conditions
Nexus CI/CD / deploy (push) Blocked by required conditions
Nexus Pre-commit Checks / quick-check (push) Waiting to run
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 09:00:29 +08:00
Nexus Agent
fe8c11b706
fix(credentials): load SSH key presets via getList and validate save form
...
The ssh-key-presets API returns a plain array; fetchPagePerPage left the
list empty so new keys appeared not to save.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 09:00:00 +08:00
Nexus Agent
b287707359
docs: record HTTP detail zh production deploy at 64c8bd7
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:56:56 +08:00
Nexus Agent
64c8bd74b8
docs: audit and deploy verification for API detail zh rollout
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:54:27 +08:00
Nexus Agent
1c0d7e9eb6
fix(api): localize service-layer ValueError messages to Chinese
...
So str(exc) passthrough on scripts, batch, sync, and schedule routes
returns Chinese without relying only on the HTTP detail translation layer.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:53:18 +08:00
Nexus Agent
a842af2405
fix(auth): use Chinese fallbacks and map reason codes to user messages
...
Stop exposing raw reason codes like admin_not_found in TOTP setup errors;
auth routes and JWT guard now use Chinese literals with auth_failure_detail.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:44:51 +08:00
Nexus Agent
81004cf0a5
docs: note HTTP detail zh layer in handoff TOP 10
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:42:48 +08:00
Nexus Agent
3ba78cd10a
feat(api): translate HTTPException detail to Chinese for admin routes
...
Add a global detail translator for common 4xx messages (Server not found,
auth headers, settings not found, etc.) while keeping /api/agent/* in English.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:42:43 +08:00
Nexus Agent
213aad97a4
docs: push category fix verification and refresh handoff to c366ed5
...
Record production evidence (101 机器人 vs old 5) and update AI handoff
with current deploy state and TOP 10 priorities.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:36:14 +08:00
Nexus Agent
c366ed5adc
fix(push): load full server list for accurate category selection
...
Push page previously fetched only 200 servers by ID order, so large categories
like 机器人 showed a handful of machines. Also decouple unset-path panel from
the main category chip filter and align category labels with the servers page.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 08:12:50 +08:00
Nexus Agent
664efb9ed5
feat(dashboard): add 24h fleet CPU/mem/disk trends with v-sparkline.
...
Sample fleet averages every heartbeat flush into fleet_metric_samples;
expose GET /api/servers/fleet-metrics and Dashboard sparkline card (B-02).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 07:24:57 +08:00
Nexus Agent
adcd8010a5
docs: record production deploy at 863e49e after full rollout.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 07:14:32 +08:00
Nexus Agent
863e49e518
feat(ops): prod timezone probe, web/app container sync, and D-01 agent upgrade.
...
Unify upgrade-agent with install.sh via agent_deploy; auto-sync Git web/app after
Docker upgrade to prevent vite hash drift; extend prod_probe for Beijing TZ checks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 07:12:38 +08:00
Nexus Agent
56139a42fe
docs(audit): cover timezone follow-up files for gate 7 review.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 05:51:56 +08:00
Nexus Agent
e3efbd4552
feat(timezone): operator schedules and filters use Beijing wall clock.
...
Cron matching, audit/alert date filters, and schedule UI align on Asia/Shanghai
while JWT/TOTP/heartbeat stay UTC; follow-ups add WS alert timestamps, fixed
install timezone copy, and 422 on invalid date filters.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 05:50:32 +08:00
Nexus Agent
4d82ed4031
build(frontend): rebuild web/app assets and prune stale hashes.
...
Align index.html with a complete Vite output set and remove 116 orphaned
chunks so git clone loads the SPA correctly.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 03:33:23 +08:00
Nexus Agent
b62f1039db
feat(ops): add production probe with dual-path health checks.
...
SSH origin checks cover auth contracts and once-schedule create/delete
when external HTTPS is blocked; includes install script for probe credentials.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 03:28:17 +08:00
Nexus Agent
9f78207aa2
docs: add agent diff guidance and close deploy verification.
...
Record .cursorrules rules to avoid full-repo diffs over web/app/assets,
and document production health checks for the alerts/schedule fix batch.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 02:52:32 +08:00
Nexus Agent
3864d120fb
fix: alerts page size and schedule once fire_at parsing.
...
Wire alert history items-per-page to the API and parse fire_at ISO strings to datetime so single-shot push schedules save instead of 500.
2026-06-09 02:47:36 +08:00
Nexus Agent
0f6f91e61a
fix(api): align alerts/commands contracts and ship full-site test suite.
...
Restore alert history filters and stats fields, paginate command/session logs for the SPA, show script labels on schedules, and land integration/E2E coverage with rebuilt web assets.
2026-06-09 02:13:13 +08:00
Nexus Agent
091fb97291
Push async submit, Chinese 422 field labels, hide server CSV export.
...
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
Return sync/files immediately with background runner; show loc_zh in validation errors; remove servers toolbar CSV export button.
2026-06-08 23:28:26 +08:00
Nexus Agent
abeab9d3e4
Fix recovery Telegram dedup and unify Beijing time display.
...
Store alert metrics without per-value Redis members to stop duplicate recovery pushes; format all operator-facing timestamps in Asia/Shanghai across Web UI and Telegram.
2026-06-08 23:18:56 +08:00
Nexus Agent
972456a246
feat(agent): 401 停心跳、配置重载后重启与升级双文件下发
...
提取 heartbeat_policy;install/upgrade 同步 heartbeat_policy.py;config reload 恢复心跳协程。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 23:06:09 +08:00
Nexus Agent
69068e2e39
feat(ops): server_batch 回收、sync_logs 清理与 Agent 安装跳过
...
部署对齐三项后端能力:启动/周期收尾僵尸批量任务、30 天推送日志 purge、已安装且版本不低于主站时跳过批量安装 Agent。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 15:23:03 +08:00
Nexus Agent
a401ea5a4d
fix(servers): server_ids 批量上限 2000 并修复列表 422 中文
...
全选 101 台批量操作不再因 max_length=50 被拒;Pydantic 列表 too_long 错误显示完整中文。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 15:08:03 +08:00
Nexus Agent
632891e6e5
fix(settings): 表单校验与 422 中文错误信息
...
v-form 保存前 validate;validation_errors_zh 翻译 Pydantic msg;value 数字 coerce。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 14:52:59 +08:00
Nexus Agent
ff143c286d
fix(settings): 保存设置时将数值字段转为字符串避免 422
...
SettingUpdatePayload.value 要求 str,连接池与告警阈值为 number 输入。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 14:50:10 +08:00