# @colony2/pulse 中文文档

规范地址：https://npmcn.com/package/%40colony2/pulse/

版本：0\.0\.24
npm 元数据更新时间：2026-11-09T02:00:18.298Z
中文译文更新时间：2026-11-10T12:27:28.476Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40colony2/pulse
原文对照：https://npmcn.com/package/%40colony2/pulse/?lang=original
项目主页：https://github.com/colony-2/pulse
源码仓库：https://github.com/colony-2/pulse

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

- 包体积（解压后）：29.8 kB，5 个文件
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.0\.0
- 运行依赖：0 个
- 首次发布：2026-09-23T21:07:20.195Z
- 最新版本发布：2026-11-09T02:00:17.906Z
- 近 30 天下载量：2707（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

C2j 作业的容器调节计算

## 安装

```sh
npm install @colony2/pulse
```

也可以使用：`pnpm add @colony2/pulse`、`yarn add @colony2/pulse`、`bun add @colony2/pulse`

## README

# 脉搏

**运行 c2j 任务在云计算 或者你自己的跑者.**

Pulse 监视 JobDB 租户中的所有寄存器, 找到需要执行器的工作, 为每个选定的工作获得 JobDB 租约, 并将其传递到容器 。 它使用c2j的公用Go图书馆来进行发现并给每次发射都标记其JobDB身份. 控制器不需要单独的 c2j 可执行文件 ; **执行器图像必须包含 c2j 及其配方所需的工具**。 。 。 .

[安装](https://npmcn.com/package/%40colony2/pulse/#readme-install) • 妇女 [快开始](https://npmcn.com/package/%40colony2/pulse/#readme-quick-start) • 妇女 [在容器中运行](https://npmcn.com/package/%40colony2/pulse/#readme-run-in-a-container) • 妇女 [配置](https://npmcn.com/package/%40colony2/pulse/#readme-configuration) • 妇女 [供应商](https://npmcn.com/package/%40colony2/pulse/#readme-providers) • 妇女 [HTTP API 密码](https://npmcn.com/package/%40colony2/pulse/#readme-http-api)

## 安装

### 无

```sh
npm install --global @colony2/pulse
pulse version
```

要求节点.js 22+, `tar`,启用了安装脚本,而HTTPS访问 GitHub Releases 。 安装者下载匹配的本地可执行文件并验证存档的SHA-256校验和.

### 原生可执行文件

下载您的平台存档 [GitHub 发布](https://github.com/colony-2/pulse/releases),验证它与 `checksums.txt`设置 `pulse` 在你身边 `PATH`. 原生可执行文件需要 Node.js. 档案还包含可选的 Linux `pulse-exec` 桥为云供养. Docker只需要脉冲可执行文件.

Linux和macOS在AMD64和ARM64上得到支持. 集装箱图像支持Linux AMD64和ARM64. 本地多克供应商在macOS上支持Linux服务器和多克桌面,使用Pulse自动多克套接字/文本发现.

## 快开始

在 Linux 上启动 Docker 引擎, 在 macOS 上启动 Docker 桌面, 然后运行 :

```sh
pulse
```

不需要脉冲配置文件 。 Pulse 使用与 c2j 相同的租户设置 : `C2J_JOBDB`,则 `jobdb` 以最接近为单位 `.c2/config.yaml`。您也可以明确选择租户:

```sh
pulse run --jobdb https://jobdb.example.com/acme
pulse check
pulse run --once
pulse version
```

Pulse在租户的每一个仓库都发现了合格的c2j工作. Docker是默认的提供者,没有图像/基准请求的工作使用选择器 `ubuntu-26*`,解决一个得到支持的Ubuntu 26.04基地 `ghcr.io/colony-2/base2:latest`。没有资源要求的工作没有CPU、内存或抓取分配,Docker没有默认的容器计数上限。 Docker检测出本土并模仿了执行支持,更喜欢它的守护进程在macOS和Linux上的本土架构. 明确的基础选择者仍然制约着建筑结构.

对于殖民地基础图像, Docker 自动保留 v、 pnpm 和 Nix 依赖性 跨行业和重新开始的租户范围。 没有 Nix 守护进程或手动缓存 需要设置。 见 [缓存设置和图像先决条件](https://npmcn.com/package/%40colony2/pulse/docs/configuration.md#docker-dependency-caches)。 。 。 .

`check` 验证设置并初始化提供者;它不验证远程连接或发射权限. `run --once` 执行一次发现/提交通行证。 两者 `pulse` 财务报告和审定财务报表 `pulse run` 在SIGINT或SIGTERM之前保持投票,并将 JSON 日志写入 Stderr 。 所发射的容器继续在其寿命控制之下.

独立执行的 [go 提供者指南](https://npmcn.com/package/%40colony2/pulse/docs/implementing-a-go-provider.md)。脉冲使用零依赖性 [提供者 API](https://github.com/colony-2/pulse-provider-api);自定义二进制可以在没有插件的情况下注册执行.

对于自定义提供者或多个租户,使用可选配置: [远程跑车](https://npmcn.com/package/%40colony2/pulse/examples/remote.yaml), (中文(简体) ), [本地嵌入器覆盖](https://npmcn.com/package/%40colony2/pulse/examples/docker.yaml),或 [云提供方](https://npmcn.com/package/%40colony2/pulse/examples/clouds.yaml)。执行器图像必须包含 c2j 与 `run with-lease` 支持;云图像也需要 `pulse-exec`。使用包含承诺的 JobDB 服务器 `39ae1b444460` 或后有可用路由的发现和提供租赁更新支持;与Pulse一起升级服务器.

## 在容器中运行

使用 **`ghcr.io/colony-2/pulse`**。对于简单的部署,请在 **`PULSE_CONFIG`**开始 [实例/容器.yaml](https://npmcn.com/package/%40colony2/pulse/examples/container.yaml),然后运行:

```sh
export PULSE_CONFIG="$(cat pulse.yaml)"
docker run --rm --init \
  --read-only --tmpfs /tmp -p 8080:8080 \
  -e PULSE_CONFIG -e PULSE_PROVIDER_TOKEN \
  ghcr.io/colony-2/pulse:latest
```

文件在主机上读取. 在部署控制台,设置 `PULSE_CONFIG` 直接到 YAML 内容 。 将证书保存在单独的秘密/环境设置中,或使用主机平台的身份. 对于可重复的部署,请选择诸如 `:vX.Y.Z` 或图像摘要.

图像不透明, 作为 UID/ GID 运行 `65532:65532`,并包含 Pulse、其执行主管和CA证书。 它包括了本土的云认证,不需要外壳,Node.js,Git,云CLI,或者单独的c2j可执行. 配置 `defaults.base` 一个环境选择器。 遗产 `defaults.image` 加号 `defaults.platform` 仍然支持清晰的OCI图像.

对于挂载的YAML,请明确通过文件路径:

```sh
docker run --rm --init --read-only --tmpfs /tmp -p 8080:8080 \
  --mount "type=bind,source=$PWD/pulse.yaml,target=/etc/pulse/pulse.yaml,readonly" \
  -e PULSE_PROVIDER_TOKEN \
  ghcr.io/colony-2/pulse:latest --config /etc/pulse/pulse.yaml
```

挂载文件必须由UID 65532读取. 见 [配置和云运行部署](https://npmcn.com/package/%40colony2/pulse/docs/configuration.md), (中文(简体) ), [云认证](https://npmcn.com/package/%40colony2/pulse/docs/cloud-authentication.md),以及 [嵌入套接字设置](https://npmcn.com/package/%40colony2/pulse/docs/providers.md)。 。 。 .

## 配置

脉冲可选择加载一个YAML文档,顺序为:

1.  明确 `--config PATH`。 。 。 .
2.  `PULSE_CONFIG` 包含YAML本身.
3.  `./pulse.yaml`如果有的话.
4.  内设缺省.

来源不合并. 空或无效的内行配置失败启动, 除非选中一个明确的文件 。 价值是字面的,没有扩展环境占位符。 重新启动或重新部署以应用更改 .

租户选择用途 `--jobdb`一个明确的脉冲目标 `jobdb`, (中文(简体) ), `C2J_JOBDB`,然后是 c2j 项目设置。 每个目标覆盖整个租户. 失踪 `instance_id` 值来自 JobDB 部署 URL。 删除已过期 `cells` 升级时设置。 Pulse需要一个HTTP(S)JobDB租户;c2j的嵌入式数据库不能服务于集装箱工人.

发射服务具有积极的数值优先事项: **1胜2负**平等优先服务每批轮流首选。 提供商可以接受一部分批次,而将其余部分降低为倒置.

```yaml
targets:
  - instance_id: production
    jobdb: https://jobdb.example.com/acme
    jobdb_token_env: JOBDB_TOKEN
    launch_services:
      - {name: runner_pool_a, priority: 1}
      - {name: runner_pool_b, priority: 1}
      - {name: cloud_overflow, priority: 2}
```

定义这些服务名称 `providers` 供应 `JOBDB_TOKEN` 用于认证的 JobDB 发现和租赁收购。 脉搏从不向执行者传递这种广泛的证书. 奥米 `jobdb_token_env` 进行未经认证的部署。 提供者认证被单独配置 .

何时 `providers` 已忽略或为空, Pulse 允许本地提供者命名 `docker`在苹果硅macOS上使用 `tart` 打开 `PATH`,它也可以使 `tart` 使用脉冲-tart默认的两个macOS和四个Linux job VM(每个4 vCPU / 8 GiB;Linux包括多克克). 没有目标 `launch_services` 偏好优先1的多克,然后优先2的塔尔特,明确提供者地图仍然具有权威性. 默认基础是 `ubuntu-26*`; 选择 `defaults.base: 'macos*'` 为macOS的工作。 见 [塔尔特和果园配置](https://npmcn.com/package/%40colony2/pulse/docs/macos-providers.md)。 。 。 .

默认的多克池使用守护进程CPU和内存容量,没有容器计数上限和每个容器的256 MiB 会计间接费用. 启动 Docker 引擎或 Docker 桌面 。 Docker直接发射c2j并供应其租借地上自有stdin,没有主机挂载或辅助安装. 见 [嵌入器默认并覆盖](https://npmcn.com/package/%40colony2/pulse/docs/providers.md#local-docker-capacity)。 。 。 .

c2j拥有食谱和操作超时; Pulse默认不会强制执行超时. 可选基础设施上限必须明确配置,并由选定的提供者提供支持。 默认是5秒的民意调查间隔,5分钟的租赁期限,60秒的供给-失败回放,以及最多100个工作的批次. 索赔同时有8个电话和一个5秒钟的索赔窗口 `claim_concurrency`, (中文(简体) ), `claim_timeout`,以及 `batch_size`脉冲在提交之前获得租约,而不续签;c2j在启动时续签所提供的租约。 接受或不确定的开始取决于租约到期后才可收回。 确定不启动 解除租赁与退让。 In-memory 冷却只抑制失败; JobDB 所有权幸存控制器重启. 见 [配置细节](https://npmcn.com/package/%40colony2/pulse/docs/configuration.md) 报告全文 [实例](https://npmcn.com/package/%40colony2/pulse/examples)。 。 。 .

## 供应商

| 提供者 | 类型 | 页:1 |
| --- | --- | --- |
| 本地嵌入器 | `docker` | CPU,内存和容器计算预算;没有磁盘配额. |
| 本地塔尔特 | `tart` | macOS和Linux ARM64 VM,其中多克包含在Linux来宾上,多克则包含在macOS上;在安装了塔尔特的Apple Silicon Macs上自动启用. |
| 果园 | `orchard` | macOS和Linux ARM64 VM; Linux包括多克克克,多克克克被选入一个配置的果园工人上. |
| 远程驾驶服务 | `remote` | 批量提交,部分接受,容量回落. |
| 谷歌云跑任务 | `cloudrun` | 原生工作执行和支持的资源规模. |
| AWS ECS 远门 | `ecs` | 与执行主管单独任务. |
| Azure 容器应用程序 | `azurejobs` | 手工工作, 本地执行超时 . |

在云环境,在控制器中附加一个服务账户,任务/任务角色,或管理/工作负荷身份. 在其他地方,供应支持环境证书或挂载证书文件。 见 [云认证](https://npmcn.com/package/%40colony2/pulse/docs/cloud-authentication.md) 财务报告和审定财务报表 [供应商业务](https://npmcn.com/package/%40colony2/pulse/docs/providers.md) 用于权限、图像要求、容量和资源清理.

## HTTP API 密码

持续模式服务于一个公开的、未经认证的、只读的 API `:8080`。 。 。 . `PORT` 更改默认端口; `http.listen` 可以覆盖地址.

| 获取终点 | 回返 |
| --- | --- |
| `/status` | 版本,运行时间,投票状况. |
| `/config` | 已编辑环境值和 URL 证书配置 . |
| `/instances` | 在所有配置的提供者中执行实例 . |
| `/providers/{provider}/instances` | 从配置的提供者发送一页 . |
| `/scheduler/cooldowns` | 目前的冷却和飞行尝试. |
| `/scheduler/round-robin` | 优先等级和下一个起始服务. |

```sh
curl http://localhost:8080/status
curl 'http://localhost:8080/providers/runners/instances?page_size=100'
```

列表包括已队列、 启动和运行实例, 并排除终端实例; 在支持的地方包含暂停/ 停止计算 . `run --once`, (中文(简体) ), `check`,以及 `version` 不启动服务器。 见 [HTTP API 文档](https://npmcn.com/package/%40colony2/pulse/docs/http-api.md) 对于帕吉化和部分失败.

## 更多文档

-   [配置和集装箱部署](https://npmcn.com/package/%40colony2/pulse/docs/configuration.md)
-   [供应商业务](https://npmcn.com/package/%40colony2/pulse/docs/providers.md)
-   [实施远程提供者](https://npmcn.com/package/%40colony2/pulse/docs/implementing-a-remote-provider.md)
-   [促进和发展](https://npmcn.com/package/%40colony2/pulse/CONTRIBUTING.md)

## 许可证

[阿帕奇 - 2.0](https://npmcn.com/package/%40colony2/pulse/LICENSE)。 。 。 .

## 本地提供者插件

使用 `type: plugin` 运行一个可信任、独立安装的计算提供者。 脉冲启动并监督可执行文件,只交付其配置,并保留不确定的提交结果而无需重放. 见 [安装与公共 SDK](https://npmcn.com/package/%40colony2/pulse/docs/implementing-a-provider-plugin.md) 编辑 [单独的模块参考提供者](https://npmcn.com/package/%40colony2/pulse/examples/provider-plugin)。 。 。 .

## 常见问题

### @colony2/pulse 是什么？

C2j 作业的容器调节计算

### 如何安装 @colony2/pulse？

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

### @colony2/pulse 支持 TypeScript 吗？

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

### @colony2/pulse 需要什么版本的 Node\.js？

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

### @colony2/pulse 可以商用吗？

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

### @colony2/pulse 的下载量有多少？

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

### @colony2/pulse 还在维护吗？

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

