前言¶
在 DSH 裏做瀏覽器相關任務時,常見的問題是:模型需要訪問一個已經登錄的網站,但瀏覽器會話不在模型手裏,或者不同客戶端之間各自維護一次登錄態。dsh-plugin-browser 針對這個問題,把 Playwright + CDP 的瀏覽器自動化封裝成 DSH 插件,讓模型通過 15 個 browser_* 工具操作同一個已登錄 Chrome。
這是什麼¶
q35888/dsh-plugin-browser 是一個 DeepSeek Harness(DSH)插件。它的定位是:
- Native browser automation for DeepSeek Harness
- 在
ctx.tools上提供 15 個browser_*工具 - 使用 Playwright + CDP
- 可在 DSH / pi / MCP clients 之間共享同一個已登錄 Chrome
維護者是 q35888,許可證爲 MIT。倉庫地址:
https://github.com/q35888/dsh-plugin-browser
包中給出的依賴版本約束如下:
{
"peerDependencies": {
"@deepseek-ai/dsh-tools": "^0.1.0-rc.7",
"@deepseek-ai/cordis": "^4.0.1"
},
"dependencies": {
"playwright": "^1.61.1"
}
}
核心功能¶
下面介紹與日常使用最直接相關的幾組能力。
會話模式¶
browser_session:啓動或切換會話real:使用已登錄 Chromeisolated:使用獨立無痕會話- Chrome 沒開時,插件會自動拉起
- 默認目錄設置可與
agentic-browser-mcp共享同一個已登錄 Chrome
頁面交互¶
下面這些工具主要基於 ref 定位:
browser_navigate
browser_snapshot
browser_click
browser_type
browser_select_option
browser_hover
先打開頁面,再用 browser_snapshot 取得可操作元素,然後執行點擊、輸入、選擇或懸停。
標籤頁、彈窗、頁面狀態¶
browser_tabs:管理標籤頁browser_handle_dialog:處理 JS 彈窗browser_eval:執行頁面 JSbrowser_storage:讀取 cookies/localStoragebrowser_console:讀取控制檯日誌browser_screenshot:截圖存文件browser_wait_human:遇到驗證碼或登錄時,在 DSH 界面彈卡片等待人工操作,5 分鐘超時
安裝¶
安裝方式 A 與方式 B 二選一,混用會產生重複插件行導致 DSH 啓動失敗。本文按 dsh CLI 的方式寫。
dsh CLI 安裝命令:
dsh plugin --profile web add github:q35888/dsh-plugin-browser
如果會使用 isolated 模式,再安裝 Chromium:
npx playwright install chromium
isolated 模式需要 npx playwright install chromium(約 95MB);只用 real 模式可跳過。
經過上面的步驟後,插件會在 DSH 的 ctx.tools 中註冊 browser_* 工具。
典型用法¶
一個來自資料中的示例:
你: 幫我看看 github 今天有什麼通知
模型: browser_navigate → browser_snapshot → 讀到通知列表 → 彙報給你
實際操作時,通常按這個順序:
1、先調用 browser_session,選擇 real 或 isolated 會話。
2、調用 browser_navigate 打開目標頁面。
3、調用 browser_snapshot 獲取頁面元素和 ref。
4、用 browser_click、browser_type、browser_select_option、browser_hover 等工具操作頁面。
5、需要固定某個標籤頁時,用 browser_tabs 的 switch。
幾個使用要點:
ref是臨時的,頁面變化後先重新browser_snapshot再操作- 遇到驗證碼或二次驗證時,調用
browser_wait_human,在 DSH 界面操作完點確認 - 新開的標籤頁自動跟隨;需要固定某個標籤頁時用
browser_tabs的switch isolated模式需要npx playwright install chromium(約 95MB);只用real模式可跳過
適用場景與注意¶
這個插件適合需要在 DSH 會話裏訪問已登錄網站的場景:你已經在瀏覽器裏登錄過某個站點,模型就可以在這個插件提供的瀏覽器裏繼續讀取或操作頁面。
使用前需要注意:
- 插件以當前 dsh 進程權限運行;
browser_eval和browser_storage能讀取瀏覽器裏的 cookies 和登錄憑據,請只在你信任的會話中使用本插件 - 安裝前應檢查源碼與許可證,許可證爲
MIT - 同一個 DSH 進程裏的多個會話/子代理共享同一個瀏覽器標籤頁,併發使用時會互相干擾
isolated模式下如果 DSH 意外退出,獨立瀏覽器進程可能殘留- 它依賴 DSH 的 rc 期工具 API;DSH 大版本升級後若失效,刪掉機器級配置裏的兩行即可完全回滾
- macOS 無頭
isolated模式設置AGENT_BROWSER_ISOLATED_CHANNEL=chrome可能擋住日常 Chrome
結尾¶
dsh-plugin-browser 的價值,是把瀏覽器自動化接回 DSH 的工具調用鏈路裏:模型可以直接導航、讀取頁面、操作元素,並在需要人工驗證時把操作交還給使用者。
倉庫地址:
https://github.com/q35888/dsh-plugin-browser
目錄頁 URL 未在本文事實中確認,這裏不額外給出。