DeepSeek Harness Hub
← 返回列表

maxwell-feng/dsh-tinyfish-search

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
✓ 可直接安装

DeepSeek Harness 插件,把内置 websearch 工具接到 TinyFish Search…

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/23 · 已提供中文文档

TinyFish-backed web search provider for DeepSeek Harness (ctx.web) — 将内置 web_search 接入 TinyFish Search API 的 DeepSeek Harness 插件

综合分
40.1
GitHub 分
40.1
用户评分
★ Stars
17
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-tinyfish-search
npm 包 dsh-tinyfish-search 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 3 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · tool
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 0 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/20
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-tinyfish-search @ 0.10.0
Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/20 08:38:48

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-credentials@deepseek-ai/dsh-launch-environment@deepseek-ai/dsh-llm@deepseek-ai/dsh-web
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-tinyfish-search

英文 | 简体中文

DeepSeek Harness 插件,把内置 web_search 工具接到 TinyFish Search API。每次查询只需一次 GET,无模型调用——更快且免费(TinyFish Search 在任意钱包余额下免费)。

插件作用

DeepSeek Harness 内置的 web_search 工具默认走 DeepSeek 的 Anthropic 兼容端点(web-search-deepseek)。本插件在 ctx.web 能力缝上注册了一个网页搜索提供方:

- 稳定提供方 ID:tinyfish
- 每次 web_search 调用变成 GET https://api.search.tinyfish.ai?query=...,携带 X-API-Key 头
- 把 results[](标题 / 摘要 / 链接 / 日期)归一化为缝接口的可移植来源结构
- 每次搜索不消耗一次模型调用——与 Anthropic 服务器工具方案不同,更快更省

安装本插件后,内置 web_search 会被自动接管:bundle patch 会覆盖 web 能力缝行(searchProvider: tinyfish,并重述 fetchProvider: http)——因为 dsh-base 把该行钉死为 deepseek-official,否则插件即使注册了 provider,工具仍会走 DeepSeek 后端。同时补丁还会重新启用宿主层 tool-web 行(disabled: false,并重述 search: true、fetch: true 及基础超时值):dsh-web-app bundle 自带该行的禁用(Web 应用本应按 agent 预设逐会话组合 web 工具),缺了这一行,干净安装到 web profile 后模型根本看不到 web_search 工具。作用范围说明:重启用宿主行会让工具对本 profile 上的每一个 agent 预设可见——包括原本不带 web 工具的预设(如 minimal);自带 tool-web 行的预设仍会以自己的注册遮蔽这个全局注册。若希望把工具限定在单个预设内,请在 profile 的 cordis.patch.yml 中覆盖或移除 tool-web 行,并把 tool-web 加入该预设的 agent 组合。更后层(profile / home cordis.patch.yml / --patch)仍可按 id 覆盖这两行。

配置以易变(volatile)schema 声明(DeepSeek Harness 0.1.7 起):Host 读取本插件导出的 Config schema,并为 Plugins 页上的 dsh-tinyfish-search 行渲染配置表单。插件侧不再有设置注册,也不再需要自带浏览器半端。保存的修改无需重启即对下一次搜索生效。

环境要求

- DeepSeek Harness dsh CLI(任意带 web 缝的 profile,如 web)——已在最新版 0.1.7-rc.1 上全面验证;插件声明 ^0.1.7-alpha.2 peer,即引入易变配置的那条发布线
- Node.js ^22.19.0 || >=24.0.0(与 harness 的引擎区间一致)
- 一个 TinyFish API key(免费创建;Search 免费)
- harness 凭据缝与启动环境(@deepseek-ai/dsh-credentials、@deepseek-ai/dsh-launch-environment)为必需 peer 依赖——所有 dsh profile 均已内置

宿主兼容性闸门

DeepSeek Harness 0.1.7-rc.1 会在加载插件行之前,用正在运行的运行时版本校验插件的 @deepseek-ai/dsh peerDependencies;不兼容的插件会被直接拒绝,而不是照常加载。本发行版声明的 peer 均实际满足,因此无需任何豁免。若你在声明区间之外的 dsh 上运行,DSH 会拒绝该行并打印确切的插件/运行时组合;要显式接受该风险,请按提示授予豁免:

dsh plugin allow-version dsh-tinyfish-search@0.11.1

文档导航

- 安装说明文档 (英文)
- 使用说明文档 (英文)
- 配置说明文档 (英文)
- 更新说明文档 (英文)
- 卸载说明文档 (英文)
- 更新日志 (英文)

安装

dsh plugin --profile web add dsh-tinyfish-search

或者从仓库 / tarball 安装:

dsh plugin --profile web add ./dsh-tinyfish-search        # 源码目录
dsh plugin --profile web add ./dsh-tinyfish-search-0.11.1.tgz
dsh plugin --profile web add github:maxwell-feng/dsh-tinyfish-search

Git 安装拿到的是源码而非构建产物:pnpm 会运行包的 prepare 脚本从源码构建 lib/。pnpm ≥ 10 需要一次性允许构建(它会打印确切的 pnpm-workspace.yaml 片段)。

详见安装说明:环境要求、全部安装方式与验证步骤。

配置

设置 API key(推荐——配置文件中不出现密钥):

Linux / macOS:

export TINYFISH_API_KEY="your_api_key_here"                      # 仅当前 shell
echo 'export TINYFISH_API_KEY="your_api_key_here"' >> ~/.bashrc  # 永久生效(bash)
echo 'export TINYFISH_API_KEY="your_api_key_here"' >> ~/.zshrc   # 永久生效(zsh)
source ~/.bashrc                                                 # 或重开终端

Windows(PowerShell):

setx TINYFISH_API_KEY "your_api_key_here"    # 永久生效——新开的终端生效
$env:TINYFISH_API_KEY = "your_api_key_here"  # 仅当前会话生效

或在 profile 的 cordis.yml / patch 层设置字段:

- insert:
- id: dsh-tinyfish-search
name: dsh-tinyfish-search
config:
apiKey: "字面量密钥"          # 环境变量的替代方案;注意不要提交到仓库
apiKeyEnv: TINYFISH_API_KEY     # 默认值
baseURL: https://api.search.tinyfish.ai   # 默认值
location: US                    # 可选的地区定位,转发给 TinyFish 的 location
language: en                    # 可选的搜索语言,转发给 TinyFish 的 language

| 字段 | 默认值 | 含义 |
|---|---|---|
| apiKey | — | TinyFish API key 字面量(secret 角色;优先于环境变量) |
| apiKeyEnv | TINYFISH_API_KEY | 承载 API key 的环境变量名 |
| baseURL | https://api.search.tinyfish.ai | TinyFish Search API 端点基地址 |
| location | — | 可选地区,转发为 TinyFish 的 location(如 US);留空/未设置则不发送 |
| language | — | 可选搜索语言,转发为 TinyFish 的 language(如 en);留空/未设置则不发送 |

完整 schema、凭据解析顺序与运行时设置界面见配置说明。

验证

dsh --profile web --dump-config | grep tinyfish   # 层已加载

在会话里调用 web_search,检查结果是否带 TinyFish 的链接/摘要。GUI 的「网页搜索」设置卡片会显示提供方状态。

使用

安装后无需代码改动。在任意带 web 能力的会话中:

1. 模型按常调用 web_search(如“搜索 TinyFish 文档”)。
2. 框架经 ctx.web → tinyfish → https://api.search.tinyfish.ai 路由请求。
3. 结果以 WebSearchSource[](url / title / snippet / publishedAt)形式出现在工具结果中。
4. GUI:设置 → 网页搜索 显示提供方 tinyfish 与 available: true(已配置 API key 时)。

错误与中断语义遵循 dsh-web 缝接口:无密钥时 WEB_PROVIDER_CREDENTIAL_MISSING,取消时 WEB_ABORTED,其他为 WEB_PROVIDER_ERROR。

提供方、凭据配置、完整示例与错误表见使用说明。

卸载

dsh plugin --profile web remove dsh-tinyfish-search

移除 bundle 层与 tinyfish 提供方注册,web / tool-web 行会恢复为底层 bundle 原本的组合值(移除插入层后,被插入行的覆盖即回到其自身默认)。重启 dsh --profile web 确认 web_search 回退到基础 deepseek-official 提供方(若未安装其他提供方则为空)。

升级

dsh plugin --profile web add dsh-tinyfish-search@latest
或走 git,在改动进入 npm 前先行取用:
dsh plugin --profile web add github:maxwell-feng/dsh-tinyfish-search

从 ≤ 0.11.0 升级到 0.11.1 无需任何手工步骤:本版不改运行时逻辑、不改配置、不改工具接口。仓库只保留 TypeScript 源码——双语文档闸门现为 scripts/check-docs-language.ts,由 Node 直接剥离类型运行——并修正了若干文档排序缺陷。

从 ≤ 0.10.0 升级到 0.11.0 无需任何手工步骤,但这是一次宿主基线抬升:插件现在要求 DeepSeek Harness 0.1.7-alpha.2 或更新,并已在 0.1.7-rc.1 上验证。在 0.1.6 宿主上 DSH 会拒绝该行(见宿主兼容性闸门)。配置迁移到 0.1.7 的易变 schema——字段、取值、默认值完全一致,只是编辑它们的表单换了实现。USER_AGENT 标识头更新为 dsh-tinyfish-search/0.11.0。

从 ≤ 0.9.0 升级到 0.10.0 无需任何手工步骤:完成与 DeepSeek Harness 0.1.6-alpha.2 的对齐(@deepseek-ai/dsh- peer 现为 ^0.1.6-alpha.2,Node ^22.19.0 || >=24.0.0),USER_AGENT 标识头更新为 dsh-tinyfish-search/0.10.0。

从 ≤ 0.8.3 升级到 0.9.0 无需任何手工步骤:完成与 DeepSeek Harness 0.1.6-alpha.1 的对齐(@deepseek-ai/dsh- peer 现为 ^0.1.6-alpha.1,Node ^22.19.0 || >=24.0.0),发布包现仅包含 lib/、cordis.patch.yml 与 LICENSE——各文档保留在本仓库中,不再随包安装进你的 profile。USER_AGENT 标识头更新为 dsh-tinyfish-search/0.9.0。

从 ≤ 0.8.1 升级到 0.8.3 无需任何手工步骤:内置企业级 SSRF 深度网络安全防御,并在 DeepSeek Harness 0.1.5-rc.2 上完成全量验证,USER_AGENT 标识头更新为 dsh-tinyfish-search/0.8.3。

从 ≤ 0.8.0 升级到 0.8.1 无需任何手工步骤:设置节、补丁行与凭据引用都随 bundle 层携带,pnpm 会原地刷新包。该版本全面修复了 Dependabot 报告的 js-yaml 安全漏洞(升级至 4.3.2,修复 CVE-2026-84375、GHSA-5p4m-2wfm-xmqj、CVE-2026-59869、CVE-2026-53550 等漏洞),维持纯 TypeScript 架构(零 JavaScript 残留),USER_AGENT 标识头更新为 dsh-tinyfish-search/0.8.1。

从 ≤ 0.7.0 升级到 0.8.0 无需任何手工步骤:设置节、补丁行与凭据引用都随 bundle 层携带,pnpm 会原地刷新包。插件采用纯 TypeScript 架构(零 JavaScript 残留),USER_AGENT 标识头更新为 dsh-tinyfish-search/0.8.0。

从 ≤ 0.6.1 升级到 0.7.0 无需任何手工步骤:设置节、补丁行与凭据引用都随 bundle 层携带,pnpm 会原地刷新包。插件代码遵循官方规范全面重构为模块化 TypeScript 架构,USER_AGENT 标识头更新为 dsh-tinyfish-search/0.7.0。

从 ≤ 0.5.0 升级到 0.6.1 无需任何手工步骤:设置节、补丁行与凭据引用都随 bundle 层携带,pnpm 会原地刷新包。可见的变化是元数据规范遵循最新 @deepseek-ai/dsh-package-manifest(manifestVersion: 1,宿主声明 "dsh": "^0.1.5-rc.2",Node >=22)与 USER_AGENT 归属头(dsh-tinyfish-search/0.6.1)。

从 ≤ 0.4.0 升级到 0.5.0 无需任何手工步骤:设置节、补丁行与凭据引用都随 bundle 层携带,pnpm 会原地刷新包。唯一可见的变化是 harness 基线(@deepseek-ai/dsh- peer 现为 ^0.1.5-rc.1,Node >=22)与 USER_AGENT 归属头(dsh-tinyfish-search/0.5.0)。

从 ≤ 0.2.1 升级到 0.3.0 无需任何手工步骤:设置节、补丁行与凭据引用都随 bundle 层携带,pnpm 会原地刷新包。唯一可见的变化是上文所述 web/tool-web 行的行为——若你本就自行覆盖过这两行,则一切保持你的覆盖不变。

开发

pnpm install
pnpm build     # tsc -> lib/
pnpm test      # node --test(mock fetch)
pnpm typecheck # tsc --noEmit,覆盖 src + test + scripts

仓库全量使用 TypeScript,没有需要同步维护的 JavaScript 源码。双语文档闸门为 scripts/check-docs-language.ts,CI 在安装依赖之前用裸 Node 直接运行它(无需任何依赖):

node scripts/check-docs-language.ts

发布到 npm 通过 GitHub Actions 的 npm Trusted Publishing(OIDC)完成——见 .github/workflows/publish.yml 与 npm 文档。打 vX.Y.Z 标签(或手动触发工作流)即发布,构建溯源(provenance)自动生成。

更新说明

见 更新日志 与 GitHub Releases 页面。

许可证

MIT — 见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群