Introduction¶
In DSH’s plugin-based integration, a common requirement is not to generate charts in a remote service, but to invoke locally installed scientific plotting software. The dsh-origin-plugin solves this problem: it allows the AI dialogue within DeepSeek Harness (DSH) to directly control local Origin to write data, plot graphs, and export PNG/SVG based on instructions, then feed the results back to the model.
What is it¶
dsh-origin-plugin is a DSH plugin that registers as mcp__origin__* native tools via DSH’s built-in @deepseek-ai/dsh-mcp-client. It is licensed under MIT, and the repository address is:
https://github.com/Fantasality/dsh-origin-plugin
It does not replace Origin but rather packages the local Origin plotting and analysis capabilities into a tool that DSH can invoke, preview, and return stable error codes for.
Core Capabilities¶
- Conversation Trigger: Instructions like “Draw a line chart of y=x² using Origin and export PNG” can directly trigger Origin plotting and export.
- MCP Bridging: Registered as
mcp__origin__*tools via@deepseek-ai/dsh-mcp-client, eliminating the need to manually call scripts in a DSH session. - Plotting Capabilities: Covers 2D plots
line/scatter/line_symbol/column/histogram/box/bar, error bars, 3D, and contour plots. - Journal-Grade Layout: Supports
style_mode(journal/presentation),familycolor palettes, idempotentgraph_name, and semantic axis titles. - Inline Preview:
origin_view_graphrenders the graph into image content directly, allowing results to be viewed without relying on exported files. - Statistical Batch: Supports t-tests, ANOVA, PCA, and Kaplan-Meier survival analysis.
- Scientific Analysis: Supports point deletion, linear/non-linear fitting, FFT, integral AUC, transformations, correlation, peak detection, and histograms.
- Stable Error Codes: Calls return
error_code/recoverable/next_actions, allowing the model to perform branching logic based on the response. - Multi-Session Concurrency Safety: Uses dedicated COM threads and single-instance semantics; the README notes that 8-thread concurrency with 8/8 passes has been tested.
- Quick Start: Comes with the native DSH
origin-plottingskill and allows callingmcp__origin__origin_helpto get quick reference information.
Installation and Usage¶
-
Confirm Environment
The following conditions must be met:
- Windows.
- Origin installed; the README notes testing withOriginPro 2026b, though versions from 2018+ generally work.
- Python 3.10+.
- The DSH environment includes@deepseek-ai/dsh-mcp-client.The plugin depends on
@deepseek-ai/dsh-mcp-client 0.1.0-rc.7. When installed viadsh plugin add, this dependency is installed as a transitive dependency into the profile’snode_modules. -
Install the Plugin
The verified installation command is:
dsh plugin add dsh-origin-plugin
-
Prepare Python Dependencies
Although the plugin includes a standalone venv, you still need to install the following dependencies before first use:
mcp
originpro
pywin32
numpy
-
Check Registration and Startup Configuration
After installation, the
mcp-originentry will be registered. The bundle installation includes the following security features:
- Self-localizing server path.
- fail-open startup.
-mcp-clientdependency.
- sync stdio transport.Here,
failOnStartupError: falseindicates that when the server cannot connect, it will only log the error and not register the tool, allowing DSH to start normally.Please note: Do not add a second complete
insertformcp-originin the profile, otherwise it will trigger:
duplicate loader entry id: mcp-origin
This will cause a startup failure. If you need to use a venv, you should use a `config-only` entry with the same id to override the existing one, rather than adding a new complete insertion.
The default self-localizing path is based on:
<DSH_HOME>/profiles/web/node_modules/dsh-origin-plugin/
If you are not using the default `web` profile, you need to override the corresponding path.
-
Verify Configuration
After installation or registration, you can verify the
mcp-originentry using the following command:
dsh --profile web --dump-config
Typical Usage¶
The following examples are based on verified usage scenarios.
-
Directly Draw a Line Chart and Export PNG
Conversation Example:
Draw a line chart of y=x² (x=1..10) using Origin and export PNG
The model will invoke:
mcp__origin__origin_plot_file
-
Directly Draw a Scatter Plot and Export SVG
Conversation Example:
Plot these two columns as a scatter plot and export SVG: x=[1,2,3,4,5], y=[3.1,4.9,7.2,8.8,11.3]
The model will invoke:
mcp__origin__origin_plot_file
-
Step-by-Step Data Writing, Plotting, and Exporting
The workflow is:
origin_write_data → origin_plot → origin_export
Suitable for scenarios where you need to check data writing, plotting parameters, and export results separately.
-
Delete Specified Data Points
Example:
origin_filter_data(worksheet='[Book1]Sheet1', drop_rows=[2, 5, 9])
-
Keep Data Within x Range
origin_filter_datasupportsx_min/x_max; for example, to keep only:
x ∈ [0, 15]
-
Get Quick Reference Information
The model can invoke:
mcp__origin__origin_help
Returns JSON quick reference information, including `usage` / `tools` / `templates` / `tips`.
Applicable Scenarios and Notes¶
- Suitable for scientific plotting, data organization, simple statistics, and PNG/SVG export workflows in a Windows + Origin environment.
- The plugin runs with the current DSH process permissions; you should check the source code and license before installing.
- License is MIT.
package.jsonversion is2.0.6.- Behavior details are subject to actual device testing (probe).
- If cross-session concurrent calls are needed, the plugin uses dedicated COM threads and single-instance semantics; the README notes that 8-thread concurrency with 8/8 passes has been tested.
- If the DSH profile is not the default
web, you need to override the self-localizing path according to the actual profile.
Related Links¶
GitHub Repository:
https://github.com/Fantasality/dsh-origin-plugin