前言¶
在 DeepSeek Harness(DSH)里做工科或数学作业辅导,常见难点不是「模型会不会算」,而是整条链路不稳定:题图转写漏条件、求解与符号约定不一致、出图后无法程序化复核,且一旦工具返回值过不了宿主的无损 JSON 校验,连产物路径都拿不到。社区插件 dsh-mech-workbench(维护者 insideyou-0501)把「读题图 → 回读自检 → 求解 → 可视化 → 出图后自检」做成九项工具与四项随包技能,学科差异尽量放在预设数据里,而不是写死在多条专用代码路径上。
这是什么¶
dsh-mech-workbench 是面向 DSH 的 Host-only bundle(无 npm 依赖、无构建步骤):泛用读图、通用符号/数值求解、通用出图引擎,以及力学静定分析等能力,由模型按技能规定的顺序调用。分类为工作流;当前包版本 0.3.1,许可证 MIT。目录页:skillhub.cn/plugins/insideyou-0501/dsh-mech-workbench;源码:github.com/insideyou-0501/dsh-mech-workbench。
五步链路与九个工具¶
插件 README 规定的主线如下:
- 读:
mech_read_problem对题目照片做预处理(转正、去斜、透视、二值化、一页多题分栏等共 17 种算子),并可选用独立视觉模型做第二次转写。 - 验(读题):
mech_verify_reading把转写渲染成图与原图并排,发图前做读题自检。 - 解:
solve_math为学科无关的通用求解内核(solve、evaluate、diff、integrate、limit、series、dsolve、matrix、optimize、fit 等);力学静定问题另用mech_analyze(反力、N/Q/M/T、截面、应力及多项校核)。 - 画:
viz_figure为通用出图引擎(19 种系列类型,直角/对数/极坐标/三维、多子图、图元层);力学标准图由scripts/presets.py的数据预设展开,经mech_diagram调用,而非单独一套绘图代码。 - 验(出图):
viz_check做独立视觉评审(乱码、压图、越界、裁切、图形自洽等),给出 PASS/FAIL。
此外还有 viz_annotate(在学生原图上做讲解式标注)、mech_card(题目卡片 save/get/list/append,落在工作区 .mech-cards/)。
| 工具 | 作用概要 |
|---|---|
mech_read_problem |
题图预处理 + 可选二次视觉转写 |
mech_verify_reading |
读题回读自检(并排对照) |
mech_analyze |
静定力学分析(见下文边界) |
mech_diagram |
力学标准图(预设 + 通用引擎) |
solve_math |
通用方程与代数求解 |
viz_figure |
通用可视化 |
viz_check |
出图视觉校核 |
viz_annotate |
原图标注 |
mech_card |
题目卡片持久化 |
随包技能四个:engineering-problem-solving(总控流程与硬关卡)、problem-image-reading、engineering-visualization、engineering-mechanics(力学符号约定与常见陷阱)。
设计原则(与调用方相关)¶
README 强调几条会影响你改 spec 或解读返回值的规则:
- 学科差异只应体现在
scripts/presets.py预设数据;figure.py不内置「弯矩」等领域概念。 - 缺 sympy、matplotlib 或视觉 key 时,要么走等价路径并声明,要么返回可读的
unsupported,不静默给出看似正常的错答案。 - 数值结论配有独立复核算法;复核不过则
pass: false并带 warning。 - 工具返回值须通过 DSH 无损 JSON 校验(无
undefined键、NaN/±Infinity等),由注册处toLossless兜底。
solve_math、viz_figure、viz_annotate、viz_check 学科无关;mech_analyze / mech_diagram 使用 README 中的符号约定(例如 N 拉为正、M 下侧受拉为正,默认单位 m / kN / kN·m / MPa)。
安装与启用¶
本包是普通 git 仓库,需先拿到源码目录,再在 DSH 里用官方 plugin_manager 安装 bundle。不要手改 profile 的 package.json 或 cordis.patch.yml。
先获取源码(克隆到任意位置,该目录即下文「本包目录」):
git clone https://github.com/insideyou-0501/dsh-mech-workbench.git
若 HTTPS 被拦(如 SEC_E_NO_CREDENTIALS 或超时),可改用 SSH:
git clone git@github.com:insideyou-0501/dsh-mech-workbench.git
安装步骤:
- 在 Web 里新开一个创造模式任务(设置 → Agent 预设 → 创造入口,即
cordis预设);只有该预设启用@deepseek-ai/dsh-plugin-manager/tools与@deepseek-ai/dsh-tool-cordis。 - 让会话执行:
plugin_manager,action: install_bundle,target指向本包目录的绝对路径。安装需要一次授权。 - 用
cordis_inspect_query确认插件行已注册;bundle 变更后需重启 DSH,再按需新开会话使工具生效。
环境与依赖¶
- Python + numpy + Pillow:优先使用 DSH Desktop 自带 Office 运行时;也可用环境变量
DSH_MECH_PYTHON指定解释器。除figure.py外,多数脚本不依赖 matplotlib。 - sympy(可选):包内
.pylibs/含 sympy 1.14.0 与 mpmath 1.4.1,可从包内加载。验证无 sympy 降级路径可设SYMBOLIC_NO_SYMPY=1。 - 视觉引擎(读题二次转写、
viz_check、公式排版等):按 README 所列引擎顺序尝试,仅使用已配置 key;key 从环境变量、~/.dsh/secrets/media-tools.env、~/.dsh/.credentials.yaml读取,不写入产物。未配置 key 时相关能力如实失败,其余工具仍可用。
典型用法(流程层面)¶
没有单独的一键 CLI「做题」命令;实际用法是让 Agent 在 engineering-problem-solving 技能约束下按五步链路调用工具。可复现的离线自测在仓库 test/ 下(不随包发布),例如克隆后在工作区执行:
python mech-workbench/test/run_all.py
该命令汇总 11 项自测;安装到 DSH 后还应用 node mech-workbench/test/verify_installed.mjs 校验已安装产物上的工具契约与无损 JSON(README 说明 mock 自测无法替代这一步)。
力学分析向工具传入结构化 spec(详见 README 与 engineering-mechanics 技能);通用求解向 solve_math 传 spec.op;出图向 viz_figure 或 mech_diagram 传 spec。
适用场景与注意¶
适合:需要在 DSH 里稳定完成「拍题/题图 → 转写自检 → 符号或数值解 → 出图 → 视觉自检」的工科、数学类辅导或批改辅助;希望力学标准图与通用曲线共用同一绘图引擎的场景。
务必注意:
- 插件以当前 DSH 进程权限运行;安装前应自行审阅源码与 MIT 许可证,并理解 bundle 会 patch cordis 配置。
mech_analyze仅静定;静不定返回determinate: false并说明需其他方法,通用方程仍可用solve_math。- README 列出的边界还包括:不做塑性/压杆稳定/大变形等;支座类型有限;非圆截面不提供 Ip/Wp;Pillow 绘图兜底质量低于 matplotlib。
- DSH 生态理念是「一切皆插件」;skillhub.cn 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-mech-workbench 把题解流水线工具化,并用自检与无损 JSON 约束降低「看起来对了、宿主却接不到结果」的失败率。进一步了解能力与版本说明见 GitHub README;安装与分类信息见 目录页 与 仓库。