插件目录 / Automation / deepseek-harness-plugin-mcp
deepseek-harness-plugin-mcp
已验证 · 实测可装 bobleer
功能简介
deepseek-harness-plugin-mcp — DSH 插件(编排)
可用 — 实测通过,早期项目
deepseek-harness-plugin-mcp — DSH 插件(编排) 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
DeepSeek Harness Plugin MCP
Made by BitFun.
MCP server that lets any agent discover, inspect, install, and run DeepSeek Harness plugins.
Catalog source: github.com/topics/dsh-plugin.
English | 中文
What it does
DSH plugins are Cordis bundles (dsh.bundle.patch → cordis.patch.yml). Foreign agents speak MCP, not Cordis. This server is the inverse of @deepseek-ai/dsh-mcp-client:
| Plane | Needs DSH? | What the agent can do |
|---|---|---|
| Catalog | No | Search/list/inspect every public dsh-plugin repo, read README and cordis.patch.yml |
| Profile | dsh on PATH |
dsh plugin add / remove into a real profile |
| Runtime | dsh on PATH + --allow-runtime |
Boot that profile and call composition tools as dsh__* |
UI/TUI/skin plugins are catalogued and installable. They do not become MCP tools; their UI stays in DSH.
Install
npm install -g deepseek-harness-plugin-mcp
# or
npx deepseek-harness-plugin-mcp --help
Node ^22.19 || >=24.
Wire it into an agent
Cursor / Claude Desktop / Claude Code / Codex (stdio)
{
"mcpServers": {
"dsh-plugins": {
"command": "npx",
"args": ["-y", "deepseek-harness-plugin-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_optional_but_recommended"
}
}
}
}
Enable install and runtime (this runs dsh plugin and plugin code):
{
"mcpServers": {
"dsh-plugins": {
"command": "npx",
"args": ["-y", "deepseek-harness-plugin-mcp", "--allow-install", "--allow-runtime"],
"env": {
"GITHUB_TOKEN": "ghp_…",
"DSH_PLUGIN_MCP_PROFILE": "mcp-bridge"
}
}
}
}
dsh must be on PATH for the profile and runtime planes.
Streamable HTTP
dsh-plugin-mcp --http --port 8765 --allow-runtime
Point the agent at http://127.0.0.1:8765/mcp. GET /health is a process liveness check.
Inside DeepSeek Harness
This package is itself a DSH bundle:
dsh plugin --profile web add github:bobleer/deepseek-harness-plugin-mcp
dsh --profile web
The live Harness then serves Streamable HTTP MCP (default http://127.0.0.1:8765/mcp) and mirrors ctx.tools — every first-party and third-party tool the composition registered.
MCP tools
Control plane:
dsh_plugin_status/dsh_plugin_refresh_catalog/dsh_plugin_list/dsh_plugin_searchdsh_plugin_get/dsh_plugin_inspect/dsh_plugin_readmedsh_plugin_list_installed/dsh_plugin_install/dsh_plugin_uninstalldsh_runtime_start/dsh_runtime_stop/dsh_runtime_load/dsh_runtime_unload/dsh_runtime_list_tools
After dsh_runtime_start, DSH tools appear as dsh__<name>.
Resources: dsh-plugin://catalog, dsh-plugin://github/{owner}/{repo} (+ /readme, /package.json, /cordis.patch.yml), dsh-plugin://installed/{profile}, dsh-plugin://runtime/tools.
Prompts: search-dsh-plugins, install-dsh-plugin, use-dsh-plugin.
Flags and env
| Flag / env | Default | Meaning |
|---|---|---|
--http |
stdio | Streamable HTTP |
--host / DSH_PLUGIN_MCP_HOST |
127.0.0.1 |
Bind address |
--port / DSH_PLUGIN_MCP_PORT |
8765 |
Bind port |
--allow-install / DSH_PLUGIN_MCP_ALLOW_INSTALL |
off | dsh plugin add/remove |
--allow-runtime / DSH_PLUGIN_MCP_ALLOW_RUNTIME |
off | Spawn DSH and bridge tools |
--profile / DSH_PLUGIN_MCP_PROFILE |
mcp-bridge |
Target profile |
--dsh-root / DSH_ROOT |
unset | Harness checkout (informational in status) |
--cache-dir / DSH_PLUGIN_MCP_CACHE_DIR |
~/.dsh-plugin-mcp |
Catalog cache |
--no-catalog / DSH_PLUGIN_MCP_CATALOG=0 |
on | Disable GitHub catalog tools |
GITHUB_TOKEN / GH_TOKEN |
unset | GitHub API auth |
Install and runtime are off until you opt in. Catalog is always available.
Typical agent flow
dsh_plugin_searchwith the task keywords.dsh_plugin_inspectonowner/repo. PreferisDshBundle: true.- Optional:
dsh_plugin_installwithgithub:owner/repo. dsh_runtime_startwithplugins: ["github:owner/repo"].- Call the listed
dsh__*tools.
Development
npm install
npm run check
Protocol smoke (official MCP Inspector CLI, same client family as @modelcontextprotocol/sdk):
npx @modelcontextprotocol/inspector --cli node dist/cli.js --method tools/list
npx @modelcontextprotocol/inspector --cli node dist/cli.js --method tools/call \
--tool-name dsh_plugin_status --tool-args-json '{}'
Design: docs/design.md.
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 deepseek-harness-plugin-mcp」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:bobleer/deepseek-harness-plugin-mcp Headless(CLI)profile:
dsh plugin --profile headless add github:bobleer/deepseek-harness-plugin-mcp 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
自动化一项重复工作——调度、串联任务或响应事件——不用你亲手启动。
适合谁
有周期性工作、想 cron 式无人值守而非手动触发的人。
二次开发建议
触发器和任务模板是缝——加事件驱动或文件监听触发,以及更丰富的流程编排。