# @bull-board/cli 中文文档

规范地址：https://npmcn.com/package/%40bull-board/cli/

版本：9\.12\.0
npm 元数据更新时间：2026-11-08T14:26:30.101Z
中文译文更新时间：2026-11-08T19:31:22.230Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：132 kB，65 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：7 个
- 首次发布：2026-08-18T20:33:39.907Z
- 最新版本发布：2026-11-08T14:26:29.722Z
- 近 30 天下载量：4783（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 19 个）

## 中文简介

运行公牛板仪表板 对一个Redis的例子 从命令行.

## 安装

```sh
npm install @bull-board/cli
```

也可以使用：`pnpm add @bull-board/cli`、`yarn add @bull-board/cli`、`bun add @bull-board/cli`

## README

# @bull-board/cli (英语)

运行 [牛板](https://github.com/felixmosh/bull-board) 仪表板对着Redis的例子, 没有应用连接它.

```sh
npx @bull-board/cli -r redis://localhost:6379
```

打开了 `http://127.0.0.1:3000` 每条公牛和公牛MQ队列的仪表板 `bull` 键前缀.

![bull-board dashboard](https://raw.githubusercontent.com/felixmosh/bull-board/master/website/docs/public/screenshots/dashboard-overview.png)

## 当你到达这个

-   工人住在一个不编辑的Repo或容器中,您想在不给应用程序添加路径的情况下观看工作移动,然后必须记住删除.
-   你的制片人不是节点 BullMQ有一个正式的Python软件包,并从其他语言被写入到原始协议之上. 这些团队没有软件可以嵌入仪表板.
-   你想看看一个排队 通过一个隧道, 没有部署任何东西.
-   你正在评估公牛板 宁可自己排队 也不愿先用电线连接整合.

这不是在您自己的服务器上安装适配器的替换 : 没有自动登录, 没有框架级的认证可以继承, 每个选项都必须在命令行上传递, 一个 env var, 或者一个配置文件而不是代码 .

## 选项

```
Usage:
  bull-board [options]
  npx @bull-board/cli [options]

Options:
  -r, --redis <url>       Redis connection URL          [redis://localhost:6379]
      --sentinel <list>   Comma separated sentinel host:port list, port [26379]
      --sentinel-name <n> Redis master group name, required with --sentinel
      --sentinel-password <pass>
                          Password for the sentinel nodes themselves
      --redis-username <name>
                          Username for the Redis nodes behind the sentinels
      --redis-password <pass>
                          Password for the Redis nodes behind the sentinels
      --redis-db <n>      Database to select behind the sentinels
  -p, --port <port>       Port to listen on             [3000]
      --host <address>    Interface to bind             [127.0.0.1]
      --prefix <list>     Comma separated key prefixes  [bull]
      --queues <list>     Use these queue names instead of discovering
      --scan-interval <s> Seconds between rescans, 0 to scan once  [10]
      --base-path <path>  Serve the dashboard under a path prefix
      --read-only         Disable every destructive action
      --user <name>       Basic auth user (requires --password)
      --password <pass>   Basic auth password (requires --user)
      --board-title <s>   Dashboard title
      --history           Record and serve long-retention metrics history
      --history-retention-days <n>
                          Days of history to keep            [90]
      --config <file>     Path to a config file
      --browser <command> Command to open the browser with     [$BROWSER]
      --no-open           Do not open a browser
      --no-retry          Exit if Redis is unreachable instead of retrying
  -h, --help              Show this help
  -v, --version           Show the version
```

每面旗帜也有环境变量等同(`BULL_BOARD_REDIS_URL`, (中文(简体) ), `BULL_BOARD_PORT`, (中文(简体) ), `BULL_BOARD_READ_ONLY`,等等)和a `bull-board.config.{mjs,js,cjs,json}` 用于任何与命令行不符的文件。 旗帜胜过环境变量,它胜过配置文件,它胜过内置默认值.

如果Redis在CLI启动时无法被接通,它仍然打开:它服务于一个诊断页面,解释原因(它拨打的URL,基础错误,以及可能的原因),持续每3秒重试一次,并在Redis回答时自动切换到真正的仪表板,不需要重启. 这只覆盖启动,不过:一旦仪表板是活的,即使雷迪斯后来走了,它仍然保持活的. 诊断页面不复出;API请求停止返回,直到再能到达Redis,Ctrl-C仍然有效. 过 `--no-retry` 用于旧行为 : 立即打印出错并退出 1, 而不打开端口, 这是脚本或CI检查退出代码需要的 .

```js
// bull-board.config.js
module.exports = {
  redis: 'redis://localhost:6379',
  prefix: ['bull', 'tenant-a'],
  uiConfig: {
    boardTitle: 'Ops Dashboard',
  },
  queues: {
    'payment-webhooks': { readOnlyMode: true },
  },
};
```

## 红色哨兵

`--sentinel` 通过 Redis Sentinel 而不是直接连接到一个实例,用于主地址没有固定的部署 :

```sh
npx @bull-board/cli --sentinel s1.internal:26379,s2.internal:26379 --sentinel-name mymaster
```

每个条目可选取一个端口,默认为26379. `--sentinel-name` 是来自您的 sentinel 配置的主组名称,需要. `--sentinel` 财务报告和审定财务报表 `--redis` 两者是相互排斥的,通过两者都是一个错误,而不是一个沉默的偏好.

ioredis通过列出的哨兵解决了当前主机,并自行跟踪故障,因此整个仪表盘随即移动:队列读取,公牛订阅者,以及 `--history` 记录所有连接.

以哨卡模式获得的证书来自它们自己的旗帜,因为没有URL可以携带. `--redis-username`, (中文(简体) ), `--redis-password` 财务报告和审定财务报表 `--redis-db` 适用于哨兵背后的 Redis 节点,同时 `--sentinel-password` 认证到哨站节点本身,它们通常有不同的密码. 在Redis URL同时通过其中任何一个都是错误的,因为ioredis会拿走URL自己的证书而忽略它们.

对于任何超出此范围的东西,包括TLS到哨点,配置文件的 `redis` 密钥接受完整 [ioredis 选项对象](https://github.com/redis/ioredis#connect-to-redis) 并经过未受侵犯的地方:

```js
// bull-board.config.js
module.exports = {
  redis: {
    sentinels: [
      { host: 's1.internal', port: 26379 },
      { host: 's2.internal', port: 26379 },
    ],
    name: 'mymaster',
    sentinelPassword: process.env.SENTINEL_PASSWORD,
    enableTLSForSentinelMode: true,
  },
};
```

## 历史衡量标准

`--history` 开启原本需要的长期保留指标 `@bull-board/metrics` 连接到你自己的应用程序:

```sh
npx @bull-board/cli -r redis://localhost:6379 --history
```

每个队列图会得到一个60m / 7d / 30d / 90d 范围选择器,一个跨队列的Metrics历史页会出现在侧边栏. CLI 进程自行录制, 复制吞吐量, 等待时间, 运行时间和排队年龄为 Redis 一分钟一次 `bull-board:metrics:` 命名空间,永远不要超过牛或牛MQ的钥匙。 记录在发现之后, 因此在下个勾选时, 在重新扫描之间出现的队列会被取出 .

`--history-retention-days` 设置窗口,默认为90天。 每一级保留、快照间隔和 `latency: false` 在配置文件下方 `history` 键. `--read-only` 保存读取并停止写作,用于只显示另一个进程记录的板.

完成和失败的历史出自BullMQ自己的公尺缓冲器,所以除非你的工人是用它建造的 `metrics: { maxDataPoints: MetricsTime.ONE_WEEK }`; 当没有发现队列时, CLI 在启动时警告 。 懒惰和排队年龄 不需要你的工人。 见 [历史衡量方法](https://felixmosh.github.io/bull-board/recipes/historical-metrics) 用于存储大小和图表显示的内容.

## 夹克

```sh
docker run --rm -p 127.0.0.1:3000:3000 \
  -e BULL_BOARD_USER=admin -e BULL_BOARD_PASSWORD=secret \
  ghcr.io/felixmosh/bull-board --redis redis://host.docker.internal:6379
```

`ghcr.io/felixmosh/bull-board` 是这个包作为一个图像,为 amd64 和 arm64 搭建在每一个发行版上,并用精确的版本,主版本,以及 `latest`进入点是CLI, 所以旗帜和 `BULL_BOARD_*` 变量和上面一样有效。 图像决定给你的唯一东西 `BULL_BOARD_HOST=0.0.0.0` 财务报告和审定财务报表 `BULL_BOARD_OPEN=false`,两个默认在容器中是没有道理的,你可以同时推翻两者. [与 Docker 运行](https://felixmosh.github.io/bull-board/guide/docker) 覆盖 Confose 、 标记并挂起配置文件 .

发现只读出Redis,所以这里没有找到由PostgreSQL支持的BullMQ v6队列;在您自己的应用程序中为这些队列使用服务器适配器. `--prefix` 也不使用通配符,请明确列出所需的前缀.

见 [CLI 指南](https://felixmosh.github.io/bull-board/guide/cli) 用于全旗和环境变量参考和基本验证.

## 常见问题

### @bull-board/cli 是什么？

运行公牛板仪表板 对一个Redis的例子 从命令行\.

### 如何安装 @bull-board/cli？

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

### @bull-board/cli 支持 TypeScript 吗？

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

### @bull-board/cli 支持 ESM 还是 CommonJS？

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

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

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

### @bull-board/cli 可以商用吗？

@bull-board/cli 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bull-board/cli 的下载量有多少？

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

### @bull-board/cli 还在维护吗？

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

