一键导入
overleaf-project-sync
当需要从 Overleaf 网页端项目下载 ZIP、用浏览器开发者工具获取 Overleaf Cookie 和 download/zip 链接、检查本地 LaTeX/论文目录是否与远端 Overleaf 一致、或把远端 Overleaf 文件覆盖同步到本地目录时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当需要从 Overleaf 网页端项目下载 ZIP、用浏览器开发者工具获取 Overleaf Cookie 和 download/zip 链接、检查本地 LaTeX/论文目录是否与远端 Overleaf 一致、或把远端 Overleaf 文件覆盖同步到本地目录时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
将 arXiv、旧会议、旧期刊或自定义 LaTeX 论文工程迁移到目标会议/期刊投稿模板;用于模板 A 到模板 B 的 LaTeX class/style/bibliography/单双栏转换、全匿名投稿检查、页数约束、图表公式排版、PDF 可视化检查、文本/图片/表格/公式守恒、模板标准文件守恒和最终压页。
当需要部署或训练 LLM/VLM 时使用;覆盖 vLLM OpenAI-compatible 服务、多模态输入限制、Qwen3.5 工具调用、thinking/reasoning 控制、CUDA Graph 策略,以及 ms-swift SFT/DPO/GRPO full training、Megatron 长序列训练、messages loss/loss_scale、数据校验、显存排错和训练检查。
当需要在 lab cluster 1 / PJLAB 上使用开发机、rlaunch worker 或 rjob 任务时使用;覆盖交互 SSH、安全边界、路径规范、代理、CPU/GPU 分区、训练/部署、服务访问和排错,并要求使用原始 rlaunch/rjob 命令。
Use when installing, configuring, running, embedding, deploying, or debugging InternScience ResearchHarness as a lightweight tool-using LLM agent runtime, including CLI runs, local frontend UI, OpenAI-compatible API server, Python API, tool selection, workspaces, traces, compaction, tests, and read-only source inspection.
Use when configuring or debugging the context-overlay OpenAI-compatible proxy for deterministic prompt/context injection, prompt patching, rule matching, request routing, rejection rules, skill_dir retrieval, streaming forwarding, and local or tunneled proxy validation.
当需要用 structai.read_pdf 将 PDF 文档解析成本地 Markdown、抽取图片资源,并处理 MinerU 解析缓存或代理重试问题时使用。
| name | overleaf-project-sync |
| description | 当需要从 Overleaf 网页端项目下载 ZIP、用浏览器开发者工具获取 Overleaf Cookie 和 download/zip 链接、检查本地 LaTeX/论文目录是否与远端 Overleaf 一致、或把远端 Overleaf 文件覆盖同步到本地目录时使用。 |
scripts/overleaf_sync.py 执行检查和同步,不要把一次性脚本复制到论文项目根目录。check。update --overwrite 时才把 Overleaf ZIP 中的文件复制到本地;update 不带 --overwrite 也只做 dry-run。overleaf_tmp.zip、overleaf_tmp/ 等临时文件。check,确认差异符合预期后再 update。git status --short 和 git diff --check;不要直接提交未审阅的远端覆盖结果。Ctrl + Shift + C,或用浏览器菜单打开开发者工具。Network 面板。Preserve log,避免从首页跳转到项目页时请求记录被清掉。/project/[PROJECT_ID] 的项目页请求;download/zip 的请求;www.overleaf.com 且状态码正常的请求。Headers。Request Headers 中找到 Cookie,复制 Cookie: 后面的值。overleaf_session2=... 这一段;如果下载返回 401、403 或登录态异常,再复制完整 Cookie 串重试。https://www.overleaf.com/project/[PROJECT_ID]/download/zip
也可以根据项目 URL 手动拼出 ZIP 下载链接:
项目页: https://www.overleaf.com/project/[PROJECT_ID]
ZIP 链接: https://www.overleaf.com/project/[PROJECT_ID]/download/zip
推荐使用环境变量,避免命令历史里直接出现长 Cookie:
export OVERLEAF_ZIP_URL='https://www.overleaf.com/project/[PROJECT_ID]/download/zip'
export OVERLEAF_COOKIE='overleaf_session2=[SESSION_VALUE]'
如果 Cookie 很长,也可以写到一个本地临时文件,但不要提交:
printf '%s' 'overleaf_session2=[SESSION_VALUE]' > .overleaf-cookie.local
在本地论文目录或 LaTeX 项目目录中运行:
python /path/to/overleaf-project-sync/scripts/overleaf_sync.py --target .
也可以显式传参:
python /path/to/overleaf-project-sync/scripts/overleaf_sync.py check \
--url 'https://www.overleaf.com/project/[PROJECT_ID]/download/zip' \
--cookie-file .overleaf-cookie.local \
--target .
输出含义:
Changed files:两边都有,但内容不同。Missing locally, present in Overleaf:Overleaf 有,本地没有。Extra locally, absent from Overleaf:本地有,Overleaf 没有。0;发现差异时返回 2,方便脚本化检查。先 dry-run:
python /path/to/overleaf-project-sync/scripts/overleaf_sync.py update \
--target . \
--dry-run
确认将复制的文件无误后再执行:
python /path/to/overleaf-project-sync/scripts/overleaf_sync.py update \
--overwrite \
--target .
更新行为:
--overwrite 时,远端 ZIP 中未被忽略的文件才会复制到本地同名路径。.git/、.codex/、.claude/ 等默认忽略路径。更新后必须检查:
git status --short
git diff --check
git diff --stat
默认忽略适合“本地 repo 中有维护脚本和 agent 文档,Overleaf 只保存论文源文件”的场景:
.git/、.codex/、.claude/、__pycache__/、node_modules/、latex_cache/、backups/、raw/、context/ 等。*.py、*.pyc、*.md、.gitignore、.gitmodules、AGENTS.md、CLAUDE.md、常见 LaTeX 编译产物。如果项目确实需要同步某些默认忽略内容,用:
python /path/to/overleaf-project-sync/scripts/overleaf_sync.py check \
--target . \
--no-default-ignores
如果只需要额外忽略某些文件:
python /path/to/overleaf-project-sync/scripts/overleaf_sync.py check \
--target . \
--ignore 'figures/generated/**' \
--ignore '*.bak'
HTTP 401 / HTTP 403:Cookie 过期、复制不完整、项目权限不足,重新从浏览器 Network 面板复制 Cookie。HTTP 403 且只复制了 overleaf_session2:检查 session 值是否少字符;如果仍失败,复制完整 Cookie 请求头重试。Missing URL:没有传 --url,也没有设置 OVERLEAF_ZIP_URL。Missing Cookie:没有传 --cookie / --cookie-file,也没有设置 OVERLEAF_COOKIE。--ignore,或确认默认忽略规则没有被 --no-default-ignores 关闭。check 分析差异。临时关闭代理示例:
env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY -u all_proxy -u ALL_PROXY \
python /path/to/overleaf-project-sync/scripts/overleaf_sync.py --target .
修改脚本后至少运行:
python -m py_compile overleaf-project-sync/scripts/overleaf_sync.py
python overleaf-project-sync/scripts/overleaf_sync.py --help