作品展览馆发布不走 AI 对话:终端直发的完整路径与四个坑

举报
yd_239417839 发表于 2026/11/02 00:27:29 2026/11/02
【摘要】 官方 Skill 的脚本可以直接在 DevSpace 终端里跑完发布全流程。把 CRLF 行尾、命令替换被吃、活动不可投稿、图标关机按钮四个坑和修法记录下来。

上周把一个小工具发布到华为云开发者作品展览馆,领到了当月的 +200 积分。官方推荐的是"三步 AI 对话"流程:在 DevSpace 里新建会话、装 Skill、发发布口令。但这个流程有个软肋——AI 对话面板偶发起不来,「新建会话」点了没反应。这次我干脆绕开对话面板,把发布 Skill 的脚本直接在终端里跑了一遍,全程可控、可复现,把踩到的坑一并记录。

发布本质上是几个脚本

展览馆的发布 Skill(gitcode 上的 huawei-cloud-publish-work-to-gallery)拆开看就是一组 Node/Python 脚本:解析域名 ID、生成 STS 临时凭证、检查仓库门禁、合成封面、打包详情、调发布 API。AI 对话只是帮你串起这些调用。前提只有三个:一个能跑命令的终端(DevSpace 持久化版)、一个平台能拉到的公开 Git 仓库(实测 GitHub 服务端拉不到,必须 GitCode 或 Gitee)、一个能打开的作品页面。

坑一:CRLF 行尾让脚本秒挂

克隆完 Skill 仓库跑 preflight.sh(装 CJK 字体,约 2 分钟),直接报 line 14: $'\r': command not found 和 set: pipefail——仓库里的脚本带 Windows 换行符,bash 一行都跑不动。修法一行:

sed -i 's/\r$//' $SKILL_DIR/scripts/*.sh $SKILL_DIR/scripts/*.mjs $SKILL_DIR/scripts/*.py

转完再跑就正常了。mjs 和 py 本身对 CRLF 宽容,但顺手全转了避免后面踩。

坑二:命令替换被终端包装层吃掉

查 IAM 委托时用 --domain_id=$(cat /tmp/account-id),报了一个莫名其妙的 invalid control character in URL。换成字面量直接传就好了——AI Shell 的命令包装层对 $() 命令替换的处理有问题。同理,自己定义的 shell 函数里也别依赖命令替换,账号 ID 这类参数直接写死。

坑三:school 为空的活动不一定能投

选投稿活动时按"不限学校"筛出了「华为云AI产品实践」,发布却返回 400 GALLERY.CAMP.UNAVAILABLE 训练营不可投稿。列表里筛选只是第一步,能不能投要发了才知道。换成「闯关活动」重发,立即通过——幂等键不用换,被拒的请求没有产生任何副作用。

坑四:关机按钮没有文字

发布完该关机省核时(持久化版按使用扣赠送的 8000 核时额度)。顶栏只有三个图标按钮,DOM 里看 title 才分得清:title=删除 是销毁环境(点了数据就没了),title=关机 才是省核时的那个,旁边还有个「关机策略设置」。靠图标形状猜是猜不出来的,建议悬停看一眼再点。

成功信号长什么样

发布脚本的输出里四行齐备就是终态:

#status=201
workId=0077058c51c00000
workUrl=https://gallery.developer.huaweicloud.com/gallery/0077058c51c00000
reward=success value=200 msg=成功

最后清理凭证文件、杀掉静态服务、给环境关机。积分到账有延迟,任务卡翻转慢半拍,但 reward=success value=200 这行出来就可以收工了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。