ACEMaravilla / dsh-plugin-market

Listed

Model-facing plugin marketplace for DeepSeek Harness: discover, vet, report, and install community plugins (plugin_search / plugin_vet / plugin_report / plugin_install)

mainModelTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:ACEMaravilla/dsh-plugin-market

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 20008d1Synced Aug 18, 2026

dsh-plugin-market

English | 中文

Model-facing plugin marketplace for DeepSeek Harness: plugin_search, plugin_vet, plugin_report, and plugin_install — the discover → vet → report → install flow for community plugins.

  • plugin_search — finds candidates on the official platforms (GitHub dsh-plugin topic, npm registry, awesome-list READMEs), ranks them by term-based relevance (0-100), and enriches the top 2-3 with README-derived functional summaries and install hints.
  • plugin_vet — static security-risk assessment per candidate: install-time remote code, obfuscation, arbitrary code execution, credential reads, exfiltration, unsafe filesystem access, and supply-chain signals. Returns risk level (low/medium/high/unknown), safety score (0-100), and the findings.
  • plugin_report — deterministic comparison report (function, install flow, relevance score, security) plus a user-questions-based choice when a provider is registered.
  • plugin_install — runs dsh plugin --profile <name> add <spec> through the shell seam after strict specifier validation, and returns the activation row for the profile composition.

All network access goes through the ctx.web capability seam; installation uses the optional shell seam and the interactive choice uses the optional user-questions seam. Both degrade gracefully when absent.

Install

dsh plugin --profile <your-profile> add @ace-xu/dsh-plugin-market

Then add the activation row to the profile's composition (the profile's cordis.yml / patch layer):

- id: plugin-market
  name: '@ace-xu/dsh-plugin-market'
  config:
    maxCandidates: 3

Verify with dsh --profile <your-profile> --dump-config.

Usage (as an agent)

Say to your agent: "I want a plugin that ". The marketplace flow then runs plugin_searchplugin_vetplugin_report (which asks you to choose) → plugin_install.

Configuration

KeyDefaultMeaning
search / vet / report / installtrueRegister the corresponding tool.
maxCandidates3Cap on candidates returned by one plugin_search.
searchTimeoutMs / vetTimeoutMs60000Cooperative tool-call budget per tool.
installTimeoutMs300000Budget for one dsh plugin add run.
perRequestTimeoutMs15000Per-request deadline for marketplace API fetches.
maxVetFiles / maxVetFileBytes40 / 100000Bounds on the per-candidate source scan.
maxVetCandidates5Cap on candidates per plugin_vet call.
defaultProfile"web"Profile name used by install commands when none is given.
installOutputMaxBytes100000Cap on captured installer output.

Security assessment design

The vetting is a bounded static heuristic, not a security guarantee — every report and prompt section states that. Scan rules (in severity order): install-time remote code (critical), obfuscation (critical), code execution primitives (high), credential reads (high), exfiltration destinations (high), unsafe filesystem access (medium), environment reads (medium), and supply-chain signals (medium/info). The safety score starts at 100 and deducts severity-weighted penalties; any critical finding forces high risk, and failed gathering returns an honest unknown.

Known Limitations and Deferred Work

  • Static vetting detects patterns, not intent; a clean report does not prove safety, and rules can produce false positives.
  • GitHub API access is unauthenticated and rate-limited; busy deployments should expect platformErrors degradation.
  • The npm vetting path scans registry metadata and unpkg file listings instead of unpacking the published tarball.
  • Relevance scoring is term-based; popularity is a ranking tiebreaker only.
  • plugin_install installs the package but never edits profile composition files — activation is deliberately manual.

Discoverability

This package is published under the dsh-plugin GitHub topic, the official discovery channel for DeepSeek Harness community plugins. This package is published under the @ace-xu npm scope. If you publish a fork under another scope (@you/dsh-plugin-market), keep the topic so other agents can find it through plugin_search.

Development

The canonical implementation lives in the DeepSeek Harness monorepo under packages/plugin-market/plugin-market (see the feature/plugin-market PR branch). Run node scripts/sync-from-monorepo.mjs <path-to-monorepo> to pull the latest sources into this standalone repo; the only divergences are this README, the standalone package.json/tsconfig.json, and test imports rewritten from package names to ../src paths.

pnpm install
pnpm run typecheck
pnpm test

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
TypeScript
License
MIT
Last updated
Aug 16, 2026, 4:58 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.