# @aloth/olcli 中文文档

规范地址：https://npmcn.com/package/%40aloth/olcli/

版本：0\.16\.1
npm 元数据更新时间：2026-11-07T08:15:27.760Z
中文译文更新时间：2026-11-06T21:43:05.185Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aloth/olcli
原文对照：https://npmcn.com/package/%40aloth/olcli/?lang=original
项目主页：https://github.com/aloth/olcli#readme
源码仓库：https://github.com/aloth/olcli

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：901 kB，95 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.18\.1
- 运行依赖：11 个
- 首次发布：2026-02-02T08:16:22.103Z
- 最新版本发布：2026-11-07T08:15:27.374Z
- 近 30 天下载量：3466（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：32（近 12 个月 32 个）

## 中文简介

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

## 安装

```sh
npm install @aloth/olcli
```

也可以使用：`pnpm add @aloth/olcli`、`yarn add @aloth/olcli`、`bun add @aloth/olcli`

## README

# olcli:外页 CLI

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

[![CI](https://github.com/aloth/olcli/actions/workflows/ci.yml/badge.svg)](https://github.com/aloth/olcli/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/@aloth/olcli.svg)](https://www.npmjs.com/package/@aloth/olcli) [![npm downloads](https://img.shields.io/npm/dm/@aloth/olcli.svg)](https://www.npmjs.com/package/@aloth/olcli) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23896243.svg)](https://doi.org/10.5281/zenodo.23896243) [![Glama MCP server](https://glama.ai/mcp/servers/aloth/olcli/badges/score.svg)](https://glama.ai/mcp/servers/aloth/olcli) [![AgentSkills](https://img.shields.io/badge/AgentSkills-compatible-blue)](https://agentskills.io/)

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

![olcli demo](https://npmcn.com/package/%40aloth/olcli/screenshots/demo.gif)

![olcli diff --latexdiff --pdf turns a local edit into a marked-up PDF](https://npmcn.com/package/%40aloth/olcli/screenshots/latexdiff.gif)

## 安装

```bash
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`。 。 。 .

## 快开始

```bash
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` 当找不到浏览器时.

### 用会话饼干签名

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

```bash
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 you@example.com`,提示密码。 脚本可以设置 `OVERLEAF_SESSION`,或 `OVERLEAF_EMAIL` 财务报告和审定财务报表 `OVERLEAF_PASSWORD`跳过 `olcli auth` 完全没有.

### 自主办

```bash
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则建造被忽略的文物([忽略规则](https://npmcn.com/package/%40aloth/olcli/docs/CONFIGURATION.md#ignoring-files)(中文(简体) )
-   **抖动** 本地文件在您推前与当前工程相对应,使用 `--exit-code` 用于CI([文件/DIFF.md](https://npmcn.com/package/%40aloth/olcli/docs/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](https://npmcn.com/package/%40aloth/olcli/docs/GIT-REMOTE.md)(中文(简体) )
-   **MCP 服务器** aI 代理; 每个先写字的工具[文献/磁共振](https://npmcn.com/package/%40aloth/olcli/docs/MCP.md)(中文(简体) )
-   **授权项目名称 :** 大小写不敏感,唯一前缀,“你是指”建议
-   **可脚本 :** `--json` 上面的列表,管子的纯输出, `NO_COLOR`,表示某种意思的退出代码

## 使用 Claude 代码、 编码和光标

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

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

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

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

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

## 图标

在被拉动的目录中( 它包含 `.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上的项目,所以在您覆盖它之前,您可以看到一个合作作者更新的编辑.

## 实例

```bash
# 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` 命名用于每个请求的代理.

```bash
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](https://npmcn.com/package/%40aloth/olcli/docs/CONFIGURATION.md)。 。 。 . `olcli --help` 列出变量.

## 图书馆

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

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

所有出口: [文献/图书馆](https://npmcn.com/package/%40aloth/olcli/docs/LIBRARY.md)。 。 。 .

## 解决问题

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

## 文档

-   [文件/DIFF.md](https://npmcn.com/package/%40aloth/olcli/docs/DIFF.md): diff、ladxdiff和CI门
-   [文献/磁共振](https://npmcn.com/package/%40aloth/olcli/docs/MCP.md): MCP 服务器、工具和写入确认
-   [文件/GIT-REMOTE.md](https://npmcn.com/package/%40aloth/olcli/docs/GIT-REMOTE.md): 作为 git 遥控器的外页
-   [文件/协商.md](https://npmcn.com/package/%40aloth/olcli/docs/CONFIGURATION.md): 证书、 环境变量、 超时、 忽略规则
-   [文献/图书馆](https://npmcn.com/package/%40aloth/olcli/docs/LIBRARY.md): 类型脚本库
-   [文献/档案](https://npmcn.com/package/%40aloth/olcli/docs/ARCHITECTURE.md):客户端如何与Overleaf交谈(没有公开Overleaf API,因此使用浏览器会话)

## 捐款

欢迎捐款。 见 [捐款额](https://npmcn.com/package/%40aloth/olcli/CONTRIBUTING.md) 本地设置,测试需要真实的Overleaf账户, 以及CI检查的拉取请求.

## 许可证

麻省理工学院 [亚历山大·洛斯](https://alexloth.com/)

## 常见问题

### @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 和提交记录判断。

