用 dsh-browser 把 DeepSeek Harness 接到正在用的 Chrome 標籤頁

前言

DeepSeek Harness(dsh)是 DeepSeek AI 開源的智能體運行時,官方倉庫把設計概括成一句話:一切皆插件。它目前仍處於開發者預覽階段,升級時可能出現不兼容變更。社區裏已經有一份獨立的插件目錄(https://deepseek-harness-plugin.com/zh-CN/plugins/ ),用來檢索、安裝各類第三方插件;該站點與 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。

智能體要操作網頁時,常見做法是另起一個無頭瀏覽器,再靠截圖做視覺定位。登錄態、Cookie、已經打開的後臺頁,往往都接不上。dsh-browser 走的是另一條路:把 dsh 接到你正在用的 Chrome 標籤頁上,頁面變成帶編號的結構化文本,模型按編號點控件、填表單、滾動和導航,面向模型的流水線裏不傳入截圖。

下面按目錄頁和 GitHub 倉庫已經公開的資料,介紹它是什麼、能做什麼、怎麼裝、怎麼用。

這是什麼

dsh-browser 是一款界面增強類插件,由 GitHub 用戶 Lum1104 維護,許可證爲 MIT(版權頁署名爲 Yuxiang Lin,2026)。倉庫地址:https://github.com/Lum1104/dsh-browser 。社區目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-browser/ 。截至 2026 年 8 月 17 日,GitHub 上約有 210 星,主要語言是 TypeScript。

它不是單獨一個 npm 包,而是一個獨立的 pnpm workspace,裏面同時放了兩樣東西:

  • packages/browser/bridge-browser/:給 dsh 用的瀏覽器橋插件(含 cordis.patch.yml),安裝腳本里註冊的包名是 @deepseek-ai/dsh-bridge-browser
  • extensions/dsh-browser/:Chrome Manifest V3 擴展,加載後名稱是「dsh 瀏覽器助手」

README 寫得很明確:把 DeepSeek Harness 連接到你正在使用的 Chrome 標籤頁。模型可以讀取頁面內容、點擊控件、填寫表單、滾動與導航,同時保留登錄態、會話和 Cookie;側邊欄提供對話界面。整個集成是純文本設計:頁面會轉成結構化文本和帶編號的交互元素清單,模型通過編號定位元素。

有一個容易踩的坑:npm 上未加 scope 的 dsh-browser 包屬於另一個項目,與本倉庫無關。本項目目前沒有發佈 npm 包,不要用 npm install dsh-browser 來裝它。

核心功能

倉庫 README 列出的工具如下。

1、讀取頁面:browser_snapshot。返回標題、URL、正文、編號交互清單和表單字段;敏感值會做掩碼。參數 delta: true 時只返回變化。

2、點擊元素:browser_click。按編號點擊鏈接、按鈕、複選框等。

3、填寫表單:browser_type。寫入文本,兼容 React / Vue 受控組件;replace 會先清空再填。

4、按鍵:browser_press。發送 Enter、Tab、Escape、方向鍵等鍵盤事件。

5、滾動:browser_scroll。視口滾動,方向包括 up、down、top、bottom。

6、頁面導航:browser_navigatebrowser_backbrowser_forwardbrowser_reload。在受控標籤頁內跳轉,登錄態保留。

7、讀取區域:browser_get_text。用於懶加載內容或只取局部文本。

8、等待穩定:browser_wait。檢測頁面加載與渲染是否穩定。

設計上有幾條邊界,README 寫在「爲什麼這樣設計」裏:

  • 操作的是真實瀏覽器,不是無頭副本,登錄態、會話和 Cookie 都會留下來。
  • 純文本模型接口:編號控件、跨快照穩定 ID、delta 更新、敏感值掩碼,因此不需要視覺能力。
  • 密碼和支付卡字段始終顯示爲 ••••,字段值不會離開頁面。
  • 遠程連接使用認證握手;特權網關方法拒絕非迴環調用方;擴展把工具綁定到一個由用戶控制的標籤頁。

安裝與啓用

社區目錄頁給出的安裝命令是:

dsh plugin add github:Lum1104/dsh-browser

如需可復現安裝,目錄頁建議固定 commit 哈希:

dsh plugin add github:Lum1104/dsh-browser#commit

commit 換成實際的提交哈希即可。目錄頁同時提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼;安裝前應檢查源代碼倉庫和許可證。

這個倉庫同時包含橋插件和 Chrome 擴展。README 推薦的完整安裝方式是運行官方 scripts/install.sh,它會構建橋插件、註冊到本機 web profile、再構建並落盤 Chrome 擴展。前提是 Node.js ^22.19>=24、Corepack / pnpm,以及 Google Chrome。所需的 @deepseek-ai 包都在公共 npm 註冊表上,安裝不需要 npm token。

推薦命令無需預先 clone:

curl -fsSL https://raw.githubusercontent.com/Lum1104/dsh-browser/refs/heads/main/scripts/install.sh | bash

遠程安裝器會把 main 下載到 ~/.dsh/dsh-browser,按鎖文件安裝固定版本依賴,構建橋插件並註冊到本機 web profile,再把擴展複製到 ~/.dsh/browser-extension,然後嘗試打開 chrome://extensions。在擴展管理頁開啓開發者模式,加載的是 ~/.dsh/browser-extension,不要加載倉庫裏的源碼目錄 extensions/dsh-browser/

從網上下載腳本再直接執行前,建議先打開同一地址查看腳本內容。安裝器會調用 curltarrsyncpnpm;若本機缺少這些命令,腳本會報錯退出。

開發者也可以先 clone,再在倉庫裏跑同一個安裝器。該模式使用當前分支,不會下載或覆蓋源碼:

git clone https://github.com/Lum1104/dsh-browser.git
cd dsh-browser
./scripts/install.sh

安裝器把橋接 bundle 寫進本機 web profile,而 dsh 只在啓動時加載 profile。如果安裝前 dsh 已經在跑,裝完必須重啓,否則側邊欄會一直顯示「未連接」,即使擴展已經加載成功。

典型用法

託管安裝完成後,可以用倉庫裏固定的 dsh 版本啓動:

cd ~/.dsh/dsh-browser && pnpm start

如果是 clone 安裝,改爲在倉庫根目錄執行 pnpm start。也可以直接跑 npm 上的公開版本:

npx @deepseek-ai/dsh web

兩種啓動方式都會從本機 web profile 加載同一個瀏覽器 bundle。默認端口是 3080;被佔用時可以改端口,例如:

npx @deepseek-ai/dsh web --port 3081

工具欄出現 DeepSeek 鯨魚圖標後,點擊打開側邊欄。本機使用時擴展會請求 /ext/bridge-config 自動發現 dsh,迴環連接不需要橋接 token。只有用 --host 0.0.0.0 做遠程部署時,才需要在側邊欄設置裏填寫地址和橋接 token。這個 token 是運行時安全憑證,和 npm 登錄無關。

開始使用時按 README 的第三步即可:

1、打開任意普通的 http://https:// 頁面。
2、點擊工具欄的鯨魚圖標,等到側邊欄顯示「已連接」。
3、直接對話,或先點「讀取頁面」。模型拿到的是結構化文本和編號控件清單,後續點擊、輸入都按編號進行。
4、頁面即使在擴展安裝或重載之前就已經打開,第一次操作時也會自動補加載內容腳本,不必先刷新。

chrome://、Chrome 網上應用店等瀏覽器內置或受保護頁面不能注入擴展腳本,因此不能讀取、也不能操作。

後續日常使用不用重裝擴展,啓動 dsh 即可。更新託管安裝時,再跑一次上面的 curl 命令;更新 clone 時,拉取或切換到目標版本後再執行 ./scripts/install.sh。然後在 chrome://extensions 裏對「dsh 瀏覽器助手」點一次重新加載,並重新打開側邊欄。若 dsh web 正在運行,也要重啓,讓它重新加載更新後的 web profile。

側邊欄一直顯示「未連接」時,README 給了三條檢查路徑:

  • 確認本機 dsh web 正在運行,默認地址是 http://127.0.0.1:3080
  • 瀏覽器打開 http://127.0.0.1:3080/ext/bridge-config,應返回類似 {"wsUrl":"ws://127.0.0.1:3080/ext/bridge"} 的 JSON。如果返回的是網頁而不是 JSON,說明當前進程還沒有加載橋接,重啓 dsh 後再刷新即可。
  • 擴展會自動探測 3080、3081、3090。若 dsh 跑在其它端口,或使用了 --host 0.0.0.0,到側邊欄設置裏填寫地址和橋接 token。

適用場景與注意事項

適合已經在用 DeepSeek Harness Web UI、並且希望智能體操作「當前這一個已登錄頁面」的人。典型需求包括:在已登錄的後臺裏點按鈕、填表、跟頁面跳轉,同時不想把會話遷到另一套無頭瀏覽器裏。它不替代通用的無頭瀏覽器自動化框架,也不處理需要截圖或視覺定位的頁面。

使用前有幾件事需要知道。

插件以當前 dsh 進程的權限運行。目錄頁寫明安裝時可能執行代碼,安裝前應閱讀 https://github.com/Lum1104/dsh-browser 的源碼和 MIT 許可證。DeepSeek Harness 仍是開發者預覽,README 說明升級時可能要同步調整依賴與 API。

安全模型以倉庫「安全」一節爲準,這裏只摘已經寫明的幾點:橋路徑在 /api 信任柵欄之外,自帶 bearer token 認證;settings.*credentials.*host.open* 等特權網關方法對非迴環來源一律拒絕;面向模型的管線是純文本,不傳截圖,密碼和卡號值不回傳。助手開始工作時會綁定當時的活動標籤頁;用戶手動切頁後,後續瀏覽器操作會暫停,側欄會詢問繼續原頁面還是跟隨新頁面,擴展不會靜默改綁或切換你正在看的頁。網頁文字會標記爲不可信輸入。讀取模式默認是「自動共享」,也可以改成每次詢問,或完全關閉讀取;讀到的頁面文字會發給當前選擇的模型。點擊、輸入、按鍵、導航、歷史跳轉和刷新默認失敗關閉,必須由用戶批准;顯式跨域 browser_navigate 和未知目標的歷史跳轉會再次詢問。

不要把 npm 上的 dsh-browser 包當成這個項目。Chrome 擴展應加載 ~/.dsh/browser-extension,不要加載源碼目錄。

小結

dsh-browser 把 DeepSeek Harness 接到真實的 Chrome 標籤頁上:頁面變成編號清單,模型按編號操作,不依賴視覺,也不另起一套無頭瀏覽器。目錄頁上的安裝入口是 dsh plugin add github:Lum1104/dsh-browser;要把橋插件和 Chrome 擴展一起裝好,按倉庫 README 跑 scripts/install.sh 更完整。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-browser/

GitHub:https://github.com/Lum1104/dsh-browser

DeepSeek Harness 官方倉庫:https://github.com/deepseek-ai/deepseek-harness

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

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

小夜