前言¶
DeepSeek Harness (DSH) 采用了插件化架构,这意味着开发者可以按需扩展 Agent 的能力。在数学建模、数据分析或科学计算场景中,智能体往往需要调用本地的 MATLAB 环境来执行代码并获取结果。手动配置过程繁琐,且难以处理环境依赖。dsh-matlab 插件旨在解决这一痛点,通过标准化接口,让 Agent 直接调用宿主机的 MATLAB 执行任务。
是什么¶
dsh-matlab 是一个由 weijianguizhou 维护的 DSH 插件。它作为一个纯 host 工具插件运行,不修改任何官方代码。其核心价值在于提供了一个 matlab.run 工具,允许 Agent 直接在本机上执行 MATLAB 代码,并将代码运行产生的输出文本、标准错误信息以及生成的图片返回给 Agent。
核心功能¶
该插件主要包含以下功能:
- 代码执行与返回:提供
matlab.run工具,接收 MATLAB 代码字符串和可选的工作目录,执行脚本并返回 stdout 和 stderr。 - 自动存图:在执行代码时,会自动将产生的所有 figure 保存为 PNG 图片,存放在工作区的
.dsh-matlab/figures/目录下,并返回图片路径。 - 安全审批机制:考虑到 MATLAB 可执行任意代码,存在潜在风险,插件默认在每次调用前请求用户批准。用户也可在配置中关闭此选项。
- 本地执行:所有代码在本地宿主机的 MATLAB 环境中运行,而非远程。
- 零侵入:作为纯 host 工具插件,不涉及对 DSH 官方代码的修改。
安装与启用¶
在目标 profile 中作为 link 依赖安装,并将其加入 bundle 层。
使用命令行安装:
dsh plugin --profile desktop add link:/path/to/dsh-matlab
或者手动编辑 profiles/<name>/package.json,添加依赖并在 dsh.profile.bundles 列表中声明,随后重启 DSH Desktop。
典型用法¶
在 profile 的组合配置中添加插件定义。如果未指定 matlabPath,插件会尝试自动检测本机 MATLAB 路径。
- id: matlab
name: dsh-matlab
config:
matlabPath: "D:\\Program Files\\MATLAB 2025\\bin\\matlab.exe"
timeoutMs: 120000
requireApproval: true
调用时,Agent 直接调用该工具:
// 调用方式示例
matlab.run(code, workdir)
适用场景与注意¶
此插件适用于需要本地计算能力的 Agent 场景,如数学建模助手或数据分析工具。
使用前需确认:
1. 本机已安装 MATLAB。
2. 环境满足 Node.js >= 18.17.0。
3. 理解 MATLAB 执行任意代码的安全风险。默认的审批机制是为了防止恶意代码对本地环境造成破坏。
结语¶
dsh-matlab 通过标准化的 matlab.run 接口,将本地 MATLAB 能力无缝集成到 DSH 生态中。它不仅简化了配置,还通过自动存图和审批机制保障了安全性。对于需要深度本地计算的智能体开发,这是一个实用的工具。