# @capysc/cli 中文文档

规范地址：https://npmcn.com/package/%40capysc/cli/

版本：0\.9\.14
npm 元数据更新时间：2026-11-06T18:28:45.617Z
中文译文更新时间：2026-11-09T05:18:36.496Z
软件包许可：AGPL-3\.0-only

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

原始 npm 页面：https://www.npmjs.com/package/%40capysc/cli
原文对照：https://npmcn.com/package/%40capysc/cli/?lang=original
项目主页：https://docs.capy.sc/
源码仓库：https://github.com/capysc/capy-cli

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

- 包体积（解压后）：8.4 MB，411 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.0\.0
- 运行依赖：8 个
- 首次发布：2026-04-27T22:53:51.588Z
- 最新版本发布：2026-11-06T18:28:45.413Z
- 近 30 天下载量：8113（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：26（近 12 个月 26 个）

## 中文简介

Capy CLI - 人工智能时代的秘密操作器

## 安装

```sh
npm install @capysc/cli
```

也可以使用：`pnpm add @capysc/cli`、`yarn add @capysc/cli`、`bun add @capysc/cli`

## README

  
  

# ![Capy](https://npmcn.com/package/%40capysc/cli/docs/images/logo-light.svg)

  
  

**就像Git,为秘密而建.**  
  
[安装](https://npmcn.com/package/%40capysc/cli/#readme-install) • 妇女 [快速启动](https://npmcn.com/package/%40capysc/cli/#readme-quickstart) • 妇女 [文档](https://docs.capy.sc/) • 妇女 [更改日志](https://github.com/capysc/capy-cli/releases) • 妇女 [问题](https://github.com/capysc/capy-cli/issues)

[![Continuous integration status](https://github.com/capysc/capy-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/capysc/capy-cli/actions/workflows/ci.yml) [![Test suite status](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fcapysc%2Fcapy-badges%2Fmain%2Fcapy-cli-tests.json)](https://github.com/capysc/capy-cli/actions/workflows/ci.yml) [![Latest npm package version](https://img.shields.io/npm/v/@capysc/cli)](https://www.npmjs.com/package/@capysc/cli) [![Minimum Node.js version: 18](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org/) [![License: AGPL-3.0](https://img.shields.io/badge/license-AGPL--3.0-blue)](https://npmcn.com/package/%40capysc/cli/LICENSE)

Capy是一个秘密的工具链,有git风格的原始人——分支,同步,部署,撤销——在你的机器上加密端到端,对于人类和特工来说完全可以撤销.  `.env` 成为版本状态 您的团队可以承诺, 滚回, 离船而不旋转一个键.

→ [将 Capy 与 Doppler 、 Infisical 、 AWS 保密管理器和 SOPS 相比较](https://docs.capy.sc/comparisons)。 。 。 .

## 安装

其最基本形式的Capy只是一种CLI:没有很长的签注,帐号设置,或SDK导入.

```bash
npm install -g @capysc/cli
```

或与文云:

```bash
bun add -g @capysc/cli
```

或与自来士:

```bash
brew install capysc/tap/capy
```

## 快速启动

```bash
capy                              # sync secrets
capy edit                         # inspect & edit secrets in a TUI
capy invite rachael@tyrell.com    # add a teammate
capy kick roy@tyrell.com          # remove a teammate
capy run -- npm run dev           # run with decrypted secrets
capy deploy                       # ship to prod
```

这就是整个循环。 编辑一个秘密, 运行 `capy` 这一切只是工作.

## 演示

[https://github.com/user-attachments/assets/60800e68-6101-4f1a-9176-6b2d58a6fd61 (中文(简体) )](https://github.com/user-attachments/assets/60800e68-6101-4f1a-9176-6b2d58a6fd61)

## 为什么使用 Capy

-   **我们拿着密码 你拿着钥匙 传票对我们没什么好处.** 我们的服务存储会员记录和密码文本。 我们不持有你的主钥匙, 你的工程钥匙, 或任何简单的文字。 妥协我们的服务 或您的本地价值 没有任何用处.
-   **撤销是密码学,不是数据库旗.** `capy kick` 让被踢的用户本地化 `key.enc` 密码学上的惰性。 其余成员继续使用相同的密钥;没有旋转级联.
-   **你的密码是香草 `process.env`。 。 。 .** 没有 SDK 导入, 没有守护进程运行, 没有仪表板维护. `capy run` 将解密的值注入到节点,Python,Go,Ruby,或者任何读取env vars的过程.
-   **匹配的分会.** Capy和它的分枝一起运行 并致力于 `keep.lock` 显出. 每一根树枝被钉在卡比树枝上 所以秘密用你的密码传送.
-   **来源:CLI.** AGPL-3.0. 代码可审计于 GitHub. ()[AGPL对于你的团队来说意味着什么.](https://docs.capy.sc/using/license)(中文(简体) )

## 如何运作

Capy是一个零信任的秘密管理者: 我们从加密开始 `.env` 在你的机器上。 加密的秘密然后同步到我们的服务, 你的团队破解他们自己的机器。 我们从来没有看到 简单的文字在任何时间.

![Two-share zero-trust model](https://npmcn.com/package/%40capysc/cli/docs/images/01-trust.svg)

解密是一个双方操作: 我们的服务剥取您的外包装 `key.enc`你的机器会剥去内脏 双方都没有钥匙.

完整的威胁模式见 [文件.capy.sc/内部/零信任](https://docs.capy.sc/internals/zero-trust)关于密码构造,见 [文件.capy.sc/内部/计算机](https://docs.capy.sc/internals/cryptography)。 。 。 .

## 源代码加密

大多数秘密管理者在服务器上休息时加密. Caby是少数在源代码加密的人之一. 你的每一个值 `.env` 这是你机器上的密码 之前,任何它过线, 使Capy 一个独特的零信任,端到端 秘密控制系统 为人类和特工.

![A .env file viewed in vi, with every value as a capy:resourceId:ciphertext snippet](https://npmcn.com/package/%40capysc/cli/docs/images/encrypted-env.png)

每个值都是 `capy:{resourceId}:{ciphertext}` 片段只有你的团队可以解密,但只有足够多的字符包围了密码文本,你才能识别项目. Plaintext 只存在于进程内存中, 而 `capy run` 你的应用程序已经诞生了.

## 编辑机密

改变价值的两种方式。 两者最终都会被加密并同步——选择任何合适的时机.

### 编辑 `.env` 到位

打开 `.env` 在编辑器中覆盖一个 `capy:...` 带有新平话值的片段。 下一个 `capy` 同步重加密任何更改和更新 `keep.lock`。 。 。 .

![.env opened in vi with JWT\_SECRET being edited in place alongside other capy:resourceId:ciphertext snippets](https://npmcn.com/package/%40capysc/cli/docs/images/edit-env-vi.png)

当你已经在你的编辑器, 粘贴一个新的键 从仪表盘, 或脚本块变化.

### 通过 TUI 编辑(`capy edit`(中文(简体) )

`capy edit` 打开当前分支上每个变量的交互式表格,其中可看到同步状态、漂移和冲突。 显示一个值 `r`编辑 `e`导航 `↑↓`退出 `q`。 。 。 .

![capy edit TUI showing a table of variables with sync status and a JWT\_SECRET detail panel](https://npmcn.com/package/%40capysc/cli/docs/images/edit-tui.png)

当你想看到整个分支的漂移时,在不接触文件的情况下编辑一个变量,或者在部署前检查什么是同步的.

## 图标

| 命令 | 说明 |
| --- | --- |
| [`capy`](https://docs.capy.sc/cli/capy) | 同步机密 。 初始化为首跑 . |
| [`capy run -- <cmd>`](https://docs.capy.sc/cli/run) | 运行一个被输入解密的指令. |
| [`capy edit`](https://docs.capy.sc/cli/edit) | 在互动的TUI中检查并编辑机密. |
| [`capy status`](https://docs.capy.sc/cli/status) | 显示本地、被绑和远程之间的漂移. |
| [`capy push`](https://docs.capy.sc/cli/push) | 推动本地变化. 运行相同的同步 `capy`,所以任何差异先解决. |
| [`capy lock`](https://docs.capy.sc/cli/lock) | 锁定本地密钥, 因此下次需要密码句 . |
| [`capy deploy`](https://docs.capy.sc/cli/deploy) | 生成部署符并走过平台设置. |
| [`capy connect <provider>`](https://docs.capy.sc/cli/connect) | 从供应商处取出证书 `.env`。 。 。 . |
| [`capy rotate [var]`](https://docs.capy.sc/cli/rotate) | 旋转管理下的证书 . |
| [`capy invite <email>`](https://docs.capy.sc/cli/invite) | 邀请一个队友. |
| [`capy redeem <code>`](https://docs.capy.sc/cli/redeem) | 重装一个邀请码. |
| [`capy transport`](https://docs.capy.sc/cli/transport) | 把你的账户转到另一台机器. |
| [`capy kick <email>`](https://docs.capy.sc/cli/kick) | 取出队友. |
| [`capy users`](https://docs.capy.sc/cli/users) | 互动成员管理. |
| [`capy projects`](https://docs.capy.sc/cli/projects) | 在 Org 及其分支列出项目 . |
| [`capy secrets`](https://docs.capy.sc/cli/secrets) | 列出在 org 中按值组合的每个秘密名称( 从未显示值) . |
| [`capy org`](https://docs.capy.sc/cli/org) | 列出或切换组织. |
| [`capy branch`](https://docs.capy.sc/cli/branch) | 列出或切换分行. |
| [`capy checkout <branch>`](https://docs.capy.sc/cli/checkout) | 切换分枝. `-b` 创建. |
| [`capy grant-branch`](https://docs.capy.sc/cli/grant-branch) | 允许进入受保护的分支. |
| [`capy revoke-branch`](https://docs.capy.sc/cli/revoke-branch) | 撤销分支访问. |
| [`capy recover`](https://docs.capy.sc/cli/recover) | 从恢复短语恢复访问权限 . |
| [`capy end-recover`](https://docs.capy.sc/cli/end-recover) | 结束复原会议. |
| [`capy decrypt`](https://docs.capy.sc/cli/decrypt) | 解密机密下线(仅所有者). |
| [`capy use <profile>`](https://docs.capy.sc/cli/use) | 在配置文件间切换 . |
| [`capy profile`](https://docs.capy.sc/cli/profile) | 管理 CLI 配置文件 . |
| [`capy byoc [url]`](https://docs.capy.sc/cli/byoc) | 连接到自办的 Capy 实例 . |
| [`capy info`](https://docs.capy.sc/cli/info) | 显示当前会话信息 . |
| [`capy agents`](https://docs.capy.sc/cli/agents) | 告诉此repo中的AI编码代理如何使用 Capy(writes AGENTS.md / CLAUDE.md). |
| [`capy logout`](https://docs.capy.sc/cli/logout) | 清除本地会话 . |
| [`capy cleanup`](https://docs.capy.sc/cli/cleanup) | 移除 git 钩和本地状态 . |

## 同步中

`capy` 是本地间三向的 `.env`,最后一个被钉住的快照英寸 `keep.lock`和最新的服务。 冲突打开了交互解析器。 见 [文件.capy.sc/使用/同步-机密](https://docs.capy.sc/using/syncing-secrets)。 。 。 .

### 冲突和代理人

自您上次看到后, 没有命令覆盖一个值 。 从文件夹中写入的每个命令( E)`capy edit`, (中文(简体) ), `add`, (中文(简体) ), `remove`, (中文(简体) ), `connect`, (中文(简体) ), `rotate`, (中文(简体) ), `push`, (中文(简体) ), `deploy`, (中文(简体) ), `org`,以及 `checkout` 运行平原 `capy` 先说 它会重复到您的文件夹和Caby就每个变量达成一致为止. 如果您取消了, 则什么都不写 。 只有这样,命令才会在Capy最新版本上应用自己的更改. 每一个差异都会阻断写法,包括那些与您正在更改的变量无关的写法. 例外: `capy checkout -b`, (中文(简体) ), `capy decrypt` (和从种子短语中恢复时的取出),新项目,和org系统商店.

每差一分,你选择四个: `pinned` (文件夹的 `keep.lock`, (中文(简体) ), `local` (你的电话) `.env`, (中文(简体) ), `remote` (卡比的最新消息),或 `delete`。 。 。 .

关闭终端( O) (`--non-tty`, (中文(简体) ), `--json`没有人可以问。 命令不写, 退出 **3个**,并用 `"code": "SECRETS_CONFLICT"`页:1 `conflict_id`,每个差数一行(被绑定值、局部值和远程值的名称、项目、分支和指纹,绝不是值)。 问此人,然后重运行同一命令一次 `--resolve NAME=pinned|local|remote|delete` 每行和 `--conflict <conflict_id>`。一个 Dokploy 平台值作为 `NAME@TARGET=local|remote`如果有东西移动到中间,命令会再次以3号出口 `SECRETS_CONFLICT_STALE` 和新鲜的行。 没有一个全解,一个给一个对行没有价值的源命名的答案被拒绝(只有 `delete` 页:1.

```bash
capy push --non-tty                                        # exit 3: SECRETS_CONFLICT, conflict_id c_...
capy push --non-tty --resolve API_KEY=local --conflict c_9f2e41a07b3d
```

这个 `capy secrets` 编辑屏幕和 `capy secrets set` 对显示的值进行同样的检查。 上传也携带着他们从开始的版本,服务器拒绝一个被打乱的版本. CLI再次同步并重复一次.

## 运行您的应用程序

`capy run -- <cmd>` 解密 `.env` 在内存中生成您的命令,并将设定的值作为环境变量。 在任何读取env vars的运行时间工作. 见 [使用/运行您的应用程序](https://docs.capy.sc/using/running-your-app)。 。 。 .

**多克编曲 :** `capy run -- docker compose up` 工作没有改变 `env_file: .env`。Capy pass 构成一个额外的覆盖,只列出已解密的变量 _名称_ 改为: `.env`将真实值输入这些容器。 没有写到磁盘上.

## 部署

`capy deploy` 走过Vercel, Cloudflare, Docker, Fly, Railway, Render, Heroku, GitHub Actions, 以及 AWS Lambda. 见 [文件.capy.sc/使用/部署](https://docs.capy.sc/using/deploying)。 。 。 .

`capy deploy` 运行平原 `capy` 首先,只有船才重视你的文件夹,卡比同意 对多克普洛伊来说,如果一个服务的活值从上次交货后在卡比以外被改变,你选择 `local` (交付卡比值)或 `remote` (保持平台值并跳出). 批量部署从 `capy secrets` 只提供你选择的变量.

## 团队

`capy invite <email>` 增加一名队友; `capy kick <email>` 要删除一个。 邀请码出局;踢出为O(1),没有键旋转. 见 [文件.capy.sc/使用/团队/邀请](https://docs.capy.sc/using/team/inviting)。 。 。 .

## 分支

Capy是一款与git同时运行的秘密的版本控制系统. 你犯密码,你犯密 双方都有支系,他们俩都有一个忠实的表率`.git/`, (中文(简体) ), `keep.lock`),并拉出并推向遥控器. 区别在于:git的远程看到了你的代码,Capy的远程只看到了密码文本.

A 类 **Capy 分支** 和它自己的值和访问列表平行的状态。 切换会改变哪些值 `capy run` 注射剂 作为实例,你可能保留一个 `development` 切入时向每个成员开放的分行 a `production` 分支到仅管理员.

由于Capy树枝独立于git树枝,所以每个git树枝的花针通过承诺的Capy树枝被分出 `keep.lock` 文档。 分支名称由您选择, 就像在git中: 一个共同的模式是共享一个共享的 dev 分支, 跨越特征工作和 pinning `release-*` 将树枝划入单独的中转或生产分支.

关于完整的国家模式和保护部门角色执法,见 [文件.capy.sc/使用/branches/概览](https://docs.capy.sc/using/branches/overview)。 。 。 .

## 财务问题

**什么是零信任吗?**

零信任是一个密码属性:一个完全损害我们服务的攻击者仍然无法解密你的秘密,因为每一个解密都需要一个只活在你的机器上的关键份额. Caby不是要你信任我们 建筑结构确保了 仅仅损害我们的服务只能产生密码.

**如果我失去了我的种子短语呢?**

如果你是Org的主人,你失去了种子短语 没有其他设备持有 `key.enc`,你失去 进入该类。 Capy无济于事;通过设计是零信任的,所以恢复需要我们持有一些我们故意没有的东西. 在显示时将种子短语倒放(密码管理器,保险箱中的物理音符).

**我怎么从普通的多滕夫移民?**

运行 `capy` 在一个已经拥有 `.env`在第一跑步,Capy治疗你 `.env` 作为权威,加密每个值,上传密码文本,并重写 `.env` 与 `capy:...` 片断. 原作的备份 `.env` 写入 `.env.pre-capy.old` (恶作剧).

**离线工作吗?**

第一次同步需要网络认证和密钥共解密,但之后, `capy run` 对本地缓存的离线工作 `~/.capy/`。你可以在飞机上发展;你只是无法接受其他队友所推动的改变.

**"快踢"传播多快?**

马上 在被踢出用户的下一个请求中,服务拒绝剥去外包装 `key.enc` 在磁盘上变成加密的惰性。 主密钥从不旋转,因为剩下的成员可以继续使用.

**这是否符合SOC 2/GDPR的要求?**

SOC 2的审计正在进行中。 符合GDPR. 信任态势和持续报告 [信任. capy.sc (中文(简体) )](https://trust.capy.sc/)。 。 。 .

**Capy要多少钱?**

个人和小团队免费. 为需要更高配额、更多项目或更多成员的猎人付费计划.

**它支持SSO吗?**

对 配置您的身份提供者( Okta, Azure AD, Google Workspace等) 在创建您的组织时, 您的团队通过与您的堆栈其它部分相同的提供者进行认证 .

**我能自负吗?**

目前没有 服务部分已关闭。 如果自我接待对你的服从姿态有影响,请联系.

**如果Capy.sc掉下来呢?**

`capy run` 继续从本地缓存工作, 这样运行的应用程序不会被打破。 新的同步暂停直到服务恢复 .

**在中情局有用吗?**

对. `capy deploy` 生成 `SECRETS_BLOB` 财务报告和审定财务报表 `PROJECT_KEY` 设置为 CI Env vars; `capy run` 在你的建设/测试步骤中,其余部分. `capy deploy --yes` 在 CI 中退出 3 , 而不是继续处理, 如果文件夹和 Capy 对任何变量有差异; 见 [冲突和代理人](https://npmcn.com/package/%40capysc/cli/#readme-conflicts-and-agents)。参见 GitHub 动作指南 [文件.capy.sc/使用/部署/github-actions](https://docs.capy.sc/using/deploying/github-actions)。 。 。 .

## 供应链

拥有5个运行时间依存的舰只. 每个都是CLI中一个有负载的一款;没有为方便或省去几行代码而列入. 一个小的依赖足迹使供应链攻击的表面变得紧凑.

| 依赖性 | 目的 | 状态 |
| --- | --- | --- |
| [`commander`](https://github.com/tj/commander.js) | CLI 参数解析 | 有已知弱点 |
| [`dotenv`](https://github.com/motdotla/dotenv) | `.env` 文件解析 | 有已知弱点 |
| [`inquirer`](https://github.com/SBoudrias/Inquirer.js) | 交互式提示 | 有已知弱点 |
| [`open`](https://github.com/sindresorhus/open) | OAuth 浏览器启动 | 有已知弱点 |
| [`proper-lockfile`](https://github.com/moxystudio/node-proper-lockfile) | 原子文件锁定 | 有已知弱点 |

现场审计状况和完整的中转分解树: [github.com/capysc/capy-cli/网络/依赖性](https://github.com/capysc/capy-cli/network/dependencies)。 。 。 .

[依赖破坏](https://docs.github.com/en/code-security/dependabot) 将依赖关系保持当前- 见 [`.github/dependabot.yml`](https://npmcn.com/package/%40capysc/cli/.github/dependabot.yml)它打开每周公关 `npm` 财务报告和审定财务报表 `github-actions`,其中非依赖性归为每个生态系统的单一公分率.

## 警卫

不要公开GitHub问题或讨论安全漏洞. 这些渠道是公开的.

队长很重视安全问题 如果你发现弱点,电子邮件 [安全性@ capy.sc](mailto:security@capy.sc) 以描述和理想的方式 复制它。 我们会尽快回复的.

这一地址仅针对未披露的脆弱性。 在公开披露之前,请向我们报告安全问题.

## 捐款

您可以叉出这个 repo 并创建牵引请求 :

[github.com/capysc/capy-cli (英语)](https://github.com/capysc/capy-cli) - 说吧 [错误](https://github.com/capysc/capy-cli/issues) 财务报告和审定财务报表 [讨论情况](https://github.com/capysc/capy-cli/discussions)

### 从远程代理发布

仅从已核实的承诺中发布 npm 释放 `origin/main`,在 释放公关已经合并了 完全的CI已经通过了 构建 你应当从那座乐园中拣选一部分,那座乐园是茂密的 `main` 不变。 确认 产品在标记或发布前会与前一版相悖. 永远不要发布从一个特性或发布分支所建的焦油球.

维护者可以在另一个设备上批准 npm 认证而无需回调 到出版机。 使用 npm 11.9 或使用支持的节点版本更新 :

```sh
npm run release:login
npm run release:publish -- /absolute/path/to/reviewed-package.tgz
```

登录命令打印 npm 的浏览器链接并等待 npm 的注册 确认批准。 出版接受以前建立和审查的 `npm pack` 艺术品 如果 npm 要求另一个安全键批准, 帮助者打印它 连结,投票 注册, 和重复同样的文物一次。 它不会发射 本地浏览器或需要回调。 在5个之内完成核准 分钟; 过期的批准需要新的命令 .

添加 `--json` 用于新行限制状态和批准事件的指令. 只发布浏览器批准链接; 注册投票 URL 和一次性 符号不超出出版过程。 登录证书由 npm 保存 在其正常用户配置中.

## 许可证

AGPL-3.0 -仅限. 版权:"Centv Technology In.

见 [自由主义](https://npmcn.com/package/%40capysc/cli/LICENSE) 全文。 AGPL对于你的团队在实践中意味着什么——当它规定了义务,当它没有义务的时候——见: [文件.capy.sc/使用/许可证](https://docs.capy.sc/using/license)。 。 。 .

预建的二进制嵌入其依赖性;这些软件包的许可证和版权通知复制于 [第三次议会提名(md)](https://npmcn.com/package/%40capysc/cli/THIRD-PARTY-NOTICES.md)。 。 。 .

## 常见问题

### @capysc/cli 是什么？

Capy CLI - 人工智能时代的秘密操作器

### 如何安装 @capysc/cli？

在项目目录运行 npm install @capysc/cli，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 capy，可以用 npx capy 直接运行。

### @capysc/cli 支持 TypeScript 吗？

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

### @capysc/cli 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @capysc/cli 需要什么版本的 Node\.js？

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

### @capysc/cli 可以商用吗？

@capysc/cli 使用 AGPL-3\.0-only 许可。最严格的 Copyleft：除分发外，通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括，不构成法律意见，请以许可原文为准。

### @capysc/cli 的下载量有多少？

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

### @capysc/cli 还在维护吗？

最新版本 0\.9\.14 发布于 2026/11/07（2 天前）；至今共发布 26 个版本，其中过去 12 个月发布了 26 个；首次发布于 2026/04/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

