DeepSeek Harness 插件

PerryLink/dsh-mcp-panel

Star 数 ★ 67 下载量(近 30 天) 8,512 分类 开发与运行时 收录于 2026-08-14 npm dsh-mcp-panel

官方 MCP 客户端(dsh-mcp-client)的只读运行时管理面板:/mcp 命令与设置页 MCP 页签展示连接状态、已注册工具、错误与重连计数,脱敏展示并提供启停 patch 建议。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-mcp-panel

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:PerryLink/dsh-mcp-panel

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

dsh-mcp-panel

  • 1024 商店渠道:先 npm i -g dsh1024,再 dsh1024 plugin --profile web add dsh-mcp-panel(计入 deepseek1024.com 安装排行)。

官方 DeepSeek Harness MCP client 的 MCP 管理控制台 —— 在设置页可视化增删改 MCP 服务器、试用工具调用,配以诚实的连接状态、健康诊断与安全可逆的 profile 写入。

官方 client = 桥接,本插件 = 控制台:经 mcp/status seam 读取状态,只写入只追加、走审批的 profile patch。

官方仓库。 本仓库是 dsh-mcp-panel 的唯一官方仓库,由 PerryLink 维护。其他账号下的同名仓库与本项目无关。

dsh-doctor DSH Market

English · 简体中文 · Español · Português · हिन्दी


⭐ 如果它帮到了你

这个插件是 DSH 插件家族的一员(40+ 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。

English: part of a 40+ plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.

Compatibility

维度 状态
Harness DeepSeek Harness dsh-v0.1.7-rc.2(2026-09-24 核验):双 typecheck 尺子在 0.1.6-alpha.2 dev/test 面上双绿(本仓是全族金丝雀,抬线未暴露新错误)、174 项测试、全量门禁链(typecheck / typecheck:ci / test / build / verify / package)。writePatch 的写入复验断言在该线上成立。上一基线:dsh-v0.1.7-alpha.1(2026-09-16 已核验)。
Node ^22.19.0 || >=24.0.0
平台 Web GUI(双面:Host + 浏览器)
模型 任意(面板只读;仅 /mcp 输出对模型可见)

What you get

dsh-mcp-panel 是官方 MCP client 之上的体验层:只读运行时视图加上安全可逆的 profile 写入。

  • /mcp 命令 —— 每 server 一行:transport、目标、工具数、连接状态(来自上游 seam;未观测时如实显示 unknown)、最近错误、重连计数——模型可读、会话日志可重建、五种输出语言。
  • /mcp <server> tools —— 模型可见的 mcp__* 工具名与描述。
  • /mcp <server> health —— 派生自愈建议(ENOENT → 依赖缺失、ECONNREFUSED、超时、401/403/404、DNS、限流、重连耗尽…);退出码 / stderr 尾部如实标注待官方支持。
  • /mcp <server> call <tool> [json] —— 经官方工具管线(ctx.tools.execute())试用调用;pre-execute 权限策略、审批、guard、post-execute 全部生效。
  • 设置 → 插件 → MCP 页 —— 状态卡片(徽章、诊断、探测),加 server CRUD 与工具试用台。
  • Server CRUD —— 增删改表单 → 添加用 insert,编辑/删除用 id 定向覆盖(- id: + name: + disabled:/config:)→ 剪贴板复制或审批写入,自动备份,并在报成功前对照 loader 复验。
  • Resources 浏览 —— 经官方 list_mcp_resources / list_mcp_resource_templates / read_mcp_resource 工具只读列出资源、模板与 URI 读取(由上游 @deepseek-ai/dsh-mcp-resources 服务桥接);结果只显示在本页、绝不进入模型上下文。
  • 工具试用台 —— 选 server → 选 mcp__* 工具 → JSON 填参 → 规范 JSON 结果 + render 内容;按 trialMaxResultChars 截断;仅面板可见、永不进入模型上下文。

Architecture: official client = bridge, this plugin = console

@deepseek-ai/dsh-mcp-client 是唯一的桥接层:每个 MCP server 一个插件实例,以手写 cordis.yml 行的形式配置,负责连接传输、同步工具并注册 mcp__<server>__<tool> 工具名。本插件从不取代它——而是构建其上的体验层:

                    ┌────────────────────────────────────────────┐
 profile            │  cordis.yml / cordis.patch.yml             │
 组合(每个         │   - id: mcp-github                          │
  server 一行,     │     name: '@deepseek-ai/dsh-mcp-client'     │
  手写)            │     config: { serverName, transport, … }    │
                    │   - id: mcp-panel                           │
                    │     name: dsh-mcp-panel   ◄── 本插件        │
                    └───────────────┬────────────────────────────┘
                                    │
        ┌───────────────────────────┴───────────────────────────┐
        │                                                        │
   ┌────▼──────────────┐        ┌───────────────────────────┐    │
   │ @deepseek-ai/dsh- │        │ dsh-mcp-panel(控制台)    │    │
   │ mcp-client        │        │                           │    │
   │ • 传输连接        │        │ • /mcp 命令               │    │
   │ • 工具同步        │        │ • 设置 → 插件 → MCP 页:  │    │
   │ • mcp__* 工具     │◄──────►│   CRUD、工具试用台        │    │
   │ • mcp/status seam │ 状态   │ • 健康诊断                │    │
   └───────────────────┘        │ • 探测、能力一览          │    │
                                └───────────────────────────┘    │

控制台通过官方 client 已落地的 mcp/status 可观测 seam(事件 + mcpStatus 查询服务)、工具注册表与 loader 读取事实;写入只发生在 profile 的 patch 层——只追加、走审批、自动备份。传输、OAuth 与协议完全不动。

Console vs. hand-written cordis.yml

手写 cordis.yml dsh-mcp-panel 控制台
添加服务器 改 YAML,注意缩进与引号 表单 → patch 片段 → 一键复制或写入(审批 + 自动备份)
修改服务器 改 YAML,重启/热重载 表单预填当前行;未改动的密钥在 host 侧保留原值
删除服务器 删掉该行 追加 - id: + disabled: true 覆盖操作(patch 词汇表没有 remove)——可随时重新启用
查看状态 翻日志 徽章 + 重连次数 + 最近错误,来自 mcp/status seam 实时数据
试用工具 让模型调用 试用台 → 官方 ctx.tools.execute() 管线(权限与审批全程生效)
排查故障 grep 日志 /mcp <server> health 派生自愈建议
误操作 手动回滚 每次写入只追加、留时间戳备份

控制台的输出就是 cordis.patch.yml 的词汇表——你手写的那几行,由它生成、预览并安全落地。

Quick start

# 1. 把 bundle 安装进 profile
dsh plugin --profile web add "github:PerryLink/dsh-mcp-panel#main"

# 或从 npm(发布版本)
dsh plugin --profile web add dsh-mcp-panel

# 2. 重启并校验该行
dsh --profile web --dump-config | grep -A3 'id: mcp-panel'

随后打开 设置 → 插件 → MCP,或运行:

/mcp
/mcp everything tools
/mcp everything health
/mcp everything call echo '{"message": "hi"}'

Install & uninstall

  • git 通道(最新 main):dsh plugin --profile web add "github:PerryLink/dsh-mcp-panel#main" —— prepare 脚本只用生产依赖构建。
  • npm 通道(发布版本):dsh plugin --profile web add dsh-mcp-panel。
  • tarball 通道:在本仓库 pnpm pack,再 dsh plugin --profile web add ./dsh-mcp-panel-<version>.tgz。
  • 卸载:从 cordis.patch.yml 移除 mcp-panel 行(web 面板热重载),从 profile 的 node_modules 删除本包,并用 dsh web --dump-config 确认没有残留的 mcp-panel 行。

Configuration

所有可调项都是 Schemastery Config 字段(可从 cordis.yml 覆盖)。cordis.patch.yml 逐键内联注释。

键 默认值 含义
probeEnabled true 注册 mcp_probe 后台任务工具(结果仅面板可见)
probeTimeoutMs 10000 单次探测超时(ms)
maxProbes 10 面板展示的探测记录数
refreshIntervalMs 0 建议的面板刷新间隔(ms);0 = 按需
outputLanguage en /mcp 输出语言:en | zh | es | pt | hi
passiveProbeEnabled false 周期性探测 streamable-http 服务器
passiveProbeIntervalMs 60000 被动探测间隔(ms)
trialEnabled true 工具试用台(设置页 + /mcp call)
trialTimeoutMs 120000 每次试用调用的面板侧截止时间(ms)
trialMaxResultChars 60000 试用结果载荷上限(字符)
writeEnabled true 总开关:false 拒绝一切 profile 写入(仍可复制片段)
writeVerifyEnabled true 每次写入在报成功前对照 loader 重放后的状态复验
writeVerifyTimeoutMs 3000 写入复验的轮询预算(毫秒)
backupCount 5 每次写入保留的 cordis.patch.yml 备份数
catalogEntries [] 推荐服务器目录的用户覆盖:追加条目,同 id 的条目替换内置条目

Tools & surfaces

表面 类型 说明
/mcp command 每 server 状态行;模型可读、日志可重建
/mcp <server> tools command 模型可见的 mcp__* 工具名与描述
/mcp <server> health command 由脱敏错误文本派生的自愈建议
/mcp <server> call <tool> [json] command 经官方工具管线试用调用
mcp_probe tool 可选 Streamable HTTP 连通性探测(后台任务)
设置 → 插件 → MCP 页 UI 槽位 状态卡片、server CRUD 与工具试用台
mcpPanel Typert Remote service 只读快照通道(Host → client)

Resources & Prompts

Resources 已由上游桥接:base bundle 默认挂载 @deepseek-ai/dsh-mcp-resources,官方 client 把每个连接的资源 provider 注册进 ctx.mcpResources,该包拥有三个共享工具(list_mcp_resources、list_mcp_resource_templates、read_mcp_resource)。控制台特征探测该服务与已注册工具,并在每个 server 卡上提供只读 Resources 浏览(列表 / 模板 / URI 读取)——每次调用都走官方工具管线,结果只显示在本页、绝不进入模型上下文。

MCP prompt 模板与资源订阅仍待上游;能力一览中 Prompts 标注待官方支持。

Permissions & data

  • 权限:dshWorkshop manifest 声明 network:outbound 与 native-code:none。
  • 数据:面板只读;只写入只追加的 cordis.patch.yml 片段(走审批、先备份)。URL 查询凭据、userinfo 密码、header 值、Bearer token、JWT 在渲染前一律打码;配置的 headers 从不进入任何快照,env/header 的值绝不出 Host(编辑器只见 key)。

Security boundaries

  • 桥接层仍是桥接层。 不改传输、OAuth、协议;每个 server 一行 mcp-client,与你手写完全一致。
  • 不伪造状态。 无上游观测时连接字段显示 unknown / — 并标注 statusSource: 'derived';退出码与 stderr 尾部绝不臆造。
  • 写入只追加、走审批、先备份。 控制台从不改写 cordis.patch.yml:只追加生成的操作,保留最新 backupCount 份备份,并在报成功前对照 loader 重放后的状态复验(被跳过的补丁绝不显示为成功)。
  • 零提示词注入。 本插件不注册任何提示词段落;对模型可见的文本只有两个工具/命令描述。

Known limitations

  • prompt 模板与资源订阅 待官方支持——官方 client 桥接工具与资源,但未桥接 prompts 与订阅。
  • 退出码 / stderr 尾部 在 client 暴露前如实标注待官方支持。
  • 只读面板 —— 控制台从不伪造连接状态;不可观测字段显示 unknown / -1 / —。
  • 写入复验而非保证 —— 控制台对照 loader 重放后的状态复验每次写入;loader 未应用时(例如该行由 $DSH_HOME/cordis.patch.yml 插入、profile 层补丁够不着)如实报失败。

Development

pnpm run typecheck && pnpm run typecheck:ci && pnpm test && pnpm run build && pnpm run verify:self-contained && pnpm run verify:artifacts && pnpm pack

scripts/verify-headless.mjs 启动真实 web profile 并打印 /mcp 实际输出。发布:node scripts/release.mjs <x.y.z> 跑全量门禁、提交并本地打 v<x.y.z> 标签(绝不推送)。

Topics

dsh, dsh-plugin, deepseek-harness, deepseek, cordis, mcp, mcp-client, observability, panel

Contributors

  • @PerryLink —— 创建者与维护者。
  • @xiaoyuyu6420 —— 诊断出干净 checkout 构建失败背后缺失的 client devDependencies(PR #5)。
  • @feiler0 —— 贡献了 stdio MCP 服务器探测(通过 stdin/stdout 完成一次 MCP initialize 握手)(PR #7,以 PR #15 合并)。

PerryLink DSH Plugin Family

This project is one of the 45 DeepSeek Harness plugins maintained by PerryLink. If this one helps you, the others likely will too:

Plugin One-liner
dsh-auto-review Second-model auto-review on the approval chain, fail-closed by default
dsh-autotier Automatic strong/cheap model-tier routing with deterministic risk guards and a /tier command
dsh-background-agents Durable background child agents with a Web UI sidebar, messaging and interrupt
dsh-budget Cost governance for DeepSeek Harness: budgets, carbon, and latency in one panel.
dsh-catalog DSH Desktop Market standard catalog source for the PerryLink family
dsh-cert-mcp Read-only MCP server exposing the certification registry: grades, snapshots and five-dimension evidence
dsh-checkpoint-rewind Claude Code /rewind-equivalent: snapshots, session forks, one-shot restore
dsh-claude-move Migrate Claude Code sessions, memory, skills and CLAUDE.md into DSH
dsh-click Cross-platform native desktop control for DeepSeek Harness — Windows first.
dsh-composer-history Terminal-style input history for the web composer: arrows, Ctrl+R search
dsh-data-quality Dataset quality checks and citation cross-checks (the optional numeric bridge consumed here)
dsh-defend Prompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness.
dsh-doublecheck Engineering-discipline guard: requirements grill, test gates, adversary review
dsh-draw Unified static-image generation routing for DeepSeek Harness.
dsh-fast Read-only performance diagnostics for DeepSeek Harness.
dsh-fund-research Deterministic research reports for Chinese public mutual funds
dsh-github GitHub PR/issues integration for DSH, every write gated by approval
dsh-industry-research Industry research orchestration that seals its deliverables through this plugin's ctx.researchReport.assemble
dsh-laya Laya typed decisions (noul/choice/score) as a first-class Cordis service and model-visible tools
dsh-library Local document knowledge base for DeepSeek Harness.
dsh-local-ai Local-model (Ollama) integration for DeepSeek Harness.
dsh-lsp-actions LSP diagnostics, formatting, completion, code actions and rename over language servers
dsh-mask PII masking middleware: anonymize at the model boundary, restore at the display layer
dsh-mcp-panel Read-only MCP runtime panel: /mcp command + Settings tab with status, tools and errors
dsh-memento Approval-gated cross-session memory: ctx.memory seam + SQLite + memory tool
dsh-observe OpenTelemetry and Langfuse observability exporter for DeepSeek Harness.
dsh-output-styles Claude Code outputStyles-equivalent runtime style switching
dsh-permission-rules Claude Code-style declarative allow/deny/ask permission rules with audit
dsh-plugin-certification Community certification registry with repro-checkable grades and badges
dsh-plugin-doctor Zero-dependency static + sandbox smoke detector for DSH plugins
dsh-plugin-guide Plugin-development knowledge base as an on-demand agent skill
dsh-plugin-kit Shared zero-runtime-dependency toolkit for the PerryLink DSH plugins
dsh-plugin-upgrade One-package, one-corridor-index plugin upgrade skill: routes a repository to the matching closed corridor card
dsh-plugin-upgrade-015 Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner
dsh-reach Multi-channel approval/question bridge: WeChat/Telegram/Feishu, session console
dsh-research-report Verifiable research-report engine: content-addressed evidence ledger and sealed versions
dsh-score Multi-dimensional quality scoring for DeepSeek Harness plugins.
dsh-session-pin Pin sessions in the Web sidebar with durable ordering
dsh-session-sync Cross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store.
dsh-skill-pack-security Security-audit skill pack: secret scan, dependency and supply-chain review
dsh-talk Voice-first session loop for DeepSeek Harness: talk to it, hear it answer.
dsh-team-rooms Cross-session team rooms: shared message bus, task board and timeline
dsh-test-drive Isolated install-and-smoke test drives for DeepSeek Harness plugins.
dsh-ticktick TickTick/Dida365 task bridge: session-header panel + 11 tools
dsh-translate Vendor parameter translation and deterministic JSON repair for DeepSeek Harness.

License

Apache License 2.0 © 2026 dsh-mcp-panel contributors

从 DSH Desktop 市场安装

所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:市场 → 来源 → 添加来源 → 粘贴 https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → 选中。安装仍需通过市场的 npm 身份校验与你的确认。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。