@aloth/olcli

中文文档
0.16.1发布于 2026/11/07MITTypeScriptES Module构建来源已验证近 30 天下载 3466

外页 CLI:从您的终端中拉出,推出,同步并编译 LaTeX 项目. Git远程帮助器,MCP服务器和TypeScript库.

中文使用文档
文档目录16 节
  1. 安装
  2. 快开始
  3. 用会话饼干签名
  4. 自主办
  5. 特征
  6. 使用 Claude 代码、 编码和光标
  7. 图标
  8. 同步是如何工作的
  9. 实例
  10. 代理服务器
  11. 配置和全权证书
  12. 图书馆
  13. 解决问题
  14. 文档
  15. 捐款
  16. 许可证

olcli:外页 CLI

在您的终端上进行 Overleaf 工程, 而您的合作作者继续使用 Overleaf 网页编辑器 . 拉出,推出,同步,diff并编译出LaTeX项目;读取并回答评论;使用Overleaf作为git远程;给AI代理一个在写作前询问你的MCP服务器.

CI npm version npm downloads License: MIT

DOI Glama MCP server AgentSkills

  • 合作者改变不了什么. 他们不断在浏览器中编辑,评论和编译;你在Vim,VS代码,Emacs或代理中工作,并与同一个项目同步.
  • 免费Overleaf计划. 拉出,推出,同步,diff,ladexdiff,编译,PDF和输出下载,文件操作,zip,注释上市和git远程帮助器在一个免费的上页.com账户上被检查. 跟踪变化是例外:Overleaf本身只在溢价项目中提供.
  • 自办社区版 以同样的命令.
  • 没有金币,没有付费计划. olcli在正常的Overleaf会话中标记出来. Overleaf自己的Git集成是一个溢价特性;olcli的git远程帮助器没有与之相接.
  • 一个包: 命令行工具,git远程帮助器,MCP服务器和TypeScript库.

olcli demo

olcli diff --latexdiff --pdf turns a local edit into a marked-up PDF

安装

brew install aloth/tap/olcli      # Homebrew (macOS, Linux)
npm install -g @aloth/olcli       # npm (any platform, Node 20.18.1 or newer)

在与 Nix 的 Linux 上 : nix run github:aloth/olcli -- --help不安装 : npx @aloth/olcli list对于通过特工技能的AI特工: npx skills add aloth/olcli。 。 。 .

快开始

olcli auth --browser          # sign in through a browser window
olcli list                    # your projects
olcli pull "My Thesis"        # download into ./My_Thesis
cd My_Thesis
vim main.tex
olcli diff                    # what would change on Overleaf
olcli push                    # upload your edits
olcli pdf                     # compile on Overleaf and download the PDF

olcli auth --browser 在 Chrome, Edge, Chromium 或 Brave 中以新的临时配置文件打开登录页面( 绝不是你自己的), 等待您已经签名, 只保留会话 cookie 。 它与SSO,Google,ORCID和两个因子的登录器合作,而olcli从不看到你的密码. 它需要22号或更新; 设置 OLCLI_BROWSER 当找不到浏览器时.

没有支持的浏览器, 或者没有显示的服务器 ? 粘贴饼干:

olcli auth --cookie           # prompts, input stays hidden
pbpaste | olcli auth --cookie -   # or read it from stdin
olcli auth status             # instance, account, where the credential comes from

去拿你的会话饼干: 在浏览器中签名到Overleaf,打开开发工具(F12),然后打开应用程序(Chrome, Edge)或存储(Firefox),Cookies,并复制其值 overleaf_session2 (单位:千美元)overleaf.sid (关于大多数自主办实例)。 命令线上的一个值也起作用了 但是在你的空壳史上着陆了.

自行主办而无需重新开放的 olcli auth --email [email protected],提示密码。 脚本可以设置 OVERLEAF_SESSION,或 OVERLEAF_EMAIL 财务报告和审定财务报表 OVERLEAF_PASSWORD跳过 olcli auth 完全没有.

自主办

olcli config set-url https://latex.example.org
olcli config set-cookie-name overleaf.sid
olcli auth --browser

或者每个命令: olcli --base-url https://latex.example.org list。 MCP 服务器和 git 远程帮助读取 OVERLEAF_BASE_URL 财务报告和审定财务报表 OVERLEAF_COOKIE_NAME。 。 。 .

特征

  • 拉,推,同步 带有嵌入式文件夹的本地删除 sync,而LaTeX则建造被忽略的文物(忽略规则(中文(简体) )
  • 抖动 本地文件在您推前与当前工程相对应,使用 --exit-code 用于CI(文件/DIFF.md(中文(简体) )
  • 标记修改 : olcli diff --latexdiff --pdf 在Overleaf上建立通过和下划线的PDF顾问和日记,不需要本地TeX(需要) latexdiff (关于路径)
  • 编译和下载 pDF,一个单一的根文档(-r appendix.tex),或汇编产出,例如 .bbl 阿尔谢夫
  • 文件 : 上传、下载、删除、重命名并按路径移动; 将项目下载为 zip
  • 审查评论: 列表、添加、答复、解析、重开和删除注释线索
  • 已跟踪更改 : 清单中建议的插入和删除、接受或拒绝。 轨迹变化是一个Overleaf溢价特征:只有在所有者有溢价计划的项目中才能使用,任何计划的特邀合作者然后都可以使用. 在其他项目中,没有跟踪更改清单
  • 项目: 按模式创建、重命名和批量重命名(干运行,除非 --apply(中文(简体) )
  • Git 远程 : git clone overleaf::https://www.overleaf.com/project/<id> (单位:千美元)文件/GIT-REMOTE.md(中文(简体) )
  • MCP 服务器 aI 代理; 每个先写字的工具文献/磁共振(中文(简体) )
  • 授权项目名称 : 大小写不敏感,唯一前缀,“你是指”建议
  • 可脚本 : --json 上面的列表,管子的纯输出, NO_COLOR,表示某种意思的退出代码

使用 Claude 代码、 编码和光标

olcli 运送一个MCP服务器, olcli-mcp添加到 .mcp.json (Claude代码), .cursor/mcp.json (Cursor)或您的客户端的 MCP 设置 :

{
  "mcpServers": {
    "overleaf": {
      "command": "npx",
      "args": ["-y", "--package", "@aloth/olcli", "olcli-mcp"]
    }
  }
}

代码在 ~/.codex/config.toml (或 .codex/config.toml 在信任的项目中:

[mcp_servers.overleaf]
command = "npx"
args = ["-y", "--package", "@aloth/olcli", "olcli-mcp"]

服务器使用存储的会话 olcli auth; 设置 OVERLEAF_SESSION 内 env 如果你喜欢的话 每个修改项目(推出一个文件,删除,重命名,注释,接受或拒绝被跟踪的修改,创建一个项目)的工具都会显示它会做什么,只有在客户端确认后才写出. 服务器告诉代理商,注释和文档文本等项目内容是数据而不是指令. 细节,完整的工具列表和没有确认支持的客户端: 文献/磁共振。 。 。 .

图标

在被拉动的目录中( 它包含 .olcli.json),项目论证可以省去. olcli <command> --help 以示例显示每个选项.

命令说明
olcli auth签名于 : --browser, (中文(简体) ), --cookie,或 --email
olcli auth status实例、 账户、 证书来源; 未签名的出处 1
olcli logout清除存储的证书
olcli list列出项目(--json, (中文(简体) ), -n(中文(简体) )
olcli info [project]项目细节和文件列表
olcli project create <name>创建空白或示例项目( E)--template(中文(简体) )
olcli project rename <new> [project]重命名工程本身
olcli project rename-bulk按模式重命名许多工程( 干运行, 除非 --apply(中文(简体) )
olcli pull [project] [dir]下载工程文件
olcli push [dir]上传本地更改( E)--dry-run, (中文(简体) ), --all, (中文(简体) ), --delete(中文(简体) )
olcli sync [dir]推后,宣传本地删除(--no-delete, (中文(简体) ), --dry-run(中文(简体) )
olcli diff [project] [dir]与现场项目相对应的内容 diff--name-only, (中文(简体) ), --exit-code, (中文(简体) ), --latexdiff, (中文(简体) ), --pdf(中文(简体) )
olcli upload <file> [project]上传一个文件( E)--to <path>(中文(简体) )
olcli download <file> [project]下载一个文件( E)-o(中文(简体) )
olcli delete <file> [project]删除一个文件或文件夹(别名) rm(中文(简体) )
olcli rename <old> <new> [project]重命名或移动文件或文件夹(别名) mv(中文(简体) )
olcli zip [project]将工程下载为 zip 归档
olcli compile [project]编辑 :-r <root.tex>(中文(简体) )
olcli pdf [project]编译和下载 PDF (-o, (中文(简体) ), -r(中文(简体) )
olcli output [type]下载编译输出, 如 bbl 或者说 log (单位:千美元)--list(中文(简体) )
olcli comments list [project]清单评论意见--status, (中文(简体) ), --context, (中文(简体) ), --changes, (中文(简体) ), --json(中文(简体) )
olcli comments add <file> <message>对所选文本的评论
olcli comments reply <id> <body>对线索的答复
olcli comments resolve <id>解析线程( E)reopen 财务报告和审定财务报表 delete 也一样)
olcli changes accept <ids...>接受跟踪更改( Primium 项目)
olcli changes reject <ids...>拒绝跟踪更改; 预览, 除非 --yes
olcli config set-url <url>设置实例 URL(get-url, (中文(简体) ), set-cookie-name, (中文(简体) ), set-timeout(中文(简体) )
olcli ignored [dir]显示无效的忽略模式

全球选项: --base-url <url>, (中文(简体) ), --cookie-name <name>, (中文(简体) ), --timeout <ms>, (中文(简体) ), --verbose (打印每个 HTTP 请求), --no-color。 。 。 .

同步是如何工作的

  • pull 下载每个文件并跳过自上次拉出以来更改的本地文件; --force 覆盖他们.
  • push 上传自上次拉起的文件并保留文件夹结构. push --dry-run 列出他们; olcli diff 显示实际的不同.
  • sync 拉出,然后推出。 本地编辑在更新时获胜, 本地删除的文件在 Overleaf 上被删除(--no-delete 选择退出; sync --dry-run --verbose 以备预览).
  • 在推前, olcli diff 比较目前Overleaf上的项目,所以在您覆盖它之前,您可以看到一个合作作者更新的编辑.

实例

# Daily thesis workflow
olcli pull "PhD Thesis" thesis && cd thesis
olcli sync && olcli pdf -o draft.pdf

# Marked-up PDF of your local revision for your advisor
olcli diff --latexdiff --pdf

# Fail a CI job when the paper on Overleaf drifted from the repository
olcli diff --exit-code --name-only

# Review comments, with two lines of context
olcli comments list --status open --context 2

# arXiv submission prep
olcli output bbl -o main.bbl
olcli zip -o arxiv-submission.zip

# Back up every project
for proj in $(olcli list --json | jq -r '.[].name'); do
  olcli zip "$proj" -o "backups/${proj}.zip"
done

代理服务器

奥尔克利荣誉 HTTPS_PROXY, (中文(简体) ), HTTP_PROXY, (中文(简体) ), ALL_PROXY 财务报告和审定财务报表 NO_PROXY (小写姓名优先) 每一个请求。 https://例是通过CONNECT隧道到达的,因此代理从不看到会话饼干. localhost 和回路地址总是直接到达. --verbose 命名用于每个请求的代理.

HTTPS_PROXY=http://proxy.example.org:3128 olcli list

配置和全权证书

全权证书按以下顺序宣读: OVERLEAF_SESSION,则 .olauth 在当前目录中(由 olcli auth --save-local),然后是全局配置. olcli auth status 显示使用哪个和它居住的地方。 会话 cookie 以纯文本存储; 密码仅在您通过时保存 --save-password。 。 。 . olcli logout 清除全局配置和 .olauth。 。 。 .

每个环境变量、超时设置和被忽略的规则(.olignore, (中文(简体) ), .olignore.local)在下文中叙述 文件/协商.md。 。 。 . olcli --help 列出变量.

图书馆

import { OverleafClient } from '@aloth/olcli';

const client = await OverleafClient.fromSessionCookie(cookie);
const projects = await client.listProjects();
const pdf = await client.downloadPdf(projects[0].id);

所有出口: 文献/图书馆。 。 。 .

解决问题

  • "会议过期或无效. 运行: olcli 认证: 会话过期; 再次签名 . olcli auth status 告诉你使用了哪种证书.
  • 大型项目的超时: olcli config set-timeout 60000,或 --timeout 60000 一次 一次吗.
  • 汇编失败 : 页面编辑器显示完整日志; olcli output log 下载它.
  • 还有什么: 以 --verbose ,并将输出(没有饼干)包括在一期中.

文档

捐款

欢迎捐款。 见 捐款额 本地设置,测试需要真实的Overleaf账户, 以及CI检查的拉取请求.

许可证

麻省理工学院 亚历山大·洛斯

版本与发布记录

@aloth/olcli 共发布 32 个版本,首次发布于 2026/02/02;过去 12 个月发布了 32 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.16.1latest2026/11/07今天
0.16.02026/11/07今天
0.15.32026/11/034 天前
0.15.22026/10/2612 天前
0.15.12026/10/2315 天前
0.15.02026/10/2118 天前

关于 @aloth/olcli 的常见问题

@aloth/olcli 是什么?

外页 CLI:从您的终端中拉出,推出,同步并编译 LaTeX 项目. Git远程帮助器,MCP服务器和TypeScript库.

如何安装 @aloth/olcli?

在项目目录运行 npm install @aloth/olcli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 olcli、olcli-mcp、git-remote-overleaf,可以用 npx olcli 直接运行。

@aloth/olcli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aloth/olcli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aloth/olcli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.18.1。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aloth/olcli 可以商用吗?

@aloth/olcli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aloth/olcli 的下载量有多少?

根据 npm 官方下载统计,@aloth/olcli 在 2026/10/06 – 2026/11/04 这 30 天内被下载 3,466 次,日均约 116 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aloth/olcli 还在维护吗?

最新版本 0.16.1 发布于 2026/11/07(今天);至今共发布 32 个版本,其中过去 12 个月发布了 32 个;首次发布于 2026/02/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。