# @brainbase-labs/cli 中文文档

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

版本：0\.60\.0
npm 元数据更新时间：2026-11-07T02:15:13.883Z
中文译文更新时间：2026-11-08T13:34:30.285Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：4 MB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：10 个
- 首次发布：2026-05-05T01:48:01.510Z
- 最新版本发布：2026-11-07T02:15:13.702Z
- 近 30 天下载量：27825（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：104（近 12 个月 104 个）

## 中文简介

包、分并安装代理模板(Claude Code, Codex,.).

## 安装

```sh
npm install @brainbase-labs/cli
```

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

## README

# 脑库

包,分,并安装代理模板横跨被套(Claude Code, Codex, Kafka).

## 安装

```sh
npm install -g @brainbase-labs/cli
```

软件包安装一个 `brainbase` 在您的路径上命令。 需要节点.js 18+.

## 快开始

```sh
brainbase login                 # connect this device to brainbase
brainbase team list             # which teams can I put agents in?
brainbase agent list            # which agents are in a team, and what are their ids?
brainbase template pack         # bundle the current agent into a template
brainbase template publish      # upload to the registry
brainbase template search       # find templates published by your team
brainbase template onboard <creator/slug>   # install or refresh a template
brainbase agent create          # claim a local brainbase.agent.yaml
brainbase task create --message "Review this project and propose next steps"
brainbase benchmark list        # list benchmarks for the linked agent
```

运行 `brainbase help` 可以看到每一个命令.

## 代理表面

从终端管理聊天、Slack、会议、GitHub、线和电话:

```sh
brainbase agent connections --agent <id> --json
brainbase agent surface chat configure --agent <id> --models= --json
brainbase agent surface meeting configure --agent <id> --vision true
brainbase agent surface github connect --agent <id> --no-open
brainbase agent surface --help
```

使用 `status` 有效环境与能力,以及 `configure` 改为 只更改已提供字段。 GitHub/ Linear 设置可移植浏览器 链接并可以恢复 `wait --installation <id>`. 供应商的业务 需要登录会话。 电话购买和所有新的断开命令 需求 `--yes`见 [命令引用](https://npmcn.com/package/%40brainbase-labs/cli/docs/reference/commands.mdx#connections)。 。 。 .

## 连接和拉入一步

新鲜出货——任务沙盒,CI工作——可以附在代理上并拉出 在一个单一进程中:

```sh
brainbase agent pull <agent-id> --link --yes
```

`--link` 做点什么 `brainbase link --agent <agent-id> --yes` 有(痛苦) 路线,使用 `BB_TASK_KEY` 当设定时, 加上文件夹的链接) 无论如何,拉取,所以代理被取一次而不是两次。 那个特工, 它的表象和——当拉力确实可以应用时——它的秘密是: 同步获取 . `brainbase link` 财务报告和审定财务报表 `brainbase agent pull` 无 `--link` 像以前一样.

## 任务后续行动

向已有任务发送指令, 包括当其代理运行时 :

```sh
brainbase task send <task-id> "Also update the Linear ticket"
brainbase task send <task-id> "Use the revised approach instead" --json
brainbase task stop <task-id>
```

`send` 在 stdout 中报告输入的ID和发送状态。 输入 ID 和 生成以恢复一个发件时才会打印: 错误、未经证实的收据或中断时。 初步接受可以说 **待交付** 时 服务器决定本地方向盘是否可用。 原生方向盘跟着 绳子本身的时机。 一个确认的后退说 **排入下个回合**。 。 。 . `submitted` 表示带子收到了输入;并不意味着代理 已经就此采取行动。 多个后续可以加入一个执行并接受一个 综合答案.

默认情况下,两个命令在发送请求前都会读取当前输入生成. 证书必须有收件读取权限以及发送或停止的许可. 当任务阅读执行启用时,资源范围密钥可能缺少读取权限. 如果读取失败,则不发送突变. 使用 `--generation <n>` 只绕过已读 包含用于新操作的可信当前截断,或者用于重试的原始截断. 同时停止使寄件者无法与更年长的一代一起工作. 如果丢失了HTTP响应或按下 Ctrl-C,命令会打印输入ID和生成; 以 `--input-id <uuid> --generation <n>` 安全地收回这个请求。 重用标识 不重放已有输入。 A 类 **未证实的交货** 收讫表示 代理人可能已经收到指示; 故意重新发送 无 `--input-id` 只有您想要重试它作为新输入.

已知的入境前HTTP 503拒绝包括: `task_inputs_disabled`, (中文(简体) ), `task_input_recovery_unavailable`,以及公认的沙盒提供或进入 密码 这意味着该请求不接受任何投入。 重试相同的ID, 消息 服务结束后,一代又恢复。 未识别服务器或网络故障 可以留下未经证实的分娩。 收回的收据报告 `idempotency_replayed: true` 在JSON中,当服务器提供其回放标题时.

`stop` 停止执行并取消待执行的后续工作,同时保留其 语句。 新指令不会重放它们 。 在提交前, 打印重试 命令为 `--generation <n>`。即使响应丢失,仍保留该命令: 重试原世代不能中断更新的工作 。 错误可以指 队列输入在原执行仍在进行时已被取消 . 遵循错误的重试或运算符回收指导. 奥米 `--generation` 仅限 故意发布新的停止。 JSON包括原件 `expected_generation` 与服务器的结果分开 `generation`。 。 。 .

Ctrl-C 输入 `task create --wait` 或者说 `task logs --follow` 仍然只能解开;它不会停止远程工作. 两个命令支持 `--json`。 。 。 . `send` 1出口用于未确认、已取消或 输入失败, 请求错误 。 其他被承认的州出口0; 这证实了承认或交付,而不是任务的成功.

## 重新命名和标签工作

创建时标出任务, 按标签查找任务, 并更改任务 标题、标签或模型,包括运行时:

```sh
brainbase task create --message "Nightly smoke run" --metadata env=staging
brainbase task list --metadata env=staging
brainbase task update <task-id> --title "Nightly smoke run" --metadata env=prod
brainbase task update <task-id> --unset-metadata env --json
brainbase task update <task-id> --model claude-sonnet-5-5
brainbase task update <task-id> --clear-model
```

`--metadata` 财务报告和审定财务报表 `--unset-metadata` 保留所有你没有命名的标签 编辑来自多个客户端的一瞬间全部存活下来. `--clear-metadata` 移除它们 所有,还有 `--clear-title` 删除标题. `--model` 切换模型 任务下一轮启动; 已经运行的回合保持其模式 . `--clear-model` 返回任务到其代理的默认模式。 见 [命令参考](https://npmcn.com/package/%40brainbase-labs/cli/docs/reference/commands.mdx) 每个旗帜.

## 基准管理

`benchmark init`, (中文(简体) ), `benchmark validate`,命令帮助是本地的,不需要 登录或链接代理 。 控制飞机命令使用索赔的代理人 `brainbase.agent.yaml` 默认; 通过 `--agent <id>` 以覆盖它.

```sh
# Scaffold and validate locally.
brainbase benchmark init ./benchmarks/support-quality
brainbase benchmark validate ./benchmarks/support-quality

# Create accepts manifests and directories without attached files.
brainbase benchmark create ./benchmarks/support-quality --json

# A directory containing cases/*/files/** must be imported as a bundle.
brainbase benchmark import bundle ./benchmarks/support-quality --json

# Publish, then plan, start, and watch the run in one step. The run uses the
# agent's default model; --variant default=<model> runs another one.
brainbase benchmark publish <benchmark-id> --expected-version <version> --json
brainbase benchmark run <benchmark-id> --yes --watch --jsonl
brainbase benchmark run <benchmark-id> --yes --variant default=<model> --json

# Or plan and start separately.
brainbase benchmark run plan <benchmark-id> \
  --revision <revision-id> \
  --variant default \
  --json
brainbase benchmark run start <plan-id> --yes --json
brainbase benchmark run watch <run-id> --jsonl

# Inspect and export terminal results.
brainbase benchmark diagnoses <run-id> --json
brainbase benchmark export-results <run-id> --output ./results.zip
```

`benchmark pull` 财务报告和审定财务报表 `benchmark push` 绕行本地目录布局 :

```text
benchmark.yaml
cases/<case-key>/case.yaml
cases/<case-key>/files/**
bundle/<original-bundle-path>
```

`benchmark.yaml` 仅携带本地 `case_order` 列表如此拉并推 保存案件顺序;它不是作为远程清单的一部分发送的. 案发地档案放在他们的案子旁边 共享、隐藏和根级捆绑 路径存储在下面 `bundle/` 同时保留其原始远程路径. 牵引目的地必须缺席或为空. 使用新目录刷新 a 基准而不是覆盖本地编辑.

人可读出输出为默认. `--json` 发出一个版本的信封. 对于 pagized 命令, 它返回一页及其 `next_cursor` 除非 `--all` 已经设定. `--jsonl` 发送项目和页数记录,同时观看 发布国家变化事件。 继续使用 `--cursor`; 结构模式从未 快点.

同上,只是明确性:请求省略 " 一权 " 标题,除非 `--idempotency-key` 提供。 只为相同的重试重用密钥 . 启动运行需要 `--yes`;确认同一计划ID是重放安全. 中断 `run watch` 不取消远程运行。 运行,MAS暂停 收费站 `run watch` 带有退出代码 1; 一旦计费确定, 运行 `brainbase benchmark run resume <run-id> --yes` 把它放回队列中.

使用 `brainbase benchmark --help`, (中文(简体) ), `brainbase benchmark run --help`,或 `brainbase benchmark <command> --help` 为本地指挥提供帮助.

## 基准运行时间命令

管理下的基准工人在同一条内援引两个只使用机器的命令 作为代理任务的沙盒 :

```sh
brainbase benchmark hydrate --spec /path/to/hydrate.json --result /path/to/result.json --json
brainbase benchmark evaluate --spec /path/to/evaluate.json --result /path/to/result.json --json
brainbase benchmark capabilities --json
```

CLI执行本地,版本相规格. 它不要求工作, 授权用户,或持续基准数据库状态。 能力反应 既发布CLI版本的广告,又发布支持相位计划版本的广告.

两种规格都使用 `schema_version: "1"`,一个 `attempt_id`,一个马厩 `phase_id`, (中文(简体) ), 绝对工作空间/存储/日志路径,以及相位预算。 硬化必须:

```text
<workspace>/.brainbase/benchmark/<attempt_id>/incoming
```

相位日志/ 测试根必须缺失、 空出或带有 CLI 匹配 尝试/相控所有权标记; CLI 从未重复清除未拥有的 非空目录.

水分在复制文件或复制文件前核查每个阶段大小和SHA-256 安全地从候选工作空间取出克兹克焦油. `.brainbase`, (中文(简体) ), `.git`, (中文(简体) ), 财务报告和审定财务报表 `brainbase.agent.yaml` 预留。 设置命令使用 argv 阵列, 范围 时间/输出、允许列表的基础环境、明确标记的文字值 `sensitive: false`,并且只有命令选择的秘密环境变量 spec's宣布的约束。 预期答案和评价者的定义是: 无效的水合物字段.

评估仅在MAS结束代理转接并单独进行 评估规格。 核查最终产出、轨迹、参考和评价人员 捆绑摘要; 写一个评估前工作空间清单; 保存声明 候选文物;可选创建候选档案;然后实现 在候选工作空间外隐藏参考资料并运行评价员 同步进行. Schema v1 支持 :

-   `output_assertion`:准确、包含或正则检查最终产出.
-   `trajectory_assertion`:有界数的犬类事件类型.
-   `workspace_assertion`:文件存在,不存在,SHA-256,或内容检查.
-   `sandbox_command`: 根植于工作空间或隐藏的有边框的 argv 命令 测试目录。 退出 0 通道; 任何其他退出代码都是无效的 判决。 Schema v1 允许最多 20 名命令评估员, 并运行它们 仅读断言。 每个命令都收到经过验证的活工作空间 用于遗留的只读评价或它自己孤立地被冻结的工作空间副本.

有效的失败判决仍然产生一个成功的评价阶段。 无效 规格、文摘/路径侵犯、环境缺失、阶段预算耗竭、, 并且违反产出预算的行为未能进入这一阶段。 单个指令发射失败, 暂停,强迫终止记录为错误评价结果,因此 剩下的评估人员仍然可以运行。 结果是用解剖法写出来的 有模式 `0600`,包括原始的光谱摘要和校验摘要证据/记录 明确输入/产出参考 `staging`, (中文(简体) ), `workspace`, (中文(简体) ), `tests`,或 `logs` 根, 编辑命令日志中宣布的秘密值, 要求 结果路径 `<logs_root>/result.json`,并处理匹配成功 相位结果作为重播的权威 .

在任何相位执行失败时,MAS必须拆下任务沙盒. 失败和超时命令清理进程组和后人 CLI可以观察. 成功的评估命令得到同样的清理,所以一个 检查无法污染下一个 。 成功的水合设置命令可能 故意将服务留给代理机构;运行周期 仍然是他们最后的清理边界。 单独评估工作空间副本省略 `.git` 和不安全的绝对 或逃出共鸣.

## 发展

用 Bun 版本构建到 `.bun-version` (目前为1.3.10)——CI和两者 发布工作流程读取该文件。 生成的 `dist/index.js` 承诺 bun补丁的释放可以产生不同的捆绑 输出.

套接字组也具有版本敏感性,因此在每一个入口处都执行接针: `bun run verify` 财务报告和审定财务报表 `bun run build` 直接拒绝另一班,和 `bun test` 打印一个警告并继续进行。 每个被绑定的版本和命令的名称 为了得到它: `npx bun@<pinned> …`启用 `npx` 而不是说 `bunx` - 包克斯运行最多 已出版的 Bun 版本, 但无法具体解析 1. 3. 10 的 bin , 而 是当前指针。 设定 `SKIP_BUN_VERSION_CHECK=1` 以压倒其中任何一种.

### 释放

1.  运行 **准备释放** 从 `main` 与准确的版本。 它拒绝 npm 或 a 的版本已经 `release/*` 已经存在的分支或标签, 然后推动分支并打印出一个链接来打开拉动请求。 矿石 不让动作打开拉动请求, 所以最后一步是您的 .
2.  合并释放拉动请求 。 CI 检查任何移动 版本,或来自 `release/*` 树枝,对npm——如此手工制作 释放牵引请求与生成的请求在同一栏.
3.  运行 **发布**,命名同一个版本。 它拒绝运行 如果犯罪 它检查出一个不同的, 和焦油球的 `dist/index.js` 必须匹配承诺的捆绑.

编制和出版 `release` 货币组, 所以两个释放队列 而不是离间。 出版的版本是不可改变的:如果发行失败 没有你打算包含的东西, 运送下一个版本而不是 重新剪接号码.

## 代理运行时间配置

`brainbase.agent.yaml` 能够声明提供者、默认模式和运行时间模式 用于管理运行 :

```yaml
schema: 1
harness: codex
machine_kind: daytona
default_model: openai/gpt-5.6-terra

agent:
  name: Ops Agent
```

`machine_kind` 用于创建云代理。 换个位置 声称代理在任何云写入前失败; 创建新代理以切换 供养者. `default_model` 可用 `brainbase agent push`设置它 改为 `null` 来清除覆被 关闭这些田地 使得它们无人管理,所以 旧的表 保持他们现有的行为.

`runtime_mode` 接受 `fixed` 或者说 `auto`,与铅带和 型号。 一个明确的值由 `agent create` 或者说 `agent push`; 遗漏 保留远程模式。 一个模式感知控制平面的拉力写着 `auto` 财务报告和审定财务报表 省略 `fixed`。 。 。 . 运行时自动需要服务器 `self-delegation` 特性旗和子 还需要一个自我发现 在一个管弦乐。 传统控制飞机明确拒绝 模式写入 . `agent pull --force` 丢弃本地运行时间- 模式编辑 .

何时 `agent create` 声称没有 `default_model`,控制飞机 给代理机默认其操纵的平台, 同一个模式的网络 控制台选择,和 `agent create` 显示它。 Cursor、工厂和Quder代理商 没有,因为那些拉带 总是运行自己的供应商的模型.

## 利用功能支持

每个组件类型被存储在从运行时间已经读取的地方——CLI不强制自己的布局. "内生"细胞描述安装地块的位置;"-"表示被套不支持该成分类型.

| 构成部分 | 克劳德代码 | 代码 | 卡夫卡语Name |
| --- | --- | --- | --- |
| **技能** | `.claude/skills/<slug>/` (每名技能,w/出处标记) | `~/.codex/skills/<slug>/` (全球)或 `.agents/skills/<slug>/` (项目) | `.kafka/skills/<slug>/` |
| **MCP 服务器** | 项目: `.mcp.json`. 全球: `~/.claude.json` → `mcpServers`永远 `settings.json` (克劳德在那里忽略它). | 嵌入于内 `~/.codex/config.toml` 作为 `[mcp_servers.<slug>]` 块 | 嵌入于内 `.kafka/kafka.json` (没有侧车-Kafka SDK从设置直接读取MCP) |
| **命令** (斜线命令/ 即时) | `.claude/commands/<slug>.md` | `~/.codex/prompts/<slug>.md` (Codex没有文件记录的项目镜提示 dir) | `.kafka/commands/<slug>.md` (卡夫卡的运行时间在内部称这些"游戏本",但CLI保留了 `command` 交叉对称类型) |
| **副代理人** | `.claude/agents/<slug>.md` | —— (Codex使用不同的剂型方案) | `.kafka/agents/<slug>.md` |
| **游戏本** | `.claude/playbooks/<slug>.md` + 底层自动管理表格 `CLAUDE.md` | `.codex/playbooks/<slug>.md` + 底层自动管理表格 `AGENTS.md` | `.kafka/playbooks/<slug>.md` + 底层自动管理表格 `KAFKA.md` |
| **指令** | 封锁 `CLAUDE.md` 介于 `<!-- brainbase:start name=<template> -->` 编号 : `:end` 标记 | 同一区块公约 `AGENTS.md` | 同一区块公约 `KAFKA.md` |
| **钩子** | \- (待办) | —— 说 | —— 说 |
| **文件** | 任意复制: 相对于 `cwd` | 一样 | 一样 |

Playbook 文件包含一个小的 YAML 前题(`title`, (中文(简体) ), `description`) —— CLI分析它来构建被注入到每个被带指令文件的表格. 该表由下列人士置于括号内: `<!-- brainbase:playbooks:start -->` 编号 : `:end` 每次拉动时都会打出标记并重新生成,所以被移除的游戏本会自动从桌子上跳出.

### 项目根( 敌意- 不可知性)

-   自动检测 `ONBOARDING.md` 和您指出的任何额外文件/文件夹 `--file <path>` 装入 `file` 组件并在安装时重放.

## 配置

| 变量 | 目的 |
| --- | --- |
| `BRAINBASE_CONTROL_PLANE_URL` | 覆盖MAS主机. 使用代理/管理请求 `/v2/cli`; 任务命令使用 `/v2/tasks`默认为 `https://api.brainbaselabs.com`。 。 。 . |
| `BRAINBASE_API_URL` | 遗留 KLS 主机覆盖 。 控制请求的使用 `/api/cli`;这也是模型代用和登记流量的倒数. |
| `BRAINBASE_PROXY_URL` | 覆盖在启用吊带跟踪时使用的模型-代理主机. |
| `BRAINBASE_REGISTRY_URL` | 覆盖注册 API 主机 . |
| `BRAINBASE_TOKEN` | 使用 PAT 而不是存储的登录会话 。 超过了会话和 PAT 保存的 `token.json`。见 [认证](https://npmcn.com/package/%40brainbase-labs/cli/#readme-auth)。 。 。 . |
| `BRAINBASE_HOME` | 当地国家居住的地方( 默认 ): `~/.brainbase`(中文(简体) ) |

模型代用和登记流量通过 `BRAINBASE_API_URL`, (中文(简体) ), 登录时捕获的服务器,最后 `https://api.v1.brainbaselabs.com`。 。 。 .

## 认证

每个命令都尝试三种证书,按此顺序:

1.  `BRAINBASE_TOKEN`
2.  页:1 `auth.json` 登录会话, 如果已过期, 先更新
3.  那个PAT `brainbase token create` 保存在 `~/.brainbase/token.json`, (中文(简体) ), 没有会议或会议无法延长。 一个PAT 铸造 与会话不同的账户从不使用.

`brainbase whoami` (或 `--json`(d) 报告哪些活动。 它更新了一个 过期的会话本身, 因此它报告的是下一个命令会使用什么 .

**对于CI:** 跑者没有 `token.json`把PAT当作秘密

```bash
export BRAINBASE_TOKEN=bbpat_…
brainbase agent push
```

别烤了 `~/.brainbase` 目录为构建图像。 船舶 `BRAINBASE_TOKEN` 而是作为一个秘密.

明确的 PAT 不继承存储登录的路由 。 设定 `BRAINBASE_CONTROL_PLANE_URL` 当使用 PAT 对非默认 MAS 主机.

## 许可证

麻省理工学院——见 [自由主义](https://npmcn.com/package/%40brainbase-labs/cli/LICENSE)。 。 。 .

## 常见问题

### @brainbase-labs/cli 是什么？

包、分并安装代理模板\(Claude Code, Codex,\.\)\.

### 如何安装 @brainbase-labs/cli？

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

### @brainbase-labs/cli 支持 TypeScript 吗？

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

### @brainbase-labs/cli 支持 ESM 还是 CommonJS？

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

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

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

### @brainbase-labs/cli 可以商用吗？

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

### @brainbase-labs/cli 的下载量有多少？

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

### @brainbase-labs/cli 还在维护吗？

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

