dsh-mcp-panel 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  All notable changes to this project are documented in this file.
4
4
 
5
+ ## [0.6.0] - 2026-08-26
6
+
7
+ ### Added
8
+
9
+ - Recommended MCP server catalog plus configuration JSON import/export.
10
+
11
+ ## [0.5.1] - 2026-08-22
12
+
13
+ ### Changed
14
+
15
+ - All `@deepseek-ai/dsh-*` dependencies moved from the `0.1.0-rc.8` line to `0.1.1-rc.2`: the 15 devDependencies pin `0.1.1-rc.2` exactly, `@deepseek-ai/dsh-subprocess` (the one runtime dependency) pins `0.1.1-rc.2`, and the four peerDependencies (`dsh-commands` / `dsh-jobs` / `dsh-tools` / `dsh-typert-protocol`) keep their `>=0.1.0-rc.8 <0.2.0` range (no rc.2-exclusive API is used). `@deepseek-ai/cordis` and the non-dsh dependency lines are unchanged; the compatibility tables now claim `0.1.1-rc.2`–`0.2.0`, and the compat workflow pins the harness CLI and base/headless bundles to `0.1.1-rc.2`.
16
+ - The `/mcp` and `mcp_probe` surfaces are unchanged: rc.2 keeps the `commands.execute(agent, line, images, signal)` signature and the single-`CommandInvocation` handler shape this package already drives, so no call-site edits were needed.
17
+
18
+ ### Engineering
19
+
20
+ - `pnpm-lock.yaml` regenerated against the rc.2 graph; `minimumReleaseAgeExclude` collapses the stale per-package rc.6 list to a single `@deepseek-ai/*` wildcard so fresh harness releases install without a release-age delay.
21
+
5
22
  ## [0.5.0] - 2026-08-21
6
23
 
7
24
  ### Added
package/README.es.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Superficie | Estado |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8`–`0.2.0` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | Plataformas | Web GUI (doble cara: host + navegador) |
30
30
  | Modelo | Cualquiera (el panel es de solo lectura; solo la salida de `/mcp` es legible por el modelo) |
@@ -131,6 +131,7 @@ Todas las opciones son campos Schemastery `Config` (modificables desde cordis.ym
131
131
  | `trialMaxResultChars` | `60000` | Tope del payload de resultado de prueba en caracteres |
132
132
  | `writeEnabled` | `true` | Interruptor de seguridad: `false` rechaza toda escritura (copiar sigue funcionando) |
133
133
  | `backupCount` | `5` | Copias de `cordis.patch.yml` retenidas por escritura |
134
+ | `catalogEntries` | `[]` | Superposición de usuario para el directorio recomendado: anexa entradas; una entrada con el mismo `id` reemplaza la integrada |
134
135
 
135
136
  ## Tools & surfaces
136
137
 
@@ -182,6 +183,7 @@ pnpm run typecheck && pnpm run typecheck:ci && pnpm test && pnpm run build && pn
182
183
 
183
184
  - [@PerryLink](https://github.com/PerryLink) — creador y mantenedor.
184
185
  - [@xiaoyuyu6420](https://github.com/xiaoyuyu6420) — diagnosticó las devDependencies de client faltantes detrás de los fallos de build en checkouts limpios (PR #5).
186
+ - [@feiler0](https://github.com/feiler0) — contribuyó la sonda de servidores MCP stdio (un handshake MCP initialize sobre stdin/stdout) (PR #7, fusionada como PR #15).
185
187
 
186
188
  ## PerryLink DSH Plugin Family
187
189
 
package/README.hi.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | सतह | स्थिति |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8`–`0.2.0` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | प्लेटफ़ॉर्म | Web GUI (दोहरा चेहरा: host + browser) |
30
30
  | मॉडल | कोई भी (पैनल रीड-ओनली है; केवल `/mcp` आउटपुट मॉडल-पठनीय है) |
@@ -131,6 +131,7 @@ dsh --profile web --dump-config | grep -A3 'id: mcp-panel'
131
131
  | `trialMaxResultChars` | `60000` | ट्रायल परिणाम payload की सीमा (वर्ण) |
132
132
  | `writeEnabled` | `true` | कठोर स्विच: `false` हर प्रोफ़ाइल लेखन अस्वीकार करता है (कॉपी फिर भी चलती है) |
133
133
  | `backupCount` | `5` | प्रति लेखन रखे गए `cordis.patch.yml` बैकअप |
134
+ | `catalogEntries` | `[]` | अनुशंसित निर्देशिका के लिए उपयोगकर्ता ओवरले: प्रविष्टियाँ जोड़ता है; समान `id` वाली प्रविष्टि अंतर्निहित को बदल देती है |
134
135
 
135
136
  ## Tools & surfaces
136
137
 
@@ -182,6 +183,7 @@ pnpm run typecheck && pnpm run typecheck:ci && pnpm test && pnpm run build && pn
182
183
 
183
184
  - [@PerryLink](https://github.com/PerryLink) — निर्माता और अनुरक्षक।
184
185
  - [@xiaoyuyu6420](https://github.com/xiaoyuyu6420) — क्लीन-चेकआउट बिल्ड विफलताओं के पीछे की गुम client devDependencies का निदान किया (PR #5)।
186
+ - [@feiler0](https://github.com/feiler0) — stdio MCP सर्वर प्रोब (stdin/stdout पर एक MCP initialize हैंडशेक) का योगदान दिया (PR #7, PR #15 के रूप में मर्ज हुआ)।
185
187
 
186
188
  ## PerryLink DSH Plugin Family
187
189
 
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  <div align="center">
2
2
 
3
3
  # dsh-mcp-panel
4
+ [![Gitee](https://img.shields.io/badge/Gitee-mirror-c71d23?logo=gitee)](https://gitee.com/perrylink/dsh-mcp-panel)
4
5
 
5
6
  **The MCP management console for the official DeepSeek Harness MCP client — add, edit, remove, and trial-call MCP servers from a settings page, with honest status, health diagnostics, and safe, reversible profile writes.**
6
7
 
@@ -24,7 +25,7 @@
24
25
 
25
26
  | Surface | Status |
26
27
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8`–`0.2.0` |
28
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
30
  | Platforms | Web GUI (dual-face: host + browser) |
30
31
  | Model | Any (the panel is read-only; only `/mcp` output is model-readable) |
@@ -39,6 +40,8 @@
39
40
  - **`/mcp <server> call <tool> [json]`** — trial-call through the **official tool pipeline** (`ctx.tools.execute()`); pre-execute permission policy, approval, guards, and post-execute all apply.
40
41
  - **Settings → Plugins → MCP tab** — status cards with badges, diagnostics, and probes, plus the server CRUD and the tool trial console.
41
42
  - **Server CRUD** — add/edit/remove forms → `insert`/`set`/`set disabled` fragments → clipboard copy or approval-gated write with automatic backups.
43
+ - **Recommended directory** — a built-in community MCP server catalog (filesystem, git, github, fetch, playwright, …) served in the snapshot; `catalogEntries` appends/overrides entries, and `catalogToConfigInput` turns one into a one-click add.
44
+ - **Config import/export** — `exportConfigs()` serializes the server rows to a versioned JSON document (a `!!js` row exports as `null` with a reason), and `importPreview()` parses an export back into per-server `add` patch fragments for review.
42
45
  - **Tool trial console** — server → `mcp__*` tool → JSON args → canonical JSON result + rendered content; capped by `trialMaxResultChars`; panel-only, never model context.
43
46
 
44
47
  ## Architecture: official client = bridge, this plugin = console
@@ -131,6 +134,7 @@ All tunables are Schemastery `Config` fields (changeable from cordis.yml). `cord
131
134
  | `trialMaxResultChars` | `60000` | Cap on the trial result payload in chars |
132
135
  | `writeEnabled` | `true` | Kill switch: `false` rejects every profile write (copy still works) |
133
136
  | `backupCount` | `5` | `cordis.patch.yml` backups retained per write |
137
+ | `catalogEntries` | `[]` | User overlay for the recommended server directory: entries append, an entry with the same `id` replaces the built-in one |
134
138
 
135
139
  ## Tools & surfaces
136
140
 
@@ -182,6 +186,7 @@ pnpm run typecheck && pnpm run typecheck:ci && pnpm test && pnpm run build && pn
182
186
 
183
187
  - [@PerryLink](https://github.com/PerryLink) — creator and maintainer.
184
188
  - [@xiaoyuyu6420](https://github.com/xiaoyuyu6420) — diagnosed the missing client devDependencies behind clean-checkout build failures (PR #5).
189
+ - [@feiler0](https://github.com/feiler0) — contributed the stdio MCP server probe (one MCP initialize handshake over stdin/stdout) (PR #7, merged as PR #15).
185
190
 
186
191
  ## PerryLink DSH Plugin Family
187
192
 
package/README.pt.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Superfície | Status |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8`–`0.2.0` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | Plataformas | Web GUI (duas faces: host + navegador) |
30
30
  | Modelo | Qualquer (o painel é somente leitura; só a saída de `/mcp` é legível pelo modelo) |
@@ -131,6 +131,7 @@ Todas as opções são campos Schemastery `Config` (modificáveis a partir do co
131
131
  | `trialMaxResultChars` | `60000` | Teto do payload do resultado de teste em caracteres |
132
132
  | `writeEnabled` | `true` | Interruptor de segurança: `false` rejeita toda gravação (copiar continua funcionando) |
133
133
  | `backupCount` | `5` | Backups de `cordis.patch.yml` retidos por gravação |
134
+ | `catalogEntries` | `[]` | Sobreposição do usuário para o diretório recomendado: anexa entradas; uma entrada com o mesmo `id` substitui a integrada |
134
135
 
135
136
  ## Tools & surfaces
136
137
 
@@ -182,6 +183,7 @@ O `scripts/verify-headless.mjs` inicia o perfil web real e imprime a saída exat
182
183
 
183
184
  - [@PerryLink](https://github.com/PerryLink) — criador e mantenedor.
184
185
  - [@xiaoyuyu6420](https://github.com/xiaoyuyu6420) — diagnosticou as devDependencies de client ausentes por trás das falhas de build em checkouts limpos (PR #5).
186
+ - [@feiler0](https://github.com/feiler0) — contribuiu com a sonda de servidores MCP stdio (um handshake MCP initialize via stdin/stdout) (PR #7, mesclada como PR #15).
185
187
 
186
188
  ## PerryLink DSH Plugin Family
187
189
 
package/README.zh.md CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  | 维度 | 状态 |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8`–`0.2.0` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
28
  | Node | `^22.19.0 \|\| >=24.0.0` |
29
29
  | 平台 | Web GUI(双面:Host + 浏览器) |
30
30
  | 模型 | 任意(面板只读;仅 `/mcp` 输出对模型可见) |
@@ -131,6 +131,7 @@ dsh --profile web --dump-config | grep -A3 'id: mcp-panel'
131
131
  | `trialMaxResultChars` | `60000` | 试用结果载荷上限(字符) |
132
132
  | `writeEnabled` | `true` | 总开关:`false` 拒绝一切 profile 写入(仍可复制片段) |
133
133
  | `backupCount` | `5` | 每次写入保留的 `cordis.patch.yml` 备份数 |
134
+ | `catalogEntries` | `[]` | 推荐服务器目录的用户覆盖:追加条目,同 `id` 的条目替换内置条目 |
134
135
 
135
136
  ## Tools & surfaces
136
137
 
@@ -182,6 +183,7 @@ pnpm run typecheck && pnpm run typecheck:ci && pnpm test && pnpm run build && pn
182
183
 
183
184
  - [@PerryLink](https://github.com/PerryLink) —— 创建者与维护者。
184
185
  - [@xiaoyuyu6420](https://github.com/xiaoyuyu6420) —— 诊断出干净 checkout 构建失败背后缺失的 client devDependencies(PR #5)。
186
+ - [@feiler0](https://github.com/feiler0) —— 贡献了 stdio MCP 服务器探测(通过 stdin/stdout 完成一次 MCP initialize 握手)(PR #7,以 PR #15 合并)。
185
187
 
186
188
  ## PerryLink DSH Plugin Family
187
189
 
package/lib/client.js CHANGED
@@ -5725,7 +5725,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5725
5725
  timeoutMs: number().int(),
5726
5726
  maxResultChars: number().int()
5727
5727
  }),
5728
- writeEnabled: boolean()
5728
+ writeEnabled: boolean(),
5729
+ catalog: array(object({
5730
+ id: string(),
5731
+ name: string(),
5732
+ description: string(),
5733
+ transport: union([literal("stdio"), literal("streamable-http")]),
5734
+ command: string().optional(),
5735
+ args: array(string()).optional(),
5736
+ url: string().optional(),
5737
+ envKeys: array(string()).optional(),
5738
+ headerKeys: array(string()).optional(),
5739
+ tags: array(string()).optional()
5740
+ }))
5729
5741
  });
5730
5742
  /**
5731
5743
  * The `mcpPanel/status` invocation descriptor, shared verbatim by the host