dsh-inapp-browser:DeepSeek Harness 內置瀏覽器面板

前言

在開發 DeepSeek Harness 智能體時,讓 AI 具備網頁操作能力通常需要調用繁瑣的瀏覽器自動化接口,或者讓用戶手動操作多個窗口,這種方式效率較低。dsh-inapp-browser 插件提供了一個內置的瀏覽器面板,讓 AI 與用戶在同一個上下文中操作網頁,支持從打開網址、點擊交互到截圖讀取的完整流程。

這是什麼

dsh-inapp-browser 是一個客戶端插件,由開發者 alllllinnrann 維護。它利用 Chrome DevTools Protocol (CDP) 在 Better Sidebar 中渲染一個獨立的瀏覽器實例。默認情況下,該瀏覽器會啓動必應搜索頁面,且用戶的登錄資料會按聊天會話保存,互不干擾。

核心功能

插件提供了豐富的工具集,覆蓋了網頁瀏覽和交互的主要場景。

瀏覽控制

  • 標籤管理:支持多標籤頁操作。通過 iab_tabs 查看當前標籤列表,使用 iab_select 切換標籤,iab_close_tab 關閉標籤(至少保留一個標籤)。
  • 導航與刷新:支持 iab_open 打開網址或搜索詞(支持 Bing、百度、Google 引擎),iab_back 後退,iab_forward 前進,以及 iab_reload 刷新頁面。
  • 彈窗處理:提供 iab_dialog 接口,用於確認或取消網頁的 JavaScript 彈窗(如 alert、confirm、prompt)。

頁面交互

  • 點擊與輸入:支持鼠標點擊 iab_click(可指定左、右、中鍵),支持向聚焦控件輸入中文 iab_type,以及拖拽操作 iab_drag。
  • 滾動與按鍵:支持頁面滾動 iab_scroll(可指定方向和位置),以及模擬鍵盤按鍵 iab_key(支持組合鍵,如全選 Ctrl+A)。
  • 等待機制:提供 iab_wait 接口,在執行下一步操作前等待頁面加載,範圍 0-10000 毫秒。

信息讀取

  • 頁面快照:調用 iab_snapshot 可獲取當前頁面的網址、標題、文字內容、控件列表(含位置、標籤、是否在視口內)及視口尺寸。
  • 高清截圖:調用 iab_screenshot 可獲取當前頁面的圖片附件及視口信息。注意,截圖需要宿主支持圖片輸入的模型。

安裝與依賴

使用此插件前,需確保環境滿足以下版本要求:

  • DeepSeek Harness:0.1.5-rc.2
  • Node.js:22.19 或更高版本
  • Better Sidebar:0.19.1 到 0.19.x

典型用法

以下爲插件提供的典型工具調用示例。工具會自動使用當前聊天會話,無需傳入聊天 ID。

打開網址並搜索

{
  "name": "iab_open",
  "arguments": {
    "url": "https://www.bing.com",
    "engine": "bing",
    "newTab": false
  }
}

輸入文字

{
  "name": "iab_type",
  "arguments": {
    "text": "Hello World"
  }
}

點擊座標

{
  "name": "iab_click",
  "arguments": {
    "x": 100,
    "y": 200,
    "button": "left"
  }
}

截圖

{
  "name": "iab_screenshot"
}

配置與注意事項

環境變量

可以通過設置環境變量來定製瀏覽器路徑和數據目錄:

  • DSH_IAB_BROWSER_PATH:指定瀏覽器可執行文件路徑,默認自動查找 Edge、Chrome 或 Chromium。
  • DSH_IAB_DATA_DIR:瀏覽器資料根目錄,默認爲 ${DSH_HOME}/storages/dsh-inapp-browser/。
  • DSH_HOME:Harness 數據根目錄,默認爲用戶目錄下的 .dsh。
  • DSH_IAB_HOME_URL:新會話的首頁,默認爲 https://www.bing.com/。

座標與按鍵規則

  • 座標系統:iab_click 和 iab_drag 中的 x、y 參數爲網頁視口的 CSS 像素,不是側欄圖片縮放後的座標。如果模型端對截圖進行了縮放,需要換算回原始視口座標。
  • 組合鍵:iab_key 中的 modifiers 使用位掩碼組合:Alt=1、Ctrl=2、Meta=4、Shift=8。例如,全選操作爲 {"key": "a", "modifiers": 2}。

其他限制

  • 截圖功能依賴支持圖片輸入的模型及宿主附件服務。
  • 插件不接管用戶日常已經打開的瀏覽器,它運行在獨立的進程中,僅用於當前 Harness 聊天會話。

總結

dsh-inapp-browser 通過 CDP 協議爲 DeepSeek Harness 帶來了原生的瀏覽器控制能力。它解決了 AI 操作網頁時的上下文割裂問題,通過共享登錄態和可視化面板,大幅降低了網頁自動化開發的門檻。更多細節可查看 GitHub 倉庫。

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

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

小夜