@max-null/dsh-skill-mcp-center 0.6.3 → 0.6.5

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/README.md CHANGED
@@ -23,6 +23,12 @@ Skill 与 MCP 管理中心:在设置里管理 skills 与 MCP 服务器,右
23
23
 
24
24
  ![设置 → Skill & MCP](docs/shots/skill-mcp-1.png)
25
25
 
26
+ ### 设置页:MCP 开关的效力边界
27
+
28
+ DSH 的 `Loader.write()` 是空实现,面板上的启停只改内存树——所以 MCP 标签页顶部写明「开关只对本次运行生效,重启后恢复」;要长期禁用,给 `cordis.patch.yml` 的对应条目加 `disabled: true`。被面板关掉的条目会在卡片里标「本次运行已停用 · 重启恢复」,而 patch 里持久禁用的条目不标——两种「关」必须能区分:
29
+
30
+ ![MCP 开关的效力边界](docs/shots/mcp-switch-session-only.png)
31
+
26
32
  ### 侧栏:Skill 一览
27
33
 
28
34
  搜索 + 命名空间筛选(全部 / 全局 / 工作区),每条带开关与 `MD`(查看 SKILL.md)。**插件包内自带的 skill 同样列出**,并标出来源插件——下图里 8 个 `ssid-*` 来自 `dsh-skills`,而用户级的 `ssid-release` 没有来源标签,这正是两者的区别:
package/dist/service.js CHANGED
@@ -406,15 +406,20 @@ export class SkillMcpService extends Service {
406
406
  // plugin `name` ('mcp-client'); one entry = one MCP server.
407
407
  if (entry.options.name !== '@deepseek-ai/dsh-mcp-client')
408
408
  continue;
409
- const cfg = entry.options.config;
409
+ // `!!js` 表达式在 options.config 里保留为 { __jsExpr } 节点,求值结果在 fiber.config 上
410
+ // (与本仓库 pluginSkillRoots 同一个坑)。照 options 读会把表达式当值:
411
+ // command 渲染成 [object Object]、args 变成一串 JSON 转义。fiber 缺失时退回 options。
412
+ const evaluated = entry.fiber?.config;
413
+ const cfg = evaluated ?? entry.options.config;
414
+ const text = (value) => typeof value === 'string' ? value : value === undefined ? undefined : JSON.stringify(value);
410
415
  servers.push({
411
416
  id: entry.id,
412
417
  serverName: cfg?.serverName ?? entry.id,
413
418
  transport: cfg?.transport === 'streamable-http' ? 'streamable-http' : 'stdio',
414
- command: cfg?.command,
415
- args: cfg?.args,
416
- cwd: cfg?.cwd,
417
- url: cfg?.url,
419
+ command: text(cfg?.command),
420
+ args: cfg?.args?.map(arg => text(arg) ?? ''),
421
+ cwd: text(cfg?.cwd),
422
+ url: text(cfg?.url),
418
423
  headers: cfg?.headers,
419
424
  disabled: entry.disabled,
420
425
  sessionToggled: this.sessionToggled.has(entry.id),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@max-null/dsh-skill-mcp-center",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "Skill & MCP management center for DeepSeek Harness — manage skills and MCP servers in Settings, live MCP status in the sidebar",
5
5
  "license": "MIT",
6
6
  "publishConfig": {