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 仓库

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

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

小夜