DeepSeek Harness (DSH) 插件:dsh-better-overleaf

在 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

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

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

小夜