DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@cnzgray/dsh-claude-marketplace-bridge

Claude Marketplace Bridge

Bridge Claude Code's installed plugin marketplace skills and commands (via installed_plugins.json installPath under ~/.claude/plugins) into DeepSeek Harness, honoring scope / settings.json enablement.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @cnzgray/dsh-claude-marketplace-bridge@0.1.0
READMECompatibilityVersions

Compatibility and provenance

Claude Marketplace Bridge is published as @cnzgray/dsh-claude-marketplace-bridge and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
11/5/2026

Versions

0.1.0stable
8/15/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
44.7 kB
Files
5
Surface
any
License
MIT
Source
npm
GitHub
★ 3
Weekly downloads
14
Last push
8/15/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

MarketdshmarketVisual plugin market inside DeepSeek Harness — browse, search, and one-click install community plugins. · DSH 可视化插件市场:逛一逛,点一下,装好。Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executi

README

@cnzgray/dsh-claude-marketplace-bridge (DeepSeek Harness plugin)

简体中文 | English

Bridges Claude Code's installed plugin marketplace into DeepSeek Harness (DSH / Cordis). A port of the pi-claude-plugins extension (MIT) onto DSH's native seams:

  • skills → registered as a first-class ctx.skills provider (skill-filesystem style), so they show up in the model's skill catalog like any other skill
  • commands → registered as real DSH slash commands; the command's markdown body runs as a prompt template through agent.steer()

It only loads Claude plugins that are currently enabled, honoring both:

  • ~/.claude/plugins/installed_plugins.json (user / project scope)
  • ~/.claude/settings.json (enabledPlugins)

What gets loaded

Skills

Discovery follows Claude's authoritative installed-plugin layout — installed_plugins.json installPath entries under ~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/ — and recursively scans each enabled plugin install for skills/<skill>/SKILL.md (plus model-variant roots like skills-default / skills-opus used by some marketplaces). Skills inside a plugin install that carries its own .claude-plugin/plugin.json (e.g. "bundle" plugins) are attributed to the matching plugin key by manifest name.

Naming is namespaced as <plugin>-<skill> — Claude Code's plugin:skill identity, kebab-encoded because DSH skill names only allow [a-z0-9-] (no colons):

Marketplace layoutExample catalog name
ponytail top-level skill ponytail-auditponytail-ponytail-audit
claude-plugins-official plugin claude-md-management with skill claude-md-improverclaude-md-management-claude-md-improver
cnzgray-marketplace plugin cexll with skill docexll-do

name, description, whenToUse, disable-model-invocation / user-invocable frontmatter are honored. Imported skills rank at 550: below your own project / custom / user skill roots (100–500) but above bundled system skills (600), so your own skills always win a name collision. Same-name duplicates within one plugin (e.g. the skills-default/skills-opus/skills-kimi triplets) collapse to the first file by path.

Commands

From the same install-path scan: commands/*.md anywhere inside an installed plugin (attributed by the same manifest rule).

Each .md becomes a slash command (filename → /name, lowercase kebab). Running it reads the template, substitutes $ARGUMENTS, $1…$9 and $CWD, and hands the result to the agent as a user turn. Command description: frontmatter is used for the command list.

How enablement works

Claude's installed_plugins.json keys look like frontend-design@claude-plugins-official or minimax-skills@minimax-skills. A resource is exposed when its key is installed and not explicitly disabled in settings.json:

  • user scope → always enabled
  • project scope → enabled only when the current workspace is inside that projectPath

For skills this is evaluated per lookup against the current cwd. For commands, all command files are registered once at startup (DSH's command registry is static), and enablement is re-checked on every invocation — a command from a plugin that isn't enabled in the current workspace fails closed with a clear message.

Blocking commands / skills

Configure a blocklist in the profile's patch layer (~/.dsh/profiles/web/cordis.patch.yml) via the plugin's config:

- id: claude-marketplace-bridge
  config:
    blockedCommands:
      - review                        # command by name (leading / optional)
      - /git-commit
      - git-*                         # wildcard on command names
      - code-review@claude-plugins-official   # every command of one plugin
      - @cnzgray-marketplace          # every command of one marketplace
    blockedSkills:
      - ponytail-ponytail             # skill by qualified <plugin>-<skill> name
      - frontend-design@claude-plugins-official  # every skill of one plugin
      - @cnzgray-marketplace          # every skill of one marketplace

Entry shapes (unambiguous):

EntryMatches
name or /namea command name, or a skill's qualified <plugin>-<skill> name
pattern*wildcard (* = any run of characters) over the same names
name@marketplaceeverything from that plugin key
@marketplaceeverything from that marketplace

blockedCommands only ever blocks commands; blockedSkills only ever blocks skills — add an entry to both lists to block both surfaces. Rules that match nothing are warned at startup (typos / stale rules). Blocked counts appear in /claude-marketplace-bridge. Because commands are registered at startup, changing the blocklist requires restarting dsh web.

Installation

# From npm (after publishing)
dsh plugin --profile web add @cnzgray/dsh-claude-marketplace-bridge

# Or from a local path
dsh plugin --profile web add ./packages/claude-marketplace-bridge

# Verify the assembled tree without starting
dsh --profile web --dump-config | grep -A3 claude-marketplace-bridge

# Restart the web profile (kills the current GUI session)
dsh web

Needs the skills and commands services (both are mounted by the shipped web / headless profiles).

Verification

  • Host log at startup shows found N command file(s) across installed plugins and a skills-provider mount line.
  • Enabled marketplace skills appear in the model's skill catalog under <plugin>-<skill> names (e.g. via the skills UI or skill tool).
  • Typing /claude-marketplace-bridge shows a per-plugin summary of loaded skills/commands.
  • Running an imported command (e.g. /review) executes its template.

Notes

  • Live read-only bridge: reads Claude Code's existing ~/.claude/plugins/ directly — no copying or migration. Enable/disable a Claude plugin, then restart dsh web (skills re-evaluate per session lookup; commands are registered at startup).
  • Does not execute Claude plugin hooks / runtime code — only filesystem resources that map cleanly into DSH: SKILL.md skills and command markdown. Plugin agents, hooks, MCP servers, and non-markdown command formats are out of scope (same limitation as pi-claude-plugins).
  • Bundle-marketplace quirk: if one plugin's install contains other plugins' content (e.g. the cnzgray-marketplace cexll plugin ships omo-workflow and development-essentials), those skills load under the bundle's prefix as well — cexll-omo-* appears next to omo-omo-*. This mirrors what Claude Code itself sees in that install; disable the bundle plugin to drop them.
  • Zero @deepseek-ai/* runtime imports: only Node builtins plus the yaml package (the same frontmatter parser DSH's own skill provider uses).
  • The plugin source lives outside the profile; cordis-plugin-hmr won't watch it. Restart dsh web after code changes.

Files

  • Entry point: index.js
  • Bundle manifest: package.json / cordis.patch.yml

License

MIT