🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

研究增强套件 PyModel/dsh-research-plugins

DeepSeek Harnessv0.2.0
PyModel18 天前有提交已提供中文文档扫描:含敏感能力

为 DeepSeek Harness 打造的科研插件 —— 一个 pnpm monorepo,为你的 DSH…

36.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PyModel/dsh-research-plugins
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 18 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

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

✓npm 包dsh-research-plugins @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 21:12:05

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 发起网络请求
    packages/dsh-tavily/lib/client.js:232
    const response = await fetch("/api/tavily-probe".slice(1), {
  • 发起网络请求
    packages/dsh-tavily/lib/index.js:200
    res = await fetch(`${host}/search`, {
  • 读取本地文件
    packages/manifest.test.js:8
    const packages = readdirSync(root).filter((d) => statSync(new URL(d, root)).isDirectory() && !d.startsWith("."));
  • 读取本地文件
    packages/manifest.test.js:8
    const packages = readdirSync(root).filter((d) => statSync(new URL(d, root)).isDirectory() && !d.startsWith("."));
  • 读取本地文件
    packages/manifest.test.js:12
    const pkg = JSON.parse(readFileSync(at("package.json"), "utf8"));
  • 读取本地文件
    packages/manifest.test.js:24
    assert.ok(statSync(at("icon.svg")).size < 32 * 1024, "market inlines icons up to 32 KiB");
  • 读取本地文件
    packages/manifest.test.js:26
    const { meta } = JSON.parse(readFileSync(at(`locale/${lang}.json`), "utf8"));
  • 执行外部命令固定命令
    packages/manifest.test.js:32
    const [{ files }] = JSON.parse(execFileSync("npm", ["pack", "--dry-run", "--json", "--ignore-scripts"], { cwd: at(""), encoding: "utf8" }));
扫描于 2026/11/2(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 面向DSH的研究插件

README

由 DeepSeek 最新模型翻译生成
dsh-research-plugins 为 DeepSeek Harness 打造的科研插件 —— 一个 pnpm monorepo,为你的 DSH 智能体加上网页搜索和 MCP(Model Context Protocol)桥接,用于 AI 科研、网页抓取和实时文档。 这是什么 ·安装 · API keys ·仓库结构 · License 这是什么 dsh-research-plugins 给你的 DeepSeek Harness(DSH)智能体加上三项开箱即用之外没有的科研超能力: - 网页搜索,走 Tavily Search API —— 一个设置开关,就能把内置的 DeepSeek 搜索换成 Tavily,还支持免密钥搜索。 - 网页抓取与爬取,走 Firecrawl MCP 服务器 —— 在工具调用里抓取、爬取、映射和搜索开放网络。 - 最新的库文档,走 Context7 MCP 服务器 —— 按需获取任意库或框架的文档和代码示例。 一切都以即插即用的 DSH 插件形式交付 —— 不锁定厂商,不用 fork,一条 dsh plugin add 就搞定。
展开完整文档(README 剩余 1 节)
dsh-research-plugins

为 DeepSeek Harness 打造的科研插件 —— 一个 pnpm monorepo,为你的 DSH 智能体加上网页搜索和 MCP(Model Context Protocol)桥接,用于 AI 科研、网页抓取和实时文档。

这是什么 ·安装 · API keys ·仓库结构 · License

这是什么

dsh-research-plugins 给你的 DeepSeek Harness(DSH)智能体加上三项开箱即用之外没有的科研超能力:

- 网页搜索,走 Tavily Search API —— 一个设置开关,就能把内置的 DeepSeek 搜索换成 Tavily,还支持免密钥搜索。
- 网页抓取与爬取,走 Firecrawl MCP 服务器 —— 在工具调用里抓取、爬取、映射和搜索开放网络。
- 最新的库文档,走 Context7 MCP 服务器 —— 按需获取任意库或框架的文档和代码示例。

一切都以即插即用的 DSH 插件形式交付 —— 不锁定厂商,不用 fork,一条 dsh plugin add 就搞定。

| 包 | 加了什么 |
| @pymodel/dsh-tavily | 把 Tavily Search API 用作网页搜索服务商(设置里可开关,支持无密钥搜索)+ Tavily MCP 桥接(tavily_search / tavily_extract 无需密钥;tavily_crawl / tavily_map / tavily_research 需要密钥) |
| dsh-mcp-firecrawl | Firecrawl MCP:无需密钥即可用 search / scrape / parse;带上 API 密钥可用全部工具 |
| dsh-mcp-context7 | Context7 MCP:mcp__context7__* 提供最新的库文档和代码示例 |

安装

每个包都独立安装到 DSH 配置档:

dsh plugin --profile web add @pymodel/dsh-tavily
dsh plugin --profile web add dsh-mcp-firecrawl
dsh plugin --profile web add dsh-mcp-context7
dsh web

或者直接从 GitHub 安装(本仓库,最新提交):

dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:packages/dsh-tavily
dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:packages/dsh-mcp-firecrawl
dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:packages/dsh-mcp-context7

API 密钥

MCP 桥接用的是 harness 自带的 @deepseek-ai/dsh-mcp-client。它们从启动环境读取密钥(真实的环境变量、项目的 .env,或 $DSH_HOME/.env)——不从 $DSH_HOME/.credentials.yaml 读取:

| 插件 | 环境变量 | 是否必需 | 端点 |
| dsh-tavily(MCP 部分) | TAVILY_API_KEY | 否(无密钥 MCP:search + extract;crawl / map / research 需要密钥) | https://mcp.tavily.com/mcp/ |
| dsh-mcp-firecrawl | FIRECRAWL_API_KEY | 否(无密钥:search/scrape/parse;带密钥可用全部工具) | https://mcp.firecrawl.dev/v2/mcp |
| dsh-mcp-context7 | CONTEXT7_API_KEY | 否(无密钥也能用) | https://mcp.context7.com/mcp |

密钥在加载时以 Authorization: Bearer 请求头发送——绝不放在 URL 里,也绝不放在明文 YAML 里。没有密钥时,桥接会按各家厂商文档中的无密钥模式运行(Tavily 是 X-Tavily-Access-Mode: keyless),所以每一行开箱即用。往 .env 里加了密钥后,需要重启 dsh web。

已经有自己的 MCP 配置行?

这些包会插入加载器条目 mcp-tavily、mcp-firecrawl 和 mcp-context7。如果你配置档的 cordis.patch.yml 也插入了其中某个 id,DSH 会拒绝启动(duplicate loader entry id: mcp-tavily),DSH Desktop 会打开安全模式。用另一个 id 但相同 serverName 再加一行也会失败(serverName "tavily" is already in use)。

删掉你自己的配置行,或者保留你的设置(比如代理或网关 URL),把它改成对插件配置行的覆盖。覆盖会替换整个 config,所以每个键都要重新写一遍:

$DSH_HOME/profiles/web/cordis.patch.yml
- id: mcp-tavily
config:
serverName: tavily
transport: streamable-http
url: http://127.0.0.1:8787/tavily/mcp
toolCallTimeoutMs: 600000
failOnStartupError: false

仓库结构

packages/
dsh-tavily/ # web-search provider + settings card + Tavily MCP row
dsh-mcp-firecrawl/ # pure-config Firecrawl MCP bundle
dsh-mcp-context7/ # pure-config Context7 MCP bundle

Firecrawl 和 Context7 这两个包是纯配置 bundle(package.json + cordis.patch.yml + 图标和 locale/ 标题),没有构建步骤。Tavily 包保留手写的 lib/ 和浏览器客户端,同样没有构建。

三个包都声明 engines.dsh: ">=0.1.5-rc.2 <0.3.0-0":从 DSH 0.1.5(DSH Desktop)到 0.2.x。

开发 sh
pnpm install
pnpm test # provider, settings card, and every package's manifest + tarball

CI 会针对锁定版本的 DSH 0.2 包跑测试套件,也会针对 0.1.5-rc.2(DSH Desktop)跑一遍。发布时,只要发布 GitHub release,Publish to npm 工作流就会发布到 npm,并带上 npm provenance。

参与贡献

欢迎提 issue 和 pull request。动手做大改动之前,请先在 GitHub 上开个讨论。

作者

elkaix · pymodel

许可证

MIT © 2026 PyModel LLC
预览分享卡片长什么样 ↓PyModel/dsh-research-plugins
分享 · DeepSeek Harness Hub
PyModel/dsh-research-plugins

为 DeepSeek Harness 打造的科研插件 —— 一个 pnpm monorepo,为你的 DSH…

回到顶部