PyModel/dsh-research-plugins
dsh-research-plugins
dsh-research-plugins is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add @pymodel/dsh-tavilyRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-research-plugins)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from PyModel/dsh-research-plugins, cleaned of badges and images.
dsh-research-plugins
<strong>Research plugins for <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a></strong> — a pnpm monorepo adding web search and MCP (Model Context Protocol) bridges for AI research, web scraping, and live documentation to your DSH agent.
<a href="https://github.com/PyModel/pythinker-code"><img src="https://komarev.com/ghpvc/?username=PyModel-pythinker-code&label=visitors&color=4f46e5&style=flat-square" alt="visitors"></a>
<a href="#what-this-is">What this is</a> · <a href="#install">Install</a> · <a href="#api-keys">API keys</a> · <a href="#repo-layout">Repo layout</a> · <a href="#license">License</a>
What this is
dsh-research-plugins gives your DeepSeek Harness (DSH) agent three research superpowers it does not have out of the box:
- Web search via the Tavily Search API — a settings toggle that swaps the built-in DeepSeek search for Tavily, with keyless search support.
- Web scraping & crawling via the Firecrawl MCP server — scrape, crawl, map, and search the open web inside tool calls.
- Up-to-date library docs via the Context7 MCP server — on-demand documentation and code examples for any library or framework.
Everything is delivered as drop-in DSH plugins — no vendor lock-in, no forks, just a dsh plugin add away.
| Package | What it adds |
|---|---|
@pymodel/dsh-tavily | Tavily Search API as a web search provider (settings toggle, keyless search) + a Tavily MCP bridge (tavily-search / tavily-extract keyless; crawl / map with a key) |
dsh-mcp-firecrawl | Firecrawl MCP: keyless search / scrape / parse; full tool surface with an API key |
dsh-mcp-context7 | Context7 MCP: mcp__context7__* up-to-date library docs and code examples |
Install
Each package installs independently into a DSH profile:
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
Or follow GitHub (this repo, latest commits):
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 keys
The MCP bridges use the harness's shipped @deepseek-ai/dsh-mcp-client. They read keys from the launch environment (a real env var, the project .env, or $DSH_HOME/.env) — not from $DSH_HOME/.credentials.yaml:
| Plugin | Env var | Required | Endpoint |
|---|---|---|---|
dsh-tavily (MCP part) | TAVILY_API_KEY | no (keyless MCP: search + extract; crawl/map need a key) | https://mcp.tavily.com/mcp/ |
dsh-mcp-firecrawl | FIRECRAWL_API_KEY | no (keyless: search/scrape/parse; full surface with a key) | https://mcp.firecrawl.dev/v2/mcp |
dsh-mcp-context7 | CONTEXT7_API_KEY | no (keyless works) | https://mcp.context7.com/mcp |
…
