dsh-overleaf:在 DeepSeek Harness 中嵌入 Overleaf 工作臺

前言

DeepSeek Harness (DSH) 的核心理念是「一切皆插件」,開發者可以在 Web Profile 中通過插件擴展能力。對於需要編寫和調試 LaTeX 文檔的用戶,在 DSH 的對話窗口中直接調用 Overleaf 編輯器能顯著提升效率。然而,Overleaf 默認的響應頭包含 X-Frame-Options 和 CSP frame-ancestors 限制,直接通過 <iframe> 嵌入會被瀏覽器攔截。dsh-overleaf 插件通過在 DSH 主進程中運行 HTTP/1.1 反向代理,解決了同源問題,將 Overleaf 工作臺以第四個標籤頁的形式嵌入到會話頁面中。

插件定位

dsh-overleaf 是由 gychen-NJU 維護的 DSH 客戶端插件。它爲 DSH Web 增加了一個嵌入式 Overleaf 工作臺標籤頁,允許用戶在保持同源上下文的情況下,直接在瀏覽器中編輯、編譯和預覽 LaTeX 文檔,同時通過選擇引用、光標插入和 LaTeX 輔助面板,打通了編輯器與 AI 編寫器之間的數據流。

核心功能

該插件主要包含以下能力:

  1. 嵌入式工作臺標籤頁
    在會話頁面的標籤欄增加第四個標籤 [Overleaf]。該標籤加載配置的 Overleaf 實例(支持 overleaf.com 和 tex.nju.edu.cn),保留文件樹、編輯器和 PDF 預覽功能,且不干擾下方原本的 DSH 編寫器。

  2. 同源反向代理
    爲了繞過瀏覽器的同源策略限制,插件在 DSH 進程內提供了一個靜態反向代理。瀏覽器請求通過 /overleaf-proxy/ 路徑轉發,目標由用戶配置。這確保了 iframe 與主界面共享同一源,從而允許瀏覽器層面的跨域交互。

  3. LaTeX 輔助面板
    在 Overleaf 標籤頁底部集成了三個功能面板:

    • AI 寫入:描述變更需求,Agent 生成內容後自動捕獲到面板,確認後插入編輯器光標位置。
    • 選中重寫:選中編輯器文本,讓 Agent 解釋或重寫,確認後替換原選區。
    • 編譯修復:在重新編譯後,讀取編譯日誌中的錯誤和警告,讓 Agent 提供修復方案。
  4. 雙向同步

    • .tex 文件同步:支持將當前 Overleaf 源保存到本地工作區,或將本地 .tex 文件上傳到 Overleaf。
    • .bib 文件同步:在輔助面板中提供“Update Overleaf .bib”功能,支持從本地工作區遞歸檢測 .bib 文件並更新 Overleaf 文檔。

使用方式

插件需要 DeepSeek Harness 0.1.7-rc.2 或 Web Profile 環境。安裝後,在會話頁面的標籤欄即可看到 [Overleaf] 標籤。

典型用法如下:

  1. 代碼生成與插入
    在聊天中描述代碼變更需求,讓 DSH Agent 生成內容,通過輔助面板的 [ ai-insert ] 功能捕獲內容並自動插入到編輯器當前光標位置。

  2. 文本交互
    在 Overleaf 編輯器中選中一段文本,請求 Agent 解釋或重寫,確認後替換原選區。

  3. 編譯排錯
    在 Overleaf 中重新編譯,若出現錯誤,通過 [ compile-fix ] 面板讀取日誌,讓 Agent 提供修復方案。

  4. 參考文獻同步
    在輔助面板中選擇“Update Overleaf .bib”,從本地工作區遞歸檢測 .bib 文件並更新 Overleaf 文檔。

注意事項

  • 版本兼容:插件依賴 DeepSeek Harness 0.1.7-rc.2 或更高版本,或 Web Profile。
  • 升級重啓:升級插件後,必須重啓 DSH 並重新加載嵌入式項目。
  • 配置即時生效:v1.0.0 版本中,修改代理目標等配置後保存即可立即生效,無需重啓 DSH。
  • 許可證:該插件採用 MIT 許可證。

結語

dsh-overleaf 通過反向代理技術,在 DSH 中實現了無縫的 Overleaf 集成,將 AI 輔助能力直接下沉到編輯器層面,適合重度 LaTeX 用戶使用。

插件目錄 | GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

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

小夜