DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@dsh-fish/hub

Hub

Search dsh.fish and install any harness artifact from inside your agent, authenticated with your hub account.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @dsh-fish/hub@0.5.1
READMECompatibilityVersions

Compatibility and provenance

Hub is published as @dsh-fish/hub and currently resolves to version 0.5.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
11/4/2026

Versions

0.5.1stable
10/28/2026
0.5.0stable
10/28/2026
0.4.2stable
8/28/2026
Show 4 more versionsCollapse versions
0.4.1stable
8/28/2026
0.4.0stable
8/28/2026
0.3.1stable
8/24/2026
0.3.0stable
8/23/2026

Related plugins

Loading related plugins…

Latest
0.5.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
198.7 kB
Files
11
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
489
Security scan
✓ v0.5.1 scan passed
Last push
11/2/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in search-research.

Free Searchdsh-free-searchFree web search for DeepSeek Harness: 27 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel/You.com keyless; Zhihu global/site via MCP and Perplexity/SerpBase/DeepSeek (official + native tools/search)/Baidu/Kimi/Aliyun/DoubaAb Wechat Scrapedsh-ab-wechat-scrape--- description: "The out-of-tree wechat_scrape tool: retrieves WeChat official-account articles, filters promotional blocks, and saves each as a Markdown file, for maintainers of this machine's dsh profiles." kind: "package-reference" ---Arisdsh-arisARIS research-workflow skills as a DeepSeek Harness bundle: 82 skills plus cross-model adversarial review through Codex.Ab Market Researchdsh-ab-market-researchAn out-of-tree DeepSeek Harness plugin: the trade_search tool (multi-round aspect-broadening query planning, publisher-tier ranking, source diversity, JSON snapshot) and its browser card in one package.

README

@dsh-fish/hub

Search dsh.fish and install any harness artifact from inside your agent.

Install

dsh plugin --profile <profile> add @dsh-fish/hub

<profile> is whichever profile the harness boots — web for the stock launcher, local-dsh for Local DSH, whose bundled launcher is the one to run:

dsh plugin --profile local-dsh add @dsh-fish/hub

On DSH 0.2.x that is the whole install: the launcher reconciles dsh.profile.bundles itself after pnpm add, so the bundle is selected and mounts on the next start with no cordis.patch.yml edit. (DSH 0.1.x required the row to be added by hand.)

The published package ships lib/ already built, so this install runs no build script and needs no allowBuilds entry.

@deepseek-ai/cordis, @deepseek-ai/dsh-tools and the client packages are supplied by the harness at runtime. They are optional peers so pnpm does not warn when the profile tree cannot see the host copies — a WARN about missing peers is not a failed install.

This plugin targets DSH 0.2.1-rc.2 and later. That is enforced by the launcher, not merely documented: a bundle whose @deepseek-ai/dsh-* peer requirements the running version does not satisfy is skipped at boot, leaving no hub_* tools behind. dsh plugin add reports such a package as incompatible with the exact command that would grant a version exemption.

A git install is a development fallback and must name the subdirectory — the repository root is a private workspace, not this plugin:

dsh plugin --profile <profile> add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub

That checkout has no lib/, so it builds on install: pnpm ≥10 asks you to allow the build script, which is permission to execute this package's code on your machine outside the agent's sandbox.

Migrating from dsh-hub

Earlier versions installed from the repository root under the name dsh-hub:

dsh plugin --profile <profile> remove dsh-hub
dsh plugin --profile <profile> add @dsh-fish/hub

Installs already recorded in $DSH_HOME/.dsh-fish-lock.json survive the rename.

Tools

ToolWhat it does
hub_searchSearch the registry by text and artifact kind.
hub_showOne artifact in detail, including exactly what installing it would do.
hub_installApply the install plan on this machine.
hub_listArtifacts this machine already installed through the hub.
hub_removeReverse a recorded install (files, patch rows, packages).
hub_updateRe-apply the current plan for an installed artifact.
hub_accountSign in via the OAuth device flow, check status, or sign out.
hub_reviewsCommunity ratings: the site's 1–5 scale, average, distribution, comments.
hub_rateRate an installed artifact 1–5 stars, optionally with a public comment.

In the browser client

A harness that serves a browser client gets two ways in, both over the same installer:

  • A dsh.fish icon in the left rail. Clicking it swaps the main column to a full-width market page with Discover, Installed and Account tabs. This is the harness's own navigation pattern — the Plugins and Schedule panels work the same way — so the market sits beside them rather than behind a settings dialog. The page keeps a visited tab mounted, so a search survives checking what is already installed, and offers a way back to the conversation.
  • A dsh.fish section in Settings, for readers who are already configuring the harness.

Neither is a second installer. The browser half calls same-origin routes under /api/dsh-fish, and those call the very PlanInstaller the tools use, writing the same $DSH_HOME/.dsh-fish-lock.json. So Installed lists exactly what hub_list reports, and an artifact removed there disappears from the tools.

Browse cards install in place: the button runs /install immediately and shows a spinner until the lockfile updates. An already-installed artifact shows Uninstall instead. Catalog search and the README modal send the host locale so hub i18n matches the harness. Clicking a card opens that README.

Account signs in with the same device flow: the section shows the user code and the verification URL as an ordinary external link. Once signed in, it shows the account avatar and a tooltip from /me. The device code and the resulting token never reach the browser, and a desktop shell can hand that https link to the system browser rather than navigating its own WebView.

The heading and the Account tab both offer Check for updates. That hits npm for the latest @dsh-fish/hub and, when a newer version exists, runs dsh plugin add @dsh-fish/hub on this profile so the next restart loads it.

A profile that serves no client still loads the tools — the HTTP surface is registered only when the composition has a web server.

Ratings and reviews

The site runs a 1–5 star scale (1 = broken or misleading, 5 = excellent) that the artifact pages render read-only. hub_reviews reads it anonymously; hub_rate writes it and needs sign-in. A rating always speaks for the signed-in account, and rating again overwrites the earlier one.

The tools carry their own rules in their descriptions, which the agent reads: rate only what this machine actually installed and used, from firsthand evidence, never fabricate experience, and tell the user when a rating is left. After an install or usage that clearly worked or failed, the agent is expected to offer a rating — the decision and the stars stay the user's call.

Signing in

Reading the catalog needs no account. Signing in attributes installs to you and is required for anything account-shaped later.

hub_account with action: "login" starts an RFC 8628 device grant: the plugin requests a code, shows you a URL, and polls until you approve in a browser. The token is written to $DSH_HOME/.dsh-fish-token.json with mode 0600 and is never logged.

A device token is deliberately weaker than a browser session — it can read the catalog, resolve install plans and rate artifacts as you, but it cannot submit or claim artifacts.

Safety

hub_install refuses any plan whose package step needs a build allowance unless the caller passes allowBuildScripts: true. That step runs the package's own code at install time, outside the agent sandbox, so the agent must not grant it on your behalf — it has to come back and ask.

File-writing steps are fenced to the resolved $DSH_HOME; a plan that tries to escape it is refused.

Successful installs are recorded in $DSH_HOME/.dsh-fish-lock.json, which is what hub_list, hub_remove and hub_update (and the matching CLI commands) read. The same lockfile is shared with @dsh-fish/cli.

Configuration

- id: hub
  name: '@dsh-fish/hub'
  config:
    baseUrl: https://dsh.fish   # a self-hosted deployment only changes this
    targetProfile: current      # the booted profile, else --profile, else $DSH_PROFILE, else web

current resolves to the profile this harness actually booted: the plugin asks the host's own profileContext service, which the launcher populates with the name it mounted. An inherited $DSH_PROFILE is only a fallback, because the launcher does not export it into the harness process — it is contributed to model shell calls instead — so a value in the environment describes some other shell, not this harness.

desktop is the one profile this plugin cannot install into. The launcher reserves it for the DeepSeek Harness Desktop application, which refuses dsh plugin --profile desktop … from a terminal; hub_install answers with PROFILE_MANAGED_ELSEWHERE and names the profile instead of forwarding a package-manager failure. Install from inside the Desktop app, or target web.

License

MIT