前言¶
在 DSH 里做电路仿真相关任务时,常见做法是让人工去 Multisim 里点菜单、改参数、再截图或导出网表——模型只能读你粘贴的文字,无法直接操作本机 EDA。multisim-toolkit 把本机已安装的 NI Multisim 14.3 收成一组 msim_* 工具:开关 .ms14、读改元件与参数、跑 DC/AC/瞬态与 SPICE 分析、导出原理图与网表,以及截取可见窗口里的实机电路图与波形图。下面介绍它是什么、怎么装、能做什么、边界在哪里。
这是什么¶
multisim-toolkit(npm 包名 dsh-multisim-toolkit,版本 0.1.0)由维护者 llyy-t 发布,分类为 客户端 插件:Host 侧 Cordis bundle,不依赖浏览器端代码。同一仓库里还 bundled 一份 skill(SKILL.md 与 references/),用于指导模型按通道选用工具并避开已知坑。
架构上,DSH Host(Node)的 index.js 注册 9 个工具并 spawn 32 位 Python 常驻 worker(worker/msim_worker.py),经 TCP + 行 JSON 调用 COM、GUI、SPICE 与 .ms14 离线解析等模块。Multisim 的 Automation API 是 32 位 COM 服务器;worker 必须常驻且独占 COM 公寓,Python 进程退出后 multisim.exe 会一并消失。
- 目录页:https://www.skillhub.cn/plugins/llyy-t/multisim-toolkit
- 源码:https://github.com/llyy-t/multisim-toolkit
- 许可:MIT
核心功能¶
插件注册的工具与用途如下(与仓库 README 一致):
| 工具 | 作用 |
|---|---|
msim_status |
自检:worker 位数、COM 版本、GUI 进程 |
msim_circuit |
新建 / 打开 / 保存 .ms14,读当前电路信息 |
msim_inspect |
读元件、输入、输出、变体、段落、电路参数、RLC 值 |
msim_edit |
改 RLC 值、电路参数、活动变体,替换库器件 |
msim_analyze |
瞬态 / DC / AC 扫频 / 单频 AC / 命令文件,以及启停仿真 |
msim_export |
原理图图片、网表、BOM、设计片段 |
msim_gui |
驱动可见窗口:启动、截图(四档裁剪)、拖入网表、清数据库告警、另存为、发按键、跑分析、抓波形窗 |
msim_spice |
把网表直接喂给 Multisim 的 SPICE 引擎,返回表格 + CSV + 图 |
msim_design |
不启动 Multisim,离线读取 .ms14 里的元件、值、仪器设置 |
多数操作在首次 Connect()(约 6 秒,Multisim 启动开销)之后可达毫秒级;README 记载 10 次连续读操作 median 为 0.000s。
仿真结果画在独立的「图示仪视图」窗口,与电路图窗口分离;若要「实机电路截图 + 实机波形截图」,需分别截取。更细的截图档位与样例命令见仓库 docs/README.md。
安装与启用¶
环境前提(缺一不可):
- Windows,已安装 Multisim 14.3(默认路径示例:
C:\Program Files (x86)\National Instruments\Circuit Design Suite 14.3\)。 - 32 位 Python 3.11–3.13,并安装 pywin32(64 位解释器对
Connect()会E_ACCESSDENIED)。 - 已安装 DSH;Node 引擎要求见
package.json:^22.19.0 || >=24.0.0。
方式一:从 GitHub 安装
dsh plugin --profile <你的 profile> add github:llyy-t/multisim-toolkit
方式二:本地 clone 后按脚本安装
先在仓库内体检,再执行 install 动作,把脚本打印的 plugin_manager(...) 行贴进 DSH 会话(具体步骤见 README「安装」一节)。
验证:在 DSH 中调用 msim_status({ connect: true }),期望 worker.pythonBits: 32、com.version: Multisim 14.3。
不经过 DSH 也可做离线自检:
python scripts\selfcheck.py --design "C:\path\to\some.ms14"
可选配置(cordis 插件 config):
- id: multisim-toolkit
name: 'dsh-multisim-toolkit'
config:
pythonPath: 'C:\Users\me\.dsh\multisim-mcp\py32\python.exe'
startTimeoutMs: 30000
安装前请自行审阅源码与 MIT 许可证;插件以当前 DSH 进程权限运行,可启动本机 Multisim 并读写你指定的设计文件路径。
典型用法¶
经过上面的步骤启用插件后,可按任务选通道(skill 文档强调「先选通道再动手」):
- 自检与连接:
msim_status确认 32 位 worker 与 Multisim 14.3 COM。 - 打开或新建设计:
msim_circuit操作.ms14;只读容器内容可用msim_design且不启动 GUI。 - 读改电路:
msim_inspect/msim_edit处理 RLC、变体与库器件替换。 - 仿真:Automation 侧用
msim_analyze;纯网表可走msim_spice。网表不宜用 COMOpenFile()(README 记载会导致 Multisim 静默崩溃),应通过 GUI 拖放注入。 - 交付物:
msim_export导出网表、BOM、片段;msim_gui做四档裁剪截图、波形窗抓取,以及 GUI 链路上的分析与保存。
仓库内 SKILL.md、references/com-automation.md、references/spice-channel.md、references/gui-and-files.md 与 PLUGIN.md 分别覆盖模型用法、COM/SPICE/GUI 细节与实测边界。
适用场景与注意¶
适合:已在 Windows 上安装 Multisim 14.3、希望 DSH 智能体代劳「开设计—改参—跑分析—导出/截图」的开发者或教学/实验自动化场景;需要离线解析 .ms14 元件与仪器设置时,可用 msim_design。
能力边界(README 明确说明):插件不能在原理图上凭空放置元件或画连线——Automation API 无对应能力,Win32 合成鼠标画线也不可靠。新电路可行路径主要是:写网表拖入可见窗口由 Multisim 还原为可编辑原理图;或直接生成/修改 .ms14(容器格式已部分解析,写回尚未实现)。
其他约束:仅支持 Multisim 14.3;依赖本机 NI 软件,项目与 National Instruments 无关、不分发 NI 安装包。GUI 自动化涉及模态告警、BCG 自绘菜单等 Win32 细节,行为以仓库实测文档为准。
结尾¶
multisim-toolkit 把 Multisim 14.3 收成 DSH 可调用的 msim_* 工具集,并附带 skill 与长篇 reference,适合需要「可编程仿真 + 实机窗口截图」的客户端工作流。详情见社区目录 llyy-t/multisim-toolkit 与 GitHub 仓库 github.com/llyy-t/multisim-toolkit。