前言¶
在 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-plottingskill,也可以調用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