dsh-web-tinyfish:TinyFish 搜索与抓取提供者

DeepSeek Harness (DSH) 通过插件机制支持 web_search 和 web_fetch 工具。DSH 默认内置了 deepseek-official 搜索提供者和 http 抓取提供者,但本地抓取器在处理 JavaScript 渲染、PDF 解码及复杂机器人防护时存在局限。dsh-web-tinyfish 插件为 DSH 引入了 TinyFish 作为替代方案,解决了上述痛点。

插件简介

此插件为 DSH 提供了 TinyFish 搜索和抓取提供者,用于支撑内置的 web_search 和 web_fetch 工具。

  • 名称:dsh-web-tinyfish
  • 仓库:https://github.com/HateYouLittle/dsh-web-tinyfish
  • 作者:HateYouLittle
  • 类别:联网工具
  • 许可证:MIT

安装与配置

安装此插件需要 DSH 运行环境以及一个有效的 TinyFish API 密钥。

  1. 安装插件
    使用官方命令安装:
    dsh plugin --profile <profile> add dsh-web-tinyfish
安装后,插件会注册 `tinyfish` 提供者 ID。
  1. 配置 API 密钥
    插件本身不内置 API 密钥,必须在环境变量或配置中提供。如果未配置,提供者将报告为不可用。

    • 环境变量:设置 TINYFISH_API_KEY。
    • 配置文件:在私有配置覆盖中设置 apiKey 字段。

核心能力

使用 TinyFish 提供者可获得以下能力:

  • 搜索支持:通过 ctx.web.search() 调用,提供标题、片段和发布日期。
  • 抓取支持:通过 ctx.web.fetch() 调用,支持 JavaScript 渲染,可抓取 SPA 类网站内容。
  • PDF 文本提取:可解析和提取 PDF 文本内容,本地抓取器无法完成此操作。
  • 机器人防护处理:将机器人防护挑战显式标记为 bot_blocked 错误,而非返回挑战页面正文。
  • 输出格式:生成干净的 Markdown、HTML 或 JSON 输出,而非原始 HTML。

行为与限制

  • SSRF 保护:抓取请求的 URL 会发送到 TinyFish 服务器。TinyFish 会拒绝私有 IP、localhost 和云元数据端点,因此 SSRF 保护由 TinyFish 侧处理。对于敏感数据抓取,建议重置为 http 提供者。
  • 重置方式:如需切换回默认提供者,需修改配置:
    searchProvider: 'deepseek-official'
    fetchProvider: 'http'

总结

该插件为 DSH 提供了更强大的网页处理能力,适合需要处理动态内容、PDF 文档或复杂反爬场景的开发场景。插件仓库:https://github.com/HateYouLittle/dsh-web-tinyfish

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

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

Xiaoye