关于 alibabacloud-tech-solution-animation-creation-auto-deploy
用于自动部署 Alibaba Cloud“Build AI Animation Story Creation App”方案的技能,面向需要通过 CLI 创建云资源并取得应用访问地址的场景。它配置 OSS、DashScope 和 FC App,并在部署后停止,不代替用户操作应用。
主要功能
- 01创建 Bailian API Key 和 OSS Bucket
- 02通过 Devs 模板创建项目
- 03部署 ComfyUI 与 WebUI 函数
- 04轮询部署状态并创建自定义域名
- 05输出应用访问地址
适用场景
- 01部署 AI 动画故事创作应用
- 02自动配置方案所需的云资源
- 03部署完成后获取应用入口
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-tech-solution-animation-creation-auto-deploy安装后在 Claude Code 中输入/alibabacloud-tech-solution-animation-creation-auto-deploy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acceptance-criteria.mdcli-installation-guide.mdram-policies.mdrelated-commands.mdverification-method.mdscripts/attach-policies.shcreate-api-key.shcreate-custom-domain.shdeploy-environment.shpoll-deploy-status.shrender-and-update.shsetup-role.sh详细介绍
构建 AI 动画故事创作应用 — 自动部署
自动部署阿里云“构建 AI 动画故事创作应用”解决方案。部署会在应用可访问后停止,后续体验由用户自行完成。
架构: OSS Bucket + DashScope (Bailian API Key) + FC App (ComfyUI + WebUI — two functions deployed via Devs template)
安装
前置条件(脚本/运行时依赖项):
依赖项 最低版本 检查命令 用途 bash4.0+ bash --version脚本运行时 aliyunCLI>= 3.3.7 aliyun version阿里云资源操作( ai-mode子命令要求 3.3.7+)python33.6+ python3 --versionJSON 解析 curl任意 curl --versionHTTP API 调用 如果尚未安装 Aliyun CLI 或版本过低, 请参阅
references/cli-installation-guide.md获取安装说明。 然后 [MUST] 运行aliyun configure set --auto-plugin-install true以启用自动插件安装。
CLI 初始化(必须在核心工作流之前运行)
启用 AI-Mode,设置专用 User-Agent,并更新插件,以确保后续所有 CLI 调用都正确标记且使用最新的插件版本:
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy"
aliyun plugin update
身份验证
预检查:需要阿里云凭证
安全规则:
- 绝不读取、回显或打印 AK/SK 值
- 绝不要求用户在对话或命令行中直接输入 AK/SK
- 绝不使用带有明文凭证值的
aliyun configure set- 仅使用
aliyun configure list检查凭证状态aliyun configure list检查输出中是否存在有效配置(AK、STS 或 OAuth 身份)。
如果不存在有效配置,请在此处停止。
- 从阿里云控制台获取凭证
- 在本次会话之外配置凭证
- 返回并在
aliyun configure list显示有效配置后重新运行
RAM 策略
完整权限列表请参阅 references/ram-policies.md。
必需的系统策略: AliyunFCFullAccess、AliyunOSSFullAccess
其他权限: Devs 相关权限(devs:CreateProject、devs:RenderServicesByTemplate、devs:UpdateEnvironment、devs:DeployEnvironment、devs:ListEnvironments、devs:GetEnvironment)
在核心工作流之前,自动检查并附加所需策略:
bash scripts/attach-policies.sh
[MUST] 权限失败处理: 执行期间的任何时候,如果命令或 API 调用因权限错误而失败,请按以下流程处理:
- 阅读
references/ram-policies.md,获取此 SKILL 所需权限的完整列表- 使用
ram-permission-diagnoseskill 引导用户申请必要权限- 暂停并等待用户确认已授予所需权限
参数确认
重要:参数确认——执行任何命令或 API 调用之前, 所有参数均为固定值或自动生成/创建,无需用户手动输入。
| 参数 | 必需 | 描述 | 值 |
|---|---|---|---|
RegionId | 是 | 部署地域(FC 和 OSS 必须位于同一地域) | 固定为 cn-hangzhou |
BUCKET_NAME | 是 | OSS Bucket 名称 | 自动生成 animation-story-<6 random lowercase letters> |
API_KEY | 是 | Bailian(DashScope)API Key | 通过 aliyun modelstudio create-api-key 自动创建 |
PROJECT_NAME | 是 | Devs 项目名称 | 自动生成 animation-creation-<6 random lowercase letters> |
开始核心工作流前,在 shell 中设置以下变量(后续所有命令都直接引用这些变量):
# Generate random names
BUCKET_NAME="animation-story-$(cat /dev/urandom | LC_ALL=C tr -dc 'a-z' | head -c 6)"
PROJECT_NAME="animation-creation-$(cat /dev/urandom | LC_ALL=C tr -dc 'a-z' | head -c 6)"
echo "BUCKET_NAME=$BUCKET_NAME, PROJECT_NAME=$PROJECT_NAME"
核心工作流
第 1 步:创建百炼 API Key(CLI)
通过 aliyun modelstudio CLI 自动获取工作空间并创建 API Key:
source scripts/create-api-key.sh
注意: 使用
source确保API_KEY变量导出到当前 shell。脚本会自动获取默认工作空间(如果不存在,则创建一个),创建 API Key,并打印完整值。
第 2 步:启用 OSS 服务并创建 Bucket(CLI)
注意: OSS CLI 插件使用
--ua标志(而非--user-agent)设置 User-Agent。
首先启用 OSS 服务(如果已启用,则返回 ORDER.OPEND,可忽略):
aliyun ossadmin open-oss-service --endpoint oss-admin.aliyuncs.com --force --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy 2>&1 || true
创建 Bucket:
aliyun oss mb "oss://$BUCKET_NAME" --region cn-hangzhou --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
验证:
aliyun oss stat "oss://$BUCKET_NAME" --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
第 3 步:创建 Devs 项目(CLI)
使用 CreateProject API 创建项目。通过 templateConfig 指定模板名称和参数,Devs 会自动创建 production 环境。
注意: CreateProject 只会创建项目和空环境,不会自动触发部署。你必须后续调用 RenderServicesByTemplate + UpdateEnvironment + DeployEnvironment 来完成部署。
aliyun devs create-project --body "{
\"name\": \"$PROJECT_NAME\",
\"spec\": {
\"templateConfig\": {
\"templateName\": \"animation-creation\",
\"parameters\": {
\"region\": \"cn-hangzhou\",
\"bailian_api_key\": \"$API_KEY\",
\"ossBucket\": \"$BUCKET_NAME\"
}
}
}
}" --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
模板参数说明(已确认 — 请勿修改):
region:固定为cn-hangzhoubailian_api_key:第 1 步自动创建的百炼 API KeyossBucket:第 2 步创建的 OSS Bucket 名称(不带oss://前缀)- 所有参数都通过
parameters传递,而非variableValues
第 4 步:渲染模板并配置环境(CLI)
本步骤中的所有命令都使用 shell 变量
MY_UID、PROJECT_NAME、BUCKET_NAME、API_KEY— 请确保已执行第 1 步和参数确认。
首先获取当前用户 UID 并检查角色信任策略:
source scripts/setup-role.sh
注意: 使用
source确保MY_UID变量导出到当前 shell。脚本会自动检查角色是否存在,如果不存在则创建。该角色是标准 Devs 角色,通常会在首次使用 FC 控制台的应用功能时自动创建。
4a. 渲染模板 → 构建 JSON → 更新环境(全自动脚本)
以下脚本会自动:渲染模板 → 过滤 custom-domain → 添加 roleArn → 调用 UpdateEnvironment。 Agent 无需手动处理 JSON。
bash scripts/render-and-update.sh
关键说明(脚本内置,无需手动处理):
- 自动过滤
custom-domain服务(该服务会导致“Unknown service type”错误)- 自动添加
roleArn- 使用
--body传递数据(--spec无法正确传递深度嵌套的 JSON)
4b. 触发部署
内置速率限制保护: 脚本会以 60 秒为间隔最多重试 3 次,并在遇到 404 时立即停止。直接运行脚本 — 不要手动调用
deploy-environment。
bash scripts/deploy-environment.sh
第 5 步:轮询部署状态
部署是异步的 — 轮询直至完成(通常需要 5–15 分钟)。直接运行以下脚本:
bash scripts/poll-deploy-status.sh
第 6 步:创建自定义域名
为什么需要自定义域名? FC 触发器 URL(
*.fcapp.run)会强制添加Content-Disposition: attachment响应头,导致浏览器下载 HTML,而不是渲染页面。应用要正常运行,必须使用自定义域名(*.devsapp.net)。
必须使用 FC 2.0 API(
aliyun fc-open) 来创建辅助函数:FC 3.0 不支持在函数名称中使用$。通过--auto-plugin-install true配置,fc-open插件会自动安装。
直接运行以下完整脚本(只需设置 MY_UID 和 PROJECT_NAME 变量):
bash scripts/create-custom-domain.sh
步骤 7:获取访问 URL(到此为止)
访问 URL 会在步骤 6 脚本末尾自动打印。格式如下:
http://${PROJECT_NAME}-web.fcv3.${MY_UID}.cn-hangzhou.fc.devsapp.net/
到此为止。将步骤 6 输出中的访问 URL 提供给用户,让他们自行体验应用。不要代替用户操作应用。
⚠️ 安全提醒 — 展示访问 URL 时必须告知用户: 该 URL 可通过公网直接访问,请勿随意分享给不信任的人。未经授权的访问可能导致:
- 云资源被消耗: 每次访问都会消耗函数计算资源和百炼 API 调用额度,可能产生额外费用。
- 隐私信息泄露: 生成的动画故事、上传的图片等内容可能包含个人或敏感信息。
清理
要清理已部署的资源,请按以下顺序删除(需要 PROJECT_NAME、MY_UID、BUCKET_NAME、API_KEY_ID 变量):
# 1. Delete FC custom domain
aliyun fc delete-custom-domain --domain-name "${PROJECT_NAME}-web.fcv3.${MY_UID}.cn-hangzhou.fc.devsapp.net" --region cn-hangzhou --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
# 2. Delete Devs project (also deletes associated FC functions; --force true skips environment resource check)
aliyun devs delete-project --name "$PROJECT_NAME" --force true --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
# 3. Delete OSS Bucket (recursively delete all objects first, then delete the Bucket)
aliyun oss rm "oss://$BUCKET_NAME" -r -f --region cn-hangzhou --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
aliyun oss rm "oss://$BUCKET_NAME" -b -f --region cn-hangzhou --ua AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
# 4. Delete Bailian API Key (API_KEY_ID is output during create-api-key.sh execution)
aliyun modelstudio delete-api-key --api-key-id "$API_KEY_ID" --user-agent AlibabaCloud-Agent-Skills/alibabacloud-tech-solution-animation-creation-auto-deploy
工作流拆除
工作流完成后(或清理后),请禁用 AI-Mode:
aliyun configure ai-mode disable
无法通过 CLI/SDK 执行的操作摘要
完整的 CLI 命令参考请参阅 references/related-commands.md。
主要限制: 首次启用 FC 不支持 CLI/API — 用户必须在控制台中手动启用。
自动启用: 通过
aliyun ossadmin open-oss-service启用 OSS 服务(内置于步骤 2)。通过aliyun modelstudio create-workspace启用百炼工作空间(内置于步骤 1)。
最佳实践
- 区域固定为
cn-hangzhou(FC 和 OSS 位于同一区域) - DashScope API Key 通过 Devs 模板参数传递,而非硬编码
- OSS Bucket 名称包含随机后缀,以避免冲突
- 部署完成后记录访问 URL 和已创建的资源
参考链接
| 参考 | 描述 |
|---|---|
| references/ram-policies.md | RAM 权限策略 |
| references/related-commands.md | CLI/SDK 命令参考 |
| references/verification-method.md | 部署验证步骤 |
| references/acceptance-criteria.md | 验收标准 |
| references/cli-installation-guide.md | CLI 安装指南 |