Chuyển đến nội dung

Tổng quan CLI

Imbrace CLI (@imbrace/cli) là một công cụ dòng lệnh để tương tác với nền tảng Imbrace. Các lệnh gọi trực tiếp đến nền tảng Imbrace thông qua gói @imbrace/sdk. Nguồn: imbraceltd/imbrace-cli.

imbrace (CLI) → https://app-gatewayv2.imbrace.co (Nền tảng Imbrace)

Luồng xác thực

CLI hỗ trợ hai phương thức xác thực:

1. API Key (thông tin xác thực bắt đầu bằng sk- hoặc api_):

  • Được truyền trực tiếp đến SDK: new ImbraceClient({ apiKey: credential })
  • Được lưu nguyên trạng trong cấu hình cục bộ

2. Email + Mật khẩu (trả về JWT token):

  • SDK: client.login(email, password) → token được lưu cục bộ
  • JWT token được lưu làm thông tin xác thực

Lưu trữ thông tin xác thực

Thông tin xác thực được lưu qua gói conf với projectName: "imbrace".

Hệ điều hànhĐường dẫn cấu hình
macOS~/Library/Preferences/imbrace-nodejs/config.json
Linux~/.config/imbrace-nodejs/config.json
Windows%APPDATA%\imbrace-nodejs\Config\config.json

Các trường được lưu: credential, method ("api-key" | "password"), email.

Tự động đăng nhập

Mọi lệnh CLI (ngoại trừ login) đều kế thừa BaseCommand, lệnh này gọi ensureLoggedIn() khi khởi tạo. Nếu không tìm thấy thông tin xác thực, nó sẽ tương tác yêu cầu người dùng chọn phương thức đăng nhập (API Key hoặc Email + Mật khẩu).

Cấu trúc dự án

imbrace-cli/
└── cli/ ← oclif CLI
└── src/
├── base-command.ts ← Tự động đăng nhập
├── config.ts ← Lưu trữ thông tin xác thực (conf)
└── commands/
├── login.ts / logout.ts / whoami.ts / docs.ts
├── data-board/ (8 lệnh)
├── ai-agent/ (9 lệnh)
├── document-ai/ (7 lệnh)
├── orchestrator/ (4 lệnh)
├── guardrail/ (5 lệnh)
└── workflow/ (32 lệnh)

Kiến trúc Workflow Node

Workflows sử dụng cấu trúc danh sách liên kết thông qua con trỏ nextAction:

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

Tất cả các thao tác node đều sử dụng applyFlowOperation() với các loại: UPDATE_TRIGGER, ADD_ACTION, UPDATE_ACTION, DELETE_ACTION, LOCK_AND_PUBLISH, CHANGE_STATUS, CHANGE_FOLDER.