@capysc/cli

中文文档
0.9.14发布于 2026/11/07AGPL-3.0-onlyTypeScriptCommonJS近 30 天下载 8113

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

中文使用文档
文档目录22 节
  1. 安装
  2. 快速启动
  3. 演示
  4. 为什么使用 Capy
  5. 如何运作
  6. 源代码加密
  7. 编辑机密
  8. 编辑 .env 到位
  9. 通过 TUI 编辑( capy edit (中文(简体) )
  10. 图标
  11. 同步中
  12. 冲突和代理人
  13. 运行您的应用程序
  14. 部署
  15. 团队
  16. 分支
  17. 财务问题
  18. 供应链
  19. 警卫
  20. 捐款
  21. 从远程代理发布
  22. 许可证


Capy



就像Git,为秘密而建.

安装 • 妇女 快速启动 • 妇女 文档 • 妇女 更改日志 • 妇女 问题

Continuous integration status Test suite status Latest npm package version Minimum Node.js version: 18 License: AGPL-3.0

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

→ 将 Capy 与 Doppler 、 Infisical 、 AWS 保密管理器和 SOPS 相比较。 。 。 .

安装

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

npm install -g @capysc/cli

或与文云:

bun add -g @capysc/cli

或与自来士:

brew install capysc/tap/capy

快速启动

capy                              # sync secrets
capy edit                         # inspect & edit secrets in a TUI
capy invite [email protected]    # add a teammate
capy kick [email protected]          # 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 (中文(简体) )

为什么使用 Capy

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

如何运作

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

Two-share zero-trust model

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

完整的威胁模式见 文件.capy.sc/内部/零信任关于密码构造,见 文件.capy.sc/内部/计算机。 。 。 .

源代码加密

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

A .env file viewed in vi, with every value as a capy:resourceId:ciphertext snippet

每个值都是 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

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

通过 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

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

图标

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

同步中

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

冲突和代理人

自您上次看到后, 没有命令覆盖一个值 。 从文件夹中写入的每个命令( 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.

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的运行时间工作. 见 使用/运行您的应用程序。 。 。 .

多克编曲 : 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/使用/部署。 。 。 .

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

团队

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

分支

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/概览。 。 。 .

财务问题

什么是零信任吗?

零信任是一个密码属性:一个完全损害我们服务的攻击者仍然无法解密你的秘密,因为每一个解密都需要一个只活在你的机器上的关键份额. 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 (中文(简体) )。 。 。 .

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 对任何变量有差异; 见 冲突和代理人。参见 GitHub 动作指南 文件.capy.sc/使用/部署/github-actions。 。 。 .

供应链

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

依赖性目的状态
commanderCLI 参数解析有已知弱点
dotenv.env 文件解析有已知弱点
inquirer交互式提示有已知弱点
openOAuth 浏览器启动有已知弱点
proper-lockfile原子文件锁定有已知弱点

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

依赖破坏 将依赖关系保持当前- 见 .github/dependabot.yml它打开每周公关 npm 财务报告和审定财务报表 github-actions,其中非依赖性归为每个生态系统的单一公分率.

警卫

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

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

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

捐款

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

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

从远程代理发布

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

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

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.

见 自由主义 全文。 AGPL对于你的团队在实践中意味着什么——当它规定了义务,当它没有义务的时候——见: 文件.capy.sc/使用/许可证。 。 。 .

预建的二进制嵌入其依赖性;这些软件包的许可证和版权通知复制于 第三次议会提名(md)。 。 。 .

版本与发布记录

@capysc/cli 共发布 26 个版本,首次发布于 2026/04/28;过去 12 个月发布了 26 个版本。

版本发布日期距今
0.9.14latest2026/11/072 天前
0.9.132026/10/2119 天前
0.9.122026/10/2119 天前
0.9.112026/10/1524 天前
0.9.102026/10/041 个月前
0.9.92026/10/041 个月前

其他发布通道:next → 0.10.0-rc.1。

关于 @capysc/cli 的常见问题

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