DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-tavily-cxykyw

d

dsh-tavily-cxykyw

Manifest valid

Tavily-backed WebSearchProvider for the DeepSeek Harness web capability seam (ctx.web)

hasBundlePatch

dsh-tavily-cxykyw

npm version npm downloads License

English | 中文

A Tavily-backed WebSearchProvider for the DeepSeek Harness web capability seam (ctx.web).

It routes the built-in web_search tool to Tavily's dedicated search API instead of the shipped DeepSeek model-based search channel, so a search costs no model tokens and the result set comes from a real search engine index rather than an auxiliary model request.

Verified against DSH 0.2.0-rc.2.

Package name note: dsh-web-search-tavily on npm belongs to another author. This plugin is published as dsh-tavily-cxykyw; the GitHub repository is still cxykyw/dsh-web-search-tavily.

What it does

  • registers a search provider with the stable id tavily on ctx.web;
  • maps Tavily's response to DSH's normalized WebSearchResult — results[].url/title/content become sources[].url/title/snippet, and Tavily's optional answer becomes the result content;
  • resolves the API key on every search, in this order: literal apiKey → credentials service (~/.dsh/.credentials.yaml) → launch environment / process.env;
  • available() is a cheap local check (key + base URL present) with no network calls — a missing key surfaces as WEB_PROVIDER_CREDENTIAL_MISSING at search time;
  • then truncates to request.maxResults through the seam, exactly like any other provider.

Install

dsh plugin --profile web add dsh-tavily-cxykyw

If your DSH profile is a pnpm workspace root (the default ~/.dsh/profiles/web is), the add must target the workspace root:

dsh plugin --profile web add dsh-tavily-cxykyw -w

The bundled cordis.patch.yml declares dsh.bundle.patch, so adding the package also registers it as a profile bundle: the provider row is inserted and web.searchProvider is set to tavily for you. Restart dsh web afterwards — bundle changes are not hot-reloaded.

From a checkout instead of npm:

git clone https://github.com/cxykyw/dsh-web-search-tavily.git
dsh plugin --profile web add link:/absolute/path/to/dsh-web-search-tavily -w

Configure the API key

Get a key at app.tavily.com (there is a free tier). Then pick one of:

1. Credentials file (recommended — outside every repository):

# ~/.dsh/.credentials.yaml
TAVILY_API_KEY: tvly-xxxxxxxxxxxxxxxx

2. Environment variable of the process that launches DSH:

TAVILY_API_KEY=tvly-xxxxxxxxxxxxxxxx dsh web

3. Literal key in your own profile patch (works, but keeps the secret in a plain file — prefer 1 or 2):

# ~/.dsh/profiles/web/cordis.patch.yml
- id: web-search-tavily
  config:
    apiKey: tvly-xxxxxxxxxxxxxxxx

Never commit an API key. This repository, its cordis.patch.yml, and its published npm tarball contain no credentials and no default key: the plugin only ever reads them from your machine at search time. .gitignore also excludes .env*, .npmrc, and *.local.yml.

Options

Configurable on the inserted web-search-tavily row:

OptionDefaultDescription
apiKey—Literal Tavily API key. Prefer apiKeyEnv + credentials/env.
apiKeyEnvTAVILY_API_KEYCredential reference / environment variable name to resolve the key from.
baseURLhttps://api.tavily.comTavily API base URL (point it at a proxy if you need one).
searchDepthbasicbasic (fast, 1 credit) or advanced (deeper crawl, more credits).
maxResults8Results requested per search, 1–20. A per-call maxResults still wins.

Example, overriding just the depth and result count:

# ~/.dsh/profiles/web/cordis.patch.yml
- id: web-search-tavily
  config:
    searchDepth: advanced
    maxResults: 5

Switching providers

The bundle patch already pins the seam:

- id: web
  config:
    searchProvider: tavily
    fetchProvider: http

To fall back to the official DeepSeek search, set searchProvider: deepseek-official (or remove the line only if deepseek-official is the single usable provider — with two usable providers and no pin, the seam fails closed with WEB_PROVIDER_AMBIGUOUS).

Upgrading from a hand-inserted copy in your own profile patch? Delete that insert block and keep only the - id: web-search-tavily config override above, otherwise the row id is inserted twice.

Notes and limitations

  • No Web settings page: DSH 0.2 cannot mount this plugin's settings section, so the provider is configured through the profile patch only.
  • fetch (page retrieval) is untouched — it stays on @deepseek-ai/dsh-web-fetch-http.
  • Tavily search results carry no publication date, so sources[].publishedAt is not set.

Uninstall

dsh plugin --profile web remove dsh-tavily-cxykyw -w

License

MIT © cxykyw

Comments

Loading…

From the same category

reactive-resume

DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.

Tools & CapabilitiesManifest valid

★ 41.7k

↓ 242/wk

MIT

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-reactive-resume

by Tencent

Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.

Tools & CapabilitiesManifest valid

★ 8.9k

↓ 7.5k/wk

MIT

TypeScript

Oct 15, 2026

dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-plugin

by yjh051108

dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).

Tools & CapabilitiesManifest valid

★ 7k

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Tools & CapabilitiesManifest valid

★ 6.6k

↓ 160k/wk

MIT

TypeScript

Oct 14, 2026

dsh plugin --profile web add dshmarket

by Q00

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,

Tools & CapabilitiesManifest valid

★ 6.2k

MIT

Python

Oct 14, 2026

Index only — not installable

by superdesigndev

OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn

Tools & CapabilitiesManifest valid

★ 5.3k

NOASSERTION

Python

Oct 15, 2026

dsh plugin --profile web add treg-dsh