Workflow & Automation

dsh.fish

stvlynn/dsh.fish · ★ 2

stvlynn

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

License
MIT
Added
2026-08-17
Maintenance
active
Install kind
github
Manifest details
Manifest status
Not verified
Manifest path
-
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

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

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Features
  2. Screenshots
  3. Quick start
  4. What it indexes
  5. Repository layout
  6. Development
  7. Community
  8. License

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.

Features

  • Typed catalog — bundles, profiles, skills, and agent presets, classified by probing what the harness can actually load, not by self-declared tags.
  • Transparent trust signals — every artifact carries a public, reproducible quality score (S/A/B/C), a maintenance status, and 7d/30d star velocity. The formula is served at GET /api/v1/scoring, not buried in a blog post.
  • Rising, not just popular — per-sweep metrics snapshots power a rising sort that surfaces what is gaining stars this week.
  • One install plan, three surfaces — the same domain-owned plan renders as a copy-pasteable command on the web, executes in the CLI, and runs inside the harness via the hub plugin. They cannot drift apart.
  • Commit-pinned provenance — each artifact shows the exact commit it was indexed at, linked back to GitHub.
  • Community ratings from the harness — a 1–5 scale with comments, written only from the dsh CLI or hub plugin (dsh-fish rate, hub_rate) where the rater actually used the artifact. The web renders the average, the distribution and every comment read-only, and republishes the aggregate as aggregateRating structured data.
  • A real API — versioned REST endpoints plus a full-catalog snapshot with an ETag sync contract for mirrors and bots.
  • Six languages, first-class — per-locale SSR pages and Atom feeds, hreflang and structured data on every plugin page, machine-translated READMEs, per-plugin OG cards and shields-style README badges.

Screenshots

Quick start

Browse the catalog at dsh.fish — search, filter by kind and category, read the install plan, copy the command.

Terminal — the CLI applies the plan for you:

npx @dsh-fish/cli add <artifact-id>

add / find / list / remove / update match the skills CLI vocabulary and actually write skills, presets, bundles and profiles into $DSH_HOME.

Inside the harness — add the hub plugin once:

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

It registers hub_search, hub_show, hub_install, hub_list, hub_remove, hub_update and hub_account, so an agent can discover and install artifacts without leaving the session. Signing in uses the OAuth device flow.

<profile> is whichever profile the harness boots. A desktop build has its own: Local DSH runs local-dsh, so use its bundled launcher and name that profile.

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

Publishing a plugin? Tag your repository with the dsh-plugin topic. The hourly crawl inspects its package.json, SKILL.md or agent.cordis.yml and classifies what the harness can actually load. See docs/project/architecture.md for the probe order.

What it indexes

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
Agent preset directory holding one agent.cordis.yml written to $DSH_HOME/.agent-presets/<id>

Repository layout

backend/    Domain-Driven Design: domain, application, infrastructure, interfaces
frontend/   Feature-Sliced Design: app, pages, widgets, features, entities, shared
packages/
  dsh-plugin-hub/   `@dsh-fish/hub` — the bundle users install into their harness
  dsh-cli/          `@dsh-fish/cli` — `npx @dsh-fish/cli add <id>`
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, KV for sessions, and a Cron Trigger that re-crawls every hour.

Development

pnpm install
pnpm run dev    # http://localhost:5173

Quality gates: pnpm run typecheck && pnpm run test && pnpm run test:e2e && pnpm run build.

Deployment, bindings and secrets: docs/operations/deployment.md. Conventions and architecture: AGENTS.md, docs/project/architecture.md, docs/decisions/.

Community

License

MIT