前言¶
寫論文、投稿稿或技術報告時,很多人把 LaTeX 放在 Overleaf 上協作:瀏覽器裏改 main.tex,編譯結果也在雲端。換成 DeepSeek Harness(dsh)這類智能體運行時之後,問題就反過來了——模型默認只能看到本機工作區,看不到 Overleaf 項目裏的文件,更沒法按章節改一節、再推回去。
DeepSeek Harness 的設計是「一切皆插件」:模型、工具、會話、UI 都可以掛到 Cordis 內核上組合。社區裏已經有人把這件事接到 Overleaf:插件名叫 dsh-overleaf,由 fly233338 維護,分類在「開發與運行時」。它並不自己實現一套 Overleaf API,而是把現成的 OverleafMCP(npm 包 @mjyoo2/overleaf-mcp)作爲依賴,用 MCP stdio 拉起來,再把工具交給 dsh 宿主提供的 MCP Client。
需要先說清楚來源。下面介紹的安裝命令來自社區插件目錄頁,GitHub 倉庫與 npm 包可以交叉覈對。該目錄站點是獨立的社區索引,和 DeepSeek / 幻方沒有官方從屬關係,不要把它當成官方應用商店。
這是什麼¶
dsh-overleaf 是一個 MIT 許可的社區開源插件,主要語言是 JavaScript,當前倉庫版本爲 0.1.0。目錄頁收錄時 GitHub 星標爲 7,最近一次推送記錄在 2026-08-14。
一句話定位:用一份 Git token 和一組項目 ID,把多個 Overleaf 項目接到當前 dsh 進程裏,讓智能體在會話中列出項目、讀文件、看章節,並在明確給出提交說明後,通過 Git 把修改推回 Overleaf。
它解決的是「稿在雲端、智能體在本地」的脫節。目錄頁的簡介偏重瀏覽和讀取;倉庫 README 和源碼裏還包含寫入路徑。兩者並不矛盾:讀是日常用法,寫則走 Overleaf 的 Git 集成,並且強制要求 commitMessage。
核心能力¶
插件啓動時會解析 dsh-overleaf.config.json,生成 OverleafMCP 使用的內部項目表,然後用 Node 進程拉起 @mjyoo2/overleaf-mcp。工具組名稱是 overleaf,模型側會看到以 mcp__overleaf__ 開頭的調用。
結合倉庫說明和 OverleafMCP 文檔,當前能用到的能力大致如下:
1、列出已配置的多個 Overleaf 項目(list_projects)。
2、按擴展名列出項目文件,默認是 .tex(list_files)。
3、讀取指定路徑的文件內容(read_file)。
4、解析 LaTeX 文件中的章節結構,或按標題取出某一節(get_sections、get_section_content)。
5、查看項目狀態摘要(status_summary)。
6、把整個文件或某一節寫回 Overleaf;寫入必須帶 commitMessage,底層是 Git commit 再 push(write_file、write_section)。
插件還會往系統提示詞裏插入一段約定:先調用 mcp__overleaf__list_projects,後續工具把返回的項目 ID 當作 projectName,整段任務裏不要換項目;寫入必須給出明確的提交說明。
倉庫作者在 README 裏寫過自己的使用感受:比較適合通讀整個 LaTeX 工程、根據已有報錯去改源碼、以及全文統一術語和符號。這是維護者自述,不是第三方評測。另外,插件本身並不編譯文檔,所謂「修編譯錯誤」依賴你把日誌貼進會話,或模型根據源碼本身做靜態修改。
環境要求¶
倉庫 README 和 package.json 寫明瞭運行門檻:
- DeepSeek Harness 0.1.0-rc.5 或兼容版本。插件把
@deepseek-ai/dsh-mcp-client聲明爲 peerDependency,由宿主提供,不把 OverleafMCP 源碼拷進本倉庫。 - Node.js 22.19.0 或更高。
- 一個 Overleaf Git 集成 token。Overleaf 官方文檔寫明:Cloud 上的 Git 集成是付費功能,需要項目所有者具備相應訂閱或被授予該能力;token 在賬號設置裏創建,有效期一年,同一賬號最多 10 個,可用來訪問你有權限的全部 Git 項目。
沒有可用的 Git 集成時,插件即使裝上了也接不到項目。
安裝這個插件¶
社區目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端裏運行即可:
dsh plugin add github:fly233338/dsh-overleaf
dsh CLI 會從 GitHub 解析這個倉庫並裝進當前配置。需要可復現安裝時,按目錄頁的寫法固定 commit:
dsh plugin add github:fly233338/dsh-overleaf#commit
把 #commit 換成實際哈希。目錄頁也提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼,裝之前應檢查源碼倉庫和許可證。
倉庫 README 還提供了另外兩條路徑,適合從源碼調試或本機已安裝 dsh CLI 的情況。從 DeepSeek Harness 源碼目錄安裝:
cd /path/to/deepseek-harness
pnpm install
pnpm run build
pnpm dsh plugin --profile web add /path/to/dsh-overleaf
CLI 已在 PATH 上時:
dsh plugin --profile web add dsh-overleaf
dsh web
npm 上可以查到同名包 dsh-overleaf@0.1.0(2026-08-14 發佈)。日常使用仍以目錄頁的 github:fly233338/dsh-overleaf 爲準,避免自己拼接安裝來源。
填寫配置¶
插件讀取的是 index.js 同目錄下的 dsh-overleaf.config.json。文件不存在時,啓動會自動生成一份空模板。填入一個共享 token,以及每個項目一行 ID:
{
"gitToken": "your-overleaf-git-token",
"projectIds": [
"project-id-a",
"project-id-b"
]
}
項目 ID 來自 Overleaf 地址裏 /project/ 後面那一段,例如 https://www.overleaf.com/project/<PROJECT_ID>。Git token 在 Overleaf 賬號設置的 Git Integration 中創建,官方說明見:
https://docs.overleaf.com/integrations-and-add-ons/git-integration-and-github-synchronization/git-integration/git-integration-authentication-tokens.md
改完配置後要重啓 dsh。插件只在啓動時讀一次該文件,並生成內部使用的 .dsh-overleaf.projects.json。不要手改這份生成文件。插件不讀 .env,也不要求設置 OVERLEAF_PROJECT_ID 這類環境變量——token 和項目列表都走上面的 JSON。
token 不要寫進公開倉庫,也不要打進要發佈的包內容。OverleafMCP 自己的安全說明同樣適用:這個 token 對項目有讀寫權限,應當按密碼來保管。
和模型一起用¶
配置生效後,直接告訴模型要處理哪個項目。倉庫給出的示例是:
Please work on Overleaf project project-id-a and read its main.tex.
按插件注入的提示詞,模型應先調用 mcp__overleaf__list_projects,再把選中的 ID 作爲後續工具的 projectName。只讀可以停在 read_file 或 get_section_content;若要改某一節,需要走 write_section,並給出 commitMessage。OverleafMCP 文檔裏的對應參數是:filePath、sectionTitle、newContent(含章節標題)、commitMessage。
寫回不是改 Overleaf 網頁編輯器的未保存緩衝區,而是一次 Git 提交。官方 Git 集成還有一些自身限制,例如不支持分支、不支持 Git LFS、不保留可執行權限;從 Git 側重命名或移動帶批註的文件,還可能丟掉 Overleaf 上的 Track Changes。這些限制來自 Overleaf,不是這個插件額外加的,但寫入前值得知道。
適用場景與注意事項¶
比較適合已經把稿件放在 Overleaf、同時用 dsh 做閱讀、改寫和術語統一的人。多項目可以寫在同一份配置裏,共用一個 token,由一個 MCP 工具組切換。
當前版本明確不做這些事:
1、不在 Overleaf 上觸發編譯,也不下載或審閱 PDF。
2、不操作瀏覽器,不是 Overleaf 網頁的 RPA。
3、不把 OverleafMCP 源碼嵌進本倉庫;運行時依賴 npm 包 @mjyoo2/overleaf-mcp@1.0.0。
安裝前應自己打開倉庫看 index.js、package.json 和 LICENSE。插件與當前 dsh 進程同權運行,能讀到你寫進配置文件的 Git token。社區目錄頁的安全提示和倉庫 README 是一致的:先看源碼和許可證,需要可復現環境就釘死 commit。
小結¶
dsh-overleaf 做的事情很具體:把 Overleaf 的 Git 集成接到 DeepSeek Harness 的 MCP 工具鏈上,讓智能體在會話裏面對的是真實的 LaTeX 項目文件,而不是你手工粘貼進去的片段。讀、看章節、按提交說明寫回,這三步在 README 和依賴的 OverleafMCP 裏都能對上;編譯 PDF、審稿視圖、瀏覽器自動化則不在當前範圍。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-overleaf/
GitHub:https://github.com/fly233338/dsh-overleaf
底層 MCP:https://github.com/mjyoo2/overleafmcp
DeepSeek Harness:https://github.com/deepseek-ai/deepseek-harness