@fffangchenghao/dsh-latex-look

中文文档
0.4.2发布于 2026/10/29MITES Module零依赖近 30 天下载 2714

See what a LaTeX page actually looks like: compile, render the page to an image, map a point or text anchor back to the source line, and diff the page against the previous build. CLI, MCP server and DSH plugin over one core.

原始使用文档
文档目录7 节
  1. 它解决什么问题
  2. 三个能力,一个动词
  3. 这不是「AI 帮你写 LaTeX」
  4. 真实战绩
  5. 安装
  6. 更新
  7. 许可

latex-look — 让 Agent 真正「看见」你的 LaTeX

npm license English · 简体中文

左:编译零错误,但页面是错的。右:五句话之后的同一页

左边编译零错误:标题上下各一条横线、表格是带竖线的网格、长链接冲出版心、 图顶到了页边。右边是五句人话之后的同一页。可直接复现:examples/broken-layout。


它解决什么问题

一个只会读 .tex 源码的 Agent 是瞎的。

文档可以编译零错误、打开正常,但读者一眼就看出不对:这页最上面多了一条横线、这个表格丑、 这段文字压到了页边、图太大了、两页之间空了一大块、图号怎么从 3-4 跳回 3-3 了…… 这些没有一条是编译错误,grep 也搜不到——那条横线根本不在源码里,它是宏包画的。

这类需求你只能这样表达:

「把这一页最上面的横线去掉」「这个表格改成三线表」「图小一点」 「这两页之间空太多了,填满」「图号顺序不对」

latex_look 就是让 Agent 接得住这些话:编译 → 渲染成图 → 定位到源码行 → 改完再比一次, 一个调用做完。Agent 于是能进入 看 → 诊断 → 改 → 再看 → 确认 的循环,而不是改完就说「应该好了」。

三个能力,一个动词

你说的话它做什么
「这页最上方的横线去掉」渲染该页,把那条线定位到源码行(fancyhdr 的 \headrulewidth,或某个 \rule)
「表格改成三线表」改完渲染,用像素 diff 告诉你只动了表格、没碰正文
「图号顺序不对」扫全书阅读顺序,直接列出 图 3-4 (p63) → 图 3-3 (p64)
「这次改动有没有弄坏别处」全书 audit:只报这一次新造成的版面问题,并点名是哪个图把页面顶走的
latex-look main.tex --page 62                    # 渲染第 62 页
latex-look main.tex --page 62 --at "图 3-1"       # 定位到源码行
latex-look main.tex --page 62 --compare           # 与上一版并排对比
latex-look main.tex --page 1  --sequence 图       # 检查图号阅读顺序
latex-look main.tex --page 1  --audit             # 全书版面回归审计

这不是「AI 帮你写 LaTeX」

写 LaTeX 的工具已经很多了(生成、补全、编译服务)。这个工具管的是验收: 改完之后,那份 PDF 到底对不对。

这也是为什么它值得单独存在——编译器只保证「不是错误」,不保证「好看」。

真实战绩

用一本 215 页的中文技术书(6 章、163 张图、129 个公式、术语表、目录)当靶子, 读者只能看 PDF、逐像素量、拒绝「我觉得没问题」:

  • 编译错误 0,Overfull hbox 0
  • 163 个图题全部按阅读顺序,0 处倒序
  • 129 个公式编号分章连续 (1-1) … (6-1)
  • 9 处「页面下方空一大块」全部压到 ≤56 mm
  • 六章首页首行墨迹全部 17.0% 页高——没有任何一章被图占了章名位置

完整记录(含每个缺陷的成因与修法):CASE-STUDY.md。

安装

需要 Node ≥ 18、TeX 引擎(xelatex/lualatex/pdflatex/latexmk 或 tectonic)、 synctex、ghostscript。

DeepSeek Harness 插件形态:

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

命令行形态:

npm i -g @fffangchenghao/dsh-latex-look

MCP 形态(Claude Desktop / Cursor / Codex 等任何支持 MCP 的客户端):

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

放在 Claude Desktop 的 claude_desktop_config.json、Cursor 的 ~/.cursor/mcp.json, 或在 ~/.codex/config.toml 里写成:

[mcp_servers.latex-look]
command = "npx"
args = ["-y", "@fffangchenghao/dsh-latex-look", "mcp"]

三种形态共用一个 lib/core.mjs:同样的测量、同样的措辞、同样的坑。它只暴露一个工具 latex_look,参数与插件完全一致;页面以图片内容块返回,模型直接看见那一页。 已收录进官方 MCP Registry,名称 io.github.fangchenghao/latex-look——客户端可以直接按名字搜索安装;也已提交 awesome-mcp-servers。

Agent 的「眼睛」由工具提供;SKILL.md 提供「看到症状之后怎么改」的知识—— 一份症状 → 成因 → 修法的手册,例如「读者说的那条横线通常是 \pagestyle/fancyhdr, 不是某个 \hline」。

更新

插件每天在后台查一次 npm,有新版本时在一次工具回复里加一行提示;离线时完全静默。

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

许可

MIT。

版本与发布记录

@fffangchenghao/dsh-latex-look 共发布 9 个版本,首次发布于 2026/10/25;过去 12 个月发布了 9 个版本。

版本发布日期距今
0.4.2latest2026/10/2916 天前
0.4.12026/10/2718 天前
0.4.02026/10/2619 天前
0.3.72026/10/2619 天前
0.3.62026/10/2620 天前
0.3.52026/10/2520 天前

关于 @fffangchenghao/dsh-latex-look 的常见问题

@fffangchenghao/dsh-latex-look 是什么?

See what a LaTeX page actually looks like: compile, render the page to an image, map a point or text anchor back to the source line, and diff the page against the previous build. CLI, MCP server and DSH plugin over one core.

如何安装 @fffangchenghao/dsh-latex-look?

在项目目录运行 npm install @fffangchenghao/dsh-latex-look,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@deepseek-ai/dsh-tools(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 latex-look,可以用 npx latex-look 直接运行。

@fffangchenghao/dsh-latex-look 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/fffangchenghao__dsh-latex-look 是否存在。

@fffangchenghao/dsh-latex-look 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fffangchenghao/dsh-latex-look 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@fffangchenghao/dsh-latex-look 可以商用吗?

@fffangchenghao/dsh-latex-look 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fffangchenghao/dsh-latex-look 的下载量有多少?

根据 npm 官方下载统计,@fffangchenghao/dsh-latex-look 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,714 次,日均约 90 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fffangchenghao/dsh-latex-look 还在维护吗?

最新版本 0.4.2 发布于 2026/10/29(16 天前);至今共发布 9 个版本,其中过去 12 个月发布了 9 个;首次发布于 2026/10/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。