Nexus Agent
af912662de
fix: combobox 清空 null 导致服务器列表加载失败
...
v-combobox 清空时 search 为 null 使 trim() 抛错;422 响应剥离不可序列化的 ctx 避免 500。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:52:49 +08:00
Nexus Agent
130cc840c7
feat: 服务器搜索历史持久化到 MySQL
...
按管理员将 Servers 页搜索记录存入 admin_ui_preferences,换设备登录仍可恢复;首次自动迁移 localStorage。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:46:52 +08:00
Nexus Agent
704764bd7e
fix: 订阅白名单多 worker 同步并统一上传上限 500MB
...
保存 IP 白名单时同步刷新并 Redis 广播 login_* 设置;推送/文件上传与 Nginx 模板对齐为 500MB,避免生产 50m/100m 导致大文件失败。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:39:26 +08:00
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
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
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
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
7209f53af9
feat: 子机离线 Telegram 告警与仪表盘统计/趋势增强
...
离线边沿检测推送一次 Telegram(设置开关 notify_alert_offline);对齐仪表盘与服务器页统计卡、舰队趋势交互与告警叠加。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-09 17:16:48 +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
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
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
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
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
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
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
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
Nexus Agent
85ecd1f54f
fix(servers): 未设路径区表格绑定 sort-by 启用服务端排序
...
未设路径面板缺 v-model:sort-by,列头点击不触发 API;与主表共享 sortBy。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 14:36:21 +08:00
Nexus Agent
05c7aeb702
fix(servers): 未设路径批量检测对话框选中数
...
检测路径与批量改分类确认框按当前区块显示并提交正确 server_ids。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 14:09:50 +08:00
Nexus Agent
d0526c06b7
fix(servers): 展开详情对比度与同步日志仅 1 条
...
展开区灰底可读;行内详情只拉最近一条同步记录,去掉「最近 N 条」文案。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 13:45:13 +08:00
Nexus Agent
fe8b24ca0b
fix(notify): 资源恢复 Telegram 联动 CPU/内存/磁盘开关
...
关闭分项告警后不再推送对应恢复消息;仪表盘移除服务器列表并更新设置页说明。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 13:22:38 +08:00
Nexus Agent
86bc737f4c
fix(dashboard): 修复服务器列表不显示
...
清除 keep-alive 下 loading 卡死;改用 v-card-text 与表格内置 loading,并加 30s 自动刷新。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 13:13:34 +08:00
Nexus Agent
27da842a20
fix: Telegram 开关多 worker 同步与服务器行内详情展开
...
关闭 notify_* 后通过 Redis 广播同步各 worker 内存设置;修复 expanded id 类型不匹配导致点击名称无法展开详情。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 13:05:22 +08:00
Nexus Agent
1e83bb34bd
feat(servers): 未设路径区批量管理与主表齐平
...
独立勾选与全选筛选结果,共用 ServerBatchActionBar;列与批量操作对齐主列表。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 12:55:02 +08:00
Nexus Agent
8c86b50d09
feat(servers): 未设路径区块与行内详情;命令栏恢复单色
...
服务器页拆分未设路径列表、行内展开详情;API target_path_unset 可选过滤。
命令栏取消 Shell 语法彩色,ANSI 仅保留 xterm SSH 输出区。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 12:48:45 +08:00
Nexus Agent
8312a6cf81
fix(terminal): WebSSH xterm SSH 交互区 ANSI 彩色输出
...
PTY 环境变量注入 TERM=xterm-256color,DATA 帧 base64 保 ESC;前端解码写入 xterm;命令栏 Shell 高亮 CSS 与黑屏分离。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 12:35:27 +08:00
Nexus Agent
1d1fb6285b
fix(terminal): 快捷命令栏「管理」改为「断开」
...
底部快捷栏提供断开会话,快捷命令配置仍走系统设置。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 12:14:47 +08:00
Nexus Agent
835ef2c8ea
fix(terminal): WebSSH 固定黑底白字 ANSI 终端配色
...
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
不再跟随 Vuetify 浅色主题,xterm 始终使用经典黑底白字与 16 色输出。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 12:09:00 +08:00
Nexus Agent
22d5d21c1f
fix(schedules): 单次显示「当天」、收窄重复方式下拉
...
单次执行不再出现「重复方式」;「每天」改为「当天」;循环模式下拉宽度收窄。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 11:49:20 +08:00
Nexus Agent
08a0157c95
feat: 调度表单重构、登录门控、批量任务与页面缓存对齐
...
调度页执行周期可视化/单次执行/分类选机/推送源对齐;登录 IP 门控与无缝导航;
服务器批量后台任务、执行记录、凭据合并、各页激活刷新与错误提示修复。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 11:17:21 +08:00
Nexus Agent
b8425cc059
fix(servers): 状态/心跳/Agent 列 overlay 后排序
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 07:38:28 +08:00
Nexus Agent
b220a5a762
fix(terminal): 移除命令栏冗余按钮,断开遮罩仅覆盖 SSH 区
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 07:30:31 +08:00
Nexus Agent
b011b60f9c
feat(ui): 服务器/脚本/重试队列页面自动刷新
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 07:27:46 +08:00
Nexus Agent
908ae938b5
fix(terminal): 深链 server_id 下命令输入框可用
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 07:24:32 +08:00
Nexus Agent
06af90d35e
feat(scripts): 执行详情服务器名与顶栏居中提示
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 07:20:37 +08:00
Nexus Agent
0b2d7ac50d
feat(scripts): 异步执行、全局进度看板与完成提示音设置
...
脚本 exec 立即返回 running 并在后台跑批次;/ws/alerts 推送 script_progress/complete;
新增 ScriptRunsPage、Telegram 汇总通知与可配置的浏览器完成提示音。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 07:07:02 +08:00
Nexus Agent
df95a2429f
feat(frontend): 全选筛选结果与脚本失败分组复制
...
服务器列表支持跨页全选当前筛选/分类本组;脚本执行详情按错误类型分组(去动态 IP)并复制失败清单,不做 CSV 导出。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 05:51:11 +08:00
Nexus Agent
5f63fb0a3f
fix(scripts): 执行进度按成功台数计算,失败项快速定位与面板清理
...
progress 改为 success/total(失败不计入分子);脚本库执行详情中文化、失败筛选与终态任务移出批量状态面板。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-08 05:11:39 +08:00