maxwell-feng/dsh-tinyfish-search
dsh-tinyfish-search
dsh-tinyfish-search is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-tinyfish-searchRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-tinyfish-search)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from maxwell-feng/dsh-tinyfish-search, cleaned of badges and images.
dsh-tinyfish-search
English | Chinese
DeepSeek Harness plugin that backs the built-in
web_searchtool with the TinyFish Search API. One GET per query, no model call — fast and free (TinyFish Search is free at any wallet balance).
What it does
DeepSeek Harness's built-in web_search tool normally runs through the DeepSeek Anthropic-compatible endpoint (web-search-deepseek). This plugin registers an alternative web search provider on the ctx.web capability seam:
- Stable provider id:
tinyfish - Every
web_searchcall becomesGET https://api.search.tinyfish.ai?query=...with theX-API-Keyheader results[](title / snippet / url / date) are normalized into the seam's portable source shape- No LLM turn consumed per search — unlike the Anthropic server-tool approach
Installing the bundle takes over the built-in web_search automatically: the
bundle patch overrides the web seam row (searchProvider: tinyfish,
fetchProvider: http restated), because dsh-base pins the seam to
deepseek-official and would otherwise keep the tool on the DeepSeek backend.
It also re-enables the host-level tool-web row (disabled: false plus
search: true, fetch: true and the base timeouts restated): the
dsh-web-app bundle ships that row disabled (the Web app normally composes
web tools per agent preset), so without it the model would see no web_search
tool at all on a clean web profile install. Scope note: re-enabling the
host row makes the tools visible to every agent preset on the profile —
including presets that would not otherwise carry web tools (e.g. minimal);
a preset that mounts its own tool-web row still shadows this global
registration for its agents. To scope the tools to one preset instead,
override or remove the tool-web row in your profile's cordis.patch.yml
and add tool-web to that preset's agent composition. Later layers (profile
/ home cordis.patch.yml / --patch) can still override both rows.
Configuration is declared as a volatile schema (DeepSeek Harness 0.1.7+): the
Host reads the Config schema this plugin exports and renders it as the form for
the dsh-tinyfish-search row on the Plugins page. There is no plugin-side
settings registration and no plugin-supplied browser half. A saved edit reaches
the next search without a restart.
Requirements
- DeepSeek Harness
dshCLI (any profile with the web seam, e.g.web) — verified on0.1.7-rc.2(latest release); the plugin declares^0.1.7-alpha.2peers, the release line that introduced volatile config - Node.js
^22.19.0 || >=24.0.0(matches the harness engine range) - A TinyFish API key (free to create; Search is free)
- The harness credential seam and launch environment (
@deepseek-ai/dsh-credentials,@deepseek-ai/dsh-launch-environment) are required peers — everydshprofile carries them already
Harness compatibility gate
…
