前言¶
在 DSH 裏寫數學,常見有兩條路徑:聊天界面用 KaTeX 把 $...$ 和 $$...$$ 即時排版,看着舒服;若要嵌進論文、貼進演示文稿或落盤 PDF,則需要真正跑 TeX 引擎。單靠複製粘貼公式字符串,模型也不知道何時該走「編譯產物」而不是「聊天渲染」。下面介紹社區插件 dsh-latex(維護者 Accelerater-tech),它在本機 TeX Live / MacTeX 上註冊 latex 工具,並用 system prompt 引導模型按約定寫法輸出;聊天裏的 KaTeX 仍由界面自帶能力完成,插件負責「要真文件」的那一段。
這是什麼¶
dsh-latex 是 DeepSeek Harness 的客戶端 bundle 插件(package.json 中 @local/dsh-latex,當前版本 0.2.2,MIT)。簡介與倉庫一致:Call LaTeX from DeepSeek Harness and render math as compiled formula blocks——讓 harness 調用本機 LaTeX,並把需要落盤的數學內容編譯成 SVG、PNG 或 PDF。分類爲客戶端插件;在 SkillHub 目錄 與 GitHub 上均可查到(倉庫星標以頁面爲準)。
裝好後會發生兩件事:
- 助手回覆中的行內
$...$、獨立$$...$$,以及\(...\)/\[...\],由聊天界面內置 KaTeX 渲染;插件不實現這部分,但會通過 prompt 告訴模型「該這樣寫」。 - 工具表多出一個
latex工具,在子進程裏調用latex、dvisvgm、dvipng等,把公式或整篇文檔編譯成可引用文件。
核心功能¶
latex 工具¶
默認 mode: "math":把公式體編譯爲矢量 SVG(默認墨色,示例產物見倉庫 assets/example-formula.svg),也可選 PNG(默認 300 dpi)或 pdf。mode: "document" 時可將正文片段或完整 .tex 編譯爲 PDF,引擎可在 pdflatex / xelatex / lualatex 間選擇(含中文時缺省會自動選型)。
返回 JSON 含 files、markdown(相對會話工作目錄的圖片或文件引用)、texSource(完整可復現的 .tex)等字段;重複相同源碼與參數時會按 sha256 緩存複用。
本機 TeX 發現與環境提示¶
插件會在 PATH、/usr/local/texlive/<年>/bin/<arch>、/Library/TeX/texbin 中查找 TeX 程序,並在子進程裏重排 PATH(桌面 Electron 主進程常拿不到 MacTeX 路徑)。未檢測到 latex / dvisvgm 時,Web UI 在輸入框上方顯示一次性提示,並提供 MacTeX BasicTeX、TinyTeX、Homebrew basictex 等安裝策略;TeX 已就緒時不留常駐 UI。
可配置項¶
bundle patch 裏可對插件傳 config,例如默認輸出格式、默認引擎、PNG dpi、編譯超時、是否注入 LaTeX 寫法提示(promptSection)、是否註冊工具(tool)等,字段以 README 中的 YAML 示例爲準。
安裝與啓用¶
DSH 安裝 bundle 統一走插件管理,不要用 shell 裏的 pnpm 去改 profile 的 package.json。
從本機已有源碼目錄安裝時,對該目錄的絕對路徑執行:
plugin_manager action=install_bundle target=<這個目錄的絕對路徑>
從 GitHub 獲取源碼後,同樣在克隆出來的目錄上執行同一條命令(README 給出的 clone 地址爲 https://github.com/Accelerater-tech/dsh-latex.git)。安裝會把包寫入 profile 的 node_modules 並應用 bundle patch;返回裏 application: "applied" 表示已生效。純 host 插件,無需構建,也無需重啓。
驗證方式:新一輪系統提示裏出現 ## LaTeX 段落,工具表中有 latex。
卸載:
plugin_manager action=remove_bundle target=@local/dsh-latex
依賴:TeX Live / MacTeX(macOS 上常見爲 /Library/TeX/texbin 下的 latex、dvisvgm、dvipng、dvipdfmx、pdfcrop、xelatex)。插件以當前 DSH 進程權限運行子進程與可選的一鍵安裝流程;安裝前請自行查看倉庫源碼與 MIT 許可證,確認與本機安全策略一致。
典型用法¶
1. 聊天裏寫公式(KaTeX)¶
模型按 markdown 習慣寫即可,例如:
行內:$e^{i\pi}+1=0$
獨立:$$\int_{-\infty}^{\infty} e^{-x^2}\,dx = \sqrt{\pi}$$
KaTeX 失敗時會顯示紅色錯誤文本,不會破壞整條消息。
2. 調用 latex 工具編譯¶
公式默認出 SVG:
{ "source": "\\frac{\\partial L}{\\partial \\theta} = \\nabla_\\theta L" }
PNG 並指定路徑與 dpi 行爲見 README 表格;深色背景下可對 math 模式傳 color(如 #e5e7eb)。整篇文檔示例:
{ "mode": "document", "source": "\\section{結論}\n由上式可得 $x>0$ 時 $\\sqrt{x^2}=x$。" }
需要額外宏包時把 \usepackage{...} 寫在 preamble,不要塞進 source 公式體。
適用場景與注意¶
適合:需要在 DSH 對話裏讓模型生成可嵌入文檔的公式圖、短 PDF,或希望 system prompt 統一 LaTeX 寫法的工作流;本機已裝或願意通過 UI 引導安裝 TeX 的用戶。
注意:
- 公式圖片默認黑色;深色主題下要麼傳
color,要麼依賴聊天 KaTeX(隨主題)。 - 聊天渲染與
latex工具是兩條路徑:前者看着舒服,後者纔是論文 / Keynote / 側欄打開 PDF 的「真產物」。 - client 半僅負責環境橫幅;宿主路由變更可 HMR,client 改動需刷新窗口。排查 Web 路由可查看 README 提到的
dsh-latex-routes.log診斷日誌。
結尾¶
dsh-latex 把本機 TeX 管線接進 DSH 工具層,並與聊天側 KaTeX 分工明確:即時排版交給界面,可複用文件交給 latex 工具。進一步瞭解可訪問 SkillHub 插件頁 與 GitHub 倉庫。