Meme Maker
无需捆绑受版权保护的模板图像,即可从精选模板库中创建梗图草稿。
快速开始
- 搜索:
{baseDir}/scripts/meme.mjs search "bad choice" - 推荐:
{baseDir}/scripts/meme.mjs suggest "slow python image scripts" - 本地 SVG:
{baseDir}/scripts/meme.mjs render drake --text "Repeated downloads" --text "Cached templates" --out /tmp/meme.svg - 本地 PNG:
{baseDir}/scripts/meme.mjs render drake --text "Maybe API" --text "Local render" --out /tmp/meme.png - Imgflip 托管:
{baseDir}/scripts/meme.mjs render drake --service imgflip --text "before" --text "after"
模式
local是默认模式。它将模板图像从其来源 URL 下载(使用类似浏览器的用户代理),缓存在用户缓存目录下,将图像嵌入 SVG 中,并写入 SVG 文件。如果--out以.png结尾,则会通过一个隔离的无头浏览器(使用 OpenClaw 的 Playwright 支持)进行渲染。PNG 输出需要 Playwright 的 Chromium 或已安装的 Google Chrome;SVG 输出无需浏览器。imgflip调用 Imgflip 的caption_image接口并打印托管 URL。除非通过--username和--password提供,否则需要设置IMGFLIP_USER和IMGFLIP_PASS。
命令
list [--json]:列出内置的精选模板。search <query> [--json]:搜索模板名称、别名、标签和用例。suggest <topic> [--limit N] [--json]:针对该主题对模板进行排序推荐。render <template> --text TEXT ... [--out PATH] [--service local|imgflip]:生成梗图。refresh [--limit N] [--json]:获取当前的 Imgflip 热门模板用于研究;不会自动覆盖精选注册表。
模板注册表
- 读取
{baseDir}/references/templates.json以获取包含 20 个模板的精选注册表。 - 每个条目包含 Imgflip 元数据、Know Your Meme 链接、别名、标签、字段和本地文本框位置。
- 当用户描述了一个笑话但不知道格式时,优先使用
suggest命令。
卫生规范
- 不要在技能中发布模板图像文件。
- 不要使用共享或硬编码的 Imgflip 凭据。
- 在渲染热路径中不要进行 Know Your Meme 查询;仅使用 KYM 链接用于解释/出处。
- 如果 PNG 输出因浏览器不可用而失败,请使用
--out meme.svg(或其他.svg路径)。不要通过向技能目录或 OpenClaw 树中npm install软件包来启用 PNG。