dsh-cae-agent
让 DeepSeek Harness (DSH) 通过原生工具直接操控本机 Abaqus/CAE 的 Cordis 插件。21 个 DSH 原生工具覆盖完整建模链(几何/材料/网格/接触/分析步/载荷/边界/作业/ODB),TypeScript 编写,socket bridge 直连本机(不走 MCP)。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 21, 2026
- Updated
- Aug 22, 2026
Introduction
dsh-cae-agent
一个 DSH(DeepSeek Harness)的 Cordis 插件,通过 原生工具直接操作本机正在运行的 Abaqus/CAE 会话,覆盖完整建模链(几何、材料、网格、接触、分析步、载荷、边界、作业、ODB)。它是将 CAE-Agent-Hub 的 Abaqus 集成迁移为 DSH 原生插件,取代了原先的 MCP 桥接方案。源代码为 TypeScript,按 dsh-plugin-dev 规范开发。
版本: 0.2.1(plugin/ 内另有 v0.2.1 tag)
语言: 中文 | English
它做什么
Abaqus/CAE 内运行一个 socket bridge(abaqus_mcp_plugin.py,v5 协议,默认 127.0.0.1:48152),在 GUI 主线程派发 Abaqus Python。本插件用 Node TCP 直连这个 bridge(不走 MCP),并把每个 Abaqus 操作注册为 DSH 原生工具。
DSH(agent) ──原生工具──> dsh-cae-agent(本插件, TCP)──> Abaqus/CAE socket bridge ──> Abaqus kernel
工具:28 个原生工具,三档授权 + 一个运维工具
| 类别 | 工具 | 策略 |
|---|---|---|
| 1 — 只读(并发安全) | abaqus_ping、abaqus_get_model_info、abaqus_list_jobs、abaqus_monitor_job、abaqus_inspect_odb、abaqus_capture_viewport、abaqus_export_results_csv | 可直接放行 |
| 2 — 受控写(独占 + schema 守卫) | abaqus_create_part、abaqus_create_set、abaqus_instantiate、abaqus_create_material、abaqus_assign_section、abaqus_define_step、abaqus_apply_load、abaqus_set_bc、abaqus_generate_mesh、abaqus_create_interaction、abaqus_set_friction、abaqus_submit_job、abaqus_set_workdir、abaqus_define_composite_layup、abaqus_define_orthotropic_material、abaqus_define_amplitude、abaqus_define_predefined_field、abaqus_set_output、abaqus_plot_contour | 写操作需门禁/确认 |
| 3 — 任意代码(最高权限) | abaqus_run_python | 使用前需确认 |
| 运维 | abaqus_launch_cae | 拉启本机 Abaqus/CAE 并自动开 bridge |
每个建模工具都在内部生成正确的 Abaqus Python——agent 只需提供业务参数(材料 E/ν、几何、摩擦等),不用写裸 Abaqus API。参数设计借鉴上游有限元方法论,但全部生成代码、描述、schema 均为自写。
关于 abaqus_launch_cae
- 幂等:48152 已在监听 → 直接复用现有会话;否则拉启
abaqus cae并自动加载 bridge(免手动点菜单)。 - 需要在交互式桌面会话里运行(Abaqus GUI 内核启动依赖图形上下文),会弹出 Abaqus/CAE 窗口。
关于 abaqus_submit_job(异步)
submit() 后立即返回(mode=submitted),不阻塞桥 → 求解期间其它工具照常可用;用 abaqus_monitor_job 轮询 .sta/.lck 跟踪进度。
仓库结构
├── plugin/ # DSH Cordis 插件包(源码 TS —— 纯 TypeScript)
│ ├── src/ # ★ 源码(要改这里)
│ │ ├── index.ts # Cordis 入口: name/Config(Schemastery)/inject/apply
│ │ ├── core.ts # socket-bridge 客户端 + runKernelCode(支持 exec.signal)
│ │ └── tools/ # read/geometry/material/setup/interaction/mesh/job/launch/composite
│ ├── lib/ # 构建产物(tsc 从 src 编译输出 + .d.ts,勿手改)
│ ├── tsconfig.json # NodeNext -> lib/
│ ├── scripts/ # link-deps.ps1(junction 运行时依赖)
│ ├── test/ # smoke/codegen/load(离线)+ e2e(真实桥回归)
│ └── package.json # build/test/e2e 脚本
├── docs/
│ └── MIGRATION.md # 迁移说明 + 真机测试记录
├── LICENSE
└── README.md / README.en.md
开发规范:源码在
src/*.ts,lib/*.js是npm run build(tsc)编译产物,DSH 加载的是lib/index.js。改名/改代码后需重新build。
测试
cd plugin
powershell -File scripts/link-deps.ps1 # 一次性:junction 运行时依赖
npm run build # tsc -> lib/
npm test # smoke + codegen + load(离线)
npm run e2e # 真机回归:连 48152 桥跑 19 项检查(需 Abaqus 桥开着)
- e2e(
test/e2e.mjs):连正在运行的 Abaqus/CAE bridge,用插件协议驱动真实工具(只读 + create_part/create_set/instantiate/create_material/assign_section/define_step/apply_load/set_bc/generate_mesh/set_workdir/run_python/set_friction + 非阻塞 submit_job/monitor_job)。已用它在真机上抓并修复过一批模板缺陷。
历史 / 溯源与能力覆盖
本项目参考并借鉴了 CAE-Agent-Hub(MIT,Copyright 2026 Thompson Labs)与 Abaqus-Control-MCP(MIT)的 socket-bridge 架构和 Abaqus 建模方法论,在此基础上独立重写并扩展为 DSH 原生 Cordis 插件,并非对上游的一比一复刻或完整实现。
工具能力覆盖(对照上游 Abaqus 能力,v0.2.1 · 28 工具):
- ✅ Abaqus 实时会话操作:
run_python/ 模型与作业查询 /submit_job/monitor_job/inspect_odb/capture_viewport/set_workdir - ✅ 完整原生建模写链:部件/集合/装配/材料/截面/步/荷载/边界/网格/接触/摩擦/作业 +
abaqus_launch_cae - ✅ 复合/高级建模:
abaqus_define_composite_layup(壳复合CompositeShellSection+SectionLayer,默认 SHELL/S4R)、abaqus_define_orthotropic_material(工程常数/正交/各向异性)、abaqus_define_amplitude(时变)、abaqus_define_predefined_field(初始场/预定义场)、abaqus_set_output(场/历史输出) - ✅ 结果后处理:
abaqus_plot_contour(视口云图)、abaqus_export_results_csv(ODB→CSV)、capture_viewport+ 视觉读图 - ✅ 分析步扩展:
define_step支持heat/coupled(温度/耦合分析)
上游归属声明见 plugin/NOTICE 与 LICENSE。
License
MIT —— 见 LICENSE 与 plugin/NOTICE。