dsh-mech-workbench:DSH 工科与数学题解工作台

前言

在 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 规定的主线如下:

  1. 读:mech_read_problem 对题目照片做预处理(转正、去斜、透视、二值化、一页多题分栏等共 17 种算子),并可选用独立视觉模型做第二次转写。
  2. 验(读题):mech_verify_reading 把转写渲染成图与原图并排,发图前做读题自检。
  3. 解:solve_math 为学科无关的通用求解内核(solve、evaluate、diff、integrate、limit、series、dsolve、matrix、optimize、fit 等);力学静定问题另用 mech_analyze(反力、N/Q/M/T、截面、应力及多项校核)。
  4. 画:viz_figure 为通用出图引擎(19 种系列类型,直角/对数/极坐标/三维、多子图、图元层);力学标准图由 scripts/presets.py 的数据预设展开,经 mech_diagram 调用,而非单独一套绘图代码。
  5. 验(出图):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

安装步骤:

  1. 在 Web 里新开一个创造模式任务(设置 → Agent 预设 → 创造入口,即 cordis 预设);只有该预设启用 @deepseek-ai/dsh-plugin-manager/tools 与 @deepseek-ai/dsh-tool-cordis。
  2. 让会话执行:plugin_manager,action: install_bundle,target 指向本包目录的绝对路径。安装需要一次授权。
  3. 用 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;安装与分类信息见 目录页 与 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜