SuperAPI AI 工具集

visualizer

设计与创作

查看项目

更新于 10-16 04:40

技能介绍

用途

Visualizer 是 MOOLLM 项目中的通用图像生成角色原型,定位为“视觉的工具精灵动物”。它并非某位具体艺术家,而是一个能够调用多种艺术传统、为微世界中的任意实体生成图像的角色。其口号是“我看到了你所描述的,让我展示给其他人看”,并强调“每张图像都是一份语义快照,元数据即意义”。

主要能力

语义立体视觉(Semantic Stereo Vision)

核心方法是三阶段渲染,通过两个互补输入实现“三角定位”的视觉深度:

  • 左眼 PHOTO.yml(结构):YAML 文件作为骨架,包含对其他文件的显式引用(语义网)、YAML Jazz 注释、精确测量与规格、相机指令(角度、对焦、构图)、风格传统指针。结构化的视觉描述包括命名颜色值(如 hot_pink)、数值尺寸(如 height_feet: 40)、比例(如 ratio: 3.3)、材质类型(如 neon)。同时包含标准照片元数据 EXIF、IPTC、XMP。
  • 右眼 PHOTO.md(叙事):Markdown 文件为散文诗,提供丰富的感官描述、情感氛围、隐喻与诗意、故事与意义,以及供渲染器使用的视觉本质综合。

渲染器从 YAML 提取主体身份、相机设置、风格传统、文件引用;从 MD 提取氛围、情感、描述细节、视觉本质;合成兼具精确与诗意的提示词。

虫眼幻觉视觉(Bug-Eyed Hallucination Vision)

在立体视觉基础上,于图像生成前加入推测性挖掘(speculative mining),增加第三只及更多“眼睛”:

  • 第三眼 MINING-layers.yml:对邻居的影响、旁观者反应、经济学
  • 第四眼 MINING-satellite.md:上帝视角、尺度、宇宙背景
  • 第五眼 MINING-passersby.md:人类尺度的反应、故事

其理念是“两只眼睛看见深度,三只眼睛看见意义,许多眼睛看见真相”,在图像存在之前先挖掘其影响。

标准照片元数据

PHOTO.yml 包含真实照片元数据标准,使语义照片如同实际 JPEG:EXIF(Make、Model、ExposureTime、FNumber、ISO、FocalLength、DateTimeOriginal、GPSLatitude 等)、IPTC(Headline、Keywords、Creator、CopyrightNotice 等)、XMP(dc:title、dc:creator,以及自定义 moollm 命名空间记录 stereo_method、left_eye、right_eye)。工具可读取这些元数据,生成的图像也可嵌入这些元数据。

PHOTO-SET-8 模式

Visualizer 的标准输出是照片集——一组从多角度捕捉主体的相关图像组合,默认 total: 8、types: 2、per_type: 4,推荐配对包括 [pose, expression]、[portrait, selfie]、[solo, duo]、[static, action]。

专精方向

Visualizer 可专精于不同视觉传统:摄影师(Annie Leibovitz、Richard Avedon、Ansel Adams、Dorothea Lange、Helmut Newton 等)、画家(Old Masters、印象派、超现实主义、新艺术运动、波普艺术等)、插画师(漫画、概念艺术、儿童绘本、动漫/漫画等)。

使用方式

命令行

立体视觉(2 眼):

visualize.py PHOTO.yml PHOTO.md -p openai

虫眼幻觉视觉(3+ 眼):

visualize.py PHOTO.yml PHOTO.md MINING-layers.yml -p openai

使用全部挖掘文件:

visualize.py PHOTO.yml PHOTO.md MINING-*.yml -p google

完整示例:

cd slideshow/no-ai-sign-dusk/
visualize.py PHOTO.yml PHOTO.md MINING-layers.yml MINING-passersby.md MINING-satellite.md -p openai -v exhaustive

脚本在运行时即时三角定位,无需中间提示词文件。

作为命令

VISUALIZE Captain Ashford AS portrait USING Avedon, Caravaggio

作为卡片

在房间中打出 Visualizer 卡片,它激活后可可视化任何在场事物。

作为随从

角色可在物品栏中携带 Visualizer 随从,随时渲染其当前状态。

上下文组装

Visualizer 从多个 YAML 来源收集上下文:角色(player.yml、persona 文件)、服装(cape.yml、配饰文件)、环境(ROOM.yml)、叙事(README.md、聊天历史)、关系(在场的其他角色)。组装后的上下文输入提示词生成,确保图像扎根于微世界状态。

目录结构

slideshow/
├── SLIDESHOW.yml          # 集合定义
└── no-ai-sign-dusk/       # 一张照片 = 一个目录
    ├── PHOTO.yml          # 左眼(结构 + EXIF/IPTC/XMP)
    ├── PHOTO.md           # 右眼(叙事)
    ├── MINING-layers.yml  # 第三眼(推测性挖掘)
    ├── MINING-passersby.md
    ├── MINING-satellite.md
    └── no-ai-sign-dusk.png  # 生成的图像(含嵌入元数据)

幻灯片容器

幻灯片不是房间、不是物体,只是照片。SLIDESHOW.yml 中定义 type: slideshow,nature 下 physical: false、navigable: false、browseable: true、atmospheric: true。这创建了地点的视觉档案,而无需游戏对象。

语义剪贴板

每个图像提示词都包含完整上下文作为元数据,如同语义剪贴板:复制场景时复制了谁在场(Mind Mirror 档案、服装、情绪)、在哪里(房间、光照、氛围)、发生什么(动作、上下文、叙事时刻)、如何观看(相机角度、风格、对焦)。该剪贴板可粘贴生成图像、修改创建变体、存储为卡片、在进程间共享、跨不同时刻比较。

适用场景

  • 为微世界中的角色及其服装、房间与环境、物体与人工制品、时刻与场景、抽象概念生成图像
  • 创建地点的视觉档案(幻灯片)
  • 通过推测性挖掘在图像生成前丰富上下文
  • 与读取 EXIF/IPTC/XMP 的照片管理软件配合组织语义照片

限制

  • visualize.py 脚本无法读取文件引用或解析 glob。带有惰性上下文指针(如 characters/animals/*、guestbook.yml (everyone)、"ALL OF THEM")的提示词文件会失败。
  • 在编写任何提示词文件前,必须遵循上下文扩展协议:读取所有引用的角色/房间/物体文件,提取显式视觉描述(颜色、品种、尺寸、显著特征等)。
  • 图像生成需要可用的工具(tools),资料中提及 -p openai、-p google 等参数,但未提供具体收费、价格或平台细节。
  • 资料未提供安装命令、依赖要求或版本信息。

示例

完整立体对示例见:

examples/adventure-4/street/lane-neverending/slideshow/no-ai-sign-dusk/PHOTO.yml examples/adventure-4/street/lane-neverending/slideshow/no-ai-sign-dusk/PHOTO.md

PHOTO-SET-8 模式源自 adventure-2 的 Dynasty Photo Session,Maurice 在其中学会了组合 8 提示词集合。