DeepSeek Harness (DSH) 插件:dsh-mcp-matlab

前言

DeepSeek Harness (DSH) 是一個支持插件化擴展的智能體開發框架。在本地環境部署了 MATLAB 等工具後,通過 MCP (Model Context Protocol) 協議將工具能力接入 DSH,是實現本地計算與模型對話的關鍵一步。

dsh-mcp-matlab 是一個 DSH 橋接插件。它的作用是將本地的 matlab-mcp-server-windows-x64.exe 接入 DSH 環境,註冊 mcp__matlab__* 系列工具,讓 AI 代理能夠直接在 DSH 會話中執行 MATLAB 代碼、運行腳本或檢測工具箱。

這是什麼

這是一個純粹的配置文件插件,不包含 MATLAB 本體或 MCP Server 可執行文件。它只負責提供 cordis.patch.yml 配置模板,將 DSH 與本地的 MATLAB MCP Server 連接起來。

核心功能

安裝並配置完成後,DSH 將獲得以下 5 個工具:

  • mcp__matlab__evaluate_matlab_code:在 MATLAB 會話中執行代碼片段,返回命令行輸出。
  • mcp__matlab__run_matlab_file:執行指定的 .m 腳本文件。
  • mcp__matlab__run_matlab_test_file:使用 MATLAB 的 runtests 命令運行測試文件。
  • mcp__matlab__check_matlab_code:對 .m 腳本進行靜態代碼檢查。
  • mcp__matlab__detect_matlab_toolboxes:列出當前 MATLAB 已安裝的工具箱版本。

安裝與啓用

使用以下命令安裝插件:

dsh plugin --profile desktop add github:yh01010/dsh-mcp-matlab

安裝後需要重啓 DSH 生效。需要注意的是,安裝完成後工具列表中不會直接出現 mcp__matlab__* 工具,還需要進行外部依賴的配置。

前置條件與配置

本插件僅包含配置文件,不包含依賴。使用前必須準備好以下外部依賴:

  1. MATLAB MCP Server 可執行文件:需自行下載 matlab-mcp-server-windows-x64.exe(建議放置在 %USERPROFILE%\.local\bin\ 等固定目錄)。
  2. MATLAB 環境:需安裝 MATLAB R2021a 或更新版本,且擁有有效許可證。

安裝完成後,需修改 $DSH_HOME/cordis.patch.yml 文件。不要在 home patch 中使用 insert 寫入配置,如果插件包已安裝,應使用 id 覆蓋方式(override)修改配置。

在 $DSH_HOME/cordis.patch.yml 中添加或修改以下內容:

# $DSH_HOME/cordis.patch.yml
- id: mcp-matlab
  name: '@deepseek-ai/dsh-mcp-client'
  config:
    serverName: matlab
    transport: stdio
    command: 'C:\Users\<你的用戶名>\.local\bin\matlab-mcp-server-windows-x64.exe'
    args:
      - '--matlab-root=D:\path\to\your\matlab'
      - '--matlab-display-mode=nodesktop'
      - '--disable-telemetry'
    toolCallTimeoutMs: 120000
    failOnStartupError: false

關鍵配置說明:

  • command:填入 matlab-mcp-server-windows-x64.exe 的完整路徑。
  • args:通過 --matlab-root 指定 MATLAB 安裝根目錄。
  • failOnStartupError:默認設爲 false。若設爲 true 且路徑配置錯誤,會導致 DSH 啓動失敗。

排障

  • 看不到 mcp__matlab__* 工具:最常見原因是配置文件中的路徑仍爲佔位符。請檢查 $DSH_HOME/cordis.patch.yml 中的 command 和 args 是否已填入真實路徑。
  • DSH 啓動失敗:錯誤信息 serverName "matlab" is already in use 通常是因爲在 home patch 中使用了 insert 插入了與插件包配置重複的條目。請刪除重複的 insert 行,改用 id 覆蓋。
  • 工具調用報 JSON Schema 錯誤:部分模型供應商(如阿里雲 DashScope)可能拒絕空參數 schema 的工具定義。此問題通常出在模型適配層,而非插件本身。
  • 工具調用超時:MATLAB 冷啓動或加載工具箱耗時較長,可能導致調用超時。可適當調大 toolCallTimeoutMs 配置值。

移除

如需移除插件:

dsh plugin --profile desktop remove dsh-mcp-matlab

許可證

MIT

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

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

小夜