DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

stvlynn /

dsh.fish

Topic repository only

Discover and install DeepSeek Harness plugins, skills, MCP servers, agent presets, bundles, and profiles.

★ 0 Stars0 Forks2 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@a901cd8f

dsh.fish

Discover and install plugins for DeepSeek Harness.

Browse the plugin hub · Explore the architecture · Read the SEO design

dsh.fish is the open-source plugin registry and installer for DeepSeek Harness. Search bundles, profiles, skills, MCP servers, agent presets, and hook bridges; inspect how each artifact changes a harness profile; then install it from the web or directly through an AI agent.

DeepSeek Harness is built on “everything is a plugin” but ships no registry. Its README asks authors to tag repositories with the dsh-plugin topic and leaves discovery there. dsh.fish turns that topic into a searchable, multilingual catalog with a shared, machine-executable install plan.

Quick start

Browse the catalog at dsh.fish, or add the hub plugin to your web profile:

dsh plugin --profile web add github:stvlynn/dsh.fish#main

The plugin registers hub_search, hub_show, hub_install, and hub_account, so an agent can discover and install artifacts without leaving the harness.

Publishing a compatible project? Add the dsh-plugin GitHub topic. The hub will inspect its package.json, SKILL.md, or agent.cordis.yml and classify what the harness can actually load.

What it indexes

Six artifact kinds, each taken from something the harness really loads, each with its own install mechanism:

Kind What it is How it installs
Bundle npm package declaring dsh.bundle.patch dsh plugin --profile <p> add <spec>
Profile ordered dsh.profile.bundles stack one add per bundle, in order
Skill SKILL.md bundle or flat Markdown files written under $DSH_HOME/skills
MCP server external Model Context Protocol server a dsh-mcp-client row in the profile patch
Agent preset directory holding one agent.cordis.yml written to $DSH_HOME/.agent-presets/<id>
Hook bridge Claude Code / Codex hook bridge a bridge plugin row in the profile patch

How it works

From a browser — search, filter by kind and category, read the plan, copy the command.

From inside your agent — use the hub plugin installed in the quick start. Signing in uses the OAuth device flow: the plugin prints a code, you approve it in a browser, and the harness gets a token.

Both paths resolve the same install plan from the same domain code, so the command on the website and the one the agent runs cannot drift apart.

Repository layout

backend/    Domain-Driven Design: domain, application, infrastructure, interfaces
frontend/   Feature-Sliced Design: app, pages, widgets, features, entities, shared
packages/
  dsh-plugin-hub/   the `dsh-hub` bundle users install into their harness
docs/       architecture, layer conventions, operations, ADRs

Both halves deploy as one Cloudflare Worker: Hono at /api/*, React Router SSR everywhere else, D1 for the catalog and Better Auth's tables, KV for sessions and rate limiting, and a Cron Trigger that re-crawls every six hours.

Ten languages

Every page is served in English, Simplified and Traditional Chinese, Japanese, Korean, Spanish, French, German, Brazilian Portuguese and Russian, under a path prefix — /ja/browse, /zh-CN/a/<id> — with English unprefixed at the root.

A directory only ranks if it is found, so the multilingual surface is part of the product rather than a translation layer bolted on: reciprocal hreflang across all ten, canonical URLs that fold filters and profile previews away, schema.org markup on every plugin page, indexable /kind/<kind> and /category/<category> landing pages instead of query-string filters, and a sitemap set that lists every indexed plugin in every language with its real lastmod.

The catalog itself stays language-neutral: an artifact's summary and readme are whatever its author wrote, and the frame around them is what gets translated. See docs/seo/ and docs/frontend/i18n.md.

Development

pnpm install
pnpm --filter @dsh-fish/backend run db:generate   # regenerate migrations
pnpm run db:migrate:local                          # apply to local D1
pnpm run dev                                       # http://localhost:5173

Quality gates:

pnpm run typecheck
pnpm run test
pnpm run test:e2e
pnpm run build

The social cards are generated, not drawn. Re-run them when the palette, wordmark, or repository positioning changes:

pnpm --filter @dsh-fish/frontend run og:build

This writes the site-wide Open Graph image to frontend/public/og.png and the GitHub repository Social Preview to .github/social-preview.png.

Deployment, bindings and secrets: docs/operations/deployment.md.

Documentation

Start with AGENTS.md (same file as CLAUDE.md) for the ground rules, then:

  • docs/project/architecture.md — system architecture and the artifact taxonomy
  • docs/decisions/adr-0001-plugin-hub-architecture.md — why it is built this way
  • docs/frontend/ — FSD conventions
  • docs/backend/ — DDD conventions
  • docs/seo/ — multilingual URLs, indexation, structured data, crawling

License

MIT

—/ 5

No ratings yet

Manifest verification required

Commit a901cd8fff8f

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout