Skip to content

Releases: functy23/dsh-mcp-studio

v1.0.6 — 新建技能开新对话 + 补回随包技能

Choose a tag to compare

@functy23 functy23 released this 03 Oct 09:42

「新建技能」现在会在当前目录开一条新对话;/skill-creator 也终于是个能用的命令了。

修复

  • 「新建技能」不再抢走当前对话:1.0.3 起这一链路是「优先复用活跃会话」,草稿会直接落进你正在写的那条对话。现在按四级退级:官方 sessions.create({ workspaceId })
    在当前会话所属工作区新建一条会话 → 适配层从 uiWorkspace 投影回的 workspaces.connectWorkspace → 会话不属于任何工作区时按它的 cwd 建 → 都拿不到才复用活跃会话。
    前几级的失败照原样抛到面板的「无法启动技能创建器」提示上,不再静默降级掩盖问题。
  • /skill-creator 不是命令,是技能:预填的 /skill-creator 在输入框里不高亮、点不开、发送后也不加载任何东西。宿主只把技能目录里真实存在的条目认成 /名字,
    而上游 dsh-tauri-panel-extension 用 package.json 的 files: ["skills"] 随包带了 skill-creator(anthropics/skills)与 find-skills(vercel-labs/skills),
    搬运时整个目录连同 files 项一起丢了:包里没有 skills/,host 半的 packagedSkillsDir() 也就不存在,技能目录里从来没有 skill-creator。
    现按上游发布产物逐字节补回 skills/skill-creator、skills/find-skills(含各自 LICENSE,见 THIRD_PARTY_NOTICES.md),files 同步补 skills。

新增

  • src/panel/client/register/extension-panel.utils.test.ts:18 条用例覆盖会话 / 工作区快照投影与四级退级
    (含「有 sessions.create 时不得调用 connectWorkspace、不得复用活跃会话」这条回归断言)。

验证

  • pnpm typecheck 0 error;pnpm test 17 文件 / 171 用例全绿;pnpm build 产出的 lib/index.js 与 lib/client.js 中 __TAURI__ 出现 0 次。
  • 以 @deepseek-ai/dsh-skill-filesystem 的 customSkillDirs 挂载 skills/:产出 find-skills 与 skill-creator 两条,invocation 均为 { modelInvocable: true, userInvocable: true }。
  • 发布产物(npm pack dsh-mcp-studio@1.0.6)共 35 个文件,其中 skills/** 20 个。

安装

dsh plugin --profile web     add dsh-mcp-studio@latest
dsh plugin --profile desktop add dsh-mcp-studio@latest

npm:https://www.npmjs.com/package/dsh-mcp-studio

v1.0.5 — Web/Desktop 收编 dshmarket 市场 tab

Choose a tag to compare

@functy23 functy23 released this 01 Oct 10:12

Web / Desktop 的扩展面板现在也会出现「市场」tab。

修复

  • 插件市场 tab 在 Web / Desktop 上也出现(issue #1)。
    上游 hostsMarketPanel 用 window.parent !== window 只收编 Tauri iframe,同一份代码搬过来后,浏览器 / DSH Desktop 里 parent === window,市场 tab 永远不出现,设置页入口也不会被撤下。
  • 本插件就是扩展面板宿主,判据改为只看 dshmarket.render:有就嵌进「市场」tab 并藏掉设置页重复入口;没装 dshmarket 或旧版(1.47.0,有 market 没有 render)不出现 tab,也不动设置页入口。

安装

dsh plugin --profile web     add dsh-mcp-studio@latest
dsh plugin --profile desktop add dsh-mcp-studio@latest

npm:https://www.npmjs.com/package/dsh-mcp-studio

v1.0.4 — 更正:桌面版是可用的

Choose a tag to compare

@functy23 functy23 released this 29 Sep 12:15

文档更正版:桌面版是可用的。

更正

  • 1.0.1 起 README 写着「桌面版(--profile desktop)不可用,请勿安装」,依据是包清单里的 dsh.client.platform: web —— 那是把客户端类型(Web GUI)误读成了 profile 限制。
  • 实测:Web 与 Desktop 两个 profile 跑的客户端都是 @deepseek-ai/dsh-web-app,本插件在 desktop profile 上正常工作(面板、图标、技能创建均已验证)。
  • README 安装段现同时给出 web 与 desktop 两条命令;Platform 徽章回到 Web | Desktop。
  • Tauri 版仍不在范围内(自带原生的扩展面板插件)。

安装

dsh plugin --profile web     add dsh-mcp-studio@latest
dsh plugin --profile desktop add dsh-mcp-studio@latest

npm:https://www.npmjs.com/package/dsh-mcp-studio

v1.0.3 — 修「新建技能」layout inject 报错

Choose a tag to compare

@functy23 functy23 released this 27 Sep 14:00

修「新建技能」报错。

修复

  • cannot get property "layout" without inject:客户端半漏声明 layout 服务。definePanel 的 select() / close() 会调 ctx.layout.selectPanel(),没进 inject 时 cordis 的反射代理直接抛错——技能其实已建好、草稿也填了,但操作以报错收场。
    inject 现为 ['slots', 'locale', 'layout', 'sessions', 'workspaces']。

安装

dsh plugin --profile web add dsh-mcp-studio@latest

npm:https://www.npmjs.com/package/dsh-mcp-studio

v1.0.1 — MCP 面板修复与门禁恢复

Choose a tag to compare

@functy23 functy23 released this 26 Sep 13:53

MCP 面板与 Skills 面板的维护性修复版。

修复

  • MCP 面板「全局」筛选永远空列表:客户端按 row.layer 过滤,服务端只发 scope,于是选「全局」看不到任何行。删掉死字段,筛选改读 scope。
  • 重启条常驻:只读的 GET /api/mcp 硬编码 restartNeeded: true,客户端一进页面就挂「配置已写入,重启后生效」。列表响应不再返回该字段。
  • dispose() 恢复同步释放:hookable v5 的 callHook 变异步,与控制器契约和上游测试不符,改为本地同步队列。

工程

  • typecheck 从 52 错到 0;测试从「跑不起来 / 21 文件红」到 16 文件 153 用例全绿。
  • 线协议类型单一权威;不可达 vendor 子树移入 vendor-archive/;SKILL.md frontmatter 抽公共构造 + 13 条契约测试。

安装

dsh plugin --profile web add dsh-mcp-studio@latest

npm:https://www.npmjs.com/package/dsh-mcp-studio