DeepSeek Harness 插件

dsh-tavily-firecrawl

Tavily search + Firecrawl fetch providers for DeepSeek Harness (web capability seam, ctx.web)(英文原文)

跳到安装方式

来源信息

GitHub 仓库
skillre/dsh-tavily-firecrawl
最近更新
2026年8月15日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/skillre/dsh-tavily-firecrawl
插件名:dsh-tavily-firecrawl
作者:skillre

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-tavily-firecrawl

把 DeepSeek Harness 的联网能力换成 Tavily 搜索 + Firecrawl 抓取 的组合。一个 bundle 包,dsh plugin add 一条命令完成安装。

  • web_searchTavilyPOST /search,专用检索端点,快且便宜)
  • web_fetchFirecrawlPOST /v1/scrape,返回 markdown 正文)
  • 自动禁用内置的 DeepSeek 原生搜索(web-search-deepseek),无需 DEEPSEEK_API_KEY

纯 JavaScript ESM,无需编译;peer 依赖(@deepseek-ai/dsh-web@deepseek-ai/cordis 等)从 dsh 安装自带的 fallback node_modules 解析,接收者不需要额外安装任何依赖(也不需要源码运行 DSH)。

安装(接收者视角,官方机制推荐)

前置:已安装 dsh CLI(≥ 0.1.0-rc.5,本包在该版本验证)和 pnpm(dsh plugin 需要)。

# 1. 安装 bundle(自动初始化 profile、自动应用 wiring patch)
dsh plugin --profile web add github:<作者>/dsh-tavily-firecrawl#v0.1.0

# 2. 填 API key(任选一种方式)
#    - 编辑 $DSH_HOME/.env(首次安装会自动生成模板)
#    - 或启动环境里 export TAVILY_API_KEY / FIRECRAWL_API_KEY

# 3. 重启 dsh(你的常用启动命令)
dsh web

重启后新会话即生效:

  • web_search 立即可用(Tavily)
  • web_fetch(Firecrawl)需要会话运行在开启 fetch 的预设上:设置 → 通用 → agent 预设里选 standard-web(本包附带的预设 = 官方 standard + fetch: true),或应用 [enable-web-fetch-default.patch.yml](./enable-web-fetch-default.patch.yml) 让它成为默认:
dsh web --patch ./enable-web-fetch-default.patch.yml

> 想用旧版(git URL 无 tag)?dsh plugin --profile web add github:<作者>/dsh-tavily-firecrawl 装默认分支。 > 想更新?dsh plugin --profile web update dsh-tavily-firecrawl。 > 想卸载?dsh plugin --profile web remove dsh-tavily-firecrawl,然后按本文末尾恢复 web-search-deepseek

其他安装方式

方式 B:本地 tgz(无 GitHub/网络 git 依赖时)

npm pack    # 在仓库根目录生成 dsh-tavily-firecrawl-0.1.0.tgz
dsh plugin --profile web add ./dsh-tavily-firecrawl-0.1.0.tgz

方式 C:./install.sh(无需 pnpm / dsh CLI,一键全自动)

./install.sh                      # 默认装进 $DSH_HOME/profiles/web
./install.sh --enable-fetch-default   # 顺便让新会话默认走 web_fetch 预设

脚本幂等:复制 bundle 到 profile vendor/ → 建 node_modules 符号链接 → 合并 wiring patch(带起止标记)→ 复制 standard-web 预设 → 生成 .env 模板。卸载用 ./uninstall.sh [--profile <名字>] [--keep-preset]

方式 D:--patch 临时叠加(不落盘、可随时去掉;要求包已能被 profile 解析)

dsh web --patch ./tavily-firecrawl.patch.yml

配置

patch 行的 config: 里覆盖(全部可选):

- insert:
    - id: web-tavily-firecrawl
      name: 'dsh-tavily-firecrawl'
      config:
        search:                 # Tavily 侧
          searchDepth: advanced # basic | advanced
          includeAnswer: true   # 让 Tavily 生成摘要(成为结果的 answer)
          maxResults: 8         # 无 maxResults 时的默认条数
          apiKey: tvly-xxx      # 字面 key(优先于环境变量)
          baseURL: https://api.tavily.com
        fetch:                  # Firecrawl 侧
          timeoutMs: 30000
          maxBodyChars: 200000  # 正文上限,超出截断并标记
          onlyMainContent: true
          apiKey: fc-xxx
          baseURL: https://api.firecrawl.dev
        searchEnabled: true     # false 则不注册搜索提供方
        fetchEnabled: true      # false 则不注册抓取提供方

Key 解析顺序:继承环境 → <调用目录>/.env$DSH_HOME/.env。provider 每次调用实时解析凭据,改 key 无需重启;改 .env 文件需要重启进程。

验证

装好后让 agent 试:

  • 「搜一下 <关键词>」→ 走 Tavily
  • 「抓取 https://example.com」→ 走 Firecrawl(需要 standard-web 预设)

常见问题

  • 改完配置不生效? 插件与 patch 启动时加载,必须重启 dsh 进程。
  • 搜索报 key 错误? TAVILY_API_KEY 未解析,检查 $DSH_HOME/.env 或启动环境。
  • web_fetch 工具不存在? 工具注册由预设的 tool-web.fetch 控制,选 standard-web 预设。
  • 想换回 DeepSeek 搜索? dsh plugin remove 后,手动把 profile 的 cordis.patch.yml 里标记块删掉(或跑 ./uninstall.sh)。
  • patch 优先级? bundle 层 < profile cordis.patch.yml < $DSH_HOME/cordis.patch.yml < --patch 叠加层,后层覆盖前层。

开发者:发布到 GitHub / npm

本仓库根目录即 npm 包(声明 dsh.bundle.patch),这是 dsh plugin add 官方机制识别的关键。

# 1. 推到 GitHub
git init -b main && git add . && git commit -m "dsh-tavily-firecrawl 0.1.0"
git remote add origin git@github.com:<作者>/dsh-tavily-firecrawl.git
git push -u origin main

# 2. 打 tag(接收者用 #v0.1.0 锁定版本)
git tag v0.1.0 && git push origin v0.1.0

# 3. (可选)发布到 npm —— 去掉 package.json 里的 "private": true、确保包名全局唯一
npm publish

# 4. (可选)GitHub Releases 附上 dist/*.tgz 和整个仓库 zip,方便不熟 git 的用户

发布 npm 后接收者直接:dsh plugin --profile web add dsh-tavily-firecrawl

兼容性

  • macOS / Linux(Windows 建议 WSL 或用方式 B/C)
  • 需要带 web seam(ctx.web)的 DSH 版本(官方 dsh-base + dsh-web-app 组合均满足),已验证 0.1.0-rc.5