DshMarketPlace/dsh-plugins-store

Browse and install DSH plugins from inside DeepSeek Harness. /store, a settings tab, and agent tools — bilingual.

Bundle 已验证 MIT JavaScript 未知
Bundle 已验证

已收录

1

Market

Bundle 已验证

版本未知
语言JavaScript
许可证MIT
在 GitHub 查看

预览

第 1 个预览,共 2 个:DshMarketPlace/dsh-plugins-store
第 2 个预览,共 2 个:DshMarketPlace/dsh-plugins-store

功能介绍

不离开 harness 就能找插件、装插件:/store 命令、设置页的插件标签页、两个可供 agent 调用的工具和一个随包技能,安装前先确认并列出检测到的风险项。

适合

  • 希望直接在会话或设置界面中查找并安装插件的 DSH 用户。
  • 需要由 Agent 搜索、安装插件,并在风险项确认后继续的工作流。

不适合

  • 要求每个目录条目都经过安全审计的用户;该目录明确不提供此类保证。
  • 无法指定 DSH profile 的环境,因为安装时必须明确提供 profile。
  • 完全离线的工作流;目录搜索需要访问公共目录 API。

README

DSH Marketplace — install DeepSeek Harness plugins without leaving DSH

npm version downloads tests MIT LINUX DO

· 简体中文


Browse and install DeepSeek Harness plugins from inside DSH, in English or Chinese. Backed by DSH Marketplace, which writes a page per plugin rather than linking straight out to GitHub.

The npm package is dshmarketplace-plugin; this repository is dsh-plugins-store. The names differ because the shorter one was taken.

Install

dsh plugin --profile web add dshmarketplace-plugin

Then /store in any session, or Settings → Plugins → Plugin store.

--profile is not optional. dsh plugin forwards to pnpm inside a profile directory, so dsh plugin add x exits with required option ‘–profile <name>’ not specified and installs nothing. Swap web for your profile if you run another one.

What it does

   
/store Opens the catalogue over the session — search by capability, see what each plugin reaches, install without leaving the harness.
Settings tab The same catalogue, docked under Settings → Plugins.
Agent tools dshmarketplace_search and dshmarketplace_install, so “find me a memory plugin and set it up” works in conversation.
Bundled skill Teaches the agent to search rather than recall a plugin name from training data — for an ecosystem this young, a remembered name is usually wrong.
Bilingual Every listing carries a hand-written English and Chinese description. The plugin follows your DSH language setting, live.

Safety

Plugins run with your agent’s permissions, and a listing is not a security review. Three things this plugin does about that.

Install commands are validated, never interpolated. The catalogue supplies a command already built; src/installer.js accepts only a bare npm specifier or github:owner/repo, refuses anything containing .., and passes arguments as an array rather than through a shell. If the catalogue were ever compromised, the blast radius stops there. tests/installer.test.js covers that boundary specifically — writing it found a real hole, since ../../etc/passwd is only word characters, dots and slashes.

The browser half cannot reach the shell. It talks to two exact-path local endpoints, and the install endpoint takes a catalogue entry rather than a command, so the client cannot widen what runs.

Risk flags gate both paths. Listings carry detected install script, terminal surface and requires credentials flags. Anything flagged stops for an explicit confirmation, in the UI and on the agent path alike — and the confirmation says plainly that an empty list would not have meant it was safe.

Privacy

The plugin sends exactly one thing anywhere: after a successful install, the plugin’s public identifier, so install counts are real. No machine id, no session id, no user, no query, no telemetry of any other kind. Searches go to the public catalogue API in order to answer them and carry no identifiers.

DSHM_NO_TELEMETRY=1    # disables the install count entirely
DSHM_API=https://…     # point at a different catalogue

Development

npm install
npm test         # the install-command boundary, and catalogue helpers
npm run build    # esbuild → lib/index.js (node) and lib/client.js (browser)

The browser bundle may only require react and @deepseek-ai/dsh-client-ui-primitives, and must announce itself through window.__ModuleLoader__.load. build.mjs enforces both against the emitted code before writing it, so an unsupported import fails here instead of inside someone else’s harness.

  • dshmarketplace.dev — the catalogue, with a written page per plugin
  • dshmarketplace-cli — the same catalogue for coding agents outside DSH
  • GET /api/v1/plugins — the public API all three read

Contact

Acknowledgements

  • LINUX DO — where the DSH ecosystem is actually being discussed, and where this project is published and takes its feedback. Plugins whose authors posted them there carry a verified badge in the catalogue.
  • awesome-dsh-plugin (CC0-1.0) — the community registry the catalogue is seeded from.
  • ZASENJC/dsh-plugins-store (MIT) — reading its source is how the DSH client plugin API was worked out. No code was copied; the manifest shape, the two entry points and the slot names are public interface, and having them written down saved a lot of guessing.

License

MIT. Independent project, not affiliated with DeepSeek. DeepSeek and DeepSeek Harness are marks of their respective owner, used here only to describe what this plugin is for.

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:DshMarketPlace/dsh-plugins-store。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。