📝 概述

龙虾的公众号自动化大业,卡在了一张封面图上。网上搜解决方案,清一色洋牌子:OpenAI、nano-banana……价格看得我钱包一紧。不是,咱国产大模型们堆成山的免费额度,是留着下崽吗?果断决定:给龙虾换国产装备!目标阿里云通义万相,零成本,纯国产,免费额度管饱!

这篇就是我从零开始,手搓 OpenClaw 生图技能的"犯罪记录"——技能怎么搭、API 怎么骗(不对,对接)、bug 怎么修,以及让龙虾打工更丝滑的最佳实践。全程干货,踩过的坑都给你标红了!

🎯 目标

创建一个可以使用阿里云百炼平台的 Qwen-Image 和 Wanx 系列模型生成图片的 OpenClaw 技能。只要注册就有免费额度啊,大家可以直接去阿里云百炼去查有哪些免费模型可以用!

支持的模型:

  • qwen-image-2.0-pro:复杂文字渲染(海报、对联)
  • qwen-image-plus:通用场景(默认)
  • qwen-image-max:高质量通用场景
  • wan2.6-t2i:写实摄影
  • wan2.2-t2i-flash:快速生成

📁 技能文件结构

~/.openclaw/workspace/skills/ali-image-gen/
├── SKILL.md           # 技能文档(必需)
├── package.json       # Node.js 依赖配置
└── scripts/
    └── generate.mjs   # 图片生成脚本

🔧 开发步骤

步骤 1:创建目录结构

mkdir -p C:\Users\Administrator\.openclaw\workspace\skills\ali-image-gen\scripts

步骤 2:编写 SKILL.md

SKILL.md 是 OpenClaw 技能的元数据文件,包含技能名称、描述、使用说明等。

步骤 3:编写生成脚本 (generate.mjs)

核心功能包括:

  • 命令行参数解析
  • API Key 获取
  • 异步调用阿里云 API(关键!)
  • 图片下载保存

步骤 4:配置 package.json

{
  "name": "ali-image-gen",
  "version": "1.0.0",
  "type": "module",
  "dependencies": {
    "node-fetch": "^3.3.2"
  }
}

步骤 5:安装依赖

cd C:\Users\Administrator\.openclaw\workspace\skills\ali-image-gen
npm install

步骤 6:配置 OpenClaw

编辑 openclaw.json,在 skills.entries 中添加:

"ali-image-gen": {
  "enabled": true,
  "apiKey": "sk-xxxxxxxxxxxxxxxxxx"
}

步骤 7:测试运行

$env:DASHSCOPE_API_KEY="sk-xxxxxxxxxxxxxxxxx"
node scripts/generate.mjs "一只可爱的卡通猫咪" --model qwen-image-plus -n 1

⚠️ 踩坑记录

坑 1:同步 vs 异步调用

问题:最初使用同步调用,报错 current user api does not support synchronous calls

原因:qwen-image-plus 和 qwen-image-max 需要使用异步调用方式

解决:添加 X-DashScope-Async: enable 请求头,实现任务提交 + 轮询查询的异步流程

坑 2:异步 API 端点

问题:最初使用 /tasks 端点提交任务,返回格式不对

原因:阿里云文生图 API 统一使用 /services/aigc/text2image/image-synthesis 端点

解决:通过请求头 X-DashScope-Async: enable 启用异步模式

坑 3:PowerShell 命令连接符

问题:使用 && 连接命令时报错

原因:PowerShell 中 && 不是有效的分隔符

解决:使用 ; 或分多行执行

坑 4:模型尺寸限制

不同模型支持的尺寸不同

  • qwen-image-plus/max:仅支持 5 种固定尺寸
  • qwen-image-2.0 系列:支持 512512 到 20482048 任意尺寸
  • wan2.2-t2i-flash:支持 [512, 1440] 范围内任意尺寸

📋 使用示例

# 基础用法
node scripts/generate.mjs "一只可爱的猫咪"

# 指定模型和尺寸
node scripts/generate.mjs "科技风格海报" --model qwen-image-2.0-pro --size 1664*928

# 生成多张并优化提示词
node scripts/generate.mjs "风景照片" -n 4 --prompt-extend

# 电商海报
node scripts/generate.mjs "C4D 风格电商促销海报,蓝色主色调,双十一预售" --model qwen-image-2.0-pro --size 1664*928

# 写实人像
node scripts/generate.mjs "时尚摄影街拍人像,年轻亚洲女孩,街头潮流造型" --model wan2.6-t2i

🔑 关键要点

  1. SKILL.md 是必需的:OpenClaw 通过它识别技能
  2. 异步调用更可靠:qwen-image-plus/max 和 wanx 系列必须用异步
  3. API Key 管理:通过环境变量或 openclaw.json 配置
  4. 图片 URL 有效期 24 小时:需要及时下载保存
  5. 错误处理很重要:API 调用可能失败,需要友好的错误提示

💬 开发心得

事实上,以上是 AI 开发完自己总结的方法。实际我只编了一段提示词,给了阿里配置 API 的说明文档,龙虾自己就编好了,很顺利。

当然也有坑,最开始我用 claudecode 帮我编 skill,竟然测试迭代了 n 个循环,愣是耗光了我的耐心。最后甩给龙虾,十分钟就搞定了。


最后说句大实话:我力挺国产模型,首要原因当然是——。但真用起来,发现便宜不是它唯一的优点,它是真的便宜又好用啊!

免费广告时间:阿里 Code Plan,生图额度多到能当饭吃,管饱。这篇文章的封面就是用它搓的,提示词简单粗暴——“帮我根据文章内容生成封面”,出图稳得一批!

咱穷归穷,骨气要有。如果你也是"国产真香"党,点个赞,让我看看有多少同志在默默白嫖!🦞

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐