Nexus Agent
e6abd4ae73
chore(deploy): 补 Gate7 审计与 shell LF 修复
2026-06-11 23:45:44 +08:00
Nexus Agent
29b053b3c0
fix(sync): 未设路径推送回退 /www/wwwroot,UI 判定不变
...
空或占位 /www/wwwroot 仍算「未设路径」;rsync 推送/预览/验证改用 resolve_push_target_path,并新增批量 detect-path 脚本。
2026-06-11 23:42:58 +08:00
Nexus Agent
f11ad35708
chore(scripts): 推送提权验证脚本与温胜夜生产验证报告
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
2026-06-11 23:28:59 +08:00
Nexus Agent
84b388fae2
fix(sync): rsync 推送非 root 自动 sudo 提权
...
文件推送与文件管理对齐:非 root 默认 auto_sudo 时使用 sudo -n rsync;
新增批量 sudoers 补丁脚本以补全 rsync 白名单。
2026-06-11 23:20:45 +08:00
Nexus Agent
0a5111a959
docs(audit): 浏览器拖动手柄修复审计条目
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 20:20:02 +08:00
Nexus Agent
31846c4212
fix(browser): 修复浮动浏览器最小化条与面板无法拖动
...
迷你窗口使用独立最小尺寸与拖动手柄;展开态增加左侧拖拽条。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 20:19:49 +08:00
Nexus Agent
2e8daad802
fix(browser): 不可关闭、最小化可拖拽与重启
...
移除关闭入口;最小化为可拖动浮动条并持久化 minimized_rect;重启保留浏览历史。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 20:15:40 +08:00
Nexus Agent
a94d340ec0
docs(audit): 补全全局浮动浏览器 Closure 与文件清单
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 20:11:21 +08:00
Nexus Agent
8356425814
feat: 全局浮动浏览器、记录持久化与角落快捷入口
...
浮动面板可最小化至右下角、左下角随时展开;标签与浏览记录写入 MySQL,切换菜单保持活动。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 20:10:57 +08:00
Nexus Agent
2a6f526bc9
feat: 内置 Web 浏览器页与服务器站点入口
...
侧栏浏览器页 iframe 预览 http(s) 站点;服务器列表「站点」由 domain 跳转,禁止嵌入时可新标签打开。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 18:30:44 +08:00
Nexus Agent
996403ad86
docs(audit): 文件上传 www 权限 fixup 审计记录
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 18:24:06 +08:00
Nexus Agent
4e117c04ea
feat(files): 上传后自动 chown www:www 与文件 chmod
...
复用推送的 RSYNC_PUSH 配置,上传成功即 SSH 修正属主/权限;失败时仍保留文件并返回 warning。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 18:23:31 +08:00
Nexus Agent
79105dcec8
fix(files): 改权限后列表不更新及 chown 连带失败
...
ETag 纳入权限指纹避免 304 旧数据;chmod/chown 分步执行;仅变更属主/属组时才提交 chown。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 18:12:57 +08:00
Nexus Agent
d3c0e57a08
fix(servers): 搜索改为手动触发,进页默认全量列表
...
不再自动恢复 last 搜索;下拉选历史、回车或清空才请求;输入过程不触发过滤。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:54:46 +08:00
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
c69e45a571
docs: 服务器搜索历史部署审计与门控记录
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:49:43 +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
426bafd169
Audit: list package-lock.json in RDP removal review.
2026-06-10 23:23:28 +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
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