dsh-latex-studio:在 DSH 里做 MiKTeX 编译与视觉排版闭环

前言

在 DeepSeek Harness(DSH)里写 LaTeX 论文时,智能体往往只能盯着源码和 .log:编译过了,不代表版面能投稿。孤行寡行、浮动体离引用太远、双栏空洞、Overfull、表格字号不齐等二维缺陷,单靠日志很难发现。若再把「编译 → 看页图 → 诊断 → 修 → 再验」拆成零散脚本,也很难在会话里稳定复现。

下面介绍社区插件 dsh-latex-studio(维护者 Qingzhu093),它把日常编译与 VTO(Visual Typesetting Optimization,视觉排版优化)流程做成 DSH 工具链,并带持久缺陷台账与插件页配置表单。方法学参考 PaperFit(MIT,arXiv:2605.10341);仓库当前版本为 0.4.1(MIT),要求宿主 dsh >= 0.2.0-rc.2、Node ^22.19.0 || >=24.0.0。目录页:SkillHub - dsh-latex-studio;源码:github.com/Qingzhu093/dsh-latex-studio。

这是什么

dsh-latex-studio 是面向 DSH 桌面端的工作流类插件:以 MiKTeX 为硬依赖,提供 10 个工具、3 个技能,并在 VTO 路径上维护跨轮 缺陷台账(state.json)。简介中的定位可以概括为:LaTeX compile gate + VTO typesetting loop——先保证能编、再按页图做受限修复与门禁复核。

插件在 apply() 时自行注册技能(latex-daily、latex-fix-catalog、latex-vto-loop),装完即可用,无需再把 skills/ 拷到 DSH 技能发现目录。

核心功能

两套命令线

README 将能力分为两条线,便于在会话里分工:

A 线(日常编译)

  • latex_doctor:检查本机 LaTeX / 页图 / 参考文献工具是否就绪,缺失项给出可执行 advice。
  • latex_build:多趟编译驱动;优先 latexmk(需 Perl),不可用时回落内置多趟驱动(引擎 → 按需 bibtex/biber → 直至 .aux 稳定,最多 4 趟),产出结构一致并由 via 标明路径。
  • latex_lint:静态检查(可选依赖 chktex)。
  • bib_tool:参考文献相关操作。

B 线(VTO 全流程)

  • vto_start / vto_inspect / vto_fix / vto_verify / vto_report / vto_rollback:覆盖「编译 → 读日志 → 渲染页图 → 诊断(18 类缺陷)→ 受限修复 → 门禁复核」。
  • vto_fix 默认 apply:false,只给出配方与 diff;写操作走备份 → 写入 → 内容守卫 → 失败回滚。
  • vto_report 按 id+page 写入缺陷台账;vto_verify 对「标了 fixed 又复发」判回归,并对未清阻断级缺陷降级 verdict。

环境与降级策略

  • 硬依赖:MiKTeX(引擎、bibtex/biber、页图用的 Poppler pdftoppm/pdfinfo、Ghostscript mgs.exe 等)。Windows 可用 winget install MiKTeX.MiKTeX。
  • 可选:Perl + latexmk(推荐,用于 .fls 依赖追踪);缺则自动用内置多趟驱动。
  • 页图:默认本地 Poppler/Ghostscript,零额外安装;MinerU 或宿主 read_pdf 仅作可选兜底。
  • 外部件缺失:不抛异常,返回 status:'skipped' 与修复建议。
  • 隐私:uploadScope 统一控制哪些 PDF 解析可上传,默认不外发本人稿件。

安装与启用

DSH 生态是「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。安装前请自行审阅源码与 MIT 许可证;插件以当前 DSH 进程权限运行,涉及读写工程与调用本机 TeX,应在可信环境操作。

从 GitHub 安装(README 原文)

仓库直接提交可运行的 lib/(纯 JS,无构建步骤),可用 github: 源且无需授权构建脚本。在 Windows 上请使用桌面端自带 CLI 全路径(README 示例路径为 D:\DshDesktop\resources\runtime\cli\bin\dsh.cmd),避免 PATH 上旧版全局 dsh 误操作 profile:

& "D:\DshDesktop\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:Qingzhu093/dsh-latex-studio

建议锁定 commit,避免后续推送改变实际运行代码:

& "D:\DshDesktop\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:Qingzhu093/dsh-latex-studio#<sha>

README 还说明:本机实测在 Electron 独占管理的 profile 上,dsh plugin add 可能挂起,日常更推荐在克隆仓库后执行 node tools/install.mjs(打包、登记 profile、自检)。安装或升级后需重启 DSH 或开新会话,否则仍在用旧实例。

克隆仓库后的推荐安装(维护者脚本)

cd <本仓库>\dsh-latex-studio
node tools/install.mjs

装完应运行自检(可在插件外执行,避免「装上但未加载」却无处报错):

node tools/doctor.mjs

退出码:0 健康,1 有失败项,2 脚本自身出错。自检会核对文件、apply() 是否注册 10 工具与 3 技能、profile 登记、技能遮蔽、本机能否真编译与渲染页图等。

配置

插件在 DSH Plugins 页提供配置表单(README 称 0.4.x 起对 volatile 配置字段可在页面编辑;doctor 会报告 volatile 字段数量)。具体字段以仓库 docs/DEVELOPMENT.md 与 Schemastery 契约为准,本文不罗列未在已抓取资料中展开的每一项。

典型用法

1. 先诊断环境

在会话中让智能体调用 latex_doctor,根据返回的「已装 / 缺失」与 advice[] 补 MiKTeX 或可选组件(如 winget install StrawberryPerl.StrawberryPerl 以启用 latexmk)。

2. 日常编译与 lint

  • 对工程主文件使用 latex_build(缺宏包时默认可 --enable-installer 自动补装)。
  • 需要额外信号时跑 latex_lint(依赖 chktex 时才有完整外部通道)。
  • 参考文献问题用 bib_tool 与 A 线文档配合。

3. VTO 闭环

按 B 线顺序在会话中推进即可:vto_start 建立上下文 → vto_inspect 读日志与页图(可选 parse:true 时注意 uploadScope)→ vto_fix 先看配方(apply:false)→ 确认后再应用 → vto_verify 门禁 → vto_report 更新缺陷台账。需要撤销时用 vto_rollback。

三个技能分别覆盖日常编译、修复目录与 VTO 循环,模型可按任务选用;不依赖技能服务时,10 个工具仍可注册使用。

适用场景与注意

适合谁

  • 在 DSH 里写学位论文、会议投稿 LaTeX,希望「编译通过」之后还能系统化查版面缺陷的智能体工作流。
  • 本机以 Windows + MiKTeX 为主、希望页图与编译都走本地、默认不上传 PDF 的场景。

需要注意

  • 以 MiKTeX 为设计中心;其他 TeX 发行版未在已抓取资料中作为一等公民描述。
  • 不要假设「npm 包里的 skills/ 会被 DSH 自动发现」——本插件通过注册解决该问题。
  • 升级可再次运行 node tools/install.mjs 后 node tools/doctor.mjs;卸载需改 $DSH_HOME/profiles/<名字>/package.json 中的依赖与 dsh.profile.bundles,并删除安装副本(默认 $DSH_HOME 为 ~/.dsh)。

结尾

dsh-latex-studio 把 MiKTeX 编译、日志与本地页图、18 类视觉缺陷诊断、受限修复和缺陷台账绑进 DSH 的 10 个工具与 3 个技能,适合需要「能编且能看版」的 LaTeX 智能体流程。进一步了解请访问 SkillHub 目录页 与 GitHub 仓库(维护与排错见 docs/DEVELOPMENT.md)。

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

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

小夜