dsh-web-access:DeepSeek Harness 的 Web 访问与多源抓取插件

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。

配置文件

插件会按优先级读取配置文件:

  1. $DSH_WEB_ACCESS_DIR
  2. $PI_CODING_AGENT_DIR
  3. $DSH_HOME
  4. $XDG_CONFIG_HOME/dsh 或 $XDG_CONFIG_HOME/pi
  5. ~/.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 覆盖层,能够直观地展示搜索与抓取结果。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜