dsh-browser-bridge:通過本地 WebSocket 控制/讀取瀏覽器

前言

DeepSeek Harness(DSH)採用了插件化架構。當智能體需要直接操作真實瀏覽器(如讀取頁面、點擊交互)時,直接編寫 HTTP 請求或 JS 代碼通常不夠靈活。dsh-browser-bridge 插件通過本地 WebSocket 建立了一條通道,讓 DSH Agent 能夠通過標準的瀏覽器工具接口調用瀏覽器擴展的功能。

插件定位

這是一個 DeepSeek Harness(DSH)插件,配合瀏覽器擴展使用。它允許 DSH Agent 通過 ws://127.0.0.1:3080/ 讀寫和控制真實瀏覽器。維護者是 liyongzheng666,協議爲 MIT。

核心功能

服務端提供 13 個模型端工具,分爲以下幾類:

  • 狀態與導航

    • browser_status:檢查連接狀態
    • browser_list_tabs:列出所有標籤頁
    • browser_activate_tab:激活指定標籤頁
    • browser_navigate:導航到指定 URL
  • 頁面讀取與快照

    • browser_snapshot:獲取頁面快照(HTML)
    • browser_read_page:讀取頁面內容
    • browser_screenshot:截取頁面截圖
  • 交互操作

    • browser_click:點擊元素
    • browser_type:輸入文本
    • browser_press:按鍵
    • browser_scroll:滾動頁面
    • browser_wait:等待
  • 代碼執行

    • browser_eval:在頁面上下文中執行 JavaScript

安裝與啓用

安裝分爲服務端插件和瀏覽器擴展兩部分。

1. 安裝服務端插件

使用官方安裝命令:

dsh plugin --profile web add dsh-browser-bridge

2. 安裝瀏覽器擴展

以 Firefox 爲例:

  1. 打開 about:debugging#/runtime/this-firefox。
  2. 點擊「臨時加載附加組件…」。
  3. 選擇倉庫中的 extension/manifest.json 文件。

配置項

默認配置如下(具體路徑取決於 DSH 配置文件):

  • path: /bridge (WebSocket 路徑)
  • commandTimeoutMs: 60000 (命令超時時間)
  • screenshotDir: ~/.dsh/browser-bridge (截圖保存目錄)
  • maxMessageBytes: 8 MiB (WebSocket 最大消息大小)

典型用法

在 DSH 對話中輸入:

browser_status

在輸出中應能看到連接成功的標識:

Browser bridge: connected

注意事項

  • 安全範圍:插件默認只綁定 127.0.0.1,無鑑權,僅建議在本地使用。
  • 權限風險:browser_eval 工具可執行頁面 JS,功能強大,請僅授權可信 Agent 使用。
  • 擴展權限:瀏覽器擴展需要 <all_urls> 權限以讀取標籤頁和操作任意網頁。

總結

該插件通過輕量級的本地橋接方案,實現了 Agent 與真實瀏覽器的無縫交互。源碼與詳細說明請訪問:GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜