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 |
存储字段:credential、method("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_TRIGGER、ADD_ACTION、UPDATE_ACTION、DELETE_ACTION、LOCK_AND_PUBLISH、CHANGE_STATUS、CHANGE_FOLDER。