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
羽毛球分组比赛记分
小程序二维码

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

小夜