DeepSeek Harness (DSH) 採用插件化架構,當智能體需要聯網搜索、抓取網頁內容或解析非文本資源(如視頻、PDF、GitHub 倉庫)時,需要具備 SSRF 防護且配置靈活的工具。dsh-web-access 是 pi-web-access 的移植版,爲 DSH 提供統一的 Web 訪問層。
核心功能¶
該插件提供一組工具函數,用於覆蓋 DSH 中的 Web 訪問場景:
- 多提供方搜索回退:支持 20+ 搜索提供方,具備回退機制,支持 SSRF 防護。
- 多格式內容抓取:支持頁面、GitHub 倉庫克隆、PDF、YouTube 視頻及本地視頻的提取。
- 內容切片查找:通過
get_search_content對存儲的搜索片段進行查找。 - 來源覈查:通過
source_check驗證特定聲明的真實性。 - 官方集成:可作爲可選的
ctx.web提供方,覆蓋官方的web_search/web_fetch;註冊 Web UI 覆蓋層及官方搜索/抓取卡片。
安裝與啓用¶
在命令行中執行以下命令安裝插件:
dsh plugin --profile web add dsh-web-access
安裝後,如果當前 profile 中已存在官方的 @deepseek-ai/dsh-tool-web 插件,本插件會自動註冊爲 web_access_search 以避免函數名衝突。若需覆蓋官方搜索,可在配置中設置 replaceOfficialSearch: true。
配置文件¶
插件會按優先級讀取配置文件:
$DSH_WEB_ACCESS_DIR$PI_CODING_AGENT_DIR$DSH_HOME$XDG_CONFIG_HOME/dsh或$XDG_CONFIG_HOME/pi~/.dsh或~/.pi
配置文件格式支持 web-access.json 或舊版 web-search.json。支持零配置的 Exa、DuckDuckGo 和 SearXNG 後端,若需使用更多後端,需在配置中提供相應的 API 密鑰。
典型用法¶
以下是插件提供的工具函數調用示例:
// 多提供方搜索
web_search({ query: "TypeScript 5.9 rewriteRelativeImportExtensions" })
web_search({ queries: ["query 1", "query 2"], workflow: "auto-summary" })
// 抓取內容(支持 GitHub、YouTube 等)
fetch_content({ url: "https://docs.example.com/guide" })
fetch_content({ url: "https://github.com/owner/repo" })
fetch_content({ url: "https://youtube.com/watch?v=abc", prompt: "What libraries are shown?" })
// 查找存儲的搜索片段
get_search_content({ responseId: "abc123", urlIndex: 0 })
// 驗證來源
source_check({ claim: "The API supports streaming responses" })
適用場景與注意事項¶
- 適用對象:需要增強 DeepSeek Harness 聯網能力的開發者或智能體開發者。
- 依賴要求:需要 Node.js 版本 >= 20。
- 獨立性:該插件爲獨立項目,由 NexusAgentX 維護,與 DeepSeek AI 無官方關聯。
- 安全建議:插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證(MIT)。
總結¶
dsh-web-access 提供了從搜索、抓取到內容解析的完整 Web 工具鏈,通過多提供方回退和 SSRF 防護保障了靈活性。配合其 Web UI 覆蓋層,能夠直觀地展示搜索與抓取結果。