# @balasivagn/boxci 中文文档

规范地址：https://npmcn.com/package/%40balasivagn/boxci/

版本：0\.4\.1
npm 元数据更新时间：2026-10-26T18:26:13.534Z
中文译文更新时间：2026-11-07T21:14:14.457Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：1.3 MB，52 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：^22\.23\.4 \|\| \>=24\.22\.1
- 运行依赖：2 个
- 首次发布：2026-10-22T17:48:06.509Z
- 最新版本发布：2026-10-26T18:26:13.068Z
- 近 30 天下载量：2494（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

BoxCI: GitHub Actions on InstaBox. (原始内容存档于2018-09-21). 一个设置,暂停跑者 醒来的CI,可选的本地仪表板.

## 安装

```sh
npm install @balasivagn/boxci
```

也可以使用：`pnpm add @balasivagn/boxci`、`yarn add @balasivagn/boxci`、`bun add @balasivagn/boxci`

## README

# 框CI 键

**GitHub 动作在您自己的InstaBox VMs上运行 .  
他们为CI醒来,闲暇时再暂停.**

[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://npmcn.com/package/%40balasivagn/boxci/LICENSE) [![Node 22.23.4+ / 24.22.1+](https://img.shields.io/badge/node-22.23.4%2B%20%2F%2024.22.1%2B-339933.svg?logo=node.js&logoColor=white)](https://npmcn.com/package/%40balasivagn/boxci/package.json) [![npm version](https://img.shields.io/npm/v/@balasivagn/boxci.svg)](https://www.npmjs.com/package/@balasivagn/boxci)

[快开始](https://npmcn.com/package/%40balasivagn/boxci/#readme-quick-start) • 妇女 [使用您的代理](https://npmcn.com/package/%40balasivagn/boxci/#readme-set-up-with-a-coding-agent) • 妇女 [如何运作](https://npmcn.com/package/%40balasivagn/boxci/#readme-how-it-works) • 妇女 [图标](https://npmcn.com/package/%40balasivagn/boxci/#readme-commands) • 妇女 [迁移](https://npmcn.com/package/%40balasivagn/boxci/#readme-migrate-existing-jobs) • 妇女 [限制](https://npmcn.com/package/%40balasivagn/boxci/#readme-limits) • 妇女 [文档](https://npmcn.com/package/%40balasivagn/boxci/#readme-docs)

* * *

BoxCI 将 InstaBox VMs 转换为您的存储器的专用 GitHub 动作运行器 。 设置,移动您的已有的CI, 然后运行和监控, 全部从一个CLI。 没有保存,没有webhook服务器,也没有BoxCI账户.

-   **可审.** `--dry-run` 显示计划。 工作流程变化会留在本地供您审查、承诺和推动.
-   **Migrates 现有 CI.** `boxci migrate` 重新确定工作目标(布莱克史密斯、, `ubuntu-latest`)作为当地diff.
-   **特工准备好了.** 粘贴一个提示, 或使用捆绑的 [移徙技能](https://npmcn.com/package/%40balasivagn/boxci/skills/boxci-migrate/SKILL.md)。 。 。 .
-   **安全倒计时.** 叉式公关 或者一个没准备好的游泳池 运行在主机上 `ubuntu-24.04`。叉码从不看到你的提供者的钥匙.
-   **唯读仪表板.** `boxci dashboard` 是本地的 认证的 从来不会醒过来.

## 快开始

需要节点.js `^22.23.4 || >=24.22.1`Git,管理一个GitHub repo, 还有一个InstaBox的账户,还有一个VM.

```sh
npm install -g @balasivagn/boxci
cd /path/to/your-app          # the repo whose CI you want to change

boxci init --dry-run          # preview, creates nothing
boxci init                    # approve the plan; writes .github/workflows/boxci-wake.yml
boxci migrate                 # pick existing jobs to move onto the pool
```

`init` 财务报告和审定财务报表 `migrate` 只编辑本地文件。 他们从不创建分支,承诺,推动或公关. 审查 `git diff -- .github/workflows`,承诺并推进它 你通常的方式, 合并到默认分支, 然后:

```sh
boxci ci run --workflow ci.yml
boxci status
```

安装提示  

-   **旧节点 :** npm 只发出警告(`EBADENGINE`) (中文(简体) ). `--version` 财务报告和审定财务报表 `--help` 工作,但设置会因证书信任错误而停止。 检查 `node --version` 先说.
    
-   **`boxci: command not found`数字 :** 将 npm 的全球 bin 打开 `PATH`,或安装到用户前缀 :
    
    ```sh
    npm install -g --prefix "$HOME/.local" @balasivagn/boxci
    export PATH="$HOME/.local/bin:$PATH"
    ```
    
-   **更新 :** 重运行安装命令 .
    
-   **未释放 `main`数字 :** `npm install -g https://github.com/balasivagn/boxci/archive/refs/heads/main.tar.gz` (扫瞄) `refs/heads/main` 承诺SHA针入.
    
-   **选回:** `--repo owner/repository`。 。 。 . `init` 财务报告和审定财务报表 `migrate` 仍需要使用匹配的 GitHub 遥控器进行检出 .
    
-   **测试命令和工具链** 活在自己的工作流程中。 它不会产生测试工作.
    
-   **中断?** 重运行 `boxci init`; 恢复状态. 在已经配置的重播中, 它会报告“ 已经配置的” , 而不会改变什么 .
    
-   **HTTPS 证书 :** 自动使用系统证书。 见 [证书信任](https://npmcn.com/package/%40balasivagn/boxci/docs/OPERATIONS.md#https-certificate-trust-and-interrupted-setup)。 。 。 .
    
-   **现有游泳池?** 先干后读 [池子发现和回收](https://npmcn.com/package/%40balasivagn/boxci/docs/CONFIGURATION.md#pool-discovery-and-recovery)。 。 。 .
    

## 用编码代理设置

在任何有终端访问和粘贴的代理中打开您的应用程序的取出 :

```text
Set up BoxCI for this application's repository; use https://github.com/balasivagn/boxci as the documentation reference. Install `npm install -g @balasivagn/boxci`, check `boxci --version`, and run all setup and migration commands from this application's checkout. Reuse my current GitHub/InstaBox sign-ins and show me `boxci init --dry-run` with the target repository for approval before applying. Then complete setup, migrate compatible existing Linux x64 CI jobs with `boxci migrate`, preserve existing pools, verify with `boxci doctor` and `boxci status`, and leave all workflow changes locally for my review. Do not commit, push, or open a PR.
```

你完成浏览器的登录并批准计划.

## 如何运作

![BoxCI architecture: local setup, hosted wake routing, and passive monitoring](https://npmcn.com/package/%40balasivagn/boxci/docs/architecture/boxci.svg)

1.  **醒来.** 由Ubuntu主持的工作唤醒每个游泳池的VM, 它从来不检查 PR代码.
2.  **路线.** 池准备就绪: 建筑物目标 专用的自我托管标签。 否则,而且总是叉子公关,它使用主机 `ubuntu-24.04`。 。 。 .
3.  **运行.** GitHub 指定一个闲置的跑者进行构建 。 之后的VMS跟随InstaBox的正常闲置暂停.

更多内容: [架构和源图](https://npmcn.com/package/%40balasivagn/boxci/docs/ARCHITECTURE.md) • 妇女 [交互式图表](https://npmcn.com/package/%40balasivagn/boxci/docs/architecture/boxci.html) (下载和本地打开)

## 图标

| 命令 | 它会做什么 |
| --- | --- |
| `boxci init` | 设置跑步器、 密钥和游泳池变量; 写入提醒帮助器 |
| `boxci migrate` | 将已有的工作流程任务移动到池中 |
| `boxci ci run` | 发送一个相联的工作流程`--workflow file.yml`, (中文(简体) ), `--ref`(中文(简体) ) |
| `boxci status` | 职业和流动状态,最近的工作(被动) |
| `boxci doctor` | 检查账户、 配额、 映射、 合并状态、 密钥过期 |
| `boxci dashboard` | 启动或重新打开只读的背景仪表板 |
| `boxci dashboard status/stop` | 检查或停止仪表板; 跑者不受影响 |
| `boxci wake` | 明确唤醒游泳池 |
| `boxci pool add --count 1` | 在您的配额内添加 VM |
| `boxci auth renew` | 旋转30天的 CI 证书 |
| `boxci help [command]` | 帮助 boxci 或一个命令( 也) `--help`, (中文(简体) ), `-h`, (中文(简体) ), `--version`(中文(简体) ) |

旗帜 : `--dry-run` 预览任何更改, `--yes` 跳过提示, `--json` 给出结构化输出, `--repo` 选择仓库. `status`, (中文(简体) ), `doctor` 财务报告和审定财务报表 `dashboard` 从不运行来宾命令或唤醒VM.

仪表盘在关闭终端后继续运行,不会重启. `--no-open` 跳过浏览器, `--foreground` 用于调试, `--port N` 选择本地端口(0-65535;默认为0,选择自由端口;先停止运行的仪表板来更改). 见 [仪表板操作](https://npmcn.com/package/%40balasivagn/boxci/docs/OPERATIONS.md#check-the-pool)。 。 。 .

## 迁移现有工作

```sh
boxci migrate --match blacksmith --dry-run
boxci migrate --match blacksmith
```

没有旗子交互选择工作; `--jobs file.yml:job,...` 命名他们; `boxci init --migrate-workflows` 设置后立即迁移. 重运行重用已存在的池和帮助器.

唤醒逻辑存在于 `.github/workflows/boxci-wake.yml`。您的工作流程调用它,选择的工作会消耗它的输出 :

```yaml
jobs:
  boxci-wake:
    uses: ./.github/workflows/boxci-wake.yml
    with:
      pool: ${{ vars.BOXCI_POOL }}
      runner-label: your-boxci-label
    secrets:
      api-key: ${{ secrets.BOXCI_API_KEY }}
  test:
    needs: boxci-wake
    runs-on: ${{ fromJSON(needs.boxci-wake.outputs.runner) }}
```

将援助者及其召唤者集合起来。 让你的经纪人做,指着它 [`skills/boxci-migrate/SKILL.md`](https://npmcn.com/package/%40balasivagn/boxci/skills/boxci-migrate/SKILL.md) 并询问,例如,"把我们的铁匠测试工作转到BoxCI".

-   `--match` 是针对每个工作的静态测试的大小写不敏感正则表达式 `runs-on`。 。 。 . `--jobs` 胜过 `--match`。动态表达式被跳过.
-   选择同样在主机倒计时上工作的 Linux x64 工作 。 检查矩阵任务和复数 `needs` 手边.
-   只有排程更改 。 工具链、服务和缓存保持不变.
-   生成的内线后醒块可以被提取出. 自定义的和相冲突的帮助文件需要人工审查.
-   旧版所留下的启动工作流程被保存为遗留文件. 如果多余的话,你自己去取.

## 限制

-   **所需经费:** GitHub.com 重播,并启用管理员访问和动作. 暂停的VM仍然数到InstaBox配额. 已存在的GitHub和InstaBox的签入被再用;BoxCI将InstaBox CLI捆绑,并可以私下安装一个校验和验证的GitHub CLI.
-   **为 CI 使用一个专门的 InstaBox 账户 .** CI密钥可以运行其账户中每个VM上的命令.
-   **能力:** 每个跑者一份工作。 在配额内,可达5瓦姆。 更多 VM 仅帮助多个任务或矩阵 。 BoxCI 从不删除另一个 VM 免费配额.
-   **成本和速度:** 没有承诺。 BoxCI不收费,但InstaBox使用和按惯例主持提醒/倒计时账单,没有支出上限. 参见 InstaBox [限制](https://instabox.sh/docs/limits)。 。 。 .
-   **每30天核证一次** 没有自动更新. `boxci doctor` 在七天内发出警告; 运行 `boxci auth renew`。如果失效,工作会回到托管的Ubuntu。 见 [更新](https://npmcn.com/package/%40balasivagn/boxci/docs/OPERATIONS.md#renew-the-ci-credential)。 。 。 .
-   **醒后排队任务 :** 跑步准备不能证明 GitHub 连接,在任务完成前会选择后退,因此无法救出一个已经排队的工作. 见 [排除出问题](https://npmcn.com/package/%40balasivagn/boxci/docs/OPERATIONS.md#a-job-stays-queued-after-wake)。 。 。 .
-   **状态 :** v. 4.1, 早报. POSIX shell 只命令; 本地的 Linux/ Windows 靴子被未验证([验证](https://npmcn.com/package/%40balasivagn/boxci/docs/VALIDATION.md)) (中文(简体) ). 没有自动卸载;见 [停止使用 BoxCI](https://npmcn.com/package/%40balasivagn/boxci/docs/OPERATIONS.md#stop-using-boxci)。 。 。 .
-   **附属关系:** 独立开源。 未由InstaBox所建或认可,也未附属于boxci.dev.

## 文档

| 指南 | 封面 |
| --- | --- |
| [配置](https://npmcn.com/package/%40balasivagn/boxci/docs/CONFIGURATION.md) | 签名、 本地记录、 Repo 设置、 池中发现 |
| [业务](https://npmcn.com/package/%40balasivagn/boxci/docs/OPERATIONS.md) | 更新、增加能力、恢复、排除故障 |
| [建筑](https://npmcn.com/package/%40balasivagn/boxci/docs/ARCHITECTURE.md) | 设置、CI和监测路径 |
| [验证](https://npmcn.com/package/%40balasivagn/boxci/docs/VALIDATION.md) | 测试什么和没有 |
| [释放](https://npmcn.com/package/%40balasivagn/boxci/docs/RELEASING.md) | npm 信任的出版, GitHub 发行 |
| [警卫](https://npmcn.com/package/%40balasivagn/boxci/SECURITY.md) | 信誉范围和隔离限制 |

## 捐款

欢迎想法、特征请求和协作: [打开一个问题](https://github.com/balasivagn/boxci/issues/new)测试不需要现场证明.

```sh
git clone https://github.com/balasivagn/boxci.git
cd boxci && npm ci
npm test
python3 -m unittest discover -s ci/tests
npm run check
npm pack --dry-run
```

`ci/wake.py` 财务报告和审定财务报表 `vendor/install.sh` 安全敏感; 更改需要匹配 Python 测试( 见 [一般事务人员(其他职等)](https://npmcn.com/package/%40balasivagn/boxci/AGENTS.md)) (中文(简体) ). 保留被忽略的抓取文件 `.orca-scratch/`。更多内容: [开发者经验](https://npmcn.com/package/%40balasivagn/boxci/docs/DEVELOPER_EXPERIENCE.md) • 妇女 [设计符号](https://npmcn.com/package/%40balasivagn/boxci/docs/DESIGN.md) • 妇女 [项目现场](https://npmcn.com/package/%40balasivagn/boxci/docs/SITE.md)。 。 。 .

## 许可证

[阿帕奇 - 2.0](https://npmcn.com/package/%40balasivagn/boxci/LICENSE)第三方通知 [通知](https://npmcn.com/package/%40balasivagn/boxci/NOTICE) 财务报告和审定财务报表 `vendor/`. 供应商工具和销售字体保留自己的许可证.

## 常见问题

### @balasivagn/boxci 是什么？

BoxCI: GitHub Actions on InstaBox\. \(原始内容存档于2018-09-21\)\. 一个设置,暂停跑者 醒来的CI,可选的本地仪表板\.

### 如何安装 @balasivagn/boxci？

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

### @balasivagn/boxci 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/balasivagn\_\_boxci 是否存在。

### @balasivagn/boxci 支持 ESM 还是 CommonJS？

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

### @balasivagn/boxci 需要什么版本的 Node\.js？

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

### @balasivagn/boxci 可以商用吗？

@balasivagn/boxci 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @balasivagn/boxci 的下载量有多少？

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

### @balasivagn/boxci 还在维护吗？

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

