前言¶
DeepSeek Harness (DSH) 的 web_fetch 模塊能夠處理標準的 HTTP 請求,獲取服務器返回的 HTML。對於純文本或靜態文檔,這種方式足夠且高效。但在面對需要 JavaScript 渲染的單頁應用(SPA)、需要登錄態的頁面、或者需要截圖保存的網頁時,純 HTTP 請求無法獲取完整的頁面內容。
dsh-moli 插件旨在解決這一問題。它將本地的 Moli 瀏覽器(一個爲 AI 智能體設計的 Rust 無頭瀏覽器)接入 DeepSeek Harness,讓智能體能夠像真實瀏覽器一樣執行頁面渲染、提取語義樹、生成截圖或 PDF。
插件介紹¶
dsh-moli 是 DeepSeek Harness 的一個聯網工具類插件,由開發者 27painter 維護。它的核心功能是提供兩個工具接口:moli_fetch 和 moli_probe。通過這兩個接口,智能體可以驅動本地已安裝的 Moli 引擎,處理那些必須由瀏覽器才能呈現的內容。
核心功能¶
該插件主要包含以下兩個能力:
-
moli_fetch
- 渲染指定的 URL。
- 返回 Markdown、HTML、語義樹或 JSON 格式的數據。
- 在頁面上下文中評估 JavaScript 表達式。
- 生成 PNG 截圖或 PDF 文檔。
-
moli_probe
- 檢查 Moli 引擎的安裝狀態、版本信息以及 HTTPS 可用性。
- 支持自動安裝 Moli 引擎。
安裝與啓用¶
安裝插件需要分兩步:先安裝插件代碼,再確保 Moli 引擎已就緒。
1. 安裝插件代碼¶
插件代碼通過 npm 發佈,體積很小(約 26KB)。
dsh plugin --profile web add dsh-moli
2. 安裝 Moli 引擎¶
npm 包僅包含插件代碼,不包含 Moli 瀏覽器引擎(約 101MB)。如果本地沒有安裝引擎,需要單獨安裝。
方式一:通過插件自動安裝
moli_probe action=install
方式二:使用官方安裝器
Moli 引擎遵循 MIT 許可證,由 lexmount/moli 項目維護。可以執行官方提供的安裝腳本:
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://github.com/lexmount/moli/releases/latest/download/moli-installer.ps1 | iex"
# Linux / macOS
curl --proto '=https' --tlsv1.2 -fsSL https://github.com/lexmount/moli/releases/latest/download/moli-installer.sh | sh
方式三:手動下載
從 GitHub Releases 下載對應架構的壓縮包(如 moli-x86_64-pc-windows-msvc.zip),解壓到指定目錄。
如果 Moli 引擎安裝路徑不在默認位置,可以通過配置項指定:
config:
exePath: 'C:\path\to\moli.exe'
安裝完成後,重啓 DSH 並運行 moli_probe 確認版本正確。
典型用法¶
檢查環境狀態¶
確認 Moli 引擎是否已安裝以及版本信息:
moli_probe
獲取渲染後的 Markdown¶
請求一個需要 JS 渲染的頁面,並直接輸出 Markdown:
moli_fetch url=https://example.com dump=markdown
安裝引擎¶
當提示引擎缺失時,使用以下命令觸發安裝流程:
moli_probe action=install
注意事項與適用場景¶
適用場景¶
- 單頁應用(SPA):內容完全由 JavaScript 動態生成,HTTP 請求返回空殼的情況。
- 登錄牆與 Session 管理:需要瀏覽器 Cookie 或登錄態才能顯示內容的頁面。
- 視覺驗證:需要獲取網頁的截圖或 PDF,用於人工覈對或歸檔。
- 深層數據提取:使用選擇器提取頁面中特定字段(如價格、數量)。
不適用場景¶
- 純靜態頁面:如果
web_fetch已經能返回所需的文本內容,優先使用web_fetch,因爲它更輕量、更快。
限制說明¶
- 不支持桌面配置文件:該插件不支持
dsh plugin --profile desktop安裝命令。桌面配置文件屬於 Electron 應用本身,插件應通過 Web 配置文件安裝。 - 權限與安全:插件以當前 DSH 進程的權限運行。在使用前,建議檢查源碼及 MIT 許可證,確保符合安全合規要求。
結語¶
dsh-moli 爲 DeepSeek Harness 提供了真實的瀏覽器渲染能力。通過將本地 Moli 瀏覽器集成到工作流中,智能體可以突破靜態 HTTP 請求的限制,處理現代 Web 應用的複雜交互與數據提取需求。