前言¶
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 生態中。它不僅簡化了配置,還通過自動存圖和審批機制保障了安全性。對於需要深度本地計算的智能體開發,這是一個實用的工具。