SuperAPI AI 工具集

blaxel-cli

部署与运维

查看项目

更新于 10-15 15:02

技能介绍

Blaxel CLI

Blaxel CLI 是一个从命令行管理 Blaxel 云资源的工具,命令名为 bl,用于管理 agents、sandboxes、jobs、MCP servers、drives 等资源。

用途

该 CLI 的主要用途是让开发者通过命令行以声明式或命令式方式管理 Blaxel 云平台上的各类资源,包括部署智能体、创建和操作沙箱、管理 job、MCP 服务器以及 drives,并支持多工作区切换与部署。

前置条件

使用前,bl 命令必须位于 PATH 中。可通过以下命令检查:

bl version

如果尚未安装,请使用对应操作系统的官方安装程序。

macOS 或 Linux:

curl -fsSL https://blaxel.ai/install.sh | sh

Windows PowerShell:

irm https://blaxel.ai/install.ps1 | iex

按照安装程序关于 PATH 或重新加载 shell 的说明操作,然后完成设置:

bl setup

Setup 会安装 Blaxel skills 并配置受支持的编码智能体。在终端中,它还会提供浏览器登录选项。如果安装程序已完成设置,请验证结果,而不是重复执行。

在没有终端的情况下运行时,使用 bl setup --yes。该环境下 Setup 会跳过浏览器登录。如果仍需要登录,请运行 bl login,展示其安全浏览器 URL,并在用户批准后继续。从命令输出中确认所选工作区;不要猜测工作区名称,也不要要求粘贴凭据。

对于无人值守的自动化,请使用通过环境安全提供的现有 BL_API_KEY 和 BL_WORKSPACE。命令可以直接使用这些变量;不要启动浏览器登录,也不要在 agent 配置中持久保存密钥。

验证已安装的命令和当前活动工作区:

bl version bl workspaces --current

将空的工作区输出视为登录不完整。

全局标志

所有命令都支持以下标志:

标志 | 描述

-o, --output <format> | 输出格式:pretty、yaml、json、table -w, --workspace <name> | 针对此命令覆盖工作区 -v, --verbose | 启用详细输出 -u, --utc | 启用 UTC 时区 --skip-version-warning | 跳过版本警告

非交互模式

对于会提示输入(确认、选择)的命令,添加 -y 或 --yes 以自动确认。在非交互 / 无 TTY 环境(脚本、CI、智能体)中运行时,这是必需的。

可用命令

bl apply # 使用 YAML 文件以声明式方式将配置更改应用到资源。 bl chat # 启动与已部署智能体的交互式聊天会话。 bl connect # 打开到沙箱的交互式终端会话 bl delete # 从工作区删除 Blaxel 资源。 bl deploy # 将 Blaxel 项目部署到云端。 bl drive # 管理沙箱上的 drives 和 drive mounts。 bl fork # 通过 fork 现有沙箱创建新的沙箱或应用。 bl get # 检索工作区中 Blaxel 资源的信息。 bl login # 通过 Blaxel 进行身份验证以访问工作区。 bl logout # 删除工作区存储的凭据。 bl logs # 查看 Blaxel 资源的日志。 bl mcp # 使用现有 bl 登录,通过 stdio 提供托管的 Blaxel MCP 工具。 bl new # 从模板创建新的 Blaxel 资源。 bl push # 构建容器镜像并推送到 Blaxel registry,但不创建部署。 bl run # 使用自定义输入数据执行 Blaxel 资源。 bl serve # 为 Blaxel 项目启动本地开发服务器。 bl setup # 在此机器上设置 Blaxel 所需的一切,然后登录。 bl share # 将 Blaxel 资源共享到账户中的其他工作区。 bl skills # 管理用于编码智能体的 Blaxel skills bl token # 检索指定工作区的身份验证令牌。 bl unshare # 从其他工作区移除共享的 Blaxel 资源。 bl upgrade # 将 Blaxel CLI 升级到最新版本。 bl version # 打印版本号 bl workspaces # 列出并管理工作区。

参考文档

apply - 使用 YAML 文件以声明式方式将配置更改应用到资源。

chat - 启动与已部署智能体的交互式聊天会话。

connect - 打开到沙箱的交互式终端会话

delete - 从工作区删除 Blaxel 资源。

deploy - 将 Blaxel 项目部署到云端。

drive - 管理沙箱上的 drives 和 drive mounts。

fork - 通过 fork 现有沙箱创建新的沙箱或应用。

get - 检索工作区中 Blaxel 资源的信息。

login - 通过 Blaxel 进行身份验证以访问工作区。

logout - 删除工作区存储的凭据。

logs - 查看 Blaxel 资源的日志。

mcp - 使用现有 bl 登录,通过 stdio 提供托管的 Blaxel MCP 工具。

new - 从模板创建新的 Blaxel 资源。

push - 构建容器镜像并推送到 Blaxel registry,但不创建部署。

run - 使用自定义输入数据执行 Blaxel 资源。

serve - 为 Blaxel 项目启动本地开发服务器。

setup - 在此机器上设置 Blaxel 所需的一切,然后登录。

share - 将 Blaxel 资源共享到账户中的其他工作区。

skills - 管理用于编码智能体的 Blaxel skills

token - 检索指定工作区的身份验证令牌。

unshare - 从其他工作区移除共享的 Blaxel 资源。

upgrade - 将 Blaxel CLI 升级到最新版本。

version - 打印版本号

workspaces - 列出并管理工作区。

发现选项

要查看任何命令可用的子命令和标志,请运行 --help:

bl --help bl deploy --help bl get --help bl get agents --help

常见工作流

创建沙箱、运行命令并获取其日志

1. 使用 bl apply 创建沙箱

bl apply -f - <<EOF apiVersion: blaxel.ai/v1alpha1 kind: Sandbox metadata: name: my-sandbox spec: runtime: image: blaxel/base-image:latest memory: 2048 lifecycle: expirationPolicies: - type: ttl-idle value: 1h # Delete after 1 hour of inactivity. Units: h, d, w action: delete EOF

2. 检索沙箱配置

bl get sandbox my-sandbox

3. 在沙箱中执行命令并获取命令的 stdout

bl run sandbox my-sandbox --path /process --data '{"command": "echo hello world", "name": "my-cmd", "waitForCompletion": true}'

4. 如果 stdout 不足,检索该命令的日志

bl logs sandbox my-sandbox my-cmd

在沙箱中运行复杂命令(智能体指南)

bl run sandbox ... --path /process --data '<json>' 要求 JSON 负载能通过 shell 引号处理。一旦命令嵌入嵌套引号、反斜杠、多行或 sh -lc / python3 -c 之类的解释器,内联 --data 就会变得脆弱,API 会以 400 Bad Request: invalid character ... in string escape code 拒绝请求。

面向智能体的决策规则:

命令没有单引号、没有反斜杠、没有换行 → 直接使用 --data '{"command": "...", "waitForCompletion": true}'。

任何更复杂的情况(嵌套引号、转义、多行、脚本)→ 使用 Write/文件创建工具将 JSON 负载写入文件(这完全绕过 shell),然后使用 --file 运行。

步骤 1 — 智能体写入 /tmp/process.json,内容类似:

{

"command": "sh -lc 'python3 -c "print(\"hello\")"'",

"name": "cve-check",

"waitForCompletion": true

}

步骤 2 — 执行它

bl run sandbox my-sandbox --path /process --file /tmp/process.json

部署智能体

bl new agent my-agent cd my-agent bl serve --hotreload # 本地测试 bl deploy # 部署到云端 bl chat my-agent # 与其聊天

管理沙箱

bl get sandboxes # 列出全部 bl get sandbox my-sandbox --watch # 监视状态 bl connect sandbox my-sandbox # 交互式终端 bl logs sandbox my-sandbox --follow # 流式查看日志 bl delete sandbox my-sandbox # 清理

多工作区部署

bl workspaces dev # 切换到 dev bl deploy # 部署到 dev bl workspaces prod # 切换到 prod bl deploy # 部署到 prod