SuperAPI AI 工具集

cargo-project

部署与运维

查看项目

更新于 10-15 21:51

技能介绍

用途:以声明式方式管理整个 Cargo 工作区。不用为每个资源执行一条 CLI 命令,而是在代码中一次性写出完整依赖图,并通过 cargo-ai project deploy 可重复地部署。部署状态保存在工作区中,仓库只提交指向它的 cargo.state.json 指针。

注意区分 project 与 workspace:workspace 是登录的 Cargo 租户,保存模型、连接器、智能体、邮箱和额度;project 是声明资源并部署进 workspace 的仓库。一个 project 一次只部署到一个 workspace,通过不同部署状态分别对接 dev 与 prod。

主要能力:用 define* 构建器编写资源并返回句柄;通过把句柄互相传递来连线(依赖图即变量图);project plan(离线 diff)、deploy(创建/更新并按依赖顺序写状态)、destroy(拆除);drift(refresh)、adoption(import/Pull)与 rollback 恢复;依据工作区真实集成 schema 生成类型(cargo-ai project types)。

使用方式:先安装并登录,npm install -g @cargo-ai/cli,cargo-ai login --email you@company.com(或 --oauth、--token),用 cargo-ai whoami 确认工作区。随后 cargo-ai project init <dir> 脚手架,编写 define* 文件(导入 .ts 文件即注册,无 manifest),cargo-ai project plan 查看变更,deploy 部署,destroy 拆除。

限制与注意事项:使用 CDK 还是命令式能力技能,取决于结果是否需要提交并可重复部署;一次性操作或读取用对应能力技能。cargo.state.json 只含 uuid、哈希与输出,不含密钥值,但它是已部署 play、agent 或告警的唯一句柄,丢失可用 project state bind <uuid> 恢复;每个仓库一个状态,每个工作区最多 10 个活动状态。值注入有三种不可互换方式:secret() 部署时读取环境变量、不计入内容哈希,轮换后需 deploy --refresh;env() 加载时读取并计入哈希;workspaceEnv() 是指向工作区环境变量目录的指针,仅在 secret 类型位置可用,资源自身 env 块拒绝指针。必须按句柄而非 .uuid 连线,未在代码中定义的资源用 xxRef("uuid")。集成变更后应运行 cargo-ai project types。切勿在非空目录使用 cargo-ai project init --force。示例可类型检查但尚未经实际工作区部署验证。文档未提供的具体功能、收费或平台信息暂未提供。