前言¶
在 DSH(DeepSeek Harness)裏跑智能體時,常見做法是另開終端、複製頁面內容,或自己寫腳本把瀏覽器和 host 連起來。讀網頁、點按鈕、看網絡請求,往往和「當前正在看的那一段字」脫節。若你已經在用 dsh 的 web profile,又希望在 Chrome / Edge 裏選中文字就能解讀、在側欄繼續追問,同時讓智能體直接讀頁面、抓包、導航,就需要瀏覽器擴展和 host 插件成對安裝。dsh-insight(維護者 Suguyun,GitHub 倉庫 Suguyun/dsh-insight)就是爲此設計的 DSH 瀏覽器伴侶:MV3 擴展負責劃詞、側欄與設置;host 半邊註冊 WebSocket 橋接、劃詞解讀路由和 browser_* 工具。下面介紹它的組成、安裝步驟和典型用法。
這是什麼¶
dsh-insight 是 dsh 的瀏覽器伴侶,分類上屬於 DSH 生態裏的客戶端插件。它由兩部分組成,缺一不可:
| 路徑 | 作用 |
|---|---|
extension/ |
MV3 擴展:側欄、劃詞、浮窗、設置 |
host/bridge.js |
擴展與 dsh 的 WebSocket 橋接(路由 /dsh-insight/bridge) |
host/browser-tools.js |
註冊 browser_* 工具 |
host/insight.js |
劃詞解讀路由 POST /dsh-insight |
host/page-injector.js |
把「當前頁面」注入會話(默認不掛載) |
協議細節見倉庫內 docs/bridge-protocol.md。當前 package 版本爲 0.1.9,許可證 MIT。
核心功能¶
劃詞即解讀¶
選中網頁文字後會出現可自定義的小浮標(默認文案「解讀」)。點擊後會把選區文本、頁面 URL、標題 POST 到本機 dsh,解讀結果以 Markdown 渲染。
四種觸發與展示方式:
| 模式 | 觸發 | 結果去向 |
|---|---|---|
click(默認) |
選中後點浮標 | 頁面浮窗 |
click-sidebar |
選中後點浮標 | 只進側欄 |
auto |
劃詞停手約 0.45 秒即解讀 | 頁面浮窗 |
auto-sidebar |
劃詞即解讀 | 只進側欄,頁面上不出現元素 |
同一段文字只解讀一次;連續劃詞時新選區排隊覆蓋舊選區。浮窗位置可選「跟隨選區」或「固定在右下角」。側欄未打開時,click-sidebar 與 auto-sidebar 不會發起解讀也不彈浮標;兩種頁面浮窗模式不受影響。
側欄:原文編輯與多輪追問¶
側欄裏「選區原文」超過 160 字默認摺疊;可點「編輯」改文字後再「用這段重新解讀」。解讀下方有追問框(Enter 發送,Shift+Enter 換行),走原生多輪,攜帶最近 16 輪、每輪上限 4000 字符的歷史。
設置集中在側欄右上角「設置」,無需獨立擴展選項頁。側欄背景色、字號(11–20px)可調,可跟隨淺色 / 深色主題。
解讀口徑¶
內置六種:默認解讀、一句話講清、直譯 + 術語、代碼 / 報錯講解、批判性審閱、講給完全不懂的人。內置口徑可改(覆蓋層保存、可恢復默認),也可新建自定義口徑。
智能體:browser_* 工具¶
裝好 host 半邊後,dsh 智能體可用 8 個工具:browser_get_page、browser_list_tabs、browser_navigate、browser_click、browser_open_tab、browser_start_capture、browser_stop_capture、browser_capture_requests。
抓包走 CDP,默認對憑據脫敏(redactCredentials: true)。會改動頁面的動作(導航、點擊、開標籤、開始抓包)要求本輪用戶消息裏含明確意圖詞才放行,用於防提示注入。
環境要求¶
- 可運行的 dsh,且啓用 web profile(默認
http://127.0.0.1:3080) - Node.js ≥ 18,以及 pnpm(
dsh plugin依賴它) - Chrome 或 Edge ≥ 118
安裝與啓用¶
1. 裝宿主半邊¶
在資料原文中,安裝命令爲:
dsh plugin --profile web add github:Suguyun/dsh-insight
這條命令會安裝本包,並自動把 dsh-insight 寫進該 profile 的 dsh.profile.bundles。若 HTTPS 拉取 github: 規格失敗,可在 profile 目錄內 SSH 克隆後再 dsh plugin --profile web add ./dsh-insight(README 說明了爲何不宜用指向 profile 外的 link: 符號鏈接)。
2. 裝瀏覽器擴展¶
方式 A:從 Releases 下載 dsh-insight-<版本>.zip,解壓到固定目錄(manifest.json 在解壓根目錄)。
方式 B:
npx github:Suguyun/dsh-insight install
本包未發佈到 npm,必須帶 github: 前綴。命令會把擴展複製到穩定用戶目錄並打印路徑。
兩種方式之後相同:
- 打開
chrome://extensions或edge://extensions,開啓「開發者模式」; - 「加載已解壓的擴展程序」,選中直接包含
manifest.json的那一層(命令行安裝時即爲…/dsh-insight/根目錄,不是外層的extension/父目錄); - 點工具欄圖標打開側欄。
3. 驗證¶
側欄頂部應顯示 「橋接已連接」。若顯示「未連接」,確認 dsh 在運行、側欄裏 dsh 地址正確,然後刷新頁面。
典型用法¶
劃詞與側欄追問¶
- 在任意
http(s)頁面選中一段文字; - 按當前模式點浮標或等待自動解讀;
- 在側欄閱讀 Markdown 結果,必要時編輯選區後重新解讀;
- 在追問框繼續多輪對話。
腳本化改設置¶
設置保存在 chrome.storage.local。例如切換爲劃詞後只進側欄:
chrome.storage.local.set({ insight_mode: "auto-sidebar" });
常用鍵包括:dsh_url、insight_mode、insight_label、insight_position、insight_preset、panel_bg、panel_font_size;頁面自動推送開關 insight_autopush 默認爲 false。
打開頁面自動注入(可選)¶
需兩處同時開啓,只開一處會靜默空轉:
- 在
cordis.patch.yml裏取消註釋dsh-insight-page-injector相關兩行; chrome.storage.local.set({ insight_autopush: true })。
實現有界:單次最多 4000 字符、帶注入標記的正文會跳過、單會話累計 60000 字符封頂。
智能體讀頁與抓包¶
在 dsh 對話中,由模型調用 browser_* 工具。若要抓未脫敏原始流量,需在 cordis.patch.yml 裏顯式設置 redactCredentials: false(默認脫敏)。
數據流向、權限與限制¶
劃詞解讀把選區與 URL / 標題發到 {你的 dsh}/dsh-insight,是否離開本機取決於你爲 dsh 配置的模型服務商。擴展對外請求僅指向本機 dsh 地址與 CDP 回退端點 127.0.0.1:9222,README 寫明無遙測、無第三方端點。
擴展使用 sidePanel、storage、tabs、scripting、webNavigation、debugger、<all_urls> 等權限;debugger 用於 CDP 抓包,被調試標籤頁會出現「正在調試」提示條。
已知限制包括:側欄 Markdown 渲染不支持表格;僅在 http(s) 頁工作(不含 file://、PDF 閱讀器、擴展商店等);劃詞解讀爲一次性問答、不建會話;只在 Chrome / Edge MV3 上驗證過。側欄寬度由瀏覽器決定,擴展無法控制。
適用場景與注意¶
適合:已在本地跑 dsh web profile、希望瀏覽網頁時劃詞解讀並在側欄追問;希望 dsh 智能體通過標準工具讀當前頁、點元素、抓網絡請求的開發者。
注意:host 插件與 dsh 同進程運行,安裝前應閱讀倉庫源碼與 MIT 許可證,確認權限與數據路徑可接受。社區目錄 skillhub.cn 上的 dsh-insight 頁 與 GitHub 爲獨立信息源,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」。