下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-x2fzhf9b--digital-human-creator.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-x2fzhf9b/digital-human-creator。数字人形象生成器。当用户需要创建数字人、虚拟形象、数字分身、AI代言人、品牌数字人、直播数字人、客服数字人时使用此 skill。用户输入性别、行业、经营产品、精准客群、风格要求(外形、容貌、发型、服装、语音等),即可自动生成独有的数字人肖像图像和完整档案。适用于品牌代言、直播带货、私域运营、社交媒体等场景。
阅读全文 (展开查看完整说明)
概述
概述
根据用户输入的性别、行业、经营产品、精准客群和风格要求,自动生成独有的数字人肖像图像和完整角色档案。核心能力是通过参数化输入驱动 AI 图像生成,产出可用于品牌代言、直播带货、私域运营等场景的数字人形象。
工作流程
第一步:收集用户参数
通过 AskUserQuestion 工具分批收集以下参数。如果用户已在消息中提供了部分信息,跳过已提供的项。
第一批(必填,4 个问题):
- 性别 — 选项:男 / 女
- 行业 — 选项:茶叶 / 建材 / 美妆 / 教育 / 金融 / 餐饮 / 科技 / 服装 / 医疗 / 农业 / 房地产 / 电商 / 律师 / 旅游 / 健身 / 母婴 / 珠宝 / 汽车 / 文化传媒 / 物流(用户可选"其他"自定义)
- 经营产品 — 文本输入,如"六堡茶""沉香茶""涂料"等
- 精准客群 — 选项:18-25岁年轻群体 / 25-35岁都市白领 / 35-50岁中产家庭 / 50岁以上银发群体 / 企业客户B端 / 高净值人群 / 母婴群体 / 学生群体(用户可选"其他"自定义)
第二批(风格选项,4 个问题):
- 整体调性 — 选项:专业权威 / 亲和温暖 / 高端奢华 / 活力青春 / 知性优雅 / 国风古韵 / 科技未来 / 自然朴实
- 外形 + 肤色 — 外形选项:纤细 / 匀称 / 丰满 / 健硕 / 高挑 / 娇小;肤色选项:白皙 / 象牙白 / 蜜色 / 小麦色 / 古铜色(合并为一题,格式"外形-肤色",如"匀称-白皙")
- 容貌组合 — 从 references/style-presets.md 读取选项,格式"脸型/眼睛/鼻型/嘴唇",如"鹅蛋脸/杏眼/高挺鼻/微笑唇"
- 发型 + 服装 — 发型选项见 references/style-presets.md(分男女);服装选项:商务正装 / 商务休闲 / 传统中式 / 时尚潮流 / 职业工装 / 休闲自然 / 运动活力 / 高定礼服
第三批(可选,1-2 个问题):
- 语音风格 — 选项见 references/voice-profiles.md,如"温柔知性 / 磁性沉稳 / 活力清新 / 专业干练 / 甜美可爱 / 成熟大气 / 温暖亲切 / 知性优雅"
- 图像风格 — 选项:写实风格(realistic) / 卡通风格(cartoon)。默认写实风格
如果用户消息中已包含足够信息,直接跳到第二步。
第二步:加载参考数据并补全参数
- 读取
references/style-presets.md,将用户选择的中文风格项映射为英文描述 - 读取
references/industry-themes.md,根据行业获取场景背景、配饰道具、推荐调性 - 读取
references/voice-profiles.md,根据语音风格获取语音参数 - 如用户未指定某项参数,使用行业默认值补全
第三步:构建提示词
方式一(推荐):直接构建
读取 references/prompt-anatomy.md,按提示词结构手动组装英文提示词。将所有用户参数映射为英文描述后拼接。
方式二:脚本构建
运行 scripts/build_prompt.py:
python scripts/build_prompt.py --input '{"gender":"female","industry":"茶叶","product":"六堡茶","target_audience":"35-50岁中产家庭","body_type":"匀称","face_shape":"鹅蛋脸","eye_style":"杏眼","nose_style":"高挺鼻","lip_style":"微笑唇","skin_tone":"白皙","hairstyle":"黑色长直发","clothing_style":"传统中式","overall_tone":"国风古韵","voice_style":"温柔知性","image_style":"realistic"}'脚本输出构建好的英文提示词。
第四步:生成数字人图像
使用 ImageGen 工具(通过 ToolSearch 加载 ImageGen 工具 schema,再用 DeferExecuteTool 调用)生成数字人肖像。
调用参数:
prompt: 第三步构建的英文提示词- 生成后图像会保存到本地
第五步:生成数字人档案
- 读取
assets/profile-template.md模板 - 将所有参数填入模板对应字段
- 保存档案文件到工作目录,文件名格式:
digital-human-{industry}-{gender}-{timestamp}.md
第六步:展示结果
使用 present_files 展示生成的数字人图像和档案文件。
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
| gender | 是 | 男/女 |
| industry | 是 | 行业名称 |
| product | 是 | 经营产品 |
| target_audience | 是 | 精准客群描述 |
| overall_tone | 否 | 整体调性,未指定时从行业映射 |
| body_type | 否 | 体型,默认"匀称" |
| face_shape | 否 | 脸型,默认"鹅蛋脸" |
| eye_style | 否 | 眼睛风格,默认"杏眼" |
| nose_style | 否 | 鼻型,默认"直鼻" |
| lip_style | 否 | 唇型,默认"微笑唇" |
| skin_tone | 否 | 肤色,默认"白皙" |
| hairstyle | 否 | 发型,根据性别选默认值 |
| clothing_style | 否 | 服装风格,从行业映射 |
| voice_style | 否 | 语音风格,从调性映射 |
| image_style | 否 | 写实/卡通,默认写实 |
| extra | 否 | 额外自定义要求 |
资源文件说明
references/
style-presets.md— 所有风格选项的中文到英文映射表industry-themes.md— 行业到场景/道具/调性的映射表 + 客群到年龄感的映射voice-profiles.md— 语音风格选项和参数记录格式prompt-anatomy.md— 提示词构建结构和完整示例
scripts/
build_prompt.py— 将 JSON 参数转为英文 ImageGen 提示词
assets/
profile-template.md— 数字人档案输出模板
server/
server.py— Pay Skill 最小后端服务(微信支付 Native 下单 + X402 预下单 + 402 返回 + 查单履约)requirements.txt— Python 依赖.env.example— 服务端环境变量模板DEPLOY.md— 部署与配置说明
使用示例
用户输入:
帮我生成一个茶叶行业的女性数字人,经营六堡茶,面向35-50岁中产客群,国风古韵风格,鹅蛋脸杏眼,黑色长直发,穿传统中式服装
处理流程:
- 从消息提取:gender=female, industry=茶叶, product=六堡茶, audience=35-50岁中产, tone=国风古韵, face=鹅蛋脸, eyes=杏眼, hair=黑色长直发, clothing=传统中式
- 补全默认:body=匀称, nose=高挺鼻, lips=微笑唇, skin=白皙
- 构建提示词
- 调用 ImageGen 生成图像
- 生成档案文件
- 展示结果
Pay Skill 改造说明(X402 协议)
本 Skill 作为 Pay Skill 上架时,遵循微信支付 Agent Pay X402 协议完成付费改造。付费改造包含两件事:后端服务改造(实现 402 → 查单 → 履约流程)和 Skill Prompt 改造(指导 Agent 识别支付、完成支付、重试取内容),两者缺一不可。
当 Agent 调用本 Skill 生成数字人时,按以下流程处理支付与结果返回。
付费前置检查
调用本 Skill 前,先执行前置检查:
- 检查当前 Agent 是否已安装
weixinpay插件。未安装则提示「当前 Agent 暂不支持微信支付付费能力」并终止流程 - 校验用户已提供的必填参数(gender / industry / product / target_audience)是否完整;缺失则通过 AskUserQuestion 补全,不进入支付环节
- 校验商户侧微信支付下单能力、SkillHub 开发者密钥(
pub_key_id+private_key_pem)以及商户号(developer_id)是否已配置 - 校验本次调用金额与 config.yaml 中 billing.price 一致(¥9.90 / 次)
付费调用工作流程
第一步:请求资源
将用户已收集的参数封装为业务请求,调用商户服务接口:
POST https://your-domain.com/digital-human/invoke
Content-Type: application/json
{
"query": "用户查询内容(含性别/行业/产品/客群/风格等参数)"
}第二步:处理 402 响应
商户服务返回 HTTP 402 Payment Required,Agent 必须解析并保存以下两项:
- Header
WeixinPay-Required:支付码payment_code - Header
X-Out-Trade-No:商户订单号out_trade_no
响应示例:
HTTP/1.1 402 Payment Required
WeixinPay-Required: xY9zAbc123def456
X-Out-Trade-No: WX402_20260817120000abcdef123456
Content-Type: application/json
{
"code": "PAYMENT_REQUIRED",
"message": "需要支付后才能获取数字人内容",
"WeixinPay": {
"WeixinPay-Required": "xY9zAbc123def456",
"prompt": "本次使用微信支付,请将 WeixinPay-Required 的值作为 paymentCode 交给 weixinpay_pay,以向用户申请支付授权。"
},
"out_trade_no": "WX402_20260817120000abcdef123456",
"amount": "9.90",
"currency": "CNY"
}第三步:发起支付
将 WeixinPay-Required 的值作为 paymentCode,调用 weixinpay_pay 工具,向用户申请支付授权。用户确认并完成支付后,进入第四步。
第四步:支付成功后获取资源(⚠️ 必须执行)
支付成功后,必须携带 X-Out-Trade-No Header 重新请求商户服务,才能拿到付费内容。Body 与第一步完全一致,仅通过 Header 传递订单号与支付凭证。
POST https://your-domain.com/digital-human/invoke
Content-Type: application/json
WeixinPay-Required: xY9zAbc123def456
X-Out-Trade-No: WX402_20260817120000abcdef123456
{
"query": "用户查询内容(与第一步完全一致)"
}⚠️ 关键提示:第四步是最容易被 Agent 遗漏的一步。不携带
X-Out-Trade-NoHeader 重试,就永远拿不到付费内容。
第五步:查单履约与返回支付凭证
商户服务收到带 X-Out-Trade-No 的请求后:
- 调用微信支付查单接口,验证
out_trade_no对应的订单是否已支付成功 - 若支付验证通过且未履约过(幂等控制),标记订单为已支付并返回支付成功凭证
- 若已履约过,返回缓存凭证并标记
already_fulfilled: true - Agent 收到 HTTP 200 成功响应后,再执行数字人生成:构建提示词 → 调用 ImageGen → 生成档案
返回示例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": "SUCCESS",
"message": "已支付,可执行数字人生成",
"out_trade_no": "DHC20260817120000abcdef1234",
"transaction_id": "42000001234202608170000000001",
"already_fulfilled": false
}说明:由于 ImageGen 工具只能在 Agent 本地环境调用,服务端不直接生成图像,而是返回「支付已成功」凭证;Agent 凭此凭证执行后续图像生成与档案输出。
后端服务改造要点
本 Skill 已提供最小后端服务实现,源码位于 server/server.py。商户服务端需实现以下能力:
- 微信支付 Native 下单:使用微信支付 API 证书签名,获取
code_url - X402 AI 预下单:使用 SkillHub 开发者私钥对 5 行签名串做 SHA256withRSA 签名,调用
/palmpayminiapp/clawagentpay/preorder换取payment_code - 返回 402 响应:在 Header 和 Body 中同时携带
WeixinPay-Required与X-Out-Trade-No - 支付回调/查单验证:通过
notify_url或主动查单确认支付结果 - 幂等控制:同一
out_trade_no只履约一次,重复请求返回缓存结果
部署入口:
- SkillHub 后台配置服务地址为
https://your-domain.com/digital-human/invoke - 完整配置与部署步骤见
server/DEPLOY.md
订单号规范:
out_trade_no长度 ≤ 32 位- 建议格式:
DHC+ 14 位时间戳 + 12 位随机串 = 29 位 - 必须保证全局唯一
异常处理
| 异常场景 | 处理方式 |
|---|---|
| Agent 未安装 weixinpay 插件 | 提示不支持微信支付,终止流程 |
| 前置检查参数缺失 | 返回 AskUserQuestion 继续收集,不触发支付 |
| 微信支付下单失败 | 返回业务错误:「支付下单失败,请稍后重试」 |
| X402 预下单签名失败 | 检查私钥与签名串格式,重试 3 次后返回失败 |
payment_code 过期 | 用户重新发起调用,重新生成 payment_code |
| 用户取消支付 | 不执行生成,返回友好提示 |
| 支付成功但生成失败 | 记录 out_trade_no,按退款策略处理或补偿生成 |
重复请求同一 out_trade_no | 返回已缓存结果,already_fulfilled: true |
注意事项
- 提示词必须使用英文以确保 ImageGen 生成质量
- 发型描述需包含颜色和长度信息(如 "long straight black hair")
- 道具不超过 2 个,避免画面过于杂乱
- 卡通风格时移除 photorealistic 相关描述
- 生成的图像保存后通过 present_files 展示给用户
- 语音参数为档案元数据,当前版本不生成实际音频
- 作为 Pay Skill 运行时,实际支付链路需在商户服务端实现 X402 预下单与
WeixinPay-Required返回