跳转到内容

CLI 概览

Imbrace CLI(@imbrace/cli)是一个用于与 Imbrace 平台交互的终端工具。命令通过 @imbrace/sdk 包直接调用 Imbrace 平台。源码:imbraceltd/imbrace-cli

imbrace (CLI) → https://app-gatewayv2.imbrace.co (Imbrace Platform)

认证流程

CLI 支持两种认证方法:

1. API Key(凭证以 sk-api_ 开头):

  • 直接传递给 SDK:new ImbraceClient({ apiKey: credential })
  • 按原样存储在本地配置中

2. 邮箱 + 密码(返回 JWT 令牌):

  • SDK:client.login(email, password) → 令牌存储在本地
  • JWT 令牌作为凭证存储

凭证存储

凭证通过 conf npm 包存储,projectName: "imbrace"

操作系统配置文件路径
macOS~/Library/Preferences/imbrace-nodejs/config.json
Linux~/.config/imbrace-nodejs/config.json
Windows%APPDATA%\imbrace-nodejs\Config\config.json

存储字段:credentialmethod"api-key" | "password")、email

自动登录

每条 CLI 命令(login 除外)都继承 BaseCommand,后者在初始化时调用 ensureLoggedIn()。如果未找到凭证,它会交互式提示用户选择登录方式(API Key 或 邮箱 + 密码)。

项目结构

imbrace-cli/
└── cli/ ← oclif CLI
└── src/
├── base-command.ts ← 自动登录
├── config.ts ← 凭证存储 (conf)
└── commands/
├── login.ts / logout.ts / whoami.ts / docs.ts
├── data-board/ (8 条命令)
├── ai-agent/ (9 条命令)
├── document-ai/ (7 条命令)
├── orchestrator/ (4 条命令)
├── guardrail/ (5 条命令)
└── workflow/ (32 条命令)

工作流节点架构

工作流使用通过 nextAction 指针实现的链表结构:

{
version: {
trigger: {
name: "trigger",
type: "PIECE_TRIGGER" | "EMPTY" | "PIECE" | "ROUTER" | "LOOP_ON_ITEMS" | "CODE",
settings: { pieceName, pieceVersion, input, ... },
nextAction: { ... },
children?: any[], // ROUTER 分支
firstLoopAction?: any, // LOOP_ON_ITEMS 主体
}
}
}

所有节点操作都使用 applyFlowOperation(),操作类型包括:UPDATE_TRIGGERADD_ACTIONUPDATE_ACTIONDELETE_ACTIONLOCK_AND_PUBLISHCHANGE_STATUSCHANGE_FOLDER