Files
Nexus/docs/design/plans/2026-06-11-browser-nav-bookmarks.md
T
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

1.6 KiB
Raw Blame History

实施说明 — 浏览器网站导航(收藏)

设计:docs/design/specs/2026-06-11-browser-nav-bookmarks-design.md

涉及文件(计划)

文件 动作
server/utils/browser_ui_state.py nav_links 解析与上限
server/api/browser.py BrowserNavLinkState / PUT 字段
tests/test_browser_ui_state.py test_parse_nav_links
frontend/src/composables/useGlobalBrowser.ts navLinks + add/update/remove + persist
frontend/src/components/GlobalBrowserPanel.vue 侧栏 Tab、列表、添加/编辑对话框、空白页快捷入口
docs/changelog/2026-06-11-browser-nav-bookmarks.md 完成后记录

前端步骤

  1. BrowserNavLink 类型与 applyServerState / persistState 带上 nav_links
  2. addNavLink(title, url) · updateNavLink(id, …) · removeNavLink(id)
  3. addCurrentPageToNav() — 取 activeTab.urladdressDraft
  4. 侧栏:sidebarMode: 'nav' | 'history' | null
  5. 对话框:v-dialog 名称 + URLnormalizeBrowserUrl 校验
  6. 空白页:v-chip / 列表展示 navLinks,点击 openUrl

测试要点

pytest tests/test_browser_ui_state.py -q
cd frontend && npm run type-check
  • 添加 3 条导航 → PUT → GET 往返一致
  • 超 64 条截断;非法 URL 过滤
  • UI:编辑后刷新仍显示

回滚

  • 前端未发版:仅后端多返回空 nav_links,兼容
  • 回滚前端:导航 UI 消失,DB 中 JSON 保留无害

依赖

  • 全局浮动浏览器(GlobalBrowserPanel + /api/browser/state)已上线