前言¶
在 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