dsh-overleaf:通过 OverleafMCP 连接多个 Overleaf 项目的 DSH 插件

前言

在 DSH 智能体开发中,一个常见需求是让模型处理 Overleaf 里的 LaTeX 项目:读取文件、查看章节、修改内容,再把改动写回项目。如果只是让模型手工复制粘贴或操作浏览器,链路会比较长,也不适合纳入稳定的工具调用。

dsh-overleaf 解决的是这个问题:它作为一个 DSH bundle,通过 OverleafMCP 把多个 Overleaf 项目接入 DSH,让模型可以调用相应的工具完成读取和写回。

这是什么

dsh-overleaf 是由 fly233338 维护的 DSH bundle,许可证为 MIT。

它通过 @fly233338/overleaf-mcp 将多个 Overleaf 项目连接到 DSH,并使用宿主提供的 DSH MCP Client。

核心功能

下面介绍已确认的能力:

  • 通过 @fly233338/overleaf-mcp 将多个 Overleaf 项目连接到 DSH。
  • 浏览并读取多个 Overleaf 项目中的文件。
  • 查看文档章节和章节内容。
  • 通过 Git 将文件或章节写回 Overleaf。
  • 使用宿主提供的 DSH MCP Client。
  • 启动时生成内部 .dsh-overleaf.projects.json OverleafMCP 项目配置。

运行要求

先确认环境满足以下条件:

  • DSH 0.1.0-rc.5 或兼容版本。
  • Node.js 22.19.0 或更高版本。
  • 一个 Overleaf Git integration token。

插件不读取 .env,也不需要 Overleaf 环境变量。

安装与启用

在 DSH 可用时,执行:

dsh plugin --profile web add dsh-overleaf

按插件说明,npm 安装命令会在该包发布后可用。

配置

插件会将 dsh-overleaf.config.json 保存到:

$DSH_HOME/dsh-overleaf/

如果未设置 DSH_HOME,则使用:

~/.dsh/dsh-overleaf/

配置中需要填写一个共享 token 和项目 ID 列表:

{
  "gitToken": "your-overleaf-git-token",
  "projectIds": [
    "project-id-a",
    "project-id-b"
  ]
}

项目 ID 取自 Overleaf 项目 URL 中的 <id>

编辑配置文件后,需要重启 DSH。插件启动时会生成内部的 .dsh-overleaf.projects.json。不要编辑这个生成文件。

同时,不要把 token 放入公开源码仓库或已发布包内容中。

典型用法

告诉模型要处理哪个项目:

Please work on Overleaf project project-id-a and read its main.tex.

模型会先调用:

mcp__overleaf__list_projects

然后把选中的项目 ID 作为 projectName 传给后续 Overleaf 工具。

写操作需要显式 commitMessage,并会向 Overleaf 推送一个 Git commit。

适用场景与注意

dsh-overleaf 适合需要让 DSH 读取、理解并通过 Git 修改多个 Overleaf 项目的场景。

当前插件不编译文档,不审查 PDF,也不自动化浏览器。

插件会以当前 DSH 进程权限运行,并访问配置中指定的 Overleaf 项目。安装前建议检查源码、依赖和 MIT 许可证,确认 token 不会进入公开仓库或发布产物。

链接

  • GitHub:https://github.com/fly233338/dsh-overleaf
羽毛球分组比赛记分
小程序二维码

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

小夜