用途:把结构化的线程 JSON 转成可信的 iMessage 截图。先由 generate.js 与 templates/chat.css 生成独立 HTML,再用无头 Chromium(Playwright,经 screenshot.js/render.js)栅格化为 PNG。适用于广告、社交贴文、视频分镜或产品样机中需要的 iOS 消息截图。
主要能力:气泡含尾巴,蓝色发送气泡在右、灰色接收气泡在左,尾巴仅出现在同一发送者连续气泡的最后一个;支持 iOS 深色主题、状态栏、灵动岛与 iPhone 15 Pro 键盘外观;群聊提供每位发送者彩色头像圆、发送者名称与四格群头像;时间戳胶囊、三点输入指示气泡、附件卡片与“Delivered/Read”说明;三种裁切:--minimal(仅气泡)、--with-keyboard(头部与 iOS 键盘)、--with-iphone-frame(完整边框、灵动岛、状态栏与渐变背景)。
使用方式:线程 JSON 需包含 mode(dm/group)、participants(含 self、color、initials)、messages(timestamp/text/typing 等类型)与 keyboard。CLI 示例:node render.js --thread examples/group-with-frame.json --with-iphone-frame;可选 --output 指定输出父目录、--name 覆盖文件夹名。输出目录为 <output>/<YYYY-MM-DD>-<slug>/,含 index.html、screenshot.png(DPR 3)与 thread.json 副本。仅给 --prompt 时只打印模式并退出,需由调用方自行编写 thread.json 后再运行。
限制:v1 不支持图片头像,仅彩色圆形首字母;输入指示动画在 PNG 中为静态帧;v1 不支持 tapback 反应;表情符号渲染取决于系统字体,与 Apple Color Emoji 略有差异。使用前需在技能目录运行 npm install 与 npx playwright install chromium。分类依据其渲染用途归入设计与创作。