dsh-origin-plugin:在 DeepSeek Harness 對話中直接調用本機 Origin

前言

在 DSH 的插件化接入方式下,常見需求並不是把圖生成在遠端服務裏,而是調用本機已經安裝的科學繪圖軟件。dsh-origin-plugin 解決的是這類問題:讓 DeepSeek Harness (DSH) 的 AI 對話直接驅動本機 Origin,按指令寫數據、畫圖、導出 PNG / SVG,並把結果反饋給模型。

這是什麼

dsh-origin-plugin 是一個 DSH 插件,通過 DSH 內置的 @deepseek-ai/dsh-mcp-client 註冊爲 mcp__origin__* 原生工具。許可證爲 MIT,倉庫地址爲:

https://github.com/Fantasality/dsh-origin-plugin

它不是替代 Origin,而是把本機 Origin 的繪圖和分析能力包成 DSH 可調用、可預覽、可返回穩定錯誤碼的工具。

核心能力

  • 對話觸發:例如「用 Origin 畫 y=x² 折線圖並導出 PNG」這類指令,可以直接觸發 Origin 作圖與導出。
  • MCP 橋接:通過 @deepseek-ai/dsh-mcp-client 註冊爲 mcp__origin__* 工具,無需在 DSH 會話中手工調用腳本。
  • 作圖能力:覆蓋 2D 圖 line / scatter / line_symbol / column / histogram / box / bar、誤差棒、3D、等高線。
  • 期刊級排版:支持 style_mode(journal/presentation)、family 調色板、冪等 graph_name、語義軸標題。
  • 內聯預覽:origin_view_graph 直接把圖渲染成圖片內容返回,不依賴導出文件即可查看結果。
  • 統計批:支持 t 檢驗、ANOVA、PCA、Kaplan-Meier 生存分析。
  • 科學分析:支持刪點、線性/非線性擬合、FFT、積分 AUC、變換、相關、峯檢、直方圖。
  • 穩定錯誤碼:調用返回 error_code / recoverable / next_actions,模型可以根據返回結果做分支處理。
  • 多會話併發安全:採用專用 COM 線程和單實例語義,README 標註實測 8 線程併發 8/8 通過。
  • 快速上手:自帶 DSH 原生 origin-plotting skill,也可以調用 mcp__origin__origin_help 獲取速查信息。

安裝與啓用

1、確認環境。

需要滿足以下條件:

  • Windows。
  • 已安裝 Origin;README 標註實測 OriginPro 2026b,2018+ 一般均可。
  • Python 3.10+。
  • DSH 環境中包含 @deepseek-ai/dsh-mcp-client。

插件依賴 @deepseek-ai/dsh-mcp-client 0.1.0-rc.7。通過 dsh plugin add 安裝時,該依賴會作爲傳遞依賴裝入 profile 的 node_modules。

2、安裝插件。

已覈實安裝命令如下:

dsh plugin add dsh-origin-plugin

3、準備 Python 依賴。

插件自帶獨立 venv,但首次使用前仍需安裝以下依賴:

mcp
originpro
pywin32
numpy

4、檢查註冊與啓動配置。

安裝後會註冊 mcp-origin 條目。bundle 安裝包含以下安全特性:

  • 自定位 server 路徑。
  • fail-open 啓動。
  • mcp-client 依賴。
  • sync stdio transport。

其中 failOnStartupError: false 表示:server 連不上時只記日誌、不註冊工具,DSH 正常啓動。

需要注意:不要在 profile 中再寫第二條完整 insert 的 mcp-origin,否則會觸發:

duplicate loader entry id: mcp-origin

導致啓動失敗。如需要使用 venv,應使用同一 id 的 config-only 覆蓋,而不是新增一條完整插入項。

默認自定位路徑基於:

<DSH_HOME>/profiles/web/node_modules/dsh-origin-plugin/

如果使用的不是默認 web profile,需要覆蓋對應路徑。

5、校驗配置。

安裝或註冊後,可以用下面的命令校驗 mcp-origin 條目:

dsh --profile web --dump-config

典型用法

下面幾個例子都來自已覈實用法。

1、直接畫折線圖並導出 PNG。

對話示例:

用 Origin 畫 y=x²(x=1..10)的折線圖,導出 PNG

模型會調用:

mcp__origin__origin_plot_file

2、直接畫散點圖並導出 SVG。

對話示例:

把這兩列數據畫成散點圖導出 SVG:x=[1,2,3,4,5], y=[3.1,4.9,7.2,8.8,11.3]

模型會調用:

mcp__origin__origin_plot_file

3、分步寫入數據、畫圖、導出。

流程爲:

origin_write_data → origin_plot → origin_export

適合需要分別檢查數據寫入、作圖參數和導出結果的場景。

4、刪除指定數據點。

示例:

origin_filter_data(worksheet='[Book1]Sheet1', drop_rows=[2, 5, 9])

5、按 x 範圍保留數據。

origin_filter_data 支持 x_min / x_max,例如只保留:

x ∈ [0, 15]

6、獲取速查信息。

模型可以調用:

mcp__origin__origin_help

返回 JSON 速查信息,包括 usage / tools / templates / tips。

適用場景與注意

  • 適合 Windows + Origin 環境下的科學繪圖、數據整理、簡單統計和 PNG / SVG 導出流程。
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
  • 許可證爲 MIT。
  • package.json 版本爲 2.0.6。
  • 行爲細節以真機探針爲準。
  • 如果需要跨會話併發調用,插件採用專用 COM 線程和單實例語義,README 標註實測 8 線程併發 8/8 通過。
  • 如果 DSH profile 不是默認 web,需要按實際 profile 覆蓋自定位路徑。

相關鏈接

GitHub 倉庫:

https://github.com/Fantasality/dsh-origin-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜