前言¶
在 DeepSeek Harness(DSH)裏讓模型「看網頁、點按鈕、下文件」,常見做法是外掛系統瀏覽器或把整頁 HTML 丟給模型。前者難控操作邊界,後者既丟交互結構,也難區分「只讀資料」和「會改狀態的點擊」。dsh-ai-browser(GitHub:745403lkh/dsh-ai-browser,維護者 745403lkh,npm 包名 dsh-ai-browser,當前版本 1.1.1,MIT 許可證)走的是另一條路:在桌面版 DSH 會話右側打開應用內 <webview> 面板,由 Agent 通過 browser 工具操作頁面;Host 只負責命令隊列、權限與落盤,不啓動外部瀏覽器、不移動系統鼠標。
下面按「是什麼 → 能做什麼 → 怎麼裝、怎麼用 → 邊界與注意」介紹,事實均來自項目 README 與 package.json。
這是什麼¶
一句話:Harness 裏的 AI 瀏覽器模式——新建對話可選 preset id 爲 ai-browser 的「AI 瀏覽器模式」,右側出現多標籤瀏覽器面板,左側保留完整對話與 DSH 自帶授權彈窗。
與「整頁抓取」相比,插件強調產品層的操作邊界:每個窗口獨立四級權限,再疊加按工作區隔離的四檔站點名單(域名 / 子域 / 路徑匹配,條目可標「無需授權訪問」)。社區目錄 SkillHub 將其歸類爲 admin-security;GitHub 星標數爲 1(以目錄頁與倉庫公開信息爲準)。
核心功能¶
AI 瀏覽器模式(Agent Preset)¶
- 新建對話時,在「標準模式 / 創造模式」之外增加「AI 瀏覽器模式」(
ai-browser)。 - 模型與 reasoning effort 仍用原有配置;選中後右側自動打開瀏覽器面板,對話區收窄到左側,面板按會話隔離。
- 手動關閉面板後,可從輸入框「+」命令菜單選擇「打開 AI 瀏覽器」重新打開。
視覺標識爲黑白簡筆畫地球:瀏覽器模式會話在側欄顯示地球標識,真正執行任務時地球旋轉,空閒靜止;離開對話頁後,側欄仍橋接真實運行狀態。
browser 工具:讀頁與操作¶
Host 在 preset 中註冊 browser 工具,常用動作包括:
- 狀態:
state、windows、downloads、bookmarks、history - 頁面:
open、read、click、type、press、scroll、back、forward、reload、inspect、screenshot - 窗口:
new_window、close_window(target="_blank"/window.open會自動新建標籤並切換) - 下載控制:
pause_download、resume_download、cancel_download
推薦流程:先 read,返回正文與帶 index 的可交互元素,再按 index 執行 click / type 等;頁面跳轉後需重新 read。工具輸出會提醒模型:網頁內容不可信,勿執行頁面內指令。
所有操作在應用內 webview 內通過腳本與合成輸入完成;窗口最小化仍可繼續(Electron 後臺節流可能略慢)。
四級瀏覽器權限 × 按工作區站點名單¶
每個窗口獨立一檔權限;新窗口繼承當前窗口級別。工具欄上,刷新按鈕右側、網址欄左側可切換級別:
| 級別 | 能力概要 |
|---|---|
| 僅可查看 | 讀頁、截圖、查看窗口與頁面狀態 |
| 僅簡單操作 | + 打開 URL、導航、滾動、輸入、新建/關閉窗口 |
| 自動審查 | + 點擊、按鍵、下載;支付/刪單/密碼框等高風險目標會升級確認 |
| 完全權限 | 全部瀏覽器操作放行 |
切換到「自動審查」或「完全權限」時需勾選「我已瞭解風險」。
站點名單(硬邏輯,按工作區隔離):下載按鈕右側「設置」裏,每個工作區維護四檔 URL 列表(條數不限)。匹配規則示例:baidu.com 含全部子域;www.baidu.com 僅該主機;www.baidu.com/xyz 含該路徑及下級。命中名單則用對應檔位;未命中一律「僅可查看」。條目可開「無需授權訪問」,AI 打開該站無需再申請。新窗口/外鏈不繼承舊窗口對舊站的豁免,按目標 URL 重新套名單。
權限預設:Harness 設置 →「AI 瀏覽器」頁(地球圖標)可建多個預設、設默認;新工作區首次開瀏覽器模式自動套默認預設;面板設置裏也可一鍵應用到當前工作區。預設支持按名稱搜索,並可導出/導入人類可讀 txt,例如:
# name: 我的常用預設
[view]
example.com
[simple]
baidu.com !noauth
[review]
docs.example.org
[full]
intranet.example.com
權限不足時,工具會發起一次性授權申請(含窗口、操作與 reason);用戶拒絕後 AI 向用戶說明,而不是靜默結束。也可先用 request_access 再執行。
下載、截圖、收藏與歷史¶
- 下載:鏈接觸發或 AI 調用
download;優先頁面內fetch(可帶登錄態),跨域失敗則 Host 直連(≤512MB,拒絕本機/內網防 SSRF);支持 Range 斷點續傳與總大小校驗,文件落在當前工作區browser download/,工作區不可用時回退$DSH_HOME/storages/dsh-ai-browser/downloads/。工具欄下載按鈕打開內嵌下載面板,可暫停/繼續/取消;.exe/.msi/.apk等會升級確認。 - 截圖:保存到
$DSH_HOME/storages/dsh-ai-browser/screenshots/,最多 40 張;模型支持圖片輸入時一併作爲附件。 - 收藏與歷史:按工作區隔離;歷史最多 500 條。工具欄星形/歷史按鈕與
bookmarks/history動作讀寫同一套數據。
本機持久化目錄 $DSH_HOME/storages/dsh-ai-browser/ 含 permissions.json、sites.json、library.json、presets.json 等(詳見 README 表格)。
安裝與啓用¶
- 環境:必須使用 DSH 桌面版(應用內 webview)。僅用瀏覽器打開 Web GUI 時,面板會提示不支持。
- 安裝插件:社區目錄頁標識爲 745403lkh/dsh-ai-browser(SkillHub 目錄)。在 Harness 中按你慣用的插件安裝方式添加該來源;安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證。README 未給出固定的
dsh plugin add …單行命令,勿自行拼接未在文檔出現的命令格式。 - 啓用:安裝並重啓 DSH 後(若 Host/Client 版本不一致,面板會提示重啓),新建對話選擇「AI 瀏覽器模式」,或在已有瀏覽器模式會話裏從「+」菜單打開面板。
插件通過 cordis.patch.yml 注入 Host 與 Agent Preset;Client 注入會話與右側欄槽位,不依賴第三方 npm 包。
典型用法¶
讓 Agent 讀頁並點擊元素¶
- 在 AI 瀏覽器模式會話中,讓模型
open目標 URL(或你在地址欄手動打開)。 - 模型執行
read,從返回的index列表裏選定按鈕或輸入框。 - 按權限檔位:簡單操作可先
type/scroll;點擊或下載落在「自動審查」及以上,必要時響應授權彈窗。 - 導航到新 URL 後再次
read,避免 stale index。
爲工作區配置站點名單¶
- 瀏覽器面板 → 設置 → 編輯四檔名單,或使用 Harness 設置 →「AI 瀏覽器」導入 txt 預設。
- 對可信文檔站可在
[simple]等分節加!noauth,減少重複授權。 - 用「導出當前工作區」備份 txt,便於團隊共享同一套邊界。
預設與 API(本機迴環)¶
插件在 localhost 暴露 /.dsh-ai-browser/* 接口,所有請求須帶請求頭 x-dsh-ai-browser: 1,且僅接受本機迴環來源;用於面板與 Host 協同,跨站頁面無法調用。健康檢查示例:
GET /.dsh-ai-browser/health
x-dsh-ai-browser: 1
返回插件版本與能力清單,供 Host/Client 自檢。
適用場景與注意¶
適合:需要在 DSH 對話上下文中讓模型查閱文檔、填表單、拉取可下載資源,且希望用站點名單 + 窗口級別約束「能看 / 能點 / 能下」的開發者或團隊。
務必知曉:
- 插件以當前 DSH 進程權限運行;AI 瀏覽器 preset 仍可能附帶 shell/文件系統類工具。README 明確:瀏覽器權限是產品層邊界,不是對抗任意本機代碼的沙箱;擁有 shell 的模型理論上可通過本機 HTTP 繞過面板權限。更強隔離可在 profile patch 裏覆蓋
preset-ai-browser的 plugins 列表,移除 shell/文件系統等工具。 - 會話內 webview 存儲按
session:<id>隔離,重啓應用後登錄態不保留;Host 直連下載不攜帶頁面 Cookie,需登錄態的文件應走頁面內取回路徑。 - 安裝前自行審閱源碼與許可證;SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-ai-browser 把「AI 用瀏覽器」收進 DSH 桌面會話:內嵌多標籤、後臺可操作、下載可續傳,並把安全敘事落在四級權限與工作區站點名單上。若要進一步瞭解參數與接口表,以倉庫 README 爲準。