latex-look:让智能体「看见」LaTeX 排版结果

前言

在 DeepSeek Harness(DSH)里改 LaTeX,常见做法是智能体只读 .tex 源码:编译无报错,并不等于页面看起来正确。标题周围多余的线、表格样式、链接溢出、图过宽等问题,往往要人自己打开 PDF 对照才能发现。

下面介绍社区插件 latex-look(维护者 fangchenghao,分类:工作流)。它在 Harness 里注册一个工具 latex_look,在一次调用里完成编译、把指定页渲染成图、用 SyncTeX 把页面上的点或文字锚点映射回源码行,并可与上一次构建做像素级 diff。仓库 README 还附有针对一本 215 页书籍的案例说明(163 张图、129 个公式,六类「能编译通过但观感有问题」的缺陷)。插件在 npm 上的包名为 @fffangchenghao/dsh-latex-look,当前版本 0.4.1,许可证 MIT。

这是什么

latex-look 是 DSH 插件 bundle:通过 cordis.patch.yml 向当前 profile 插入一行配置,并注册工具 latex_look。渲染、定位、对比是实现细节;对智能体而言,语义上接近「看一下这一页」——与人工修稿时的闭环一致:

look → 诊断 → 改 .tex → 再 look → 确认改动 → 汇报

除 Harness 形态外,同一套引擎还提供 CLI 与 MCP Server,参数与回复语义与插件侧一致;本文重点放在 DSH 内的安装与用法。

核心功能

依据 README 与 package.json 描述,已核实能力如下:

  1. 编译并出图:对磁盘上的 .tex 工程调用 TeX 引擎,将指定页 raster 为图像(可调 dpi 等参数),供模型以图像内容块方式「看见」页面。
  2. 源码定位:支持按页码(page)、页面文字(text)、或坐标(pointX / pointY)反查对应 .tex 行号(依赖 synctex)。
  3. 变更对比:compare 可与上一版构建对比;audit 可检查最近一次编辑在全书范围内是否引入可见破坏。
  4. 序列与其它参数:工具还提供 sequence、audit 等字段,与 CLI / MCP 共用同一套 look() 实现。

可选知识技能:仓库中的 SKILL.md 是症状 → 原因 → 修复的 LaTeX playbook(例如页眉横线多与 \pagestyle / fancyhdr 有关),可复制或软链到 ~/.dsh/skills/latex-look/SKILL.md,与工具配合使用。工具本身不负责上传文件,每次调用只编译本机已有文档。

环境与依赖

安装插件前,本机需满足:

  • Node.js ≥ 18
  • TeX 引擎之一:xelatex / lualatex / pdflatex / latexmk 或 tectonic
  • synctex
  • Ghostscript(Windows 上插件会查找 gswin64c 及常见安装路径)

README 给出了 macOS、Debian/Ubuntu、Windows 上安装 TeX 与 Ghostscript 的示例命令,可按平台对照文档配置 PATH。

安装与启用

在 Harness 中通过插件管理器安装 bundle(以下命令来自 README 原文,勿自行拼接其它 dsh plugin add 形式):

从 npm 注册表安装(推荐,与目录页指向的 GitHub 仓库发布物一致):

plugin_manager  action: install_bundle  target: @fffangchenghao/dsh-latex-look

若已有本地 checkout,也可对绝对路径执行同样的 install_bundle(README 说明仓库本身即 bundle,package.json 声明 dsh.bundle.patch)。

安装后会添加 latex-look 行并注册 latex_look 工具。若仅替换已安装包的源码,需重启 Harness 以加载新的模块代际;从 registry 升级时,README 写明在 live profile 上升级会立即生效,但 core.mjs 与 index.js 的热加载行为不同,完整 reload 发生在下次启动。

插件会在后台每天检查一次 registry 是否有新版本,若有则在工具回复中追加一行提示;离线环境不会打扰。手动升级再次执行:

plugin_manager  action: install_bundle  target: @fffangchenghao/dsh-latex-look

检查版本(在 checkout 或已安装 CLI 时):

npx latex-look --version
npx latex-look --check-update

典型用法

在 Harness 中

安装完成后,让智能体对主 .tex 或工程入口文件调用 latex_look,例如指定页码查看排版、用 text 锚定「表 3.1」一类文字、或在改稿后用 compare / audit 验证。具体字段名以工具 schema 为准:file、page、text、pointX / pointY、compare、audit、sequence、dpi。

CLI(与插件同引擎,便于本地快速验证)

不启动 Harness 也可直接运行(README 示例):

node bin/latex-look.mjs book.tex --page 37
node bin/latex-look.mjs book.tex --text "表3.1"
node bin/latex-look.mjs book.tex --page 12 --compare previous --json
node bin/latex-look.mjs book.tex --page 1 --audit

仓库 examples/broken-layout 提供「能编译但版式有问题」与修复后的对照示例,可自行编译体验上述闭环。

MCP(非 DSH 客户端)

若在 Cursor 等环境使用同一能力,可在 ~/.cursor/mcp.json 等配置中注册(README 示例):

{
  "mcpServers": {
    "latex-look": {
      "command": "npx",
      "args": ["-y", "@fffangchenghao/dsh-latex-look", "mcp"]
    }
  }
}

暴露的工具名仍为 latex_look,参数与 Harness 侧一致。

适用场景与注意

适合谁:用 DSH 或 MCP 驱动智能体长期维护 LaTeX 书籍、论文、Beamer 等,需要「看页面再改源码」而不仅是 lint 或编译日志的场景。README 测试套件中包含多文件论文、双栏、beamer、208 页书籍等场景,说明工具面向真实工程而非单文件玩具。

权限与安全:插件以当前 DSH 进程权限运行,会在本机调用 TeX 与 Ghostscript 编译你指定的工程。安装前应阅读 GitHub 仓库 源码与 MIT 许可证,确认 bundle 行为符合你的环境策略。社区目录 skillhub.cn 独立于 DeepSeek / 幻方,并非官方应用商店;DSH 生态遵循「一切皆插件」的扩展方式。

局限:首次编译与出图耗时取决于文档规模;Windows 上若未配置 PATH,需依赖插件内置的 Ghostscript / TeX 路径探测,或按 README 显式指定 Ghostscript 的 bin 目录。

结尾

latex-look 把「编译 → 看图 → 定位行号 → diff 改动」收成智能体可用的一个动词,弥补只读 .tex 时的「 blindness」。若你在 Harness 中做 LaTeX 工作流,可从 npm bundle 安装 latex_look,必要时叠加 SKILL.md,并按 look → 编辑 → 再 look 的循环验证版式。

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

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

Xiaoye