前言¶
在 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