Files
Nexus/docs/changelog/2026-06-11-global-floating-browser.md
T
Nexus Agent 31846c4212 fix(browser): 修复浮动浏览器最小化条与面板无法拖动
迷你窗口使用独立最小尺寸与拖动手柄;展开态增加左侧拖拽条。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 20:19:49 +08:00

2.0 KiB
Raw Blame History

2026-06-11 全局浮动浏览器与记录持久化

摘要

内置浏览器改为 全局浮动面板:可拖动/缩放、最小化到右下角左下角常驻按钮随时展开;切换侧栏页面时保持活动。浏览记录、标签、窗口位置同步至 MySQL(admin_ui_preferences)。

动机

用户需要在运维任意页面内预览站点,最小化后不占全屏,且换页不丢失;历史记录需跨浏览器/清缓存保留。

涉及文件

文件 变更
server/utils/browser_ui_state.py 状态解析与 visit 记录
server/api/browser.py GET/PUT /api/browser/state
server/main.py 注册路由
frontend/src/composables/useGlobalBrowser.ts 全局单例状态
frontend/src/components/GlobalBrowserPanel.vue 浮动 UI
frontend/src/pages/BrowserPage.vue 打开全局浏览器并返回
frontend/src/App.vue 挂载全局组件
frontend/src/pages/ServersPage.vue 「站点」直接打开浮动窗
tests/test_browser_ui_state.py 单测

迁移 / 重启

  • 无需新表(复用 admin_ui_preferences
  • 需 API 重启 + 前端 build

验证

pytest tests/test_browser_ui_state.py -q
cd frontend && npm run type-check

左下角地球按钮打开;最小化后为可拖动浮动条(默认右下角);历史按钮可见记录;换账号后记录隔离。

2026-06-11 更新 — 不可关闭、最小化可拖拽

  • 移除「关闭浏览器」按钮;仅 最小化重启(重启保留浏览历史)
  • 最小化后为全局 可拖动浮动条(双击展开),位置持久化 minimized_rect
  • 仅剩一个标签时不可关闭该标签
  • 修复最小化条无法拖动:useFloatingPanel 最小尺寸改为可配置(迷你条 200×44),专用拖动手柄

说明

iframe 在用户当前的 Chrome/Firefox 等引擎中渲染,非独立安装 Firefox;禁止嵌入的站点请用「新标签打开」。