核心用法
Overleaf 是一款基于浏览器 Cookie 认证的 CLI 工具,用于在终端中直接操作 Overleaf 上的 LaTeX 项目。用户无需 API Token,仅需在 Chrome/Firefox 登录 Overleaf 并授权钥匙串访问,即可通过 pyoverleaf 命令完成项目浏览、文件读写、目录管理及整包下载。
主要功能
- 项目浏览:
pyoverleaf ls列出所有项目或指定项目内文件结构 - 文件操作:
read/write读写.tex文件,mkdir/rm管理目录与删除 - 批量下载:
download-project将整个项目打包为 ZIP 到本地 - Python API:针对
write命令的 WebSocket 稳定性问题,推荐直接使用 Python API 进行可靠上传,且能保留 Overleaf 版本历史
显著优点
1. 零配置认证:复用浏览器登录状态,无需额外 Token 或密码
2. 无缝本地集成:可直接与 Git、本地编辑器(如 VS Code)配合,实现 "本地编辑 + 云端编译" 工作流
3. 版本历史保留:通过 Python API 直接覆盖文件时,Overleaf 仍能记录变更,便于回滚
4. 自托管支持:通过环境变量或 --host 参数支持企业内部 Overleaf 实例
潜在缺点与局限
- macOS 钥匙串依赖:首次运行需用户手动授权 "Always Allow" 访问浏览器 Cookie,无法完全自动化
- CLI 写入不稳定:
write命令存在 WebSocket 问题,需回退到 Python API - 权限边界模糊:工具读取的是用户完整的浏览器 Cookie 存储,虽代码量小(v0.1.7 已审计),但仍存在过度授权风险
- 无细粒度权限:无法区分项目内的只读/编辑权限,依赖 Overleaf 本身的访问控制
适合人群
- 习惯本地 Vim/VS Code 编写 LaTeX,但需 Overleaf 云端编译与协作的学术用户
- 需要批量管理多个 Overleaf 项目、自动化备份的团队管理员
- 使用自托管 Overleaf 的企业/高校研究团队
常规风险
- Cookie 泄露风险:钥匙串授权后,恶意软件可能利用该权限窃取其他网站 Cookie(概率低,但攻击面存在)
- 误覆盖风险:
write直接覆盖远端文件,虽有版本历史,但误操作仍可能导致他人编辑冲突 - 合规限制:用户 "Eason" 明确禁止 Agent 自行推送到 Overleaf,每次推送需单独授权,反映该场景对变更可控性的严格要求