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 覆盖层,能够直观地展示搜索与抓取结果。