dsh-latex:在 DeepSeek Harness 中调用本机 LaTeX 并产出可复用公式图

前言

在 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 上均可查到(仓库星标以页面为准)。

装好后会发生两件事:

  1. 助手回复中的行内 $...$、独立 $$...$$,以及 \(...\) / \[...\],由聊天界面内置 KaTeX 渲染;插件不实现这部分,但会通过 prompt 告诉模型「该这样写」。
  2. 工具表多出一个 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 仓库。

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

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

小夜