
Fantasality/dsh-origin-plugin
dsh-origin-plugin
DSH Origin Plugin: drive Origin scientific plotting from DeepSeek Harness AI chat via MCP. Write data, plot line/scatter/column, export PNG/SVG DeepSeek Harness Origin
Install
npx @deepseek-ai/dsh plugin --profile web add github:Fantasality/dsh-origin-pluginRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-origin-plugin)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from Fantasality/dsh-origin-plugin, cleaned of badges and images.
DSH Origin Plugin · DeepSeek Harness × Origin 一键画图
让 DeepSeek Harness (DSH) 的 AI 对话直接驱动本机 Origin(科学绘图软件)自动画图并导出 PNG / SVG。
- 🤖 对话触发:
「用 Origin 画 y=x² 折线图并导出 PNG」→ 模型自动调用工具 → 图片落盘 - 🔌 官方 MCP 桥接:通过 DSH 内置的
@deepseek-ai/dsh-mcp-client注册为原生工具mcp__origin__* - 🎨 28 个工具: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 生存分析(纯 numpy 自研)
- 🧪 科学分析:删点、线性/非线性拟合、FFT、积分 AUC、变换、相关、峰检、直方图
- 🛡 稳定错误码:全部调用返回
error_code / recoverable / next_actions三件套,模型可安全分支 - 🔒 多会话并发安全:专用 COM 线程 + 单实例语义,实测 8 线程并发 8/8 通过
v2 排版示例(3 序列 line_symbol,journal 样式 + ocean 调色板 + 语义轴标题 + 符号循环):
权威设计/验证依据见 docs/DESIGN.md(设计蓝图 + 真机探测矩阵 + 官方文档依据)。 行为细节以真机探针为准(本环境网络屏蔽 docs.originlab.com,无法抓取官方页)。
DSH 对话(多会话并发)
│ mcp__origin__origin_plot_file / origin_write_data / ...
▼
@deepseek-ai/dsh-mcp-client(DSH 官方 MCP 桥接)
│ stdio 子进程
▼
origin_mcp_server.py(MCP 服务器,Python mcp SDK)
│ 专用 COM 线程(串行化)
▼
origin_engine.py(originpro → OriginExt → comtypes → COM)
▼
Origin64.exe(单实例 COM 自动化服务器)
快速开始
🚀 模型快速上手:本插件自带 DSH 原生
origin-plottingskill(安装后自动注册, 见下方「skill 速查」),模型画图前加载 skill 或调用origin_help即可秒懂用法, 无需阅读本 README。
1. 环境要求
- Windows + 已安装 Origin(实测 OriginPro 2026b;2018+ 一般均可)
- Python 3.10+(本插件自带独立 venv,不污染系统环境)
- DeepSeek Harness(DSH Desktop 或
dshCLI,需含@deepseek-ai/dsh-mcp-client)
2. 安装
git clone https://github.com/Fantasality/dsh-origin-plugin.git "%USERPROFILE%\dsh_origin_plugin"
cd "%USERPROFILE%\dsh_origin_plugin"
:: 创建独立 venv 并安装依赖
python -m venv .venv
.venv\Scripts\python.exe -m pip install mcp originpro pywin32 numpy
:: 冒烟验证 Origin COM 链路(需已安装 Origin;未运行会自动启动)
.venv\Scripts\python.exe -X utf8 smoke\origin_com_smoke_test.py
:: 预期结尾: RESULT: OK files={'comtest.png': ..., 'comtest.svg': ...}
2.1 以 bundle 方式安装(一键 / 插件市场)
本仓库声明了 DSH 标准的 dsh.bundle 清单(package.json → cordis.patch.yml),
因此可从 DSH 插件市场(dsh-market / awesome-dsh-plugin)一键收录,也可用命令安装:
# 方式一:从 GitHub 源码安装
dsh plugin --profile web add github:Fantasality/dsh-origin-plugin
# 方式二:从 npm 安装(预构建分发,跳过 building 授权)
dsh plugin add dsh-origin-plugin
装好后 cordis.patch.yml 会注册一个 mcp-origin(@deepseek-ai/dsh-mcp-client)。
v2.0.3 起自动携带运行时依赖 @deepseek-ai/dsh-mcp-client:市场安装
(dsh plugin add)会把它作为传递依赖装进 profile 的 node_modules——缺少它时 loader
无法按 name 解析该条目,工具会静默永不注册(DSH 照常启动、无任何报错)。
v2.0.2 起 bundle 默认已自定位:server 绝对路径由 !!js 在启动时按
<DSH_HOME>/profiles/web/node_modules/dsh-origin-plugin/ 计算(DSH_HOME 缺省回退
%USERPROFILE%/.dsh),不再受进程工作目录影响;默认用系统 python 启动
origin_mcp_server.py。
📌 安装此插件不会破坏 DSH 启动:
failOnStartupError: false—— server 连不上只记日志、不注册工具,DSH 正常启动。这是插件市场适配的核心约束,已内置。 唯一硬性红线:不要在 profile 里再写第二条完整insert的mcp-origin(会触发duplicate loader entry id: mcp-origin启动失败);要用 venv,请用下面的 config-only 覆盖。
首次使用前仍需按上文「2. 安装」准备好 venv 依赖(本插件是 Windows + Origin 本地
进程,无法纯源码免装运行)。若依赖装在独立 venv,在 profile 的 cordis.patch.yml 里
用同一 id + config-only 覆盖(覆盖是整体替换 config,必须带全字段):
…


