在 DeepSeek Harness (DSH) 的插件化架構下,智能體開發者常面臨 Overleaf 項目與本地開發環境割裂的問題。傳統的同步方式依賴手動複製或外部腳本,效率低下且容易出錯。dsh-better-overleaf 插件將 Overleaf 項目映射爲本地 Git 倉庫,直接集成進 DSH 側邊欄工作臺,解決了這一痛點。
是什麼¶
這是一個由 Hoemr 維護的插件,基於 dsh-better-sidebar 的 workbench 構建。它實現了一個 Overleaf 項目對應一個本地 Git 鏡像(位於 <workspace>/overleaf/<name>/),讓側邊欄的文件管理器、編輯器、預覽器以及 Git 面板直接操作 Overleaf 的內容。
該插件是一個熱插拔組件,依賴 dsh-better-sidebar 作爲可選 peer。當 dsh-better-sidebar 未安裝或未加載時,該插件保持靜默且無害。
核心功能¶
本地鏡像與雙向同步¶
每個 Overleaf 項目在本地對應一個真實的 Git 倉庫。
* Git 同步:支持通過 Git 倉庫進行完整的 pull(拉取)和 push(推送)。pull 使用 pull --ff-only 策略,push 使用 push HEAD 策略。Git 面板能顯示真實的差異。
* API 同步:支持通過 Overleaf API 快照拉取。當只有 Cookie 時,API 快照拉取會作爲 Git 拉取的降級方案。
* 注意:API 傳輸模式無法推送內容;如需推送,必須使用 Git bridge 憑證。
安全的登錄機制¶
採用直接-CDP(Chrome DevTools Protocol)登錄方式,無需下載 Playwright 或 ChromeDriver。
* 憑證處理:憑證通過 ctx.credentials 解析,絕不會進入瀏覽器包或路由 Payload。
* 持久化與臨時:默認使用持久化配置文件(~/.dsh/plugin-data/dsh-better-overleaf/browser-profile),登錄一次後後續無需重複輸入。也可設置 loginProfile: temporary 以在每次登錄後清理配置文件。
* 第三方瀏覽器支持:支持 CentBrowser、Brave、Vivaldi 等第三方 Chromium 瀏覽器。可通過配置 browserPath 指定瀏覽器可執行文件路徑,或通過 browserChannel 指定通道(auto、real 等)。
側邊欄深度集成¶
通過 dsh-better-sidebar 提供的能力,插件將 Overleaf 內容直接暴露在側邊欄中:
* 文件管理:在側邊欄資源管理器中查看和編輯文件。
* 預覽:利用側邊欄的圖片/PDF 預覽功能。
* 引用:支持在對話中使用 @ 引用 Overleaf 文件。
安裝與啓用¶
在安裝前,確保已安裝 dsh-better-sidebar(版本範圍 >=0.13.1 <0.25.0-0)。
1、執行以下命令安裝插件:
dsh plugin --profile desktop add dsh-better-overleaf@0.2.4
2、重啓 DSH 應用以加載插件。如果 dsh-better-sidebar 未安裝,插件不會掛載。
典型用法¶
1. 配置同步傳輸模式¶
在 DSH 的配置中設置 transport: auto。當環境變量中存在 OVERLEAF_GIT_TOKEN 時,優先使用 Git 傳輸;僅存在 Cookie 時降級爲 API 快照。
- insert:
- id: overleaf
name: dsh-better-overleaf
config:
transport: auto # auto | git | api
2. 配置瀏覽器路徑¶
指定第三方 Chromium 瀏覽器的可執行文件路徑,以確保登錄流程能找到目標瀏覽器。
- insert:
- id: overleaf
name: dsh-better-overleaf
config:
browserPath: '/path/to/your/chrome.exe'
3. 處理構建腳本忽略問題¶
如果 pnpm 報告 node-pty 的構建腳本被忽略,需要在配置文件中添加允許構建的選項。
allowBuilds: { node-pty: true }
適用場景與注意¶
適用場景:
* 需要使用 Git 管理且頻繁與 Overleaf 交互的開發者。
* 需要在 DSH 環境內直接預覽 PDF、編輯 LaTeX 文件並使用 @ 提及功能的智能體開發者。
注意事項:
* API 推送限制:使用 API 傳輸模式無法推送內容。推送必須依賴 Git bridge 憑證。
* pnpm 配置:如果終端功能(node-pty)無法使用,請檢查 pnpm-workspace.yaml 中的 allowBuilds 設置。
* 兼容性:插件依賴 dsh-better-sidebar,安裝前需確認該插件版本符合要求。
總結¶
dsh-better-overleaf 通過將 Overleaf 轉化爲本地 Git 鏡像並集成進 DSH 側邊欄,消除了手動同步的繁瑣。它利用直接-CDP 登錄和側邊欄能力,爲開發者提供了一個無縫的協作環境。
文檔與源碼:
* GitHub: https://github.com/Hoemr/dsh-better-overleaf
* 目錄: https://www.skillhub.cn/plugins/Hoemr/dsh-better-overleaf