DeepSeek Harness Steam风格插件市场:网页一键订阅,一键命令同步至dsh个人资料。
Steam-style plugin marketplace for DeepSeek Harness: one-click subscribe on the web, one command to sync into your dsh profile.
安装
dsh plugin --profile web add github:zoahdev/dsh-subscribeGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
目录
- Quick start (web)
- CLI
- In-harness plugin
- Registry and the "verified" flag
- Troubleshooting
- pnpm blocks git installs (allowBuilds)
- The storefront shows an old registry
- market_search returns fewer results than expected
- Node version
- Verification (what CI actually proves)
- Comparing with dsh-market
- Contributing
- License
- 中文
- 快速开始(网页)
- CLI
- 装进 Harness
- verified 的含义
- 排障
- CI 真的验证了什么
- 和 dsh-market 的关系
- License
English | 中文
Steam-style plugin marketplace for DeepSeek Harness. Browse 900+ community plugins on the web storefront, subscribe to the ones you want, then run one command to install everything into your dsh profile. A zero-dependency CLI and an in-harness plugin (search/stats/install commands from the chat) are included.
- 🏪 Storefront: https://zoahdev.github.io/dsh-subscribe/
- 📦 Registry: registry.json — 908 plugins, 21 verified by zoahdev, refreshed from
- 🔧 CLI:
node scripts/dsh-subscribe.mjs sync --profile web - 🤖 In-harness plugin:
market_search,market_stats,market_install_command
Quick start (web)
- Open the storefront, search or browse, and click Subscribe on every plugin you want.
- Click Export to download
subscriptions.json(or copy the sync command — the page also offers a one-click copy install command per plugin). - Run sync once:
git clone https://github.com/zoahdev/dsh-subscribe
cd dsh-subscribe
# put the exported subscriptions.json here
node scripts/dsh-subscribe.mjs sync --profile web
That's it. Every subscribed plugin is installed into the web profile.
CLI
node scripts/dsh-subscribe.mjs list [query] # list/search plugins
node scripts/dsh-subscribe.mjs subscribe <id> # add a subscription
node scripts/dsh-subscribe.mjs unsubscribe <id> # remove a subscription
node scripts/dsh-subscribe.mjs status # subscribed vs installed
node scripts/dsh-subscribe.mjs export # write/normalize subscriptions.json
node scripts/dsh-subscribe.mjs install <id> # install ONE plugin now
node scripts/dsh-subscribe.mjs sync [--profile web] # install all subscriptions
node scripts/dsh-subscribe.mjs sync --dry-run # preview without installing
Examples:
node scripts/dsh-subscribe.mjs subscribe dsh-plugin-doctor
node scripts/dsh-subscribe.mjs install dsh-github-intelligence --profile web
node scripts/dsh-subscribe.mjs sync --profile web
The CLI has zero runtime dependencies (Node ≥ 18) and drives the real dsh
CLI under the hood: pnpm dlx @deepseek-ai/dsh plugin --profile <p> add <spec>.
In-harness plugin
Install the market inside DeepSeek Harness so the agent can find plugins for you:
dsh plugin --profile web add github:zoahdev/dsh-subscribe#path:/plugin
Restart dsh web, then ask your agent to search the market. The plugin
registers three tools:
| Tool | Purpose |
|---|---|
market_search |
Search 900+ plugins by query/category/verified flag, sorted by stars |
market_stats |
Total/verified counts and per-category breakdown |
market_install_command |
Returns the exact dsh plugin add commands for the user to run |
The plugin ships a bundled registry snapshot, so it keeps working offline.
The plugin also mounts a full in-harness storefront at
http://localhost:<dsh-web-port>/dsh-subscribe/ — browse/search the registry,
then install, uninstall, update, and approve build scripts with one click,
right from the browser. Every button drives the real dsh CLI on your machine;
mutating requests require a same-origin POST and installs are restricted to
curated registry specs (or explicit file:/link: specs).
HTTP API (same-origin):
| Route | Method | Purpose |
|---|---|---|
/dsh-subscribe/registry |
GET | registry + stats |
/dsh-subscribe/installed |
GET | installed plugins |
/dsh-subscribe/status |
GET | live install progress |
/dsh-subscribe/updates |
GET | update availability |
/dsh-subscribe/logs |
GET | sanitized plain-text log export |
/dsh-subscribe/install |
POST | one-click install (curated or file:/link:) |
/dsh-subscribe/uninstall |
POST | one-click uninstall |
/dsh-subscribe/update |
POST | one-click update |
/dsh-subscribe/approve-builds |
POST | allow build scripts for installed packages |
/dsh-subscribe/cancel |
POST | cancel the running operation |
/dsh-subscribe/ |
GET | in-harness storefront UI |
Build it locally with cd plugin && pnpm install && pnpm pack, then
dsh plugin --profile web add ./dsh-subscribe-0.3.1.tgz.
Registry and the "verified" flag
registry.json is the source of truth for the storefront, the CLI and the
plugin.
verified: truemeans zoahdev audited the plugin: CI, release/tag, install path, and a runtime smoke test were all exercised. That is a real but limited guarantee — it is not a security audit.- All other entries are mirrored from
for discovery (
verified: false). Check the source before trusting any third-party plugin: listing ≠ endorsement.
To refresh the community snapshot and rebuild the merged registry:
curl -sf https://社区精选目录/plugins.json -o data/registry-snapshot.json
node scripts/build-registry.mjs
node scripts/check-registry.mjs
Troubleshooting
pnpm blocks git installs (allowBuilds)
dsh plugin add github:... can fail with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED
or Ignored build scripts. This is pnpm's default safety gate, not a plugin
bug. Fix:
- Re-run the command and read the exact package key pnpm prints.
- Open your profile's
pnpm-workspace.yaml(inside~/.dsh/profiles/web/by default) and add the key toallowBuilds. - Re-run
sync(or the install command).
The CLI detects this failure mode and prints the same hint automatically.
The storefront shows an old registry
The page fetches registry.json from raw.githubusercontent.com, which can
cache for a few minutes after a push. Hard-refresh (Ctrl/Cmd+Shift+R) or wait,
then reload.
market_search returns fewer results than expected
The plugin tries the live registry first and falls back to the bundled snapshot when offline. If you are offline the snapshot is used, which may be a few hours behind the storefront. Re-run later or use the web storefront.
Node version
CLI: Node ≥ 18. Plugin: Node ≥ 20 (uses AbortSignal.any for bounded fetches).
Verification (what CI actually proves)
The CI pipeline is intentionally strict — it does not stop at "the plugin loads":
node scripts/check-registry.mjs— structural registry contract (unique ids/specs, verified entries declare versions, valid install specs).node --test tests/cli.test.mjs— CLI end-to-end: subscribe → sync--dry-run, merged registry >= 500 plugins.node --test test/plugin.test.mjs— pure search/stats/command logic plus offline fallback.pnpm pack+scripts/runtime-smoke.mjs— the packed tarball is installed into a fresh project, the bundle is loaded through the realapply()/ctx.tools.registerpath, and all three handlers are executed and asserted (not just imported).scripts/dsh-smoke.ps1— installs the packed tarball into a fresh DSH profile, verifiesdsh-subscribeappears in--dump-config, and bootsdsh webuntil HTTP 200 (bounded 30s retry, background process cleaned up).
This validates: manifest/package validity, dependency compatibility, bundle loadability, DSH boot, and actual tool callability. This is a community project — not an official DeepSeek template, and nothing here is security-audited.
Comparing with dsh-market
dsh-market is an excellent visual market inside
the DSH web UI (browse → one-click install → themes → updates). dsh-subscribe
is a complementary take, not a replacement:
| dsh-subscribe | dsh-market | |
|---|---|---|
| Registry size | 571+ (社区精选目录 mirror + verified curation) | 300+ (社区精选目录 live) |
| One-click install inside web UI | — (copy command / CLI sync) | ✅ |
| Steam-style subscription workflow | ✅ | — |
| In-chat agent tools (search/stats/commands) | ✅ | — |
| Zero-dependency CLI | ✅ | — |
| Offline registry snapshot | ✅ (plugin) | ✅ (bundled snapshot) |
| Themes/updates UI | — | ✅ |
| Same-origin install guard, build-approval UX | — | ✅ |
Use both: browse and install visually with dsh-market; subscribe, sync and let your agent find plugins with dsh-subscribe.
Contributing
- Found a broken entry or a missing plugin? Open a PR against (the snapshot picks it up automatically), or open an issue here.
- Want your plugin marked
verified? Open an issue with your repo, CI badge, release tag, and install path; after a real audit it gets the badge.
License
MIT — dsh-subscribe · storefront
中文
dsh-subscribe —— DeepSeek Harness 的 Steam 式插件市场:在网页商店浏览 571+ 社区插件、一键订阅,然后一条命令把全部订阅装进你的 dsh profile。自带零依赖 CLI 和 in-harness 插件(对话里直接搜索/统计/生成安装命令)。
快速开始(网页)
- 打开商店页,搜索并点击 「订阅」;
- 点「导出清单」下载
subscriptions.json(每个插件卡片也有「复制安装命令」); - 跑一次同步:
git clone https://github.com/zoahdev/dsh-subscribe
cd dsh-subscribe
# 把导出的 subscriptions.json 放在这里
node scripts/dsh-subscribe.mjs sync --profile web
CLI
node scripts/dsh-subscribe.mjs list [query] # 列出/搜索插件
node scripts/dsh-subscribe.mjs subscribe <id> # 添加订阅
node scripts/dsh-subscribe.mjs unsubscribe <id> # 取消订阅
node scripts/dsh-subscribe.mjs status # 订阅 vs 已安装
node scripts/dsh-subscribe.mjs install <id> # 立即安装单个插件
node scripts/dsh-subscribe.mjs sync [--profile web] # 安装全部订阅
node scripts/dsh-subscribe.mjs sync --dry-run # 只预览不安装
CLI 零运行时依赖(Node ≥ 18),底层调用真实的
pnpm dlx @deepseek-ai/dsh plugin --profile <p> add <spec>。
装进 Harness
dsh plugin --profile web add github:zoahdev/dsh-subscribe#path:/plugin
重启 dsh web 后,agent 可以直接调用 market_search(搜索)、
market_stats(统计)、market_install_command(生成安装命令,需用户确认后
在终端执行)。插件内置注册表快照,离线也能用。
verified 的含义
verified: true = zoahdev 审计过(CI/发布/安装路径/运行时冒烟都实测过)。
这是真实但有限的保证,不是安全审计。其余条目来自
,仅作发现用途;
「列出一项 ≠ 背书」。
排障
- allowBuilds 拦截:
dsh plugin add github:...报ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED时,按 pnpm 打印的包名,在 profile 的pnpm-workspace.yaml的allowBuilds里加一行,再重跑 sync。CLI 会 自动提示这个修复。 - 商店页数据旧:raw.githubusercontent 有几分钟缓存,强制刷新即可。
- 插件搜索结果少:离线时用内置快照,可能比网页版晚几个小时。
CI 真的验证了什么
不只是「插件能加载」:注册表结构校验 → CLI 端到端(订阅→dry-run 同步)→
插件单元测试 → 打包产物安装到全新工程、真实注册工具、真实执行三个
handler 并断言 → 装进全新 DSH profile、--dump-config 验证、dsh web
启动到 HTTP 200(30 秒有界重试)。社区项目,非官方模板,无安全审计。
和 dsh-market 的关系
互补而非替代:dsh-market 在 Web UI 里做可视化一键安装/主题/更新; dsh-subscribe 提供 Steam 式订阅同步、零依赖 CLI、对话内 agent 工具和 571+ 全量注册表。两个一起用体验最佳。
License
MIT
原始 README: https://github.com/zoahdev/dsh-subscribe/blob/main/README.md ↗
同类插件
查看全部 →
awesome-dsh-plugins
前部索引仓库(Radar):自动扫描发现的所有 dsh 插件候选;经测试合格的将移入后序精选目录仓库

DSH-Plugins-Marketplace
DSH插件市场 / DSH Plugin Marketplace: 在 DeepSeek Harness Web GUI 中一键浏览、安装与更新 GitHub topic:dsh-plugin 的全部插件 | browse, install & update all GitHub dsh-plugin plugins in the DSH Web GUI

zat-dsh-engine
DeepSeek Harness视觉插件市场——浏览、搜索和安装社区插件

dsh-market
装在 DSH 里的插件市场:设置页内逛/搜全部社区插件,按分类筛选,确认后一键安装,已装插件一目了然。

dsh-plugin-marketplace
DeepSeek Harness认证插件市场及自主注册库

deepseek-plugin-store
DeepSeek Harness 独立社区插件商店:发现、安装并提交经过验证的插件、工具与扩展。 | Independent community plugin directory.