seek://plugins/dsh-overleaf
dsh-overleaf Overleaf 工作台
#overleaf #latex #reverse-proxy #writing #academic
TL;DR
据其 README,dsh-overleaf 是 DeepSeek Harness Web 的嵌入式 Overleaf 工作台插件:在会话页顶部的「对话 / 轨迹 / 上下文」旁新增 Overleaf 标签页,经宿主进程内的同源反向代理加载你的 Overleaf 站点(公共云或自建),页面完整可操作——编辑、编译、PDF 预览都在对话里,原生 DSH composer 仍在下方。双侧之间有桥:编辑器里选中文字可作结构化引用插入对话,agent 生成的 LaTeX 经审核后写入编辑器光标处;辅助面板含 AI 写作、选区问答与替换、编译日志修复与 .bib/.tex 双向同步。反向代理剥掉框架头、只转发到配置的上游源,才让这一切可行。
dsh-overleaf 在 DSH 会话页嵌入一个完整的 Overleaf 工作台:宿主进程内的反向代理以同源方式伺服你的 Overleaf 站点——拦截普通 iframe 的框架头只为唯一配置源剥离——编辑、编译与 PDF 预览在原封不动的 composer 旁全程可用。编辑器选区化作结构化引用流入对话,agent 写的 LaTeX 审核后写回光标,辅助面板还管编译日志修复与 overleaf.com / TeXPage 双站的 .bib/.tex 双向同步。据其 README:仅 GitHub 安装(npm 名属另一项目),目标运行时 0.1.7-rc.2 web profile,路由全部锁回环。
速览
- install
- dsh plugin --profile web add github:gychen-NJU/dsh-overleaf
- license
- MIT
- note
- 据其 README:npm 包名 dsh-overleaf 已被另一项目占用,本插件不发 npm、仅 GitHub 安装(仓库内置构建产物);DSH 桌面壳需 desktop 分支。目标运行时 0.1.7-rc.2 web profile,peer 范围自 0.1.0-rc.5 起走旧设置入口。
要点
- 据其 README,形态是第四个会话页标签(id overleaf、order 30,标签栏出现即可见):工具栏有刷新 / 新窗口 / 登录 / Cookie / 辅助面板;iframe 里的 Overleaf 编辑器、编译器与 PDF 预览完整可用,可分屏「源码 + PDF」并 Recompile;视图只替换消息区;composer、工作区记录与交付物都不动
- 反向代理的必要性据其 README「Why it exists」:Overleaf 每个响应都发 X-Frame-Options / CSP frame-ancestors,直接 iframe 会被浏览器拒绝;插件在 DSH 宿主进程内跑一个 HTTP/1.1 反向代理,浏览器流量走 /overleaf-proxy/<原路径> 转发到配置的上游——单一固定源、由配置锁定,没有开放 SSRF 面;同源后浏览器级桥才可行
- 选择引用与光标写入(R5/R6):iframe 内 selectionchange 触发浮动引用按钮,点击经官方 inputTriggers.registerSource({name:'quote-ref'}) 管道插入结构化引用芯片(无该能力时回退纯文本块引用);模板与 agent 生成的 LaTeX 经 CodeMirror API 写入活动光标(带探测与可编辑回退路径),agent 输出先进审核框再插入
- 辅助面板三件套加同步:ai-insert(描述改动、agent 写作、自动捕获输出进自定义内容框、审核后插入光标)、selection-ai(选中提问/改写、审核后替换,默认开漂移检查)、compile-fix(读 Recompile 后编译日志的错误与警告、让 agent 对当前文档提修复);.bib 同步自动递归检测工作区文献或接受工作区内路径;当前 .tex 双向同步默认 Overleaf → 本地,反向整文档替换需显式确认并过文档 ID、内容版本、修改前快照和保存事件校验
- 安全模型据其 README:全部插件路由在 socket 层锁回环,非回环调用者在读 body 前即 403;代理只指向唯一配置源,URL 解析拒绝 scheme/path/host 覆写;框架保护仅对该用户选定上游放宽、其余响应头原样透传;cookie 转发但绝不在 API 响应中回显,登出立即删除凭据;README 提醒把 baseUrl 当作持有 LaTeX 会话凭据的工具对待,只在信任边界内的私有/内部实例上配置
常见问题
为什么不用普通 iframe 直接嵌 Overleaf?
据其 README:Overleaf 每个响应都带 X-Frame-Options / CSP frame-ancestors,浏览器会拒绝直接 iframe;插件在 DSH 宿主进程内跑同源反向代理(/overleaf-proxy/ 前缀)剥掉框架头、重写小体积 HTML 的链接与资源,只指向配置的唯一上游源,没有开放 SSRF 面。
支持哪些 Overleaf 站点?
据其 README:v1.0.0 巩固了对 overleaf.com 与 TeXPage(tex.nju.edu.cn)的双站支持——Overleaf 走文档 ID 与保存事件校验,TeXPage 单独适配其文件树、CM6 编辑器与服务端读回;两站都仅更新唯一同名 .bib 并保留写入前快照。
怎么安装?桌面客户端能用吗?
据其 README:npm 包名 dsh-overleaf 已被另一项目占用,本插件不发 npm——从 GitHub 安装(仓库提交了预构建 lib/,git 安装无需构建步骤、无需 allowBuilds);DSH 桌面壳需要 desktop 分支(修复 dsh-app:// 路由与 TeXPage 的 Socket.IO origin 构造),桌面壳之外的行为两个分支完全一致。
官方参考
- docsRepository ↗
- docsREADME (English) ↗
- docs中文 README ↗
- docsOverleaf ↗
嵌入收录徽章
[](https://dshseek.com/zh/plugins/dsh-overleaf/)徽章只显示该条目最近一次人工核验的月份——仅随重新核验变化,不随每日统计波动。