平行世界人生生成器
概述
本 skill 根据用户的性别和出生年月日,生成一段温暖治愈的第三人称平行世界人生概述,并配一张主题插画。
前置步骤:收集用户信息
在生成内容之前,必须确认已获得以下两项信息:
- 性别(男/女/其他)—— 仅用作代词选择(他/她/ta),不影响身份设定
- 出生年月日(如 1995-03-21)—— 核心输入,决定一切设定
若用户未提供完整信息,用自然语言询问缺失项(一次问一项即可)。
生成流程
第一步:计算用户当前年龄
根据当前日期(从系统获取)和用户出生日期,计算用户的实际年龄(周岁)。
第二步:选取平行世界
读取 references/worlds.md,按以下规则确定世界:
- 用
出生月份 % 12计算 month_mod,从世界表中选取对应世界 - 提取世界的身份类型(人类 / 非人类)和世界观简述
第三步:提取生日深度定制参数
从 references/worlds.md 的「生日深度影响规则」中提取:
- 天赋属性:出生年份末位数字对应的属性
- 季节基调:出生月份对应的季节感(1-2月=寒冬/3-4月=初春/5-6月=盛夏/7-8月=夏末/9-10月=深秋/11-12月=初冬)
- 转折点年龄:出生日期(日)数值,若 ≤ 当前年龄则写为一个关键事件节点
- 星座性格:由月日推算星座(白羊3.21-4.19/金牛4.20-5.20/双子5.21-6.21/巨蟹6.22-7.22/狮子7.23-8.22/处女8.23-9.22/天秤9.23-10.23/天蝎10.24-11.22/射手11.23-12.21/摩羯12.22-1.19/水瓶1.20-2.18/双鱼2.19-3.20),在文中自然地融入星座气质
第四步:人类身份命名
若世界身份类型为「人类」,按 references/worlds.md 的命名规则生成中文名字。
若非人类身份,用世界的身份类型名称作为称呼(如"小灯塔灵""小树魂"),不加人类名字。
第五步:撰写人生概述
生成约 900-1100 字的中文第三人称叙事,结构如下:
- 降生(约 150 字):描述 ta 如何在这个平行世界诞生,融入世界观和季节基调
- 童年(约 200 字):描述 ta 的童年时光,展现天赋属性和星座性格特质
- 转折点(约 200 字):在转折点年龄(若 ≤ 当前年龄)描述一次重要事件或觉醒
- 成长(约 250 字):从转折点后到现在的成长历程,展现 ta 在这个世界的日常和使命
- 现在(约 200 字):落到当前年龄,描绘 ta 此刻的生活状态,收束于一个温暖的画面
写作要求:
- 全程第三人称,使用"他"/"她"/"ta"
- 温暖治愈基调,避免沉重或悲剧
- 所有设定细节(天赋、季节、星座)必须自然融入叙事,不要生硬罗列
- 段落之间有空行分隔
第六步:生成配图(双保险降级策略)
优先级 1:agnes-image(吉卜力插画风)
调用 agnes-image skill,尺寸 1024x1024,--download 保存到 output 目录。
Prompt 模板(英文):
A warm and dreamy illustration in Studio Ghibli style. [世界核心场景描述]. [身份描述] is [简要形象]. Soft lighting, healing atmosphere, gentle colors, magical realism. No text, no watermark.
优先 1 失败判定:ConnectionError / ConnectionResetError / 超时 → 重试 1 次(总计 2 次),仍失败则降级到优先级 2。其他错误直接降级。
优先级 2 降级:canvas-design(抽象设计艺术风)
Agnes 失败后自动切换,无需询问用户。调用 canvas-design skill,task 描述为:
> 为平行世界「{世界名称}」生成一张配图。世界设定:[世界观简述]。身份:[身份类型]。风格要求:温暖治愈、柔和的色彩(参考吉卜力色调)、抽象而梦幻的构图,体现这个世界的氛围。尺寸方形。保存为 PNG 到 output 目录。
注意:canvas-design 生成的是抽象/设计风艺术图,不是插画,但色彩和氛围应贴近世界观。
降级依赖安装:canvas-design 运行依赖 Pillow(PIL)。若执行时报 ModuleNotFoundError: No module named 'PIL',先执行 pip install Pillow 再重试,无需询问用户。
彻底失败:若两者均失败,跳过配图,在最终回复中告知用户「文字已生成,配图暂时无法生成,稍后可重试」。
输出格式
最终回答按以下顺序输出:
- 一两句引导语,点明用户在这个平行世界的身份
- 人生概述正文(纯文字段落)
- 配图(图片文件路径或 URL)
yyb-product卡片声明产出物(如果有落盘文件)
注意事项
- 严格使用
references/worlds.md中的世界设定,不要自创世界 - 生成的文字必须先写入结果产物目录(output),再在回答中引用
- 若用户重复查询相同生日,结果应该一致(由确定性的 month_mod 选取保证)