r
73278667e0
feat(files): 跨服务器文件直传与打包投递
...
A→B SFTP 中继与一键 tar 打包 curl 拉取;含审计修复与 18 项单测。
2026-06-21 12:48:50 +08:00
r
629d8b3e26
fix(btpanel): login-url 返回类型含 bool 导致全站 500
...
路由注解 dict[str,str] 与 bootstrapped 布尔字段冲突,FastAPI 响应校验失败。
2026-06-21 12:17:29 +08:00
r
37720c4705
feat(btpanel): 一键登录自动获取 API 与倒计时提示
...
未配置机器点击登录时后端 immediate bootstrap;前端顶部 snackbar 显示约 20 秒倒计时。
2026-06-21 12:09:34 +08:00
r
7add9384c1
feat: 终端路由保持会话 + 服务器列表按创建时间倒序
...
keep-alive 下终端切换不 dispose SSH;列表/推送/终端默认 newest first。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 11:11:00 +08:00
r
6720ca3474
feat(servers): 主列表宝塔登录 + 健康检查写心跳
...
主服务器列表操作列一键登录宝塔;SSH 健康检查写入 Redis 心跳并刷新在线状态。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 11:05:43 +08:00
r
2e797f86b7
feat(btpanel): 服务器列表增加在线状态列
...
批量读 Redis 心跳返回 status,前端与主服务器列表样式一致。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 10:54:04 +08:00
r
5ea5c3a411
fix(btpanel): 一键登录 URL 去掉安全入口路径
...
tmp_token 登录在 :port/login,非 :port/{admin}/login,后者 nginx 404。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 10:46:22 +08:00
r
3195787461
fix(btpanel): 非 root SSH bootstrap 自动 sudo 提权
...
ubuntu 等用户免密 sudo 下宝塔已装但脚本未提权导致 ssh_command_failed;附 ssh_timeout 运维清单。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 10:40:46 +08:00
r
97c47a120f
fix(btpanel): 面板登录 URL 使用宝塔 pyenv 执行 tools.py
...
系统 python3 缺 psutil 导致 SSH 回退失败;相对 tmp_token 自动拼安全入口。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 10:16:33 +08:00
r
028dc2c8b6
fix(btpanel): API base_url 不含安全入口路径
...
宝塔 API 走 :port/system,安全入口仅用于浏览器登录;修复代理 404。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 10:10:34 +08:00
r
51b6d0cdff
fix(btpanel): API 签名改为 md5(time+token)
...
与面板 common.py 一致;原双重 md5 导致密钥校验失败。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 10:05:39 +08:00
r
e5929694c3
fix(btpanel): bootstrap 写入 panel/config/api.json
...
宝塔读取 config/api.json 而非 data/api.json,错误路径导致白名单与 token 不生效。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 10:01:40 +08:00
r
b768da3ab8
fix(btpanel): bootstrap 误判 exit_code=0 为失败
...
Python 中 0 or 1 为 1,导致 SSH 成功仍报 ssh_command_failed。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 09:52:22 +08:00
r
45ca57bf3f
fix(ssh): 连接前从 preset_id 解析 SSH 密码
...
修复宝塔批量引导因仅关联密码预设、行内 password 为空而全部 ssh_command_failed。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 09:47:22 +08:00
r
14bbfc4ab7
fix(btpanel): 批量获取时跳过已配置 API 的服务器
...
前端仅提交未配置 ID;后端 batch 任务对已配置记为跳过。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 09:39:57 +08:00
r
770469c4aa
fix(btpanel): 批量勾选提交真实 server id
...
v-data-table 勾选值为 id 数组,修复误传 undefined 导致 422。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 09:37:04 +08:00
r
b4436143a6
feat(btpanel): 服务器列表批量 SSH 获取 API
...
支持全部未配置与多选批量引导;未配置 API 时禁用一键登录。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 09:34:02 +08:00
r
461ac81221
fix(btpanel): 接受相对路径 tmp_token 登录链接
...
宝塔 tools.py 常返回 /login?tmp_token=...,现与 base_url 拼接为完整 URL。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 09:26:57 +08:00
r
82426b1941
feat(btpanel): 独立宝塔模块与 SSH 自动获取 API
...
新增侧栏「宝塔面板」菜单、代理 API 与连接配置页;通过 SSH 读写子机
api.json 自动写入凭据,5 分钟后台重试,含审计修复、检测缓存与并发锁。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 09:13:14 +08:00
r
ccc5419369
chore: 部署门控 — 今日 changelog/audit、bandit nosec、shell CRLF
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 08:14:05 +08:00
r
d8ec4f1af4
fix: 登录白名单校验改用 LOGIN_ALLOWED_IPS 单一数据源
...
多 worker 下订阅刷新后 UI 已更新但登录仍被拒;另修复刷新失败时前端误清空节点列表。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-21 08:12:52 +08:00
r
9c9a51263c
chore: 本地快照 — 终端 UI、服务器 site_url、后台任务与 Agent 导航
...
汇总未提交工作区:Servers 列表 site_url 链接、终端页与选机器 UI、SSH 连通性与 Telegram 通知、agent/offline/unset_path 后台调度与 gate_ai_review 门控;更新 AGENTS 与 agent-exploration 规则(仅本机 commit);同步 web/app 构建产物与相关文档。
2026-06-18 06:01:50 +08:00
Nexus Agent
1a79c0fbfb
feat(watch): Baota-style server detail drawer
...
Expose load/process counts, per-core CPU, memory MB breakdown, and
separate CPU/MEM top-5 processes from SSH probes in the detail drawer.
2026-06-14 06:23:45 +08:00
Nexus Agent
05b0fde197
fix(ops): Layer3 health_monitor state dir and Telegram heredocs
...
Move fail counters under deploy/var/layer3-health, use docker_cmd with
sudo fallback, and refactor alert messages to avoid quote parse errors.
Also fix watch Sparkline rgba gradients, hide empty probe pagination,
and ship pending slot pause/menu UI polish.
2026-06-14 04:20:55 +08:00
Nexus Agent
b5419cd2c0
feat(watch): SSH-first probe, drop IO metrics, Baota ring UI
...
Align live monitoring with Baota: always SSH psutil for CPU/mem/load,
remove network/disk IO rates, and show metrics as circular rings in slots.
2026-06-14 03:19:43 +08:00
Nexus Agent
5c508ed14c
fix(watch): eager probe on resume so metrics appear immediately
...
After pausing clears Redis snapshots, resuming or adding pins now triggers
an immediate probe before list_slots returns, with frontend refresh fallback.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 02:53:02 +08:00
Nexus Agent
ba7c790f38
feat(watch): show probe history in Beijing time and retire remote browser
...
Monitoring history charts and tables now format UTC timestamps as Asia/Shanghai.
Remove Playwright worker, global browser panel, and related API routes; open site URLs in a new tab instead. Fix chain test Redis pipeline mock.
2026-06-13 16:32:02 +08:00
Nexus Agent
adee25deb6
fix(watch): repair SSH probe script broken by embedded quote in os_release parse
...
Use chr(34) inside the bash-wrapped python -c probe so monitor slots work again after hardware detail rollout.
2026-06-13 16:10:32 +08:00
Nexus Agent
4acbf04322
feat(watch): show detailed CPU, memory, and disk specs on monitor slots
...
Expose used vs total capacity, CPU model, swap, OS uptime, and 1/5/15 load from SSH probes and agent heartbeats.
2026-06-13 14:12:09 +08:00
Nexus Agent
72042598b0
Fix files page new-file flow and SFTP parent directory creation.
...
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
Show a clear prompt when no server is selected, wait for the editor workbench before openFile, and mkdir -p parent paths before SFTP writes.
2026-06-13 09:08:17 +08:00
Nexus Agent
40cba6a567
fix(settings): detect Telegram group chat IDs via my_chat_member
...
Extend getUpdates parsing for group joins and update settings UI hints so Chat ID detection works for supergroups, not only private DMs.
2026-06-13 02:04:59 +08:00
Nexus Agent
821cf12ade
fix(terminal,alerts): quick-cmd enter on send and offline Telegram channel
...
Append CR when executing quick commands (fixes trim stripping saved \r) and
allow optional dedicated Telegram bot for server offline alerts only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-13 01:45:55 +08:00
Nexus Agent
dbb6bc4a55
fix(browser): 门控 — Worker TLS verify 可配置、审计清单与 shell LF
...
默认校验 Worker HTTPS 证书;审计文件补全变更清单;docker-entrypoint.sh 改为 LF。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 06:50:06 +08:00
Nexus Agent
e833b923c8
feat(browser): 远程浏览器 Worker 桥接与顶栏固定悬浮窗
...
接入 Playwright Worker、会话 WebSocket 与全局浏览器面板(固定于 App Bar 下);
含验证码 stealth、设置项默认音与 URL 安全校验;附带 worker 部署与设计文档。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 06:49:20 +08:00
Nexus Agent
a51a5c5341
fix(files): 修复下载流式 SFTP 并收紧列表行高
...
下载在独立 SFTP 会话中流式传输;文件/终端列表与服务器页一致的紧凑操作与行高。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 05:50:09 +08:00
Nexus Agent
647ebcb673
feat(watch): 监测槽分钟时长档、指标进度条与负载显示
...
默认 30 分钟,支持 30分/1时/2时/8时/24时;槽卡展示 CPU/内存/硬盘进度条与 1 分钟负载;API 改用 ttl_minutes。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 04:34:52 +08:00
Nexus Agent
bdbfef7110
fix(audit): 目标列显示服务器名称而非 #id
...
审计列表对 server 类型批量解析 target_name,前端展示为「服务器 {name}」。
2026-06-12 04:16:46 +08:00
Nexus Agent
8092000880
fix(watch): psutil SSH 安装 apt 走 sudo
...
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
非 root 用户 apt-get 未加 sudo 导致 Permission denied;补充 run_root 与中文错误提示。
2026-06-12 04:09:10 +08:00
Nexus Agent
75efd506f5
feat(watch): 监测槽 SSH 一键安装 psutil
...
探针报 psutil missing 时显示安装按钮;POST install-psutil 经 SSH pip/apt 安装并审计。
2026-06-12 04:04:48 +08:00
Nexus Agent
32a1885f0d
feat(watch): 监测槽开关、8h/24h、到期暂停与探针修复
...
支持随时暂停/恢复实时监测并保留槽位;TTL 到期自动暂停不占删槽;修复到期竞态导致空槽与唯一约束冲突;探针 parse_error 与中文错误;移除失败 snackbar。
2026-06-12 03:47:56 +08:00
Nexus Agent
7bb85aac41
feat(servers): 新服务器 Agent 安装/升级引导提示
...
修正仅有 API Key 误判为已装 Agent;列表与展开详情提示安装/升级并提供一键操作。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 03:16:12 +08:00
Nexus Agent
b46922fe92
feat(watch): 4 槽实时监测 — 5s 探针、WS、历史页与告警联动
...
宝塔式自选子机监测:Pin CRUD、全指标 SSH/Redis 探针、探针落库、
/ws/watch 推送、监测历史与进程抽屉;Agent 可选附带 net/disk IO。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 02:56:37 +08:00
Nexus Agent
f6e8b29640
fix(ui): 服务器/终端/推送搜索历史互不共享
...
终端独立 terminal_search 上下文(10条),与 servers_search、push_search 隔离。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 02:03:45 +08:00
Nexus Agent
e0133b9098
feat(push,terminal): 推送搜索历史5条与终端中间搜索
...
推送页独立 combobox 历史(MySQL push_search,上限5);终端空态搜索回中间卡片,右侧栏仅列表。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 01:58:33 +08:00
Nexus Agent
540712500f
fix: 移除 iframe 浏览器并优化推送页服务器展示
...
删除内置浏览器前后端;推送页支持卡片/列表切换、点击名称复制与长名称展示。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 01:43:51 +08:00
Nexus Agent
17abd62261
feat(servers): 新服务器接入自动 sudo 配置与路径探测
...
创建/导入/IP 添加成功后后台 onboard 任务;前端注册进度条与 toast。
2026-06-12 00:19:31 +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
84b388fae2
fix(sync): rsync 推送非 root 自动 sudo 提权
...
文件推送与文件管理对齐:非 root 默认 auto_sudo 时使用 sudo -n rsync;
新增批量 sudoers 补丁脚本以补全 rsync 白名单。
2026-06-11 23:20:45 +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
8356425814
feat: 全局浮动浏览器、记录持久化与角落快捷入口
...
浮动面板可最小化至右下角、左下角随时展开;标签与浏览记录写入 MySQL,切换菜单保持活动。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 20:10:57 +08:00