@seacloudai/seacloud-cli
v0.0.17
Published
npm installer wrapper for the SeaCloud CLI binary
Readme
功能特性
- 认证登录:支持浏览器设备码登录,并将凭证安全保存在本地。
- 模型发现:列出可用模型,并以可读文本或 JSON 查看完整参数规格。
- 任务执行:通过 CLI 提交多模态生成任务,支持参数校验和结构化输出。
- 代理生图:通过兼容的代理服务调用同步生图模型,并可选择输出资产 URL。
- 任务追踪:轮询任务状态,输出结果 URL 或完整 JSON。
- SkillHub 集成:搜索、安装和配置 SeaCloud SkillHub 技能。
- Agent 友好:支持
--dry-run、JSON 输出、输出限量、可操作错误、稳定命令结构和可直接复制的示例。
安装
使用 npm 安装
npm install -g @seacloudai/seacloud-cli需要 Node.js 18+
从源码安装
默认安装方式:
git clone https://github.com/SeaCloudAI/seacloud-cli.git
cd seacloud-cli
make install需要 Go 1.26+ 安装后的二进制会注入公开版本使用的默认服务地址。在会注入
GATEWAY_URL和托管 token 的运行时里,Vtrix 生成请求可以自动改写到运行时代理。
如果 /usr/local/bin 需要更高权限:
sudo make install如果你想在无 sudo 的情况下安装到用户目录:
make install PREFIX=$HOME/.local
export PATH="$HOME/.local/bin:$PATH"下载预编译二进制
预编译二进制发布在 Releases 页面,当前支持:
- macOS
amd64 - macOS
arm64 - Linux
amd64 - Linux
arm64 - Windows
amd64
快速开始
登录认证
seacloud auth login
seacloud auth status查询模型
seacloud models list
seacloud models list --type video
seacloud models spec kling_v2_6_i2v
seacloud models spec seedance_2_0 --output json执行任务
seacloud run kling_v2_6_i2v --param image=https://example.com/cat.jpg
seacloud run seedance_2_0 --param prompt="a cat running" --param duration=5
seacloud run kling_v2_6_i2v --param mode=pro --output url
seacloud run gpt-image-2 --param prompt="一只蓝色猫" --output urlSeaCloud CLI 现在支持直接使用 kling_*、seedance_*、seedream_* 这类对外模型 ID,
提交前会自动映射到当前后端使用的原始模型 ID。
通过代理生图
SEACLOUD_FOLKOS_PROXY_URL=http://127.0.0.1:8090 seacloud images generate \
--model gpt-image-2 \
--prompt "A flat vector poster of a blue cat wearing black sunglasses" \
--output json
SEACLOUD_FOLKOS_PROXY_URL=http://127.0.0.1:8090 seacloud images generate \
--prompt "A flat vector poster of a blue cat wearing black sunglasses" \
--output url查询任务状态
seacloud task status <task_id>
seacloud task status <task_id> --output url
seacloud task status <task_id> --output json管理技能
seacloud skills list
seacloud skills find prompt
seacloud skills add some-skill
seacloud skills config --show管理沙箱
seacloud sandbox create base
seacloud sandbox create base --no-connect --wait
seacloud sandbox list --state running,paused --format json
seacloud sandbox exec <sandbox_id> ls -la
seacloud sandbox connect <sandbox_id>
seacloud sandbox kill <sandbox_id>命令概览
seacloud auth
seacloud auth login
seacloud auth status
seacloud auth logout
seacloud auth set-key <api-key>seacloud models
seacloud models list
seacloud models list --keywords kirin
seacloud models list --output id
seacloud models spec <model_id>
seacloud models spec <model_id> --output jsonseacloud run
seacloud run <model_id> --param key=value
seacloud run <model_id> --param prompt="hello" --param duration=5
seacloud run <model_id> --output json
seacloud run gpt-image-2 --param prompt="一只蓝色猫" --output url嵌套字段支持 dot notation:
seacloud run some_model \
--param camera_control.type=simple \
--param camera_control.speed=2seacloud task
seacloud task status <task_id>seacloud skills
seacloud skills list
seacloud skills find [query]
seacloud skills add <slug>
seacloud skills config --showseacloud images
seacloud images generate --prompt="一只蓝色猫"
seacloud images generate --prompt="一只蓝色猫" --output json
seacloud images generate --prompt="一只蓝色猫" --output urlseacloud sandbox
核心沙箱命令对齐 E2B CLI 的命令形态:
seacloud sandbox create [template]
seacloud sandbox create base --no-connect --wait
seacloud sandbox list --state running,paused --metadata app=agent --limit 10 --next-token <token>
seacloud sandbox exec <sandbox_id> "python --version"
seacloud sandbox exec --background <sandbox_id> "sleep 60 && echo done"
seacloud sandbox exec --cwd /workspace --user root --env NODE_ENV=production <sandbox_id> node app.js
seacloud sandbox connect <sandbox_id> --shell bash
seacloud sandbox kill <sandbox_id>
seacloud sandbox kill --all --state running,paused
seacloud sandbox metrics <sandbox_id>
seacloud sandbox metrics <sandbox_id_1> <sandbox_id_2> --output json三端 SDK 已支持的 SeaCloud 沙箱能力也已暴露到 CLI:
seacloud sandbox create base --auto-resume --allow-internet-access=false --allow-out 1.1.1.1 --volume-mount cache:/cache
seacloud sandbox network update <sandbox_id> --allow-public-traffic=true --deny-out 10.0.0.0/8
seacloud sandbox logs <sandbox_id> --limit 100 --direction backward
seacloud sandbox pause <sandbox_id>
seacloud sandbox timeout <sandbox_id> --seconds 3600
seacloud sandbox refresh <sandbox_id> --duration 300
seacloud sandbox volume create cache
seacloud sandbox volume list
seacloud sandbox volume get <volume_id>
seacloud sandbox volume delete <volume_id>
seacloud sandbox events --type sandbox.lifecycle.created
seacloud sandbox webhook create --name lifecycle --url https://example.com/webhook --secret whsec_... --event sandbox.lifecycle.created --max-attempts 5 --delay-seconds 1,5,30
seacloud sandbox webhook update <webhook_id> --enabled=false
seacloud sandbox webhook deliveries --status failed
seacloud sandbox webhook replay <delivery_id>
seacloud sandbox team list
seacloud sandbox team metrics <team_id> --start 1710000000 --end 1710003600
seacloud sandbox observabilityseacloud sandbox create <template> 在交互终端中会按 E2B 习惯工作:创建沙箱、连接 shell、退出 shell 后删除沙箱。脚本化创建请使用 --no-connect 或 --output json。
seacloud template
模板命令提供 E2B 迁移所需的本地模板项目和构建操作:
seacloud template init --language typescript --name my-template
seacloud template migrate --language python --name my-template
seacloud template build my-template --dockerfile Dockerfile
seacloud template build my-template --image python:3.13 --cpu-count 2 --memory-mb 2048 --tag v1
seacloud template build my-template --from-template base --no-wait
seacloud template list --format json
seacloud template get my-template
seacloud template builds my-template
seacloud template status <template_id> <build_id>
seacloud template logs <template_id> <build_id> --limit 100
seacloud template tags assign my-template:v1 production stable
seacloud template tags list my-template
seacloud template tags remove my-template staging
seacloud template delete my-templateseacloud version
seacloud version自动化与输出
- 在支持的命令上使用
--output json获取机器可读输出。 - sandbox/template 命令也支持
--format json,用于兼容 E2B 的输出参数命名。 - 在任务命令上使用
--output url只打印结果 URL。 - 使用
seacloud images generate或通过seacloud run调用同步生图模型时,请把SEACLOUD_FOLKOS_PROXY_URL设置为你的代理服务根地址。 - 使用
SEACLOUD_SANDBOX_URL或SEACLOUD_BASE_URL配置沙箱网关 API 根地址;如果填的是https://sandbox-gateway.cloud.seaart.ai这种网关根地址,CLI 会自动补/api/v1。 - sandbox/template 命令会从 SeaCloud 本地配置、
SEACLOUD_API_KEY,或 E2B 兼容别名E2B_API_KEY/E2B_ACCESS_TOKEN读取 API key。 - 调用 events、webhooks、volumes、teams、metrics 等带作用域的沙箱 API 时,可设置
SEACLOUD_NAMESPACE_ID、SEACLOUD_USER_ID、SEACLOUD_PROJECT_ID。 - 写入、删除、重放这类操作前先使用全局
--dry-run。dry-run 输出会展示 method、path、body/query、是否破坏性操作和下一步提示。 - list/log/event 类命令使用
--limit、--next-token、--cursor或--offset控制输出量。 - 参数错误会包含哪个字段出错、错在哪里,以及建议执行的修复命令或参数。
示例:
seacloud --dry-run run seedance_2_0 --param prompt=test
seacloud --dry-run sandbox webhook create --name lifecycle --url https://example.com/webhook --secret whsec_...发布说明
发布产物由源码构建后上传到 GitHub Releases。
npm 包在安装时会自动下载当前平台对应的预编译二进制。
如果你需要手动维护发布流程,仓库中保留了这些文件:
scripts/build.sh.goreleaser.ymlscripts/set-release-version.js
仓库结构
seacloud-cli/
├── cmd/ # CLI 命令定义
├── internal/auth/ # 认证客户端与登录流程
├── internal/models/ # 模型列表与模型规格接口
├── internal/generation/ # 任务提交与轮询
├── internal/skillhub/ # SkillHub 客户端与安装逻辑
├── package.json # npm 包清单
├── scripts/ # 构建、发版与 npm 包装脚本
└── skills/ # 内置技能定义参与贡献
欢迎提交 Issue 和 Pull Request。对于较大的改动,建议先开一个 Issue 讨论范围。
本地验证可使用:
go test ./...
go run . --help