前言¶
在 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.jsonOverleafMCP 项目配置。
运行要求¶
先确认环境满足以下条件:
- 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