通过命令行管理云扉 AIGate GPU 资源、实例与生成任务。
AIGate CLI 面向个人账户,支持算力 OpenAPI、Workflow API 和 Comfy API,提供系统凭证存储、JSON 输出和 shell 自动补全。
快速开始 · 下载安装 · 认证 · 命令指南 · 自动化 · 自动补全 · Agent 使用 · 开发与测试 · 文档
aigate-cli regions # 离线查看区域,无需登录
aigate-cli status # 查看计费中实例的状态总览
aigate-cli list --all --json # 获取全部分页,供脚本处理- 资源查询:查看区域、GPU 规格、个人与社区镜像、实例详情和状态,支持完整分页。
- 实例管理:创建、开机、关机与释放;创建和释放提供离线预览与明确确认。
- 生成任务:Workflow 与 Comfy 的任务提交、状态和结果查询、文件上传;提交前支持离线预览与明确确认。
- 凭证存储:通过系统 Keyring 保存 Token,也可使用进程环境变量认证。
- 自动化输出:提供 JSON、稳定的退出码和默认脱敏,便于脚本及 Agent 调用。
- Shell 集成:支持 Bash、Zsh、Fish、PowerShell、Clink/Cmder 和 Nushell 的离线补全,由用户自行配置加载。
**发行状态:**已发布 v0.1.0-rc.1、v0.1.0-beta.1 和滚动更新的 Nightly,当前正在准备 v0.1.1-beta.1,正式版尚未发布。既有发行的 Linux x86_64 / ARM64、macOS Apple Silicon 与 Windows x64 已通过 原生 CI,Beta 与 Nightly 的四目标构建和离线运行检查也已通过。Arch Linux 的本机与真实 API 验证记录、其他平台待验收的桌面凭证及真实 API 功能见 平台支持。
以下示例面向个人桌面终端。登录后复用系统 Keyring,无需设置环境变量;CI、服务器与无桌面环境见 CI 与自动化。
从 RC 下载表 选择对应平台的压缩包,按 校验与安装 完成安装;无需安装 Rust。也可选择滚动更新的 Nightly,或使用 源码安装。
aigate-cli --version
aigate-cli --help
aigate-cli regions --jsonregions 离线输出以下结果,不读取凭证或访问 API:
[
"华东一区",
"华东二区"
]在 云扉控制台 创建 Access Token,然后在当前用户的桌面终端执行:
aigate-cli login按提示粘贴 Token 并回车,输入不会回显。Token 保存到系统 Keyring 的 aigate-cli/default;如有解锁提示,先解锁密钥环。
aigate-cli skus
aigate-cli images --all
aigate-cli status
aigate-cli list --all --json后续查询直接复用已保存的登录凭证。空镜像或实例列表也可以是有效结果。下一步可 配置补全,或查看 命令指南。无人值守任务见 CI 与自动化。
当前源码版本为 0.1.1-beta.1,新增 shell 初始化配置提示,包含 Workflow、Comfy API 和六种 shell 补全。本次 Beta 尚未发布,下方下载表仍指向已发布的 v0.1.0-rc.1;开发或验证本次改动可从源码安装。RC、Beta 和 Nightly 均为预发行版。生成 API 已完成本地 mock 验证,真实任务与上传仍待验收,详见 验证边界。
候选版本为 v0.1.0-rc.1。标签发行流程通过四目标 CI、打包和上传校验后,提供以下压缩包与同次发行的 SHA256SUMS,也可下载 源码包。实际构建结果见对应发行页。
| 平台 | 下载 |
|---|---|
| Linux aarch64(ARM64) | tar.gz |
| Linux x86_64 | tar.gz |
| Windows x64 | ZIP |
| macOS Apple Silicon | tar.gz |
| 校验和 | SHA256SUMS |
解压后使用 ./aigate-cli --version(Windows 为 ./aigate-cli.exe --version)核对 0.1.0-rc.1。运行依赖、PATH 与校验方法见 预编译包校验与安装,平台基线见 平台说明。RC 标签和附件不覆盖更新;后续修复发布新的 RC 编号。旧版 Beta 保留在 v0.1.0-beta.1。
从 nightly 预发行版 下载对应平台的压缩包及同次发行的 SHA256SUMS。Nightly 是滚动更新的预发行版;希望自行构建时可下载同次 源码包。
| 平台 | 固定下载地址 |
|---|---|
| Windows x64(MSVC) | ZIP |
| Linux x86_64(Ubuntu 24.04 构建基线) | tar.gz |
| Linux aarch64(Ubuntu 24.04 ARM64 构建基线) | tar.gz |
| macOS Apple Silicon(macOS 15 构建基线) | tar.gz |
| 校验和 | SHA256SUMS |
固定链接会随成功构建更新;--version 显示基础版本、nightly UTC 日期及提交号。Nightly 标记为 prerelease,不作为正式版 Latest。每天北京时间 03:23 调度,未变化的提交跳过发布;GitHub 调度可能延迟,手动运行可重新构建同一提交。校验不一致时重新下载压缩包与校验和,避免混用更新前后的文件;维护发行流程见 Nightly 自动发行。
以下以 RC 为例。使用 Nightly 时,将文件名替换为上表中对应目标的 Nightly 文件名,并使用同次 Nightly 下载的 SHA256SUMS。
后续版本化发行若附带 SHA256SUMS.asc 和 aigate-cli-release-key.asc,请先按 GPG 签名验证 核对公钥指纹并验证签名,再校验下载包的哈希。已发布的 v0.1.0-beta.1 和滚动 nightly 不会由此自动补签。
Linux x86_64:在下载目录执行以下命令。Ubuntu 24.04 需要运行时 D-Bus 库 libdbus-1-3;桌面登录还需可用的 Secret Service(例如 GNOME Keyring)。
sha256sum --check --ignore-missing SHA256SUMS确认校验输出为 OK 后,再执行解压和安装。--ignore-missing 跳过未下载的其他平台包:
tar -xzf aigate-cli-0.1.0-rc.1-x86_64-unknown-linux-gnu.tar.gz
./aigate-cli --version
mkdir -p "$HOME/.local/bin"
install -m755 ./aigate-cli "$HOME/.local/bin/aigate-cli"Linux ARM64 将解压文件名换为 aigate-cli-0.1.0-rc.1-aarch64-unknown-linux-gnu.tar.gz,其他步骤相同。安装目录须加入 PATH,方法见 源码安装。Linux 包基于 Ubuntu 24.04 / glibc 2.39 构建,未声明兼容更早的 glibc。
macOS Apple Silicon:使用 shasum -a 256 aigate-cli-0.1.0-rc.1-aarch64-apple-darwin.tar.gz 计算下载包的校验和,与 SHA256SUMS 中对应文件的值比较;解压后先运行 ./aigate-cli --version,再将程序放入 PATH 中的用户目录。构建基线为 macOS 15。
Windows x64:使用 Get-FileHash ./aigate-cli-0.1.0-rc.1-x86_64-pc-windows-msvc.zip -Algorithm SHA256 计算校验和,与 SHA256SUMS 比较;解压 ZIP 后在 PowerShell 运行 ./aigate-cli.exe --version,再将程序所在目录加入用户 PATH。
各二进制压缩包包含许可、文档与 BUILD-INFO.txt,可核对版本、提交和目标平台。二进制未签名或公证;平台功能验收边界见 平台说明。
需要 Git 和 Rustup。仓库通过 rust-toolchain.toml 固定 Rust 1.97.1,Rustup 会在需要时安装该工具链;最低 Rust 版本尚未验证。
- Linux:构建需要
pkg-config和 D-Bus 开发文件;Ubuntu 24.04 可用sudo apt-get install pkg-config libdbus-1-dev安装。Keyring 登录需要可用的 Secret Service。 - macOS:使用原生 Rust 工具链与系统开发工具。
- Windows:使用 MSVC Rust 工具链及 C++ 构建工具,在原生 PowerShell 中运行 Cargo。
先克隆仓库并执行 Cargo 安装:
git clone --branch main https://github.com/davisye/aigate-cli.git
cd aigate-cli
cargo install --path . --locked
aigate-cli --versionCargo 默认安装到当前用户的 ~/.cargo/bin(Windows 为 %USERPROFILE%\.cargo\bin),无需管理员权限;确保该目录已加入 PATH。源码安装使用上述 --path . 方式。
也可在仓库根目录选择以下方式;Makefile 仅作为 Linux 便利入口,需要 GNU Make 和 GNU install。其他平台要求见 平台说明。
| 方式 | 命令 | 默认安装位置 |
|---|---|---|
| Cargo 安装(各平台首选) | cargo install --path . --locked |
用户 Cargo 目录下的 bin |
| Linux 个人安装 | make install |
~/.local/bin/aigate-cli |
| Linux 全局安装 | sudo make install |
/usr/local/bin/aigate-cli |
Make 安装会先编译 release 版本。通过 sudo 执行时,构建阶段使用原登录用户的 Rust 工具链,安装阶段由 root 写入目标目录。安装后以普通用户运行 CLI,访问该用户自己的 Keyring。
Cargo 安装是各平台的源码安装入口;macOS / Windows 的验收状态见 平台支持。Cargo 安装位置也受 --root、CARGO_INSTALL_ROOT 和配置影响,详见 Cargo 文档。
若个人安装后找不到程序,将安装目录加入 PATH:
| Shell | 配置方式 |
|---|---|
| Bash / Zsh | 在对应配置文件中添加 export PATH="$HOME/.local/bin:$PATH" |
| Fish | 执行 fish_add_path "$HOME/.local/bin" |
用 command -v aigate-cli 检查实际调用位置;原生 PowerShell 使用 Get-Command aigate-cli。存在多份安装时,PATH 顺序决定调用哪一份;Cargo 安装则应将其 bin 目录加入 PATH。
| 操作 | 命令 |
|---|---|
| 构建 release | cargo build --release --locked;Linux 也可用 make build |
| 从源码运行 | cargo run --locked -- --help |
| 更新源码安装 | 在 Git 克隆目录运行 git pull --ff-only,再执行所选安装命令;源码包安装则下载新版源码 |
| 更新 / 卸载预编译包 | 校验并替换所安装的程序 / 删除程序文件 |
| 卸载 Make 个人安装 | make uninstall |
| 卸载 Make 全局安装 | sudo make uninstall |
| 卸载 Cargo 安装 | cargo uninstall aigate-cli |
| 清理构建产物 | cargo clean;Linux 也可用 make clean |
默认构建目录为 target/,release 程序为 target/release/aigate-cli(Windows 带 .exe)。依赖缓存使用 Cargo 默认目录,可通过 CARGO_HOME、CARGO_TARGET_DIR 覆盖。清理保留依赖下载缓存、已安装程序和凭证;卸载仅移除程序。按需用 aigate-cli logout、aigate-cli workflow logout 删除对应凭证。
Make 支持 PREFIX、BINDIR、DESTDIR,例如 make install PREFIX=/usr/local DESTDIR="$PWD/staging" 可暂存安装。make help 列出全部目标。
在自己的桌面终端执行一次 aigate-cli login,后续直接运行查询和实例管理命令。Token 保存在系统 Keyring,无需设置 AIGATE_TOKEN。
login 接受纯 Token 或 Bearer <Token>,隐藏输入并保存凭证;使用 status 或 list --all 等只读查询验证认证。再次登录会更新同一项,已有 Keyring 登录可继续复用。login 也支持从标准输入读取,默认交互方式更适合个人使用。
Workflow 使用 Studio 单独签发的 Token,执行 aigate-cli workflow login 保存。Comfy 复用现有算力登录。两套凭证相互独立:
| 服务 | 登录 / 退出 | 官方 origin | Keyring 项 | 可选环境变量 |
|---|---|---|---|---|
| 算力与 Comfy | aigate-cli login / logout |
https://waas.aigate.cc |
aigate-cli/default |
AIGATE_TOKEN |
| Workflow | aigate-cli workflow login / workflow logout |
https://studio.aigate.cc |
aigate-cli/workflow |
AIGATE_WORKFLOW_TOKEN |
每套服务的凭证按以下顺序解析:
- 表中对应的进程环境变量。
- 表中对应的系统 Keyring 项。
环境变量适用于 CI 与自动化,会覆盖对应的 Keyring 项;已设置但为空或无效时会报错,不回退到 Keyring,也不回退到另一套服务的 Token。CLI 没有 --token 参数。
如果曾设置环境变量,恢复 Keyring 认证时,Bash / Zsh 用 unset AIGATE_TOKEN AIGATE_WORKFLOW_TOKEN,Fish 用 set -e AIGATE_TOKEN; set -e AIGATE_WORKFLOW_TOKEN;PowerShell 语法见 平台说明。退出登录只处理对应的 Keyring 项,环境变量须在调用侧清除。
- 每套 Keyring 凭证仅绑定表中对应的官方 origin,比较时归一化域名大小写和默认端口。自定义 origin 必须显式提供对应环境凭证,登录与退出只管理官方凭证。
- Linux 使用 Secret Service;macOS Keychain 和 Windows Credential Manager 后端已配置但未完成实机验收。凭证库不可用时不降级为明文文件,后端对应关系见 keyring 文档。
- 原生凭证库不能作为同一用户进程之间的可靠应用隔离,服务名和账户名也不是授权机制。见 GNOME 安全说明 与 Windows 凭证说明。
logout不撤销服务端 Token;交互确认、--yes和 Agent 技能属于调用侧约束,不能代替服务端权限、过期与撤销。- Token 通过系统 Keyring 保存或由秘密管理器临时注入;不写入源码、shell 配置、工作流明文或全局环境。
aigate-cli --help 查看全部命令,aigate-cli COMMAND --help 查看具体选项。下文 INSTANCE_ID、IMAGE_ID、GPU_SKU 为占位符,执行前替换为实际查询结果;ID 须保留完整正整数文本。
| 目的 | 示例 |
|---|---|
| 区域列表(离线) | aigate-cli regions |
| 两个区域的 GPU 规格 | aigate-cli skus |
| 指定区域规格 | aigate-cli skus --area 华东一区 |
| 全部个人镜像 | aigate-cli images --all |
| 全部计费中实例 | aigate-cli list --all |
| 计费中实例状态总览 | aigate-cli status |
| 运行中实例 | aigate-cli list --operation-status 2 --all |
| 已释放实例 | aigate-cli list --operation-status 4 --all |
| 实例详情 / 状态 | aigate-cli info INSTANCE_ID / aigate-cli status INSTANCE_ID |
社区镜像查询须提供区域、SKU 与非空名称,版本可用 --image-version 过滤:
aigate-cli images --image-type 2 --area 华东一区 --sku GPU_SKU --name ComfyUI --allgpus、stock 是 skus 的别名。规格列表不保证当前有可分配库存,价格和容量按 API 原值展示。
list、images 默认只返回一页(20 条),--all 获取全部页,与显式 --page 互斥。实例页大小为 1–20,镜像为 5–20。默认实例列表按 API 返回计费中实例,已释放记录需显式筛选 4。
当前支持社区镜像 2、个人镜像 3。系统镜像 1 不受当前实现支持;需要官方环境时,可先在控制台保存为个人镜像,再查询 ID 用于创建。接口依据和验证边界见 开发文档。
详情默认隐藏密码、Token、工具配置和连接 URL 查询串。确需查看连接凭证时,显式使用 aigate-cli info INSTANCE_ID --show-secrets。
aigate-cli status
aigate-cli status --json
aigate-cli status INSTANCE_ID不带 ID 时自动读取当前账户计费中实例的全部分页,显示总数、各状态数量,以及实例 ID、名称、状态、区域和 GPU 数量。未知状态保留原始码;没有实例时明确显示空结果。已释放历史记录使用 list --operation-status 4 --all 查询。
status --json 返回 { "total", "summary", "records" }。summary 按状态码汇总,每项包含 status、label、count;records 保留列表字段并增加状态说明 label,默认脱敏。汇总来自列表中的 operationStatus;开关机等操作完成后,使用 status INSTANCE_ID 单独核对最终状态。
分页不完整、状态字段无效或 API 失败时返回非零退出码,不输出部分总览。
先离线预览请求,无需登录,也不访问 API:
aigate-cli create --sku GPU_SKU --area 华东一区 --image-id IMAGE_ID --image-type 3 --count 1 --dry-run核对后移除 --dry-run,在终端输入 create 确认。创建会启动新实例,可能立即计费;脚本执行须在已确认具体参数后显式使用 --yes(-y)。
--sku 与 --gpu-model 二选一;区域、镜像 ID 和类型须明确指定。GPU 数量为 1–8,默认 1。--yes 与 --dry-run 互斥。
镜像 ID 必须来自实际查询结果;当前实现只支持个人镜像 3 与社区镜像 2。需要官方环境时,先在控制台创建实例并保存为个人镜像,再通过 images --all 查询。
aigate-cli stop INSTANCE_ID
aigate-cli start INSTANCE_ID
aigate-cli status INSTANCE_ID关机仅允许状态 2,开机仅允许已有实例状态 22 或 26。未知状态保留原始码并拒绝开关机。请求被接受后,用 status 核对最终状态。
释放须单独确认目标 ID:
aigate-cli release INSTANCE_ID --dry-run
aigate-cli release INSTANCE_ID释放会删除实例资源,不能再开机。 执行前备份所需数据;交互确认须输入完整实例 ID。脚本须明确使用 --yes,rm 是 release 的别名。暂停并保留实例使用 stop。
前往 Studio 创建工作流 API Token,并从所选工作流页面取得 APP_ID、输入参数定义和积分消耗。工作流参数各不相同,以页面说明为准。使用方法依据 官方 Workflow API。
aigate-cli workflow login
aigate-cli workflow run --app-id APP_ID --input params.json --dry-run
aigate-cli workflow run --app-id APP_ID --input params.json
aigate-cli workflow status TASK_IDparams.json 只包含 inputParams 内的 JSON object,CLI 会添加外层 appId 与 inputParams。例如以下参数仅适用于要求这些字段的工作流:
{
"ratio": "9:16",
"pixel": "768P",
"prompt": "A cinematic city scene at dusk.",
"time": 5
}--dry-run 离线预览且无需登录。实际提交须在终端输入 submit;已明确确认的自动化可使用 --yes,与 --dry-run 互斥。生成会消耗积分,排队任务暂不支持取消。保存返回的 taskId,再用 workflow status 查询。
需要文件输入时先上传,再按照该工作流的参数说明,把返回的文件信息写入 params.json:
aigate-cli workflow upload ./input.png --media-type image
aigate-cli workflow upload ./clip.mp4 --media-type video
aigate-cli workflow upload ./voice.wav --media-type audio图片限 5 MB,视频和音频限 20 MB;CLI 按十进制 MB 检查。上传支持 --dry-run 预览文件名、大小与接口,不发送文件。
Comfy API 复用 aigate-cli login 的算力 Token。先在控制台配置应用及绑定的 ComfyUI 实例,再查询应用、输入定义和实例。接口依据 官方 Comfy API。
aigate-cli comfy apps
aigate-cli comfy apps --json
aigate-cli comfy instances APP_ID
aigate-cli comfy upload ./input.png --app-id APP_ID --instance-id INSTANCE_ID
aigate-cli comfy run --app-id APP_ID --instance-id INSTANCE_ID --input inputs.json --dry-run
aigate-cli comfy run --app-id APP_ID --instance-id INSTANCE_ID --input inputs.json
aigate-cli comfy status TASK_IDinputs.json 只包含应用 allowInput 内的 JSON object,不是完整的 ComfyUI 工作流图。按应用的 allowInput、别名和类型定义填写;图片输入使用上传返回的 name。应用和实例 ID 须为完整正 int64,提交时按官方要求发送字符串。
任务提交的确认方式与 Workflow 相同。CLI 只向指定应用、实例提交任务,不自动创建或开机。上传会核对应用归属和运行中状态,文件流式发送到实例的 input 目录;实例上传不携带平台 Bearer Token,也不跟随重定向。Comfy 的 instanceStatus 与算力的 operationStatus 是不同的状态体系。
两套 status TASK_ID 均输出 JSON,保留 API 字段并增加 label。状态 0 为排队、1 为生成中、2 为成功、3 为取消、4 为失败、5 为超时;Workflow 还支持 6 上传中。未知状态保留原值。查询退出码 0 表示查询正常,任务是否成功须检查 status == 2。
TASK_ID 使用提交返回的任务标识,不能填写结果 URL。数字 ID 须为正 int64;其他标识仅支持字母、数字、下划线和连字符,须以字母或数字开头。
结果位于 files;暂无文件时可能为 null 或空数组。第一版不自动轮询或下载,可间隔查询,成功后自行保存文件。Comfy 的下载链接与实例绑定,关机或释放后可能失效。默认隐藏 URL 查询串;确需取出带签名链接时,在私密终端使用 workflow status TASK_ID --show-secrets 或 comfy status TASK_ID --show-secrets,Workflow 上传也支持该选项。
aigate-cli list --all --json
aigate-cli status --json
aigate-cli status INSTANCE_ID --json
aigate-cli --no-proxy skus
aigate-cli --timeout 60 info INSTANCE_ID--json 可放在子命令前后,输出也默认脱敏。分页为 { "total", "records" },状态总览为 { "total", "summary", "records" },SKU 为数组,详情 / 创建为 API 的 data;单实例状态包含 instanceId、status、label,开关机 / 释放包含 action、instanceId、accepted。提示写入 stderr;login/logout 输出文字,init 始终输出 shell 脚本。
| 选项 | 行为 |
|---|---|
--base-url |
覆盖当前服务的 origin;Workflow 默认 https://studio.aigate.cc,其他命令默认 https://waas.aigate.cc;只接受 HTTPS,HTTP loopback 用于本地 mock;禁止路径、查询串和用户信息 |
--timeout |
单次请求超时 1–300 秒,默认 30 秒 |
--no-proxy |
忽略代理环境变量;默认尊重系统代理设置 |
所有请求禁止自动重试和重定向。资源操作、任务提交或上传出现超时或响应异常时,先查状态、列表或控制台记录,避免重复提交。任务提交要求有效 taskId,无效响应会报告结果不明;accepted: true 只表示实例操作请求已接受,不代表生命周期已完成。
退出码:0 成功或预览成功;1 API、网络、凭证或确认失败;2 参数错误。
CI runner、服务器或无桌面环境的任务,通过平台的 Secrets 或秘密管理器临时注入凭证。算力与 Comfy 使用 AIGATE_TOKEN,Workflow 使用 AIGATE_WORKFLOW_TOKEN,仅注入任务需要的变量。CLI 直接读取环境凭证,无需执行登录,也无需配置桌面 Keyring。
以下示例适用于维护者手动查询云资源:
- 在运行任务的仓库中,进入 Settings → Secrets and variables → Actions,创建名为
AIGATE_TOKEN的 repository secret,值为云扉 Access Token。 - 将以下内容保存为
.github/workflows/aigate-status.yml,仓库中须包含本项目源码及rust-toolchain.toml。 - 将工作流提交到默认分支后,在 Actions → AIGate status → Run workflow 手动运行。
name: AIGate status
on:
workflow_dispatch:
permissions:
contents: read
jobs:
query:
runs-on: ubuntu-24.04
timeout-minutes: 15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y pkg-config libdbus-1-dev
- name: Build
run: cargo build --release --locked --bin aigate-cli
- name: Query instances
env:
AIGATE_TOKEN: ${{ secrets.AIGATE_TOKEN }}
shell: bash
run: |
: "${AIGATE_TOKEN:?请配置 AIGATE_TOKEN repository secret}"
./target/release/aigate-cli status --json
./target/release/aigate-cli list --all --jsonToken 仅注入查询步骤,示例输出为默认脱敏的 JSON。避免打印环境变量、启用 set -x 或在 CI 中使用 --show-secrets。Secrets 配置与手动触发方式见 GitHub Secrets 文档和工作流运行说明。
Workflow 查询可在专门的步骤中注入同名 repository secret(TASK_ID 使用已知任务 ID):
- name: Query workflow task
env:
AIGATE_WORKFLOW_TOKEN: ${{ secrets.AIGATE_WORKFLOW_TOKEN }}
TASK_ID: ${{ vars.AIGATE_WORKFLOW_TASK_ID }}
run: ./target/release/aigate-cli workflow status "$TASK_ID" --json其他 CI 平台在相应任务中注入同名环境变量,并在安装 CLI 后直接调用查询命令。自动化创建、释放或提交生成任务须先核对 --dry-run,获得明确授权后使用 --yes;查询不需要确认参数。
本仓库的开发 CI 使用本地 HTTP mock 和占位凭证,无需配置真实账户 Token。
用户自行将对应初始化行添加到 shell 配置,安装程序不会自动写入补全文件或修改配置。初始化与 Tab 补全均离线运行,不读取凭证或请求 API。
aigate-cli init <shell-type> 的输出末尾附有对应 shell 的配置示例注释,可参考示例添加到配置文件。
Bash — ~/.bashrc:
eval "$(aigate-cli init bash)"Zsh — ~/.zshrc,放在 compinit 或 shell 框架初始化之后:
eval "$(aigate-cli init zsh)"尚未启用 Zsh 补全时,先添加 autoload -Uz compinit 和 compinit。
Fish — ~/.config/fish/config.fish(自定义 XDG_CONFIG_HOME 时使用对应路径):
if status is-interactive
aigate-cli init fish | source
endPowerShell 7+ — 在 $PROFILE 中添加:
Invoke-Expression (&aigate-cli init powershell | Out-String)首次使用且配置文件不存在时,可先执行 New-Item -ItemType File -Path $PROFILE -Force,再编辑该文件。脚本同时注册 aigate-cli 和 aigate-cli.exe 的补全。
Clink / Cmder — 适用于带 Clink 1.x 的 cmd.exe。先运行 clink info 查看脚本目录,在该目录生成 aigate-cli.lua;例如 Clink 默认 profile 目录:
aigate-cli init clink > "%LOCALAPPDATA%\clink\aigate-cli.lua"目录须已存在;使用自定义 Clink profile 时替换为 clink info 显示的目录。Cmder 在其已加载的配置目录生成:
aigate-cli init clink > "%CMDER_ROOT%\config\aigate-cli.lua"init cmder 是 init clink 的别名。重新打开终端后加载 Lua 脚本;Cmder 中的 PowerShell 标签页使用上面的 PowerShell 配置。脚本加载路径可参考 Clink 文档。
Nushell — 先在 Nu 中生成补全文件:
aigate-cli init nushell | save --force ($nu.default-config-dir | path join "aigate-cli.nu")然后在 $nu.config-path 指向的 config.nu 中添加下行,重新打开终端:
source ($nu.default-config-dir | path join "aigate-cli.nu")init nu 是 init nushell 的别名。补全通过 Nushell 的 extern 声明加载;需先生成文件,再加载配置,详见 Nushell 补全文档。
为保留 Nushell 的多级命令补全,将 --json、--timeout 等全局选项放在完整子命令之后,例如 aigate-cli comfy run --json --timeout 60 ...。
升级 CLI 后,Clink/Cmder 和 Nushell 需重新生成上述补全文件。重新打开终端后按 Tab 可补全命令、别名、选项、区域、镜像类型、筛选状态、上传媒体类型和 shell 名称,包括 workflow、comfy 的子命令。资源与任务 ID 需先查询或从提交结果获取。
仓库内提供 aigate-cli skill,说明命令选择、认证复用、授权确认和失败处理。可让 Agent 先读取它:
请读取本仓库的 skills/aigate-cli/SKILL.md,使用 aigate-cli 查询我的实例与可用 GPU 规格。
技能不会自动安装到全局目录。云资源操作、任务提交、上传和凭证修改仍按当前用户授权执行。
| 文档 | 内容 |
|---|---|
| 开发与测试 | 代码结构、API 映射、自动测试、手动验收与已知限制 |
| 平台支持 | 平台状态、原生依赖、终端差异与二进制兼容性 |
| Agent skill | Agent 调用工具的操作流程 |
| 第三方来源与许可 | 参考项目与依赖许可说明 |
| 贡献指南 | 问题反馈、修改与验证要求 |
| 安全政策 | 安全问题的私密报告方式 |
| 更新记录 | 未发布变化与发行记录 |
问题反馈请按 贡献指南 提供版本、系统、shell、脱敏命令和退出码;凭证泄漏或漏洞请按 安全政策 私密报告。
准备 源码构建依赖 后,在仓库根目录运行:
cargo fmt --all -- --check
cargo clippy --locked --all-targets -- -D warnings
cargo test --locked --all-targets
cargo build --release --locked --bin aigate-cliLinux 也可运行 AIGATE_REQUIRE_SHELLS=1 make check,一并检查格式、clippy、Rust 测试、安装及发行脚本回归。脚本测试还需 Git、jq;该命令要求 Bash、Zsh、Fish。新增补全检查按可用的 pwsh、nu 和 lua 运行,严格运行全部检查的方法见 开发文档。自动测试使用本地 HTTP mock 和占位凭证,不操作真实云资源。
CI 在 Linux、Windows 和 macOS 上执行原生检查。自动化覆盖范围、手动验收和发行流程见 开发文档,已执行的平台验收记录见 平台支持。
- Workflow API 第一版:独立登录、任务提交、状态与结果查询、文件上传(本地 mock 已验证)。
- Comfy API 第一版:应用与实例查询、任务提交、状态与结果查询、图片上传(本地 mock 已验证)。
- 完成两套生成 API 的真实账户验收,核对官方文档未明确的响应结构。
- 增加有超时上限的任务等待与结果下载。
本项目采用 Apache License 2.0。第三方依赖遵循各自许可证,详见 第三方来源与许可。