github Python analyzed 98865f5

Fantasality/dsh-origin-plugin

github

DSH Origin Plugin: drive OriginLab Origin scientific plotting from AI chat via MCP. 62 tools: modal-dialog watchdog, LabTalk safety gate, FigureSpec declarative YAML, fit params, matrix tools, matplotlib bridge, PPT assembly, editable OPJU delivery. Windows + Origin 2021+.

maintainer
Fantasality
licence
MIT
first seen
2026-08-15
last seen
2026-09-17
releases · 30d
13
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 74 tools
transport stdio counts 74 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • origin_add_line
  • origin_add_text
  • origin_annotate
  • origin_anova
  • origin_apply_style
  • origin_capabilities
  • origin_capability_diff
  • origin_catalog
  • origin_column_formula
  • origin_cookbook
  • origin_correlate
  • origin_diagnose
  • origin_edit_axis
  • origin_edit_legend
  • origin_edit_page
  • origin_edit_plot
  • origin_error_codes
  • origin_execute_plan
  • origin_export
  • origin_export_delivery
  • origin_export_pptx
  • origin_fft
  • origin_figure
  • origin_filter_data
  • origin_find_peaks
  • origin_fit
  • origin_help
  • origin_histogram
  • origin_import_matplotlib
  • origin_inspect_graph
  • origin_integrate
  • origin_labtalk
  • origin_layout_info
  • origin_list_graphs
  • origin_list_pages
  • origin_list_sheets
  • origin_load_file
  • origin_manage_data
  • origin_manage_pages
  • origin_manage_plots
  • origin_mask_points
  • origin_matrix_plot
  • origin_matrix_read
  • origin_matrix_write
  • origin_pages_gc
  • origin_pca
  • origin_peak_find
  • origin_peak_fit
  • origin_plot
  • origin_plot3d
  • origin_plot_contour
  • origin_plot_file
  • origin_plot_plan
  • origin_plot_template
  • origin_read_worksheet
  • origin_reconnect
  • origin_release
  • origin_save_project
  • origin_simulate
  • origin_spec_export
  • origin_spec_import
  • origin_stats
  • origin_status
  • origin_survival
  • origin_template_apply
  • origin_template_list
  • origin_template_save
  • origin_template_search
  • origin_transform
  • origin_ttest
  • origin_verify_graph
  • origin_view_graph
  • origin_warmup
  • origin_write_data
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 98865f5 · analyzer v33 · 1h ago

skills & prompt files 5

danger signals2

code evidence vv2.7.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 64

filesystem 20

  • fs Fantasality-dsh-origin-plugin-98865f5/install.py :27 import shutil
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_app/bridge_manager.py :104 with open(PIDFILE, "r", encoding="utf-8") as fh:
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_bridge.py :49 with open(pickle_path, "rb") as f:
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_capabilities.py :154 with open(path, "r", encoding="utf-8", errors="replace") as fh:
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_engine.py :1044 with open(path, "rb") as fh:
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_fileio.py :269 with open(path, "rb") as f:
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_gallery.py :60 with open(zpath, "wb") as f:
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :478 生成 pickle:在 matplotlib 侧 `pickle.dump(fig, open('fig.pickle','wb'))`
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_spec.py :95 with open(path, "w", encoding="utf-8") as f:
  • fs Fantasality-dsh-origin-plugin-98865f5/origin_template.py :95 with open(path, "r", encoding="utf-8") as f:
  • fs (weak) Fantasality-dsh-origin-plugin-98865f5/scripts/build_origin_app.py :28 import shutil
  • fs Fantasality-dsh-origin-plugin-98865f5/smoke/chemistry_cases.py :743 with open(out, "w", encoding="utf-8") as f:
show 8 more
  • fs Fantasality-dsh-origin-plugin-98865f5/smoke/chemistry_cases_v2.py :535 with open(out, "w", encoding="utf-8") as f:
  • fs Fantasality-dsh-origin-plugin-98865f5/smoke/e2e_verify.py :63 with open(path, "w", newline="", encoding="utf-8") as f:
  • fs (weak) Fantasality-dsh-origin-plugin-98865f5/smoke/fine_edit_test.py :174 b1b = open(before, "rb").read()
  • fs Fantasality-dsh-origin-plugin-98865f5/smoke/labtalk_probe2.py :257 with open(out, "w", encoding="utf-8") as fh:
  • fs Fantasality-dsh-origin-plugin-98865f5/smoke/labtalk_probe3.py :195 with open(out, "w", encoding="utf-8") as fh:
  • fs Fantasality-dsh-origin-plugin-98865f5/smoke/labtalk_probe4.py :198 with open(out, "w", encoding="utf-8") as fh:
  • fs Fantasality-dsh-origin-plugin-98865f5/smoke/visual_diff.py :20 import shutil
  • fs (weak) Fantasality-dsh-origin-plugin-98865f5/tests/test_offline.py :111 src = open(os.path.join(os.path.dirname(os.path.dirname(

shell / exec 4

  • shell Fantasality-dsh-origin-plugin-98865f5/origin_app/bridge_manager.py :40 import subprocess
  • shell Fantasality-dsh-origin-plugin-98865f5/origin_engine.py :203 import subprocess as _sp
  • shell Fantasality-dsh-origin-plugin-98865f5/smoke/four_ways_physchem.py :121 import subprocess
  • shell (weak) Fantasality-dsh-origin-plugin-98865f5/tests/test_live.py :17 import subprocess

network 3

  • net Fantasality-dsh-origin-plugin-98865f5/origin_app/bridge_manager.py :226 import socket
  • net Fantasality-dsh-origin-plugin-98865f5/origin_gallery.py :10 import urllib.parse
  • net Fantasality-dsh-origin-plugin-98865f5/smoke/http_template_verify.py :21 import urllib.error

secrets 2

  • secrets Fantasality-dsh-origin-plugin-98865f5/origin_mcp_http.py :285 token = os.environ.get("DSH_ORIGIN_HTTP_TOKEN")
  • secrets Fantasality-dsh-origin-plugin-98865f5/smoke/http_template_verify.py :35 TOKEN = os.environ.get("DSH_ORIGIN_HTTP_TOKEN") or "smoke-test-token-8731"

tool registrations 74

  • origin_status Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :173
  • origin_help Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :189
  • origin_catalog Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :202
  • origin_error_codes Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :219
  • origin_diagnose Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :225
  • origin_cookbook Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :235
  • origin_list_graphs Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :246
  • origin_list_sheets Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :252
  • origin_write_data Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :261
  • origin_read_worksheet Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :275
  • origin_column_formula Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :289
  • origin_peak_fit Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :305
show 28 more
  • origin_mask_points Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :324
  • origin_add_line Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :338
  • origin_labtalk Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :355
  • origin_release Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :374
  • origin_reconnect Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :384
  • origin_manage_plots Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :390
  • origin_manage_data Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :408
  • origin_matrix_write Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :422
  • origin_matrix_read Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :432
  • origin_matrix_plot Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :438
  • origin_spec_export Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :451
  • origin_spec_import Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :461
  • origin_import_matplotlib Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :472
  • origin_export_pptx Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :485
  • origin_template_search Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :504
  • origin_figure Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :521
  • origin_warmup Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :557
  • origin_pages_gc Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :563
  • origin_template_save Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :572
  • origin_template_list Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :584
  • origin_template_apply Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :590
  • origin_capabilities Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :596
  • origin_capability_diff Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :605
  • origin_layout_info Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :611
  • origin_annotate Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :622
  • origin_simulate Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :634
  • origin_find_peaks Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :652
  • origin_load_file Fantasality-dsh-origin-plugin-98865f5/origin_mcp_server.py :663

34 more not shown — this panel samples each group; the count above is the real total.

declared dependencies 8

  • originpro@*
  • pywin32@*
  • numpy@*
  • openpyxl@*
  • pyyaml@*
  • Pillow@*
  • matplotlib@*
  • python-pptx@*