Skip to content

Releases: measureer/dsh-overleaf-sync

v0.1.1 — peer 范围修复

Choose a tag to compare

@measureer measureer released this 02 Nov 02:42

v0.1.1

修正 @deepseek-ai/dsh-tools 的 peer 范围——^0.2.0-rc.1 按 node-semver 规则匹配不到 0.2.1-rc.x(预发布版本只有在范围里存在同 major.minor.patch 元组、且自身带预发布标签的比较符时才被放行),在 npm 下装会撞 ERESOLVE。

改为显式分支:

"@deepseek-ai/dsh-tools": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.1 <0.3.0-0"

覆盖 0.2.0 正式版,以及 0.2.1 的预发布与正式版。

安装

dsh plugin --profile web add "https://github.com/measureer/dsh-overleaf-sync/releases/download/v0.1.1/dsh-overleaf-sync-0.1.1.tgz"

或从源码/仓库安装:

dsh plugin --profile web add github:measureer/dsh-overleaf-sync

无功能变更;lib/ 与客户端 bundle 在 prepack 时重新构建,测试 198/198 通过。

v0.1.0 — 首次发布

Choose a tag to compare

@measureer measureer released this 23 Oct 12:04

dsh-overleaf-sync v0.1.0

把本地 LaTeX 目录和 Overleaf 项目双向同步的 DeepSeek Harness 插件。首次发布。

能力

  • 双向同步:overleaf_pull / overleaf_push(默认 dry-run)+ 三方 diff;后台 overleaf_watch 主动模式(远端改落盘、本地改推送、断线退避重连)。
  • 冲突不覆盖:冲突副本落 *.remote-<ts>.<ext>,overleaf_resolve 支持 keep_local / keep_remote / merge。
  • 自动 git:首次 pull 成功后自动 git init + 首次提交(已在上层仓库内则不建嵌套仓库)。
  • GUI 两半:设置页(账号 / 项目 / 目录选择(系统对话框)/ 策略 / git / watch)+ 右侧边栏 tab(状态、待推送、Pull/Push、后台同步开关、逐条冲突解决、journal 尾巴,SSE 实时刷新,断流降级 15s 轮询)。
  • 双代际传输:官方 Overleaf(Socket.IO v4)与自建老版本 CE(Socket.IO 0.9,手写 RFC6455)自动探测切换;支持部署在子路径(https://host/overleaf/)。
  • 11 个工具 + 17 条 /overleaf/api/* 路由 + /overleaf/events(SSE)。

安装

dsh plugin add dsh-overleaf-sync          # 发布到 npm 后
# 或直接用本 Release 附带的 tgz:
dsh plugin add ./dsh-overleaf-sync-0.1.0.tgz

装好后重启 DSH:设置页出现「Overleaf 同步」,右侧边栏出现同名 tab。

已知限制

  • 自建实例若是 Socket.IO 0.9,同一账号同一项目只允许一条活动连接:浏览器开着该项目时插件会被拒(7:::1+0 client not handshaken),关掉该项目的浏览器标签即可。
  • 身份认证靠粘贴 session cookie(overleaf_session2 / sharelatex.sid / overleaf.sid),不做账号密码与 SSO。
  • 只同步已保存到磁盘的文件,不编译、不预览 PDF。

测试

node --test "test/**/*.test.mjs" —— 198 个用例通过(需先 tsc -p tsconfig.json 构建)。