DeepSeek Harness 插件

Flan246/dsh-latex-guard

Star 数 ★ 0 下载量(近 30 天) 1,425 分类 文档与渲染 收录于 2026-09-02 npm dsh-latex-guard

为 DeepSeek Harness 提供的 LaTeX 与 BibTeX 检查工具:编译检查(自动识别 xelatex/lualatex),基于 Crossref 的 BibTeX 条目去重与字段补全,以及 \cite 键与 .bib 文件的一致性审计。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-latex-guard

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:Flan246/dsh-latex-guard

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

该插件的 README 只有英文版本。

LaTeX compile check and BibTeX lint/fill/audit tools for DeepSeek Harness and any agent.

Features

  • check — compile a LaTeX project with latexmk and return a structured report of errors, warnings and undefined citations
  • bib-lint — dedupe entry keys, check required fields per entry type, canonicalize formatting
  • bib-fill — fill missing entry fields from Crossref by DOI or title (never overwrites existing values)
  • cite-audit — compare citation keys in .tex files against a .bib file: cited-but-missing and never-cited entries. Recognized commands: \cite, \citep, \citet, \parencite, \textcite, and the biblatex commands \autocite, \footcite, \fullcite, \nocite (a \nocite key counts as cited).

All commands return human-readable output by default and structured JSON with --json. Exit codes: 0 success, 1 business error, 2 usage error. A check that compiles but reports status: "failed" also exits 1; a skipped check (latexmk unavailable) exits 0, since graceful degradation is not an error.

Usage

1. As a dsh plugin

dsh plugin add dsh-latex-guard

Registers four agent tools: latex_check, bib_lint, bib_fill, cite_audit.

2. As a standalone CLI

npx dsh-latex-guard check <dir> <entry.tex> [--engine <name>] [--json]
npx dsh-latex-guard bib-lint <file.bib> [--write]
npx dsh-latex-guard bib-fill <file.bib> [--write]
npx dsh-latex-guard cite-audit <file.bib> <tex...>

--write modifies the bib in place — confirm before using it. As a safety net, both write paths refuse to write when the bib cannot be fully parsed (e.g. an entry missing its closing brace), instead of silently dropping the unparseable tail.

check --engine <name> selects the latexmk engine: auto (default), pdflatex, xelatex or lualatex. In auto mode the engine is detected from the entry tex (and a local \documentclass file): a % !TeX program = ... magic comment, \RequireXeTeX, xeCJK or {ctex select xelatex, \RequireLuaTeX selects lualatex, otherwise pdflatex. The report's engine field records the engine actually used; when a compile fails without any parseable error line, the report also carries a logTail with the last lines of the latexmk log.

Known limitations

  • cite-audit counts \cite keys inside commented-out (% ...) lines as real citations.
  • A passed check report may still carry citation warnings emitted by latexmk's intermediate passes; only the final pass reflects the true citation state.

3. As an agent skill

The skill/SKILL.md bundled in this package teaches any SKILL.md-compatible agent how to drive the CLI.

latexmk dependency

check requires a TeX installation providing latexmk on PATH (e.g. TeX Live or MiKTeX). When latexmk is not found, check degrades gracefully: it returns a report with skipped: true instead of failing, so the other three commands (pure BibTeX/text processing, no TeX needed) remain fully usable.

bib-fill is the only command that needs network access (Crossref API, 10s timeout, one retry).

License

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。