dsh-matlab-workbench:DSH Desktop 上的 MATLAB 实验工作台

前言

在 DSH Desktop 里让 Agent 跑 MATLAB,常见做法是接 MathWorks 官方的 MATLAB MCP Server,用 evaluate_matlab_code 或 run_matlab_file 执行脚本。执行本身能跑通,但实验往往还缺几件事:每组参数要有独立、不可互相覆盖的实验 ID;PNG、CSV 和数值指标要能校验来源,而不是把截图像素当精确读数;Desktop 里要能输入参数、看运行/核验状态,并把多组 PID 曲线叠在一起对比。下面介绍社区插件 dsh-matlab-workbench(维护者 lemonxiny55,分类:客户端),它在本机 DSH 会话里做实验准备、产物核验和界面展示,不内置 MATLAB,也不替代官方 MCP。

这是什么

dsh-matlab-workbench 是面向 DSH Desktop 的 MATLAB 工程实验工作台(npm 包名 dsh-matlab-workbench,当前版本 v0.1.0-beta.3)。Agent 仍通过 MathWorks 官方 MATLAB MCP Server 执行 MATLAB;插件在同一 DSH 会话中准备扫描实验、核验 MATLAB 产出的 PNG/CSV/数值指标,并在 Desktop 显示实验曲线和 PID 参数扫描对比。

与「只桥接 MCP、不设实验边界」的用法相比,该插件强调:每次实验使用独立且不可覆盖的 ID;对图像做 PNG/CRC/SHA-256 校验,核对 CSV 和 MATLAB 指标来源;通过 DSH 的 read_image 让 Agent 获取图片附件;Desktop 提供参数输入、运行/核验/加载/失败状态,以及单组曲线和叠加对比。Agent 仍需明确执行和检查每一步。

项目为社区开源(MIT),非 DeepSeek/DSH 或 MathWorks 官方产品。目录页:https://www.skillhub.cn/plugins/lemonxiny55/dsh-matlab-workbench;源码与说明:https://github.com/lemonxiny55/dsh-matlab-workbench。

核心功能

以下能力均来自仓库 README 与 package.json 描述,Beta 状态下部分流程尚未在全新环境独立验收(见下文注意)。

  1. PID 参数扫描工作流:Desktop 页签「PID 参数准备」输入多组 Kp,Ki,Kd;Agent 调用 dsh_matlab_prepare_sweep 得到 setupCode、executeCode、sweepId,再经官方 MCP 执行;dsh_matlab_collect_sweep 验证各组 CSV、指标、PNG 及叠加图;对返回的每张 PNG 调用 read_image。
  2. 产物核验:PNG/CRC/SHA-256、CSV 与 MATLAB 侧指标来源核对;准备阶段不执行 MATLAB,未完整核验不能视为成功。
  3. Desktop 展示:「MATLAB 图像」「PID 实验对比」等页签按会话展示曲线与对比指标(示例为 12 秒仿真窗口下的 IAE、ISE、调节时间、超调等)。
  4. 连接示例:仓库提供 integration/matlab-mcp-gate 作为可编辑的 MCP 连接示例(默认 new/nodesktop),供尚未配置 MATLAB MCP 的 Desktop 用户选用;已注册 matlab server 的用户应跳过,避免重复。

Agent 前置工具能力需包括:evaluate_matlab_code、run_matlab_file,以及插件提供的 dsh_matlab_prepare_sweep、dsh_matlab_collect_sweep,并支持 read_image。

安装与启用

前置条件

  • 平台:Windows x64、DSH Desktop;README 已验证 DSH Desktop 0.2.1-rc.2(package.json 声明兼容 0.2.1-rc.2 || 0.2.1-rc.3,rc.3 尚未实机验证)。
  • MATLAB:有效授权与可执行 MATLAB;实测 R2025b。官方 MCP 支持的 MATLAB 版本范围以 MathWorks matlab-mcp-server 文档 为准;本仓库示例只验证 R2025b,示例 PID Demo 不需要 Control System Toolbox。
  • MATLAB MCP:单独安装 官方 MATLAB MCP Server,实测 v0.15.0;不与插件捆绑分发。

安装步骤

  1. 在已安装 DSH CLI 且已初始化目标 profile 的环境运行:
npx @deepseek-ai/dsh plugin --profile desktop add dsh-matlab-workbench@beta

该命令从 npm 安装 Beta dist-tag 指向的包。若 Desktop 使用其他 profile 名称,将 desktop 替换为实际名称。

  1. 在 Windows 安装官方 MATLAB MCP Server v0.15.0 的 matlab-mcp-server-windows-x64.exe,将其目录与 MATLAB 的 bin 目录加入 Desktop 可见的 PATH。可先在同一环境检查:
matlab-mcp-server-windows-x64.exe --version
matlab -batch "disp(version)"

PATH 改动可能需要保存当前会话后重启 Desktop 才生效。

  1. 仅当 Desktop 尚未连接 MATLAB MCP 时,在 Desktop 设置 → 插件 的本地目录安装入口选择 integration/matlab-mcp-gate。已有 matlab server 的用户跳过此步。需要定制时复制示例到自有配置目录再改(例如绝对程序路径),不要改 DSH 核心。

  2. 按 DSH Desktop 的 profile/插件管理流程激活 bundle;安装或更新后可能需要正常重启 Desktop(先保存会话,勿重复添加 matlab MCP 连接)。

  3. 确认 Agent 工具列表中出现上述 MCP 与 Workbench 工具,以及 Workbench 相关页签;在有写入权限的本地工作区开启会话。

插件以当前 DSH 进程权限运行;安装前应阅读源码与 MIT 许可证,并理解 Beta 与已知限制(见 docs/known-limitations.md)。

典型用法:真实 PID 实验 Demo

打开 Desktop「PID 参数准备」,每行一组 Kp,Ki,Kd,单击「检查并生成 Agent 指令」,将生成的消息发到同一会话。示例输入:

1,0.5,0.2
3,1,0.5
2,0.8,0.9

经过上面的步骤,Agent 依次:dsh_matlab_prepare_sweep → 官方 evaluate_matlab_code 执行并检查完成标记 → dsh_matlab_collect_sweep 验证 3 组 CSV/指标/PNG 与叠加图 → 对每张 PNG 调用 read_image。Desktop 随后展示曲线与对比指标。

README 记载 2026-10-25 在 MATLAB R2025b 上真实运行得到的 12 秒窗口示例(非 AI 看图估算):

Kp, Ki, Kd IAE ↓ ISE 2% 调节时间 超调
1, 0.5, 0.2 1.9249665 0.6647999 窗口内未确定 0%
3, 1, 0.5 0.9647213 0.2703758 9.10 s 0%
2, 0.8, 0.9 1.2256675 0.4373808 8.71 s 0%

示例对象为用 MATLAB ode45 仿真的二阶系统,并非通用 PID 自动整定;结果文件位于会话工作区 .dsh-matlab/,勿上传含个人会话数据的整个工作区。

适用场景与注意

适合谁:已在 Windows 上使用 DSH Desktop,并愿意单独维护 MATLAB 与官方 MCP;需要在 Agent 会话里做可核验的 PID(或类似)参数扫描、对比曲线与指标,而不是仅单次执行脚本。

Beta 与验收事实(v0.1.0-beta.3):README 称真实链路 DSH Desktop(0.2.1-rc.2)→ 官方 MATLAB MCP(v0.15.0)→ MATLAB R2025b → 3 组 PID / 4 张 PNG / CSV / 指标,已于 2026-10-25 在一台开发机完成;面向新用户的独立安装流程尚未在全新环境验收。历史 M1 正式验收为 FAIL。取消或超时并不证明 MATLAB 已停止;不能自动重跑同一有写入任务;部分卸载/页签行为见已知限制文档。

生态说明:DSH 采用「一切皆插件」思路;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。问题反馈请走 GitHub Issues,注明 DSH Desktop / MATLAB / MCP 版本与脱敏错误信息。

结尾

dsh-matlab-workbench 把 MATLAB MCP 执行与实验 ID、产物校验、Desktop 可视化串在同一 DSH 会话里,适合控制仿真类「多组参数 → 可核对结果 → 对比决策」流程。使用前请按 README 完成 Beta 安装与 MCP 接线,并阅读已知限制。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜