DeepSeek Harness 插件

dsh-plugin-market-jaspergu

Browse, precheck, install and manage deepseek-harness plugins from GitHub (topic dsh-plugin): model tool + Web panel with one-click install/uninstall/restart, monorepo sub-package and Skill package(英文原文)

跳到安装方式

来源信息

GitHub 仓库
JasperGuWP/dsh-plugin-market
最近更新
2026年8月22日
分类
插件市场与管理
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/JasperGuWP/dsh-plugin-market
插件名:dsh-plugin-market-jaspergu
作者:JasperGuWP

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器2 个文件
README.md来源说明 · 只读预览

dsh-plugin-market

A DeepSeek Harness plugin that browses the deepseek-harness plugin library — every public repository tagged with the GitHub topic dsh-plugin — and shows it as a ranked list of plugin cards.

Each card carries:

  • 缩略图 / thumbnail — the repository owner avatar,
  • 介绍 / description — the repo description,
  • 星标 / starsstargazers_count,
  • 排名 / rank — position by star count (descending),
  • 更新日期 / update date — last push (pushed_at).

What it ships

dsh-plugin-market is a dual-face bundle (node + browser):

1. Web dock panel「插件技能库」 (browser half). A dock entry above the chat composer opens the manager: 已安装 (built-in / self-made / community plugins plus installed Skill packages — enable/disable hot toggles, update, uninstall), 插件库 (topic search, categories, installability precheck incl. monorepo sub-package discovery, one-click install, restart), and 技能库 (GitHub skill-topic search with SKILL.md detection for single-skill and collection repos, installed into the skills root — live, no restart). 2. Model-facing tool browse_dsh_plugins (node half, index.js). The same catalog for the agent, rendered as a card grid through a Conversation Node. 3. Settings「重启 Web」section: one-click Web restart and a deepseek-harness self-update (git pull + install + build) with a live log.

Install

Package the plugin into a tarball, then install that tarball into the profile:

cd dsh-plugin-market
pnpm pack                              # -> dsh-plugin-market-0.1.0.tgz

# from your deepseek-harness checkout
pnpm dsh plugin --profile web add ../dsh-plugin-market/dsh-plugin-market-0.1.0.tgz

> Install the tarball, not the directory. dsh plugin add ./dsh-plugin-market > (a bare directory) records a link: dependency, and Node then resolves the > plugin's @deepseek-ai/dsh-tools import from the linked directory's real path > instead of the profile's node_modules — which fails with > ERR_MODULE_NOT_FOUND. The tarball installs the files inside the profile's > node_modules, where the harness's own packages resolve normally.

pnpm prints a peer dependency warning for @deepseek-ai/dsh-tools; that is expected — the harness itself provides it (autoInstallPeers is off), and it is already present in the profile.

Verify the layer composed, then restart the Web profile:

pnpm dsh --profile web --dump-config | grep -A2 dsh-plugin-market
pnpm dsh web

> Restart the running server: a node-half (host) plugin is not hot-reloadable. > The browser half joined the dsh.client roster at compose time, so it too is > picked up on the next boot.

Usage

Ask the agent, for example:

> Use browse_dsh_plugins to list the top 20 DSH plugins.

Tool arguments:

ArgumentTypeDefaultMeaning
limitnumber25How many plugins to return (clamped to 1100).
sortstringstarsstars (rank by star count) or updated (last push).
filterstringrelatedrelated (default) or all. See the filtering note below.

Noise filtering

The dsh-plugin topic is noisy: many repositories tag it for exposure without being DeepSeek Harness plugins. By default (filter: "related") the tool keeps only repos whose name or description — or one of their other topics — mentions deepseek, dsh, or harness (case-insensitive). Pass filter: "all" to list every tagged repo.

GitHub rate limits & optional token

All GitHub calls work with zero setup: unauthenticated requests allow 60 requests/hour (core API: file and tree probes used by precheck and skill detection) and 10 requests/minute (search). On top of that, the plugin keeps a 1-hour persistent disk cache (~/.dsh/.cache/dsh-plugin-market.json) for skills search and SKILL.md detection results, so routine browsing rarely touches the API at all — the panel's 刷新 button bypasses the cache on demand.

Heavy users can raise the core quota to 5,000 requests/hour by setting a GitHub token of their own before boot. A token used only for public-repo reads needs no scopes at all (a classic PAT with everything unchecked, or a fine-grained PAT limited to "Public Repositories (read-only)"):

# Windows (persistent for new processes)
setx DSH_PLUGIN_MARKET_GITHUB_TOKEN ghp_xxx

# macOS / Linux (current shell; add to your profile for persistence)
export DSH_PLUGIN_MARKET_GITHUB_TOKEN=ghp_xxx

The plugin reads it at request time and sends it as a Bearer token.

> Never commit or bundle a token into the plugin package or repository. > GitHub scans public repos and auto-revokes leaked tokens, and every install > would share — and burn — one account's quota. Each user sets their own token > through the environment variable above. With > GitHub CLI installed, gh auth token prints a > ready-to-use token right after gh auth login.

How it works

  • The node half registers the tool globally through ctx.tools.register(...),

so every agent (including web sessions composed from an agent preset) sees it through the tools scope chain.

  • The fetch targets a fixed public API

(https://api.github.com/search/repositories?q=topic:dsh-plugin&sort=stars) with its own timeout and cancellation.

  • The tool returns one canonical JSON value and projects the same list into

output.presentationMeta ({ kind: 'dsh-plugin-market', plugins, … }). That projection is persisted on the durable tool/result event.

  • The browser half registers a ConversationNodeDefinition that matches those

tool/result events and renders the thumbnail grid — replay-safe, no extra durable event type required.

Notes & limits

  • Only public repositories tagged dsh-plugin are listed (GitHub search scope).
  • updatedAt uses pushed_at (last commit push) rather than metadata changes.
  • The thumbnail is the GitHub owner avatar; repositories have no separate

per-repo thumbnail in the topic/search API.

License

MIT