DSH 插件市场
Plugin market inside DeepSeek Harness: browse, search, one-click install — every install/update passes a static security audit gate first.
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.
dshmarket · Plugin Market
English | 中文
Plugin market inside DeepSeek Harness: browse, search, one-click install — every install/update passes a static security audit gate first.
Features
- Curated catalog (awesome-dsh-plugin) + live full browse of the GitHub
dsh-plugintopic (ranked by stars / latest, paginated) - Cross-language search: Chinese queries find English plugins and vice versa — built-in thesaurus plus real-time LLM translation via the host model
- Pre-install audit of the exact published artifact (dynamic exec, credential access, install scripts are hard-blocked); blocked installs show an audit report card
- Official design language (
--dsw-alias-*tokens); audit results in the official "request approval" pill style - Update checks, one-click updates (audited too), two-step uninstall, hot mounting, log export, self-service pnpm setup
- Git links for every installed plugin: each Installed row resolves its repository from
package.json(repository/ GitHubhomepage), thegithub:spec, or a scan of the shipped README — the spec text and a "Source" button open the repo - In-market README viewer with encoding repair: read a plugin's usage instructions right in the market; READMEs that shipped double-encoded (UTF-8 text mis-decoded as GB18030, e.g.
——→鈥斺€) are detected and restored to readable text (a "encoding repaired" badge shows; spots already destroyed upstream render as?)
Installation
Prerequisites: DeepSeek Harness (
dsh web) running; pnpm available (the market detects and offers to install it).
Option 1: from GitHub (recommended)
dsh plugin --profile web add github:nanshan1995/DSH-Plugin-Market
Option 2: local link (development)
git clone https://github.com/nanshan1995/DSH-Plugin-Market
dsh plugin --profile web add link:$(pwd)/DSH-Plugin-Market
Option 3: npm (once published)
dsh plugin --profile web add dshmarket
Restart DeepSeek Harness, then open Settings → Plugin Market.
Usage
- Discover: curated catalog by default; switch to All community to browse the whole GitHub topic ranked by stars (50 per load, "Load more" to page; GitHub exposes at most 1000 results — the real total is shown, and search reaches the rest)
- Search: live keyword search with zh/en thesaurus plus LLM translation; the UI shows "Translated as: …"
- Install: click Install → the real source is downloaded and statically audited → auto-installs on pass; on block, an audit card is shown (hand it to the Agent for manual review)
- Installed: sort by install time (toggle direction), hover/select to see install & update times; hot enable/disable (no restart), update and uninstall entry points; disabled plugins dim with a "Disabled" tag and stay disabled across restarts; the market itself cannot be disabled
- Installed rows link to their git: the spec text becomes a link and a "Source" button opens the repo — resolved from
package.jsonrepository(or GitHubhomepage), thegithub:spec, or a README scan when the package declares no repository (e.g. dsh-plugin-audit) - README (usage instructions): the "README" button opens the plugin's usage instructions in-market; garbled double-encoded READMEs are repaired automatically, with a badge when repair happened
- Plugins without a
dsh.bundledeclaration: a yellow notice appears after install with a "Let the Agent handle it" button — it opens a fresh session with a pre-filled diagnosis task so the Agent finishes the wiring for you
Configuration
| Env var | Effect |
|---|---|
DSHMARKET_AUDIT_GATE=off | Disables the audit gate (community sources are then refused outright — fail-closed) |
DSHMARKET_GITHUB_TOKEN | Raises the GitHub search quota (unauthenticated is ~10 req/min) |
DSHMARKET_TRANSLATE_PROVIDER / DSHMARKET_TRANSLATE_MODEL | Model used for query translation (defaults deepseek-official / deepseek-v4-flash, using the host's configured LLM credentials) |
How it works
A standard dsh-plugin (dsh.bundle + dsh.client):
lib/index.js host entry: injects webServer (+ optional llm), mounts HTTP routes
lib/routes.js routes: registry/search/install/update/uninstall/status/updates/logs/setup-pnpm
lib/audit-scanner.js bundled static audit engine (from dsh-plugin-audit's scanner)
lib/hot.js hot-mount after install (no restart needed)
lib/log.js sanitized logging and export
lib/registry.js curated catalog (awesome-dsh-plugin.com, bundled snapshot fallback)
client/client.js self-contained CJS client (settings UI, audit card, agent handoff)
cordis.patch.yml bundle patch: inserts the dsh-market row into the profile
Audit gate (fail-closed): before install/update, the exact artifact that would be installed (npm dist tarball or GitHub codeload HEAD) is downloaded into a temp dir and scanned statically — code is never executed:
- Graded capability profile: fs read/write, subprocess, network hosts, env vars, credential paths, dynamic execution (
eval/vm/new Function), service injection, bundle patch, dependencies - Hard blocks (risk=review): dynamic execution, credential paths/sensitive env vars, patches that override other plugins
- Additional hard rules:
preinstall/install/postinstall(pluspreparefor git installs) are always blocked; any audit failure blocks - The report card shows risk level, permission chips and each finding (file:line + evidence)
Search & translation: GitHub search API (paged, sortable) merged with bilingual matches against the curated catalog; the query is expanded by the built-in zh/en thesaurus and then translated live by the host LLM (10-min cache, 6s timeout, silent fallback to the thesaurus). Translated terms join the GitHub OR-query and the catalog matching.
Pagination: 50 per load for community browse, 20 for search; the client's "Load more" appends exactly one page of new items (drift-compensating backfill), shows loaded/real totals and notes GitHub's 1000-result retrieval cap.
Install executor: same-origin POST → audit → re-invoke the dsh CLI to forward pnpm (PATH patched per platform) → hot-mount on success; packages declaring dsh.bundle are auto-added to the profile's bundle stack.
Agent handoff: for plugins that don't activate after install, the client calls workspaces.startSession, opens a fresh session and prefills the composer with a diagnosis task; the Agent takes over once the user sends it.
Security notes
The static audit is a capability radar, not a behavior firewall: it blocks the highest-risk static patterns (dynamic exec, credential theft, install scripts, tampering with other plugins) but cannot judge runtime data-flow intent (e.g. "read documents, then upload"). Curation ≠ endorsement: only install sources you trust, and pair this with a runtime sentinel (e.g. dsh-plugin-audit) and commit pinning.
Disclaimer
This market only provides plugin browsing, download and management. Before download it runs only the most basic static check — no safety or compliance promise is made. The author is not responsible for any issues or losses arising from the download or use of any plugin.
Development workflow (branch policy)
main— stable release branch: only accepts tested merges; every merge is a releasable statetest— daily development branch: all adjustments, fixes and experiments happen here; merged back tomainafter tests pass
Flow: develop and self-test on test → verify → open a PR into main → merge only after the maintainer explicitly approves → main is the release.
⚠️ Release approval:
mainis branch-protected (PRs required, direct pushes rejected). The Agent only develops, self-tests and opens PRs ontest; merging/releasing must be confirmed by the maintainer (the repository owner) — the Agent never merges or releases on its own.
git checkout test # switch to the test branch
# ...change, test...
git add -A && git commit -m "feat/fix: ..."
git push origin test # push the test branch
# after tests pass, merge and release
git checkout main && git merge test && git push origin main
Data sources & license
- Curated catalog comes live from awesome-dsh-plugin.com/plugins.json (CI-refreshed daily), with a bundled offline snapshot
- The community listing is the live GitHub
dsh-plugintopic search - MIT License
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.