dsh-formula-verify:用可执行校验替代对话里的公式「口头证明」

前言

在 DeepSeek Harness(DSH)里让智能体核对论文或文档中的公式时,常见做法是让它用文字解释「两边相等」——这类回答既难复现,也无法在换模型或换会话后保持一致。更稳妥的路径是把公式落成 SymPy 符号差、确定性数值采样,以及可重复运行的 pytest;需要时再从 TeX、PDF 或 Markdown 批量抽取公式卡片。

下面介绍社区插件 dsh-formula-verify(维护者 lizyoko9,GitHub:lizyoko9/dsh-formula-verify)。它以 DSH skill 与 SymPy CLI 为核心,bundle 安装后还提供右侧边栏 Formula Lab 面板,属于目录分类中的客户端插件。

这是什么

dsh-formula-verify 是面向 DeepSeek Harness 的公式校验 skill,附带自举 Python CLI 与(bundle 模式下)Formula Lab 客户端面板。简介原文为:Formula verification skill and SymPy CLI for DeepSeek Harness;当前 bundle 版本在资料中为 0.4.6,许可证 MIT。

插件把「验证一个公式」拆成可执行步骤:符号化简差值为零、在固定采样点上做数值对照、生成可复用的 formula card 与 pytest 文件。skill 既可由模型调用,也可由用户直接调用 CLI。

核心功能

公式校验 CLI

首次运行会在 $DSH_HOME/formula-verify/venv 下创建私有 SymPy 环境,无需项目自行安装 SymPy 或 pytest。

check 的判定含义(资料原文):

  • verdict: "symbolic" — SymPy 证明差值为零;
  • verdict: "numeric" — 采样一致,不是形式证明;
  • verdict: "failed" — 至少一项检查不一致(退出码 1)。

支持的子命令包括:check(恒等或表达式为零)、diff、integrate、eval、simplify、latex、test(在私有环境中跑 formula-card 的 pytest)、setup(预热环境)。

Formula cards

单篇论文可维护如下结构,模板位于 assets/templates/:

formulas/
  eq13.md
  eq13.py
  test_eq13.py

用 CLI 的 test --path formulas/ 在私有 venv 内执行 pytest,不依赖宿主项目的 pytest/SymPy。

从论文抽取(TeX / PDF / Markdown)

paper extract 从 TeX 可靠抽取 equation、align、gather 等环境及 $$...$$、\[\],并记录章节、行号、标签与上下文。PDF 为备选路径,候选行可能标记 needs-latex;也可先经 Mathpix 或外部命令(如 MinerU)转为 .md 再抽取。抽取结果包含 eq-*.md、test_eq_*.py 桩、index.md、report.md / report.json 及自动探测状态(如 verified-symbolic、numeric-evidence、probe-failed 等)。资料强调:抽取结果是草稿,需人工审 assumptions、补全模型后再跑 test。

Formula Lab 面板(bundle)

从 Plugins 页安装 bundle 并重载 DSH 后,可在右侧边栏 + 中选择 Formula Lab:选取工作区内的 .tex、.pdf、.md、.mmd 或 .markdown,设置输出目录后 Convert & extract。PDF 可选用 Mathpix(宿主环境变量 MATHPIX_APP_ID / MATHPIX_APP_KEY)或可信的外部转换命令;直接 PDF 抽取为有损回退。面板通过 DSH index 注入的 per-process token 调用本地 host 路由,Python CLI 不对其他页面暴露。若已手动安装 filesystem skill,安装 bundle 前需删除 ~/.dsh/skills/formula-verify,避免同一 skill 重复注册。

安装与启用

作为 DSH bundle(含 Formula Lab)

在 DSH Plugins 页使用资料给出的安装源(不要自行拼接其他 add 命令):

git+https://github.com/lizyoko9/dsh-formula-verify

安装后重载 DSH,再按需添加 Formula Lab 面板。

仅 filesystem skill(无 bundle 客户端)

将 assets/ 复制到 ~/.dsh/skills/formula-verify/,并按 README 将 formula-verify.md 重命名为 SKILL.md 且替换 {{RESOURCE_DIR}}:

mkdir -p ~/.dsh/skills/formula-verify
cp -R assets/scripts assets/templates ~/.dsh/skills/formula-verify/
sed 's#{{RESOURCE_DIR}}#'"$HOME"'/.dsh/skills/formula-verify#g' \
  assets/formula-verify.md > ~/.dsh/skills/formula-verify/SKILL.md

DSH 的 filesystem skill provider 监视 ~/.dsh/skills,下次 catalog 刷新即可见,无需重启。

典型用法

直接校验恒等式

让智能体验证公式,或在本机执行:

python3 ~/.dsh/skills/formula-verify/scripts/formula_check.py check \
  --lhs '\sin(x)^2 + \cos(x)^2' --rhs '1' --json

从 TeX 抽取并生成报告

python3 ~/.dsh/skills/formula-verify/scripts/formula_check.py paper extract \
  --input paper.tex --out formulas --json
python3 ~/.dsh/skills/formula-verify/scripts/formula_check.py paper report --dir formulas

PDF 可先转换再抽取(Mathpix 会上传 PDF 至 api.mathpix.com;--backend command 会执行 shell 命令,仅使用可信转换器):

python3 ~/.dsh/skills/formula-verify/scripts/formula_check.py paper convert \
  --input paper.pdf --out paper.md --backend mathpix

python3 ~/.dsh/skills/formula-verify/scripts/formula_check.py paper extract \
  --input paper.md --out formulas

跑 formula 目录测试

python3 ~/.dsh/skills/formula-verify/scripts/formula_check.py test --path formulas/

适用场景与注意

适合:需要在 DSH 工作流里把公式验证从「对话结论」落到可重复脚本的人;读论文、写技术文档、整理 TeX/Markdown 公式并批量生成卡片与 pytest 的场景;希望在侧边栏用 Formula Lab 做转换与抽取的客户端用户。

局限(README Limits):SymPy 不是证明助手,symbolic 仅为强证据;LaTeX 解析覆盖常见写法,复杂构造可改 SymPy 形式传入;数值采样偏实数、 mostly positive,域边界需自行检查;CLI 不校验单位量纲;逻辑、协议与算法类问题应升级到真值表、SAT/SMT、TLA+、Alloy 或 Lean 等。

安全与信任:插件以当前 DSH 进程权限运行;安装 bundle 或复制 skill 前请阅读 GitHub 仓库 源码与 MIT 许可证。使用 Mathpix 或 --backend command 时会涉及外部上传或任意命令执行,仅配置你信任的后端与命令。

DSH 生态强调「一切皆插件」;社区目录页 skillhub.cn 上的条目 为独立站点收录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-formula-verify 把公式验证从聊天 prose 转为 SymPy 符号差、数值采样、formula card 与 pytest,并可选 Formula Lab 面板完成文档侧转换与抽取。需要安装命令与完整子命令表时,以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/lizyoko9/dsh-formula-verify
  • GitHub:https://github.com/lizyoko9/dsh-formula-verify
羽毛球分组比赛记分
小程序二维码

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

小夜