← ClaudeAtlas

overleaf-project-synclisted

当需要从 Overleaf 网页端项目下载 ZIP、用浏览器开发者工具获取 Overleaf Cookie 和 download/zip 链接、检查本地 LaTeX/论文目录是否与远端 Overleaf 一致、或把远端 Overleaf 文件覆盖同步到本地目录时使用。
black-yt/skills · ★ 10 · AI & Automation · score 65
Install: claude install-skill black-yt/skills
# Overleaf Project Sync ## 核心原则 - 只从浏览器当前登录会话中临时复制 Overleaf Cookie;不要把 Cookie、项目 ID、下载链接或个人账号信息写入仓库。 - 用 `scripts/overleaf_sync.py` 执行检查和同步,不要把一次性脚本复制到论文项目根目录。 - 默认不写入本地目录;不传子命令时等价于 `check`。 - 只有显式执行 `update --overwrite` 时才把 Overleaf ZIP 中的文件复制到本地;`update` 不带 `--overwrite` 也只做 dry-run。 - 脚本会在系统临时目录下载和解压 ZIP,并在结束后自动清理;不要在项目根目录留下 `overleaf_tmp.zip`、`overleaf_tmp/` 等临时文件。 - 同步前先 `check`,确认差异符合预期后再 `update`。 - 同步后检查 `git status --short` 和 `git diff --check`;不要直接提交未审阅的远端覆盖结果。 ## 从 Overleaf 网页获取参数 1. 在浏览器打开 Overleaf 首页并保持登录。 2. 按 `Ctrl + Shift + C`,或用浏览器菜单打开开发者工具。 3. 切到 `Network` 面板。 4. 建议勾选 `Preserve log`,避免从首页跳转到项目页时请求记录被清掉。 5. 从 Overleaf 首页点击进入目标项目页,让浏览器产生项目相关请求。 6. 在 Network 请求列表中选择一个 Overleaf 请求。优先找这些请求: - 下载项目 ZIP 的请求; - URL 中包含 `/project/[PROJECT_ID]` 的项目页请求; - URL 中包含 `download/zip` 的请求; - 其他发往 `www.overleaf.com` 且状态码正常��请求。 7. 点开请求的 `Headers`。 8. 在 `Request Headers` 中找到 `Cookie`,复制 `Cookie:` 后面的值。 9. 通常只需要其中的 `overleaf_session2=...` 这一段;如果下载返回 `401`、`403` 或登录态异常,再复制完整 Cookie 串重试。 10. 在项目页找到下载项目 ZIP 的请求或链接,形如: ```text https://www.overleaf.com/project/[PROJECT_ID]/download/zip ``` 也可以根据项目 URL 手动拼出 ZIP 下载链接: ```text 项目页: https://www.overleaf.com/project/[PROJECT_ID] ZIP 链接: https://www.overleaf.com/project/[PROJECT_ID]/download/zip ``` 11. 把 Cookie 和 ZIP URL 作为环境变量或命令行参数传给脚本。 推荐使用环境变量,避免命令历史里直接出现长 Cookie: ```bash export OVERLEAF_ZIP_URL='https://www.overleaf.com/project/[PROJECT_ID]/download/zip' export OVERLEAF_COOKIE='overleaf_session2=[SESSION_VALUE