前言¶
在 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