前言¶
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 编写器之间的数据流。
核心功能¶
该插件主要包含以下能力:
-
嵌入式工作台标签页
在会话页面的标签栏增加第四个标签[Overleaf]。该标签加载配置的 Overleaf 实例(支持overleaf.com和tex.nju.edu.cn),保留文件树、编辑器和 PDF 预览功能,且不干扰下方原本的 DSH 编写器。 -
同源反向代理
为了绕过浏览器的同源策略限制,插件在 DSH 进程内提供了一个静态反向代理。浏览器请求通过/overleaf-proxy/路径转发,目标由用户配置。这确保了 iframe 与主界面共享同一源,从而允许浏览器层面的跨域交互。 -
LaTeX 辅助面板
在 Overleaf 标签页底部集成了三个功能面板:- AI 写入:描述变更需求,Agent 生成内容后自动捕获到面板,确认后插入编辑器光标位置。
- 选中重写:选中编辑器文本,让 Agent 解释或重写,确认后替换原选区。
- 编译修复:在重新编译后,读取编译日志中的错误和警告,让 Agent 提供修复方案。
-
双向同步
- .tex 文件同步:支持将当前 Overleaf 源保存到本地工作区,或将本地
.tex文件上传到 Overleaf。 - .bib 文件同步:在辅助面板中提供“Update Overleaf .bib”功能,支持从本地工作区递归检测
.bib文件并更新 Overleaf 文档。
- .tex 文件同步:支持将当前 Overleaf 源保存到本地工作区,或将本地
使用方式¶
插件需要 DeepSeek Harness 0.1.7-rc.2 或 Web Profile 环境。安装后,在会话页面的标签栏即可看到 [Overleaf] 标签。
典型用法如下:
-
代码生成与插入
在聊天中描述代码变更需求,让 DSH Agent 生成内容,通过辅助面板的[ ai-insert ]功能捕获内容并自动插入到编辑器当前光标位置。 -
文本交互
在 Overleaf 编辑器中选中一段文本,请求 Agent 解释或重写,确认后替换原选区。 -
编译排错
在 Overleaf 中重新编译,若出现错误,通过[ compile-fix ]面板读取日志,让 Agent 提供修复方案。 -
参考文献同步
在辅助面板中选择“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 用户使用。