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
羽毛球分组比赛记分
小程序二维码

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

小夜