insideyou-0501/dsh-mech-workbench
dsh-mech-workbench
dsh-mech-workbench is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:insideyou-0501/dsh-mech-workbenchRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-mech-workbench)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from insideyou-0501/dsh-mech-workbench, cleaned of badges and images.
dsh-mech-workbench
通用工科题解工作台(DeepSeek Harness 插件)。
本插件严格遵循以下五个步骤「读题图 → 回读自检 → 求解 → 可视化 → 出图后自检」 这条链路变成模型手里的确定性工具,学科由数据驱动而不是写死在代码里:
- 读任意学科的题目照片 / 图表 / 表格(力学、结构、电工、数学、物理、流程图…);
- 解任意学科的方程与代数问题(符号精确解优先,缺 sympy 时数值降级并如实声明);
- 画任意学科的图(一个通用引擎 + 19 种通用系列类型),力学那几张标准图只是
scripts/presets.py里的数据化预设,不是独立代码路径; - 验每一步都有独立复核,复核不过就
pass:false并给出 warning,绝不静默给错答案。
装
先获取源码(本包就是一个普通 git 仓库,克隆到任意位置即可):
git clone https://github.com/insideyou-0501/dsh-mech-workbench.git
若 HTTPS 被拦(报 SEC_E_NO_CREDENTIALS 或一直超时),改用 SSH:
git clone [email protected]:insideyou-0501/dsh-mech-workbench.git
克隆出来的目录,就是下面第 2 步要指向的「本包目录」。
这是一个 Host-only bundle(无 npm 依赖、无构建步骤),按 DSH 官方规范用 plugin_manager 安装:
- 在 Web 里新开一个创造模式任务(设置 → Agent 预设 → 创造入口,即
cordis预设); 只有该预设启用@deepseek-ai/dsh-plugin-manager/tools与@deepseek-ai/dsh-tool-cordis。 - 让会话执行:
plugin_manageraction: install_bundle,target指向本包目录的绝对路径。 安装需要一次授权;不要手改 profile 的package.json/cordis.patch.yml,那是install_bundle的职责。 - 用
cordis_inspect_query确认插件行已注册,再按需新开会话使工具生效(bundle 变更需重启 DSH)。
九个工具
| 工具 | 作用 | 关键输入 |
|---|---|---|
mech_read_problem | 题目照片预处理(转正/去斜/透视/二值化/一页多题分栏…共 17 种算子)+ 可选独立视觉模型第二次转写 | image、ops、split、second_reader |
mech_verify_reading | 把转写渲染成图与原图并排输出,做读题自检(发图前必做) | original、transcription |
mech_analyze | 静定反力、N/Q/M/T 分布与极值、截面几何、应力、8 项独立校核 | spec(见下) |
mech_diagram | 力学标准图(轴力/剪力/弯矩/扭矩/应力分布/莫尔圆/挠曲线),panels 多图共享 x 轴 | spec |
solve_math | 通用求解内核:solve/evaluate/diff/integrate/limit/series/dsolve/matrix/optimize/fit/table/expand/factor/simplify… | spec.op |
viz_figure | 通用出图引擎(学科无关):19 种系列类型 + 直角/对数/极坐标/三维 + 多子图 + 图元层 | spec |
viz_check | 独立视觉评审:文字乱码/压图/越界/裁切、图形自洽性,给出 PASS/FAIL | image |
viz_annotate | 在学生原图上做讲解式标注:框/圈/箭头/尺寸线/文字/局部放大/坐标网格 | src、ops |
mech_card | 题目卡片 save/get/list/append,落到 <workspace>/.mech-cards/ | action、card/id/field |
配套随包技能 4 个:engineering-problem-solving(总控流程与硬关卡)、problem-image-reading(读图规范)、
engineering-visualization(可视化规范)、engineering-mechanics(力学符号约定与常见陷阱)。
通用性原则(改代码前先看这条)
- 不许有"某某学科专用代码路径"。学科差异只能表达为
scripts/presets.py里的预设数据。 力学图 = 通用引擎 + 预设展开,figure.py不认识"弯矩"这个概念。 - 不许静默降级。缺 sympy / 缺 matplotlib / 缺视觉 key 时,要么走数值等价路径并声明,
要么返回可读的
unsupported,绝不给一个看起来正常的错答案。 - 每个数值结论都要有独立复核。复核是独立算法(残差、求导往返、辛普森对比、特征值残差、 密集扫描、截断复核…),不是把同一个公式再算一遍。
- 报错用中文说人话,不把 Python 异常直接甩给模型。
- 工具返回值必须能过 DSH 的"无损 JSON"校验:
undefined值的键、NaN/±Infinity、-0、 类实例等非纯对象、稀疏数组、环——任意一条都会让整次调用失败,模型连产物路径都拿不到 (踩过:imageNote: undefined让五个回传图片的工具全线失败)。统一由注册处的toLossless兜住。 - mock 自测通过 ≠ 真实运行时契约通过。改了工具返回值形状或与宿主的约定,
必须用
test/verify_installed.mjs在已安装产物上再验一遍。
符号约定(工具与技能一致)
- 轴力 N 拉为正(
N = -Σ Fx(左段));剪力 Q 使微段顺时针转为正(+Σ Fy(左段)); 弯矩 M 下侧受拉为正;扭矩 T 右手螺旋 +x 为正。 - 横向力向上为正、轴向力 +x 为正、分布集度向上为正、集中力偶逆时针为正。
- 默认单位
m / kN / kN·m / MPa。
注意:
solve_math/viz_figure/viz_annotate/viz_check是学科无关的, 上面这套符号约定只适用于mech_analyze/mech_diagram。
环境要求
…


