优化SKILL
parent
8536f5ebce
commit
86f4d6e744
|
|
@ -1 +1,2 @@
|
||||||
*.zip
|
*.zip
|
||||||
|
.DS_Store
|
||||||
|
|
|
||||||
19
SKILL.md
19
SKILL.md
|
|
@ -35,10 +35,13 @@ description: 生成或优化符合 maomomo / 猫MOMO 风格的中文出海金融
|
||||||
- 写作前必须先给用户确认标题或标题方向、文章核心口径、`outline.md` 大纲、来源缺口、必选素材映射和配图风格。用户明确要求跳过确认时,未确认事实仍必须标 `【待确认:...】`。
|
- 写作前必须先给用户确认标题或标题方向、文章核心口径、`outline.md` 大纲、来源缺口、必选素材映射和配图风格。用户明确要求跳过确认时,未确认事实仍必须标 `【待确认:...】`。
|
||||||
- 大纲未确认前,不得创建最终 `deck_spec.json`、`speech.md`、图片 prompt jobs、文章配图图片、ZIP 或用户指定的最终文章包。
|
- 大纲未确认前,不得创建最终 `deck_spec.json`、`speech.md`、图片 prompt jobs、文章配图图片、ZIP 或用户指定的最终文章包。
|
||||||
- 出图前必须先把全部图片 prompt 写入文件,包含文件名、用途、放置位置、核心文案、完整 prompt 和依赖素材;不要在聊天里输出超长 prompt。
|
- 出图前必须先把全部图片 prompt 写入文件,包含文件名、用途、放置位置、核心文案、完整 prompt 和依赖素材;不要在聊天里输出超长 prompt。
|
||||||
|
- 图片 prompt 中的视觉风格只能作为后台画面描述,不得成为画面文字;prompt 必须限制可见文字只包含指定业务文案和 `MAOMOMO`,不得出现风格标签、prompt 描述、额外 slogan 或无关文字。
|
||||||
|
- 发布稿、图片文案、prompt、manifest 和 `deck_spec.json` 中金额统一写 `HKD`,不要使用港币符号;来源原文抽取文件可保留原文写法。
|
||||||
|
- 金融活动配图如出现信用卡、支付卡、卡组织或支付网络,必须按官方材料或用户素材核对并记录来源;用户提供卡面参考图时保存到 `sources/`,不得把银联 / UnionPay 画成 Mastercard、Visa 等其他卡组织。
|
||||||
- 先只生成一张代表性风格确认图,优先封面图,保存为正式命名,例如 `origin_image/hsbc-mastercard-alipay-campaign-01-cover.png`。用户批准样张前不得批量生成剩余图片。
|
- 先只生成一张代表性风格确认图,优先封面图,保存为正式命名,例如 `origin_image/hsbc-mastercard-alipay-campaign-01-cover.png`。用户批准样张前不得批量生成剩余图片。
|
||||||
- 样张批准后,后续每张图片必须继承同一个生图后端、同一套视觉系统和同一种质量配置;不得为了加快速度擅自改成 `low`。
|
- 样张批准后,后续每张图片必须继承同一个生图后端、同一套视觉系统和同一种质量配置;不得为了加快速度擅自改成 `low`。
|
||||||
- 每张最终图片必须来自确认后的图片生成后端:当前 agent 的内置图片生成工具,或用户确认后的 `scripts/maomomo_image_gen.py` API/CLI fallback。不得用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工文字覆盖冒充最终生成图。
|
- 每张最终图片必须来自确认后的图片生成后端:当前 agent 的内置图片生成工具,或用户确认后的 `scripts/maomomo_image_gen.py` API/CLI fallback。不得用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工文字覆盖冒充最终生成图。
|
||||||
- 生成图片按“一张图一个 job / 一次请求”推进。运行环境支持子 agent 时,样张通过后可以一图一个子 agent 并发处理;每个 dispatch、结果和 blocker 都必须写入状态文件,不能只靠聊天说明。
|
- 生成图片按“一张图一个 job / 一次请求 / 一次 QA”推进;通过 QA 后才用状态脚本记录 result 并同步到 `assets/`,不能只生成到 `origin_image/` 后声称完成。运行环境支持子 agent 时,样张通过后可以一图一个子 agent 并发处理;每个 dispatch、结果和 blocker 都必须写入状态文件,不能只靠聊天说明。
|
||||||
- 完整交付模式下,不能只在聊天里输出正文;必须生成 Markdown 文件、`assets/` 目录和 ZIP 包,除非用户明确说只要文字、只要大纲、不要图片、不要打包或先不生成文件。
|
- 完整交付模式下,不能只在聊天里输出正文;必须生成 Markdown 文件、`assets/` 目录和 ZIP 包,除非用户明确说只要文字、只要大纲、不要图片、不要打包或先不生成文件。
|
||||||
- 配图文件必须是独立 PNG;不要用一张大拼图代替多张图,不要只给提示词冒充图片文件。
|
- 配图文件必须是独立 PNG;不要用一张大拼图代替多张图,不要只给提示词冒充图片文件。
|
||||||
- 后续改稿必须更新文件本体;影响图片、来源区、标题、摘要或 ZIP 时同步更新。
|
- 后续改稿必须更新文件本体;影响图片、来源区、标题、摘要或 ZIP 时同步更新。
|
||||||
|
|
@ -111,6 +114,9 @@ description: 生成或优化符合 maomomo / 猫MOMO 风格的中文出海金融
|
||||||
├── assets/
|
├── assets/
|
||||||
│ ├── {article_slug}_01_cover.png
|
│ ├── {article_slug}_01_cover.png
|
||||||
│ └── ...
|
│ └── ...
|
||||||
|
├── sources/
|
||||||
|
│ ├── card-reference.png
|
||||||
|
│ └── ...
|
||||||
├── prompts/
|
├── prompts/
|
||||||
│ ├── {article_slug}_01.json
|
│ ├── {article_slug}_01.json
|
||||||
│ └── ...
|
│ └── ...
|
||||||
|
|
@ -124,12 +130,16 @@ description: 生成或优化符合 maomomo / 猫MOMO 风格的中文出海金融
|
||||||
```
|
```
|
||||||
|
|
||||||
- `origin_image/` 保存图片后端生成并通过 QA 的原始最终图;`assets/` 保存 Markdown 实际引用的发布图片。两者可以是同名复制件,但不得只保留临时图。
|
- `origin_image/` 保存图片后端生成并通过 QA 的原始最终图;`assets/` 保存 Markdown 实际引用的发布图片。两者可以是同名复制件,但不得只保留临时图。
|
||||||
- `deck_spec.json` 记录文章级上下文、确认后的风格、生图后端、样张生成方法 `sample_generation_method` 和图片任务列表。
|
- `sources/` 保存用户提供的卡面、支付网络、官方截图或其他参考素材,供 prompt、manifest 和 `deck_spec.json` 映射引用。
|
||||||
|
- `deck_spec.json` 记录文章级上下文、确认后的风格、生图后端、样张生成方法 `sample_generation_method`、参考素材映射和图片任务列表。
|
||||||
- `prompts/{article_slug}_XX.json` 记录每张图的文件名、用途、放置位置、核心文案、完整 prompt、依赖素材和输出路径。
|
- `prompts/{article_slug}_XX.json` 记录每张图的文件名、用途、放置位置、核心文案、完整 prompt、依赖素材和输出路径。
|
||||||
- `slide_jobs.json` 和 `slide_run_state.json` 记录每个图片 job 的 pending / dispatched / recorded / blocked 状态;使用 `scripts/maomomo_job_state.py` 初始化和记录状态。
|
- `slide_jobs.json` 和 `slide_run_state.json` 记录每个图片 job 的 pending / dispatched / recorded / blocked 状态;使用 `scripts/maomomo_job_state.py` 初始化和记录状态。
|
||||||
|
|
||||||
8. 出图前整理全部 prompt。
|
8. 出图前整理全部 prompt。
|
||||||
- 每张图的文件名、用途、放置位置、核心文案、完整 prompt、alt text、风格、依赖素材和输出路径先写入 `prompts/` 或 manifest 文件。
|
- 每张图的文件名、用途、放置位置、核心文案、完整 prompt、alt text、风格、依赖素材和输出路径先写入 `prompts/` 或 manifest 文件。
|
||||||
|
- prompt 中不要写“暖橙金融教程风”“数据仪表盘风”“手绘便签风”等容易被模型照抄的中文风格标签;改写为白底、暖橙强调、信息卡片、猫咪向导、清晰标题等视觉描述。
|
||||||
|
- 每张图的 prompt 必须明确:只允许出现指定业务文案和 `MAOMOMO`;不得添加副标题、风格标签、prompt 描述、说明文字、额外 slogan 或无关文字。
|
||||||
|
- 封面只放最高优先级结论和少量核心数字;复杂计算、全年理论上限、长公式和详细规则放到计算图或正文。
|
||||||
- 不要在聊天里输出超长 prompt;告诉用户可直接编辑 prompt 文件。
|
- 不要在聊天里输出超长 prompt;告诉用户可直接编辑 prompt 文件。
|
||||||
- 如果用户修改 prompt,先同步文件,再生成图片。
|
- 如果用户修改 prompt,先同步文件,再生成图片。
|
||||||
|
|
||||||
|
|
@ -150,6 +160,7 @@ description: 生成或优化符合 maomomo / 猫MOMO 风格的中文出海金融
|
||||||
|
|
||||||
11. 记录状态、QA 和返修。
|
11. 记录状态、QA 和返修。
|
||||||
- 每个图片 job 的 dispatch、结果和 blocker 都用 `scripts/maomomo_job_state.py` 写入 `slide_jobs.json` / `slide_run_state.json`,不能只靠聊天说明完成。
|
- 每个图片 job 的 dispatch、结果和 blocker 都用 `scripts/maomomo_job_state.py` 写入 `slide_jobs.json` / `slide_run_state.json`,不能只靠聊天说明完成。
|
||||||
|
- 每张图通过前必须检查日期、金额、公式、卡组织 / 支付网络、禁用分支、风格说明文字、伪造截图、乱码和多余文案。
|
||||||
- 检查文字清晰度、中文乱码、金额 / 日期 / 规则是否残留旧口径、标题截断、风格一致性、必选素材是否正确、元素是否重叠、是否伪造截图或 Logo。
|
- 检查文字清晰度、中文乱码、金额 / 日期 / 规则是否残留旧口径、标题截断、风格一致性、必选素材是否正确、元素是否重叠、是否伪造截图或 Logo。
|
||||||
- 严重问题重新生成该单张;局部问题优先使用已确认后端的编辑能力修复,不得本地手工覆盖关键文字冒充模型输出。
|
- 严重问题重新生成该单张;局部问题优先使用已确认后端的编辑能力修复,不得本地手工覆盖关键文字冒充模型输出。
|
||||||
|
|
||||||
|
|
@ -157,7 +168,7 @@ description: 生成或优化符合 maomomo / 猫MOMO 风格的中文出海金融
|
||||||
- `speech.md` 用作每张图的备注 / 讲解稿,标题格式使用 `## Slide N: 标题`,便于和图片顺序映射。
|
- `speech.md` 用作每张图的备注 / 讲解稿,标题格式使用 `## Slide N: 标题`,便于和图片顺序映射。
|
||||||
- 组装最终文章包时,把 `origin_image/{article_slug}_XX.png` 按顺序同步到 Markdown 引用的 `assets/`,并确保 `article.md`、图片路径、`speech.md`、来源区和 ZIP 都是最新版本。
|
- 组装最终文章包时,把 `origin_image/{article_slug}_XX.png` 按顺序同步到 Markdown 引用的 `assets/`,并确保 `article.md`、图片路径、`speech.md`、来源区和 ZIP 都是最新版本。
|
||||||
- 完整交付、文件交付或改稿打包前读 `references/delivery-rules.md`。
|
- 完整交付、文件交付或改稿打包前读 `references/delivery-rules.md`。
|
||||||
- QA 必须检查 Markdown 图片路径、assets 是否存在、来源区只保留实际使用来源、正文无编辑痕迹、图片无错误日期 / 金额 / 未确认结论、用户要求删除内容不残留、ZIP 内容正确。
|
- QA 必须用脚本检查 Markdown 中所有图片路径真实存在,并检查 assets 是否存在、来源区只保留实际使用来源、正文无编辑痕迹、图片无错误日期 / 金额 / 未确认结论、用户要求删除内容不残留、ZIP 内容正确。
|
||||||
- 最终回复保持简短:给出项目目录、文章路径、图片目录、ZIP 路径、图片数量、生图后端、状态记录情况、备注写入情况和已知限制。
|
- 最终回复保持简短:给出项目目录、文章路径、图片目录、ZIP 路径、图片数量、生图后端、状态记录情况、备注写入情况和已知限制。
|
||||||
|
|
||||||
## 模式选择
|
## 模式选择
|
||||||
|
|
@ -198,7 +209,7 @@ description: 生成或优化符合 maomomo / 猫MOMO 风格的中文出海金融
|
||||||
|
|
||||||
- `references/source-and-fact-check.md`:来源读取、事实表、时效性、冲突口径和金融风险核查。
|
- `references/source-and-fact-check.md`:来源读取、事实表、时效性、冲突口径和金融风险核查。
|
||||||
- `references/style-guide.md`:MAOMOMO 文章类型、标题套路、语气、结构模板、小红书模式和写作细节。
|
- `references/style-guide.md`:MAOMOMO 文章类型、标题套路、语气、结构模板、小红书模式和写作细节。
|
||||||
- `references/visual-assets.md`:配图类型、猫咪视觉、文件命名、Markdown 插图、禁止伪造截图和图片 QA。
|
- `references/visual-assets.md`:配图类型、猫咪视觉、文件命名、Markdown 插图、金融卡面核对、可见文字限制、禁止伪造截图和图片 QA。
|
||||||
- `references/recommended-styles.md`:推荐配图风格、适用场景、推荐话术和提示词片段。
|
- `references/recommended-styles.md`:推荐配图风格、适用场景、推荐话术和提示词片段。
|
||||||
- `references/image-styles/*.md`:具体出图风格 brief,借鉴 `codex-ppt-skill` 风格库结构并适配 MAOMOMO 文章配图。
|
- `references/image-styles/*.md`:具体出图风格 brief,借鉴 `codex-ppt-skill` 风格库结构并适配 MAOMOMO 文章配图。
|
||||||
- `references/image-generation.md`:图片生成后端选择、`scripts/maomomo_image_gen.py` 用法、`scripts/maomomo_job_state.py` 状态记录、manifest 和故障处理。
|
- `references/image-generation.md`:图片生成后端选择、`scripts/maomomo_image_gen.py` 用法、`scripts/maomomo_job_state.py` 状态记录、manifest 和故障处理。
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,8 @@
|
||||||
4. 出图前把全部图片 prompt 写入 `prompts/` 或 manifest 文件,让用户可直接编辑。
|
4. 出图前把全部图片 prompt 写入 `prompts/` 或 manifest 文件,让用户可直接编辑。
|
||||||
5. 先生成并确认一张样张,优先封面图;样张确认后再逐张生成剩余独立高清 PNG。
|
5. 先生成并确认一张样张,优先封面图;样张确认后再逐张生成剩余独立高清 PNG。
|
||||||
6. 将通过 QA 的图片同步到 `assets/` 目录,并以相对路径插入 Markdown,例如 ``。
|
6. 将通过 QA 的图片同步到 `assets/` 目录,并以相对路径插入 Markdown,例如 ``。
|
||||||
7. 创建 ZIP 包,结构类似:
|
7. 用脚本检查 Markdown 中所有本地图片路径真实存在。
|
||||||
|
8. 创建 ZIP 包,结构类似:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
article_package.zip
|
article_package.zip
|
||||||
|
|
@ -40,7 +41,7 @@ article_package.zip
|
||||||
hsbc-mastercard-alipay-campaign-03-timeline.png
|
hsbc-mastercard-alipay-campaign-03-timeline.png
|
||||||
```
|
```
|
||||||
|
|
||||||
8. 最终回复只给路径和极简说明,同时说明图片数量、生图后端、状态记录和已知限制。
|
9. 最终回复只给路径和极简说明,同时说明图片数量、生图后端、状态记录和已知限制。
|
||||||
|
|
||||||
如果因为工具限制、图片生成失败、文件写入失败或资料缺失导致无法完成完整交付,必须明确说明失败点,并尽量交付已经完成的部分。不要只输出配图提示词代替图片文件,不要只输出文章正文代替 Markdown 文件。
|
如果因为工具限制、图片生成失败、文件写入失败或资料缺失导致无法完成完整交付,必须明确说明失败点,并尽量交付已经完成的部分。不要只输出配图提示词代替图片文件,不要只输出文章正文代替 Markdown 文件。
|
||||||
|
|
||||||
|
|
@ -69,9 +70,12 @@ article_package.zip
|
||||||
- 不要只生成一张大长图替代所有配图。
|
- 不要只生成一张大长图替代所有配图。
|
||||||
- 每张图必须有独立主题,例如封面图、活动总览图、时间线图、重点规则图、交易法图、避坑图、FAQ 图。
|
- 每张图必须有独立主题,例如封面图、活动总览图、时间线图、重点规则图、交易法图、避坑图、FAQ 图。
|
||||||
- 不得使用未经用户提供的真实银行 Logo、券商 Logo 或支付品牌 Logo。
|
- 不得使用未经用户提供的真实银行 Logo、券商 Logo 或支付品牌 Logo。
|
||||||
|
- 出现信用卡、支付卡、卡组织或支付网络时,必须按官方材料或用户素材核对,并在 prompt、manifest 或 `deck_spec.json` 记录参考素材和卡组织;不得把银联 / UnionPay 画成 Mastercard、Visa 等其他卡组织。
|
||||||
- 不得伪造真实 App 截图。
|
- 不得伪造真实 App 截图。
|
||||||
- 生成图应明确是“MAOMOMO 风格示意图 / 信息图”。
|
- prompt 中的视觉风格只能写成后台画面描述,不要写容易被模型照抄的中文风格标签;可见文字只允许出现指定业务文案和 `MAOMOMO`。
|
||||||
|
- 生成图应明确是 MAOMOMO 示意图 / 信息图,不伪装成真实截图或官方页面。
|
||||||
- 生成后的原始最终图先保存到 `origin_image/`,通过 QA 后同步到 `assets/`,并插入 Markdown。
|
- 生成后的原始最终图先保存到 `origin_image/`,通过 QA 后同步到 `assets/`,并插入 Markdown。
|
||||||
|
- 港币金额在发布稿、图片文案、prompt、manifest 和 `deck_spec.json` 中统一写 `HKD`,来源原文抽取文件除外。
|
||||||
- 图片文件名使用稳定英文小写命名,并包含主题前缀,例如 `hsbc-mastercard-alipay-campaign-01-cover.png`。
|
- 图片文件名使用稳定英文小写命名,并包含主题前缀,例如 `hsbc-mastercard-alipay-campaign-01-cover.png`。
|
||||||
- 不要使用中文文件名或缺少主题前缀的通用文件名作为最终 assets 文件名,避免站点路径兼容和多文章混淆问题。
|
- 不要使用中文文件名或缺少主题前缀的通用文件名作为最终 assets 文件名,避免站点路径兼容和多文章混淆问题。
|
||||||
- 不要用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工覆盖文字替代 GPT Image2 / 图片 API 生成最终配图。
|
- 不要用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工覆盖文字替代 GPT Image2 / 图片 API 生成最终配图。
|
||||||
|
|
@ -132,9 +136,12 @@ article_package.zip
|
||||||
- `slide_jobs.json` / `slide_run_state.json` 已记录图片任务状态;如缺少记录,最终回复必须说明原因。
|
- `slide_jobs.json` / `slide_run_state.json` 已记录图片任务状态;如缺少记录,最终回复必须说明原因。
|
||||||
- `origin_image/` 中最终原始图片存在。
|
- `origin_image/` 中最终原始图片存在。
|
||||||
- `assets/` 目录已生成。
|
- `assets/` 目录已生成。
|
||||||
- 所有 Markdown 图片路径都能对应到真实图片文件。
|
- 已运行 `uv run python scripts/maomomo_check_markdown_assets.py article/article.md` 或等效脚本,确认所有 Markdown 图片路径都能对应到真实图片文件。
|
||||||
- 图片是多张独立 PNG,不是一张大图代替全部。
|
- 图片是多张独立 PNG,不是一张大图代替全部。
|
||||||
- 图片文件名包含文章主题前缀,未沿用旧文章文件名。
|
- 图片文件名包含文章主题前缀,未沿用旧文章文件名。
|
||||||
|
- 图片可见文字没有出现风格标签、prompt 描述、额外 slogan 或无关文案。
|
||||||
|
- 图片日期、金额、公式、卡组织 / 支付网络和禁用分支都已核对。
|
||||||
|
- 发布稿、图片文案、prompt、manifest、`deck_spec.json` 和 `speech.md` 中港币金额统一使用 `HKD`。
|
||||||
- 文末来源区只包含实际使用的来源。
|
- 文末来源区只包含实际使用的来源。
|
||||||
- 正文没有 `contentReference`、`oaicite`、调试标记或工具残留。
|
- 正文没有 `contentReference`、`oaicite`、调试标记或工具残留。
|
||||||
- 用户要求删除的分支,标题、正文、配图清单和来源区都已删除干净。
|
- 用户要求删除的分支,标题、正文、配图清单和来源区都已删除干净。
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
## 单张生成
|
## 单张生成
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_image_gen.py generate \
|
uv run python scripts/maomomo_image_gen.py generate \
|
||||||
--out article/origin_image/hsbc-mastercard-alipay-campaign-01-cover.png \
|
--out article/origin_image/hsbc-mastercard-alipay-campaign-01-cover.png \
|
||||||
--style warm-fintech-guide \
|
--style warm-fintech-guide \
|
||||||
--title "汇丰 Mastercard 支付宝活动" \
|
--title "汇丰 Mastercard 支付宝活动" \
|
||||||
|
|
@ -46,15 +46,46 @@ python3 scripts/maomomo_image_gen.py generate \
|
||||||
先只看 prompt:
|
先只看 prompt:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_image_gen.py generate \
|
uv run python scripts/maomomo_image_gen.py generate \
|
||||||
--out article/origin_image/hsbc-mastercard-alipay-campaign-01-cover.png \
|
--out article/origin_image/hsbc-mastercard-alipay-campaign-01-cover.png \
|
||||||
--style data-card-dashboard \
|
--style data-card-dashboard \
|
||||||
--title "返现计算图" \
|
--title "返现计算图" \
|
||||||
--image-type "计算图" \
|
--image-type "计算图" \
|
||||||
--core-text "HK$190 ÷ 9% ≈ HK$2112,超过部分没有额外收益" \
|
--core-text "HKD 190 ÷ 9% ≈ HKD 2,112,超过部分没有额外收益" \
|
||||||
--dry-run
|
--dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## prompt 文件输入
|
||||||
|
|
||||||
|
- `prompts/*.json` 用于管理图片 job、路径、参考素材、可见文字白名单和完整 prompt。
|
||||||
|
- 如果生成脚本的 `--prompt-file` 读取纯文本,必须先从 JSON 的 `prompt` 字段抽取为同名 `.prompt.txt`,再把 `.prompt.txt` 传给图片接口。
|
||||||
|
- 不要把整个 JSON 文件作为 `--prompt-file` 传入;否则模型可能把 JSON 外壳、字段名或管理信息画进图片。
|
||||||
|
- 抽取出的 `.prompt.txt` 仍必须包含可见文字限制:只允许出现指定业务文案和 `MAOMOMO`,不得出现风格标签、prompt 描述、额外 slogan 或无关文字。
|
||||||
|
|
||||||
|
推荐抽取方式:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run python - <<'PY'
|
||||||
|
from pathlib import Path
|
||||||
|
import json
|
||||||
|
|
||||||
|
path = Path("article/prompts/hsbc-mastercard-alipay-campaign_01.json")
|
||||||
|
data = json.loads(path.read_text(encoding="utf-8"))
|
||||||
|
prompt = str(data["prompt"]).strip()
|
||||||
|
out = path.with_suffix(".prompt.txt")
|
||||||
|
out.write_text(prompt + "\n", encoding="utf-8", newline="\n")
|
||||||
|
print(out)
|
||||||
|
PY
|
||||||
|
```
|
||||||
|
|
||||||
|
然后生成:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run python scripts/maomomo_image_gen.py generate \
|
||||||
|
--out article/origin_image/hsbc-mastercard-alipay-campaign-01-cover.png \
|
||||||
|
--prompt-file article/prompts/hsbc-mastercard-alipay-campaign_01.prompt.txt
|
||||||
|
```
|
||||||
|
|
||||||
## 批量 manifest
|
## 批量 manifest
|
||||||
|
|
||||||
manifest 示例:
|
manifest 示例:
|
||||||
|
|
@ -75,7 +106,7 @@ manifest 示例:
|
||||||
"file_name": "origin_image/hsbc-mastercard-alipay-campaign-02-calculation.png",
|
"file_name": "origin_image/hsbc-mastercard-alipay-campaign-02-calculation.png",
|
||||||
"type": "计算图",
|
"type": "计算图",
|
||||||
"title": "怎么刷到刚刚好",
|
"title": "怎么刷到刚刚好",
|
||||||
"core_text": "HK$190 ÷ 9% ≈ HK$2112,超过部分没有额外收益",
|
"core_text": "HKD 190 ÷ 9% ≈ HKD 2,112,超过部分没有额外收益",
|
||||||
"style": "data-card-dashboard"
|
"style": "data-card-dashboard"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -85,7 +116,7 @@ manifest 示例:
|
||||||
运行:
|
运行:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_image_gen.py batch \
|
uv run python scripts/maomomo_image_gen.py batch \
|
||||||
--manifest article/image_manifest.json \
|
--manifest article/image_manifest.json \
|
||||||
--base-dir article
|
--base-dir article
|
||||||
```
|
```
|
||||||
|
|
@ -98,6 +129,8 @@ python3 scripts/maomomo_image_gen.py batch \
|
||||||
- 默认用 `generate` 单张生成;`batch` 只用于用户明确授权的全量生成或 dry-run prompt 输出。
|
- 默认用 `generate` 单张生成;`batch` 只用于用户明确授权的全量生成或 dry-run prompt 输出。
|
||||||
- 即使使用 `batch`,脚本也是逐项请求图片接口;生成后仍要逐张 QA,并把通过的图片同步到 `assets/`。
|
- 即使使用 `batch`,脚本也是逐项请求图片接口;生成后仍要逐张 QA,并把通过的图片同步到 `assets/`。
|
||||||
- 发布用 Markdown 默认引用 `assets/`,因此如果 manifest 输出到 `origin_image/`,必须在 QA 后复制到对应 `assets/` 路径。
|
- 发布用 Markdown 默认引用 `assets/`,因此如果 manifest 输出到 `origin_image/`,必须在 QA 后复制到对应 `assets/` 路径。
|
||||||
|
- 金融活动 manifest 中涉及信用卡、支付卡或支付网络时,必须记录 `reference_assets`、`payment_network` 和 `card_art_rule`,并在 QA 中核对卡组织没有画错。
|
||||||
|
- manifest、prompt、`deck_spec.json` 和发布稿中的港币金额统一使用 `HKD`,来源原文抽取文件除外。
|
||||||
|
|
||||||
## 内置风格名
|
## 内置风格名
|
||||||
|
|
||||||
|
|
@ -118,7 +151,7 @@ python3 scripts/maomomo_image_gen.py batch \
|
||||||
查看完整描述:
|
查看完整描述:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_image_gen.py styles
|
uv run python scripts/maomomo_image_gen.py styles
|
||||||
```
|
```
|
||||||
|
|
||||||
## 失败处理
|
## 失败处理
|
||||||
|
|
@ -153,40 +186,40 @@ python3 scripts/maomomo_image_gen.py styles
|
||||||
初始化状态:
|
初始化状态:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_job_state.py init article \
|
uv run python scripts/maomomo_job_state.py init article \
|
||||||
--selected-backend "built-in image tool"
|
--selected-backend "built-in image tool"
|
||||||
```
|
```
|
||||||
|
|
||||||
查看状态:
|
查看状态:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_job_state.py status article
|
uv run python scripts/maomomo_job_state.py status article
|
||||||
```
|
```
|
||||||
|
|
||||||
记录 dispatch:
|
记录 dispatch:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_job_state.py dispatch article \
|
uv run python scripts/maomomo_job_state.py dispatch article \
|
||||||
--job hsbc-mastercard-alipay-campaign_02 \
|
--job hsbc-mastercard-alipay-campaign_02 \
|
||||||
--agent-id "<agent id>" \
|
--agent-id "<agent id>" \
|
||||||
--prompt-file prompts/hsbc-mastercard-alipay-campaign_02.json
|
--prompt-file prompts/hsbc-mastercard-alipay-campaign_02.json
|
||||||
```
|
```
|
||||||
|
|
||||||
记录结果并同步到 `origin_image/` 和 `assets/`:
|
单张 QA 通过后,记录结果并同步到 `origin_image/` 和 `assets/`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_job_state.py result article \
|
uv run python scripts/maomomo_job_state.py result article \
|
||||||
--job hsbc-mastercard-alipay-campaign_02 \
|
--job hsbc-mastercard-alipay-campaign_02 \
|
||||||
--agent-id "<agent id>" \
|
--agent-id "<agent id>" \
|
||||||
--backend-used "built-in image tool" \
|
--backend-used "built-in image tool" \
|
||||||
--selected-source /absolute/path/to/generated.png \
|
--selected-source /absolute/path/to/generated.png \
|
||||||
--qa-note "文字清楚,风格与样张一致。"
|
--qa-note "文字清楚,日期、金额、公式和卡组织已核对,风格与样张一致。"
|
||||||
```
|
```
|
||||||
|
|
||||||
记录 blocker:
|
记录 blocker:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 scripts/maomomo_job_state.py blocker article \
|
uv run python scripts/maomomo_job_state.py blocker article \
|
||||||
--job hsbc-mastercard-alipay-campaign_02 \
|
--job hsbc-mastercard-alipay-campaign_02 \
|
||||||
--agent-id "<agent id>" \
|
--agent-id "<agent id>" \
|
||||||
--reason "选定图片后端在 worker 中不可用"
|
--reason "选定图片后端在 worker 中不可用"
|
||||||
|
|
|
||||||
|
|
@ -45,5 +45,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 创意杂志风中文封面,大标题、强留白、暖橙品牌点缀,金融物件原创插画,白橘猫作为角落品牌元素,画面像编辑部攻略封面,不像银行广告。
|
中文金融文章封面,大标题、强留白、暖橙品牌点缀,金融物件原创插画,白橘猫作为角落品牌元素,画面像编辑部攻略封面,不像银行广告,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -46,5 +46,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 复古扁平插画风,低饱和暖色,扁平信用卡、小票、日历、计算器和白橘猫,中文标题清楚,轻松但不夸张,包含 MAOMOMO 标识。
|
低饱和暖色,扁平信用卡、小票、日历、计算器和白橘猫,中文标题清楚,轻松但不夸张,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -46,5 +46,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 小红书竖版攻略风,9:16,大字少字,手机端可读,暖橙白底,白橘猫水印,适合 4 图系列,包含 MAOMOMO 标识。
|
9:16 竖版,大字少字,手机端可读,暖橙白底,白橘猫水印,适合 4 图系列,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -46,5 +46,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 手绘便签风,近白纸感背景,暖橙便利贴,手绘箭头和圈注,白橘猫举提示牌,中文步骤短而清晰,适合避坑和保姆式教程。
|
近白纸感背景,暖橙便利贴,手绘箭头和圈注,白橘猫举提示牌,中文步骤短而清晰,适合避坑和保姆式教程,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -47,5 +47,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 数据卡片仪表盘风,白底,KPI 卡片、计算公式、时间线和风险标签清晰分区,金额和日期大号可读,白橘猫只做小型提示元素,包含 MAOMOMO 标识。
|
白底,KPI 卡片、计算公式、时间线和风险标签清晰分区,金额和日期大号可读,白橘猫只做小型提示元素,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -52,5 +52,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 暖橙金融教程风,明亮白底,暖橙强调色,干净信息卡片,友好的白橘猫作为向导,中文标题和关键数字清晰,包含 MAOMOMO 标识。
|
明亮白底,暖橙强调色,干净信息卡片,友好的白橘猫作为向导,中文标题和关键数字清晰,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -52,5 +52,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 清爽专业风,浅色背景,蓝绿与暖橙强调色,结构化信息卡片,清晰中文标题和步骤,白橘猫作为小型向导,包含 MAOMOMO 标识,不伪造真实 App 截图。
|
浅色背景,蓝绿与暖橙强调色,结构化信息卡片,清晰中文标题和步骤,白橘猫作为小型向导,包含 MAOMOMO 标识,不伪造真实 App 截图。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -47,5 +47,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 清爽编辑部风,白底大标题,轻杂志排版,暖橙点缀,留白充足,白橘猫作为角落品牌元素,适合中文金融经验文章封面。
|
白底大标题,轻杂志排版,暖橙点缀,留白充足,白橘猫作为角落品牌元素,适合中文金融经验文章封面,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -46,5 +46,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 电子墨水杂志风,纸感背景,黑白灰为主,少量暖橙强调,大标题和元信息条,原创抽象金融视觉,克制高级,包含 MAOMOMO 标识。
|
纸感背景,黑白灰为主,少量暖橙强调,大标题和元信息条,原创抽象金融视觉,克制高级,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -47,5 +47,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 科研答辩风,浅色严谨版式,来源卡片、条件树、证据矩阵和结论区清晰,暖橙强调风险提示,白橘猫只作为小型品牌元素。
|
浅色严谨版式,来源卡片、条件树、证据矩阵和结论区清晰,暖橙强调风险提示,白橘猫只作为小型品牌元素,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -47,5 +47,5 @@
|
||||||
## Prompt 片段
|
## Prompt 片段
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 麦肯锡简报风,结论先行,白底深色标题,2x2 矩阵或方案对比表,暖橙突出推荐路径和风险提醒,包含 MAOMOMO 标识。
|
结论先行,白底深色标题,2x2 矩阵或方案对比表,暖橙突出推荐路径和风险提醒,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
提示词片段:
|
提示词片段:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 暖橙金融教程风,明亮白底,暖橙强调色,干净卡片布局,友好的白橘猫作为向导,现代 App 教程质感,中文标题清楚,包含 MAOMOMO 标识。
|
明亮白底,暖橙强调色,干净卡片布局,友好的白橘猫作为向导,现代 App 信息卡片质感,中文标题清楚,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
## data-card-dashboard
|
## data-card-dashboard
|
||||||
|
|
@ -77,7 +77,7 @@ MAOMOMO 暖橙金融教程风,明亮白底,暖橙强调色,干净卡片布
|
||||||
提示词片段:
|
提示词片段:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 数据卡片仪表盘风,白底,暖橙和蓝灰辅助色,使用指标卡、表格、时间线和计算公式展示关键信息,中文数字清晰可读,猫咪作为小型提示元素。
|
白底,暖橙和蓝灰辅助色,使用指标卡、表格、时间线和计算公式展示关键信息,中文数字清晰可读,猫咪作为小型提示元素,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
## clean-professional
|
## clean-professional
|
||||||
|
|
@ -118,7 +118,7 @@ MAOMOMO 数据卡片仪表盘风,白底,暖橙和蓝灰辅助色,使用指
|
||||||
提示词片段:
|
提示词片段:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 清爽编辑部风,白底大标题,轻杂志排版,暖橙点缀,留白充足,白橘猫作为角落品牌元素,适合中文金融经验文章封面。
|
白底大标题,轻杂志排版,暖橙点缀,留白充足,白橘猫作为角落品牌元素,适合中文金融经验文章封面,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
## retro-flat-illustration
|
## retro-flat-illustration
|
||||||
|
|
@ -149,7 +149,7 @@ MAOMOMO 清爽编辑部风,白底大标题,轻杂志排版,暖橙点缀,
|
||||||
提示词片段:
|
提示词片段:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 手绘便签风,白底纸感,暖橙便利贴,手绘箭头和圈注,白橘猫举提示牌,中文步骤清楚,适合避坑经验和保姆式教程。
|
白底纸感,暖橙便利贴,手绘箭头和圈注,白橘猫举提示牌,中文步骤清楚,适合避坑经验和保姆式教程,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
## e-ink-editorial
|
## e-ink-editorial
|
||||||
|
|
@ -200,7 +200,7 @@ MAOMOMO 手绘便签风,白底纸感,暖橙便利贴,手绘箭头和圈注
|
||||||
提示词片段:
|
提示词片段:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 小红书竖版攻略风,9:16,手机端可读,大标题,少量关键数字,暖橙白底,白橘猫水印,适合 4 图看完的中文金融攻略。
|
9:16 竖版,手机端可读,大标题,少量关键数字,暖橙白底,白橘猫水印,适合 4 图看完的中文金融攻略,包含 MAOMOMO 标识。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
## 风格选择输出格式
|
## 风格选择输出格式
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,11 @@ MAOMOMO 是偏实操的出海经验平台。公开站点标语是:“打破信
|
||||||
- 空泛的 SEO 背景介绍;
|
- 空泛的 SEO 背景介绍;
|
||||||
- 投资建议、法律建议、税务建议或结果保证。
|
- 投资建议、法律建议、税务建议或结果保证。
|
||||||
|
|
||||||
|
金额写法:
|
||||||
|
|
||||||
|
- 发布稿、图片文案、prompt、manifest、`deck_spec.json` 和 `speech.md` 中,港币金额统一写 `HKD 1,000`。
|
||||||
|
- 不使用 `HK$1,000`、`港币 1,000`、`1,000 港币` 作为发布写法;来源原文摘录或 OCR 可保留原样。
|
||||||
|
|
||||||
## 常见文章类型
|
## 常见文章类型
|
||||||
|
|
||||||
### 1. 活动 / 返现 / 奖励攻略
|
### 1. 活动 / 返现 / 奖励攻略
|
||||||
|
|
@ -62,7 +67,7 @@ MAOMOMO 是偏实操的出海经验平台。公开站点标语是:“打破信
|
||||||
|
|
||||||
写法要点:
|
写法要点:
|
||||||
|
|
||||||
- 把实用公式放前面,例如 `HK$190 ÷ 9% ≈ HK$2112`。
|
- 把实用公式放前面,例如 `HKD 190 ÷ 9% ≈ HKD 2,112`。
|
||||||
- 直接写出“超过部分 = 没额外收益(不用多刷)”。
|
- 直接写出“超过部分 = 没额外收益(不用多刷)”。
|
||||||
- 不支持的渠道要明确点名,例如“不支持支付宝 / 微信”。
|
- 不支持的渠道要明确点名,例如“不支持支付宝 / 微信”。
|
||||||
- 活动要写开始日期、结束日期,以及本文是否“持续更新”。
|
- 活动要写开始日期、结束日期,以及本文是否“持续更新”。
|
||||||
|
|
@ -364,12 +369,12 @@ tags:
|
||||||
基础方向:
|
基础方向:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 风格封面图,干净的中文金融教程缩略图,友好的白橘猫吉祥物,圆脸、小爪子、暖橙色点缀,结合香港金融 / 信用卡 / 券商 / 转账场景,预留清晰中文标题区域,现代 App 仪表盘质感,实用而非奢华,明亮白色背景,少量爪印细节,不使用未经提供的真实银行标志,不伪造真实截图界面,16:9。
|
干净的中文金融实操文章封面,友好的白橘猫吉祥物,圆脸、小爪子,暖橙色点缀,结合香港金融 / 信用卡 / 券商 / 转账场景,预留清晰中文标题区域,现代 App 信息卡片质感,实用而非奢华,明亮白色背景,少量爪印细节,包含 MAOMOMO 标识,不使用未经提供的真实银行标志,不伪造真实截图界面,16:9。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
按主题追加对象:
|
按主题追加对象:
|
||||||
|
|
||||||
- 信用卡 / 返现:香港信用卡、超市购物篮、返现计算器、小票、银联 / Apple Pay 风格的通用符号。
|
- 信用卡 / 返现:香港信用卡、超市购物篮、返现计算器、小票、通用支付符号;只有官方材料或用户素材确认后才画具体卡组织 / 支付网络。
|
||||||
- 银行账户 / 保号:保险库、账户余额仪表、ETF / 股票图表卡片、日历、警示标。
|
- 银行账户 / 保号:保险库、账户余额仪表、ETF / 股票图表卡片、日历、警示标。
|
||||||
- 转账 / 入金:路线箭头、HKD / EUR / USD 币种标签、手机转账界面插画、勾选标记。
|
- 转账 / 入金:路线箭头、HKD / EUR / USD 币种标签、手机转账界面插画、勾选标记。
|
||||||
- 券商活动:股票礼品卡、K 线图、欢迎信封、香港天际线线稿。
|
- 券商活动:股票礼品卡、K 线图、欢迎信封、香港天际线线稿。
|
||||||
|
|
@ -408,7 +413,7 @@ MAOMOMO 风格封面图,干净的中文金融教程缩略图,友好的白橘
|
||||||
提示词模板:
|
提示词模板:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
生成一张干净的 MAOMOMO 风格中文信息图,使用暖橙色点缀和小型白橘猫吉祥物。展示【计算公式 / 路线 / 时间线】。画面使用简洁卡片、箭头、勾选标记、风险提示标签和清晰中文标注。整体为实用金融教程风,白色背景,不使用伪造官方标志,16:9。
|
生成一张干净的中文金融实操信息图,使用暖橙色点缀和小型白橘猫吉祥物。展示【计算公式 / 路线 / 时间线】。画面使用简洁卡片、箭头、勾选标记、风险提示标签和清晰中文标注,白色背景,不使用伪造官方标志,16:9。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
## 来源处理
|
## 来源处理
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,62 @@
|
||||||
- 生成图必须是“示意图 / 信息图 / 教程视觉”,不得伪造真实 App 截图、账单或官方页面。
|
- 生成图必须是“示意图 / 信息图 / 教程视觉”,不得伪造真实 App 截图、账单或官方页面。
|
||||||
- 用户提供真实截图时,优先用真实截图,并隐去姓名、账号、余额、地址、手机号、二维码、交易号等个人信息。
|
- 用户提供真实截图时,优先用真实截图,并隐去姓名、账号、余额、地址、手机号、二维码、交易号等个人信息。
|
||||||
- 每张图必须包含清晰可见的 `MAOMOMO` 标识。
|
- 每张图必须包含清晰可见的 `MAOMOMO` 标识。
|
||||||
|
- 每张图的可见文字必须受控:只允许出现该图指定的业务文案和 `MAOMOMO`,不得添加副标题、风格标签、prompt 描述、说明文字、额外 slogan 或无关文字。
|
||||||
- 不要用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工覆盖文字替代图片生成后端。
|
- 不要用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工覆盖文字替代图片生成后端。
|
||||||
|
|
||||||
|
## 可见文字与 prompt 边界
|
||||||
|
|
||||||
|
- 视觉风格只作为后台画面描述,不得成为画面文字。
|
||||||
|
- 生成用 prompt 不要写容易被模型照抄到画面里的中文风格标签,例如“暖橙金融教程风”“数据仪表盘风”“手绘便签风”“清爽编辑部风”。
|
||||||
|
- 把风格名改写成可观察的视觉描述:白底、暖橙强调、信息卡片、猫咪向导、清晰标题、留白充足、表格感、时间线、轻纸感等。
|
||||||
|
- prompt 必须写明:画面只允许出现指定业务文案和 `MAOMOMO`;不要添加副标题、风格标签、prompt 描述、说明文字、额外 slogan 或无关文字。
|
||||||
|
- `style` 字段可保留内部风格 ID,例如 `warm-fintech-guide`,但完整 `prompt` 字段里不要把中文风格名当成可见文案写入。
|
||||||
|
|
||||||
|
推荐写法:
|
||||||
|
|
||||||
|
```text
|
||||||
|
明亮白底,暖橙强调色,干净信息卡片,友好的白橘猫作为向导,中文标题清楚,画面包含 MAOMOMO 标识。可见文字只允许出现:「先报名,再看门槛和封顶」和「MAOMOMO」。
|
||||||
|
```
|
||||||
|
|
||||||
|
不推荐写法:
|
||||||
|
|
||||||
|
```text
|
||||||
|
MAOMOMO 暖橙金融教程风,画出一张手绘便签风仪表盘图。
|
||||||
|
```
|
||||||
|
|
||||||
|
## 金融卡面与支付网络核对
|
||||||
|
|
||||||
|
- 金融活动配图中只要出现信用卡、支付卡、卡组织、支付网络或银行卡样式,必须先根据官方材料、用户截图或用户提供的卡面参考图核对。
|
||||||
|
- 用户提供卡面参考图时,把原始素材保存到 `sources/`,例如 `sources/gba-unionpay-card-reference.png`;不要只留在聊天上下文里。
|
||||||
|
- 在 `prompt`、manifest 和 `deck_spec.json` 中记录参考素材路径、卡组织 / 支付网络、是否允许出现卡组织标识,以及核对依据。
|
||||||
|
- 不得把银联 / UnionPay 卡画成 Mastercard、Visa、American Express 或其他卡组织;不确定时画“无卡组织标识的通用支付卡”。
|
||||||
|
- 未经用户提供或官方材料确认,不要使用真实银行、卡组织、酒店、OTA 或支付机构 Logo;必要时使用通用卡片、通用 POS、通用酒店图标。
|
||||||
|
- 如果官方活动限定某卡组织或指定卡面,图片 QA 必须把卡组织 / 支付网络列为必检项。
|
||||||
|
|
||||||
|
推荐记录字段:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"reference_assets": ["sources/gba-unionpay-card-reference.png"],
|
||||||
|
"payment_network": "UnionPay / 银联",
|
||||||
|
"card_art_rule": "根据用户卡面参考图画银联 GBA 双币信用卡;不得出现 Mastercard 或 Visa 标识"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 封面信息层级
|
||||||
|
|
||||||
|
- 封面只放最高优先级结论和少量核心数字,服务“读者一眼知道这篇讲什么、值不值得点开”。
|
||||||
|
- 不把复杂计算结论、全年理论上限、长公式、多重限制、详细规则或小字说明塞进封面。
|
||||||
|
- 计算过程、月度 / 年度理论上限、封顶拆解、资格分支和详细条款,应放到计算图、总览图或正文。
|
||||||
|
- 封面核心文案建议 1 句主标题 + 1-3 个短数字 / 短标签;如果超过手机端一眼可读的密度,拆到下一张图。
|
||||||
|
|
||||||
|
## 金额与币种写法
|
||||||
|
|
||||||
|
- 发布稿、图片文案、prompt、manifest、`deck_spec.json`、alt text 和 `speech.md` 中,港币金额统一写 `HKD 1,000`。
|
||||||
|
- 不使用港币符号写法,例如 `HK$1,000`、`港币 1,000`、`1,000 港币`。
|
||||||
|
- 来源原文抽取文件、官方截图 OCR 或原文摘录可以保留来源写法;它们不作为发布内容检查对象。
|
||||||
|
- 如果来源使用港币符号,改写到发布内容时同步转换为 `HKD`。
|
||||||
|
|
||||||
## 风格选择
|
## 风格选择
|
||||||
|
|
||||||
如果用户没有指定视觉方向,生成图片前先读 `references/recommended-styles.md`,给 2-3 个可选风格,并推荐一个。确认后,整篇文章的配图保持同一套视觉身份:稳定的配色、猫咪造型、标题区、图标语言和信息密度;不同图片可以根据用途变化构图。
|
如果用户没有指定视觉方向,生成图片前先读 `references/recommended-styles.md`,给 2-3 个可选风格,并推荐一个。确认后,整篇文章的配图保持同一套视觉身份:稳定的配色、猫咪造型、标题区、图标语言和信息密度;不同图片可以根据用途变化构图。
|
||||||
|
|
@ -72,7 +126,7 @@ C. handdrawn-note:便签和手绘箭头更明显,适合避坑经验和保姆
|
||||||
|
|
||||||
## 图片清单格式
|
## 图片清单格式
|
||||||
|
|
||||||
生成图片前先规划清单,并同步写入 `prompts/{article_slug}_XX.json` 或图片 manifest。每个 prompt 文件至少包含:文件名、类型、放置位置、核心文案、alt text、风格、依赖素材、输出路径和完整 prompt。
|
生成图片前先规划清单,并同步写入 `prompts/{article_slug}_XX.json` 或图片 manifest。每个 prompt 文件至少包含:文件名、类型、放置位置、核心文案、可见文字白名单、alt text、风格、依赖素材、输出路径和完整 prompt。涉及信用卡、支付卡或支付网络时,还要包含参考素材、卡组织 / 支付网络和核对依据。
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
| 文件名 | 类型 | 放置位置 | 核心文案 | alt text | 风格 | 依赖素材 |
|
| 文件名 | 类型 | 放置位置 | 核心文案 | alt text | 风格 | 依赖素材 |
|
||||||
|
|
@ -94,10 +148,15 @@ C. handdrawn-note:便签和手绘箭头更明显,适合避坑经验和保姆
|
||||||
"type": "封面图",
|
"type": "封面图",
|
||||||
"placement": "标题下方",
|
"placement": "标题下方",
|
||||||
"core_text": "先报名,再看门槛和封顶",
|
"core_text": "先报名,再看门槛和封顶",
|
||||||
|
"visible_text_allowed": ["先报名,再看门槛和封顶", "MAOMOMO"],
|
||||||
"alt_text": "MAOMOMO 汇丰 Mastercard 支付宝返现活动封面图",
|
"alt_text": "MAOMOMO 汇丰 Mastercard 支付宝返现活动封面图",
|
||||||
"style": "warm-fintech-guide",
|
"style": "warm-fintech-guide",
|
||||||
"required_assets": [],
|
"required_assets": [],
|
||||||
"prompt": "完整图片生成 prompt,包含风格、文案、约束和禁止项"
|
"reference_assets": [],
|
||||||
|
"payment_network": "",
|
||||||
|
"card_art_rule": "如无官方或用户参考素材确认,画无卡组织标识的通用支付卡",
|
||||||
|
"forbidden_visible_text": ["风格标签", "prompt 描述", "额外 slogan", "无关说明文字"],
|
||||||
|
"prompt": "完整图片生成 prompt,包含视觉描述、指定业务文案、可见文字限制和禁止项"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -155,7 +214,7 @@ assets/
|
||||||
基础方向:
|
基础方向:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
MAOMOMO 风格中文金融教程信息图,干净明亮白色背景,暖橙色点缀,友好的白橘猫吉祥物,圆脸、小爪子,现代 App 仪表盘质感,清晰中文标题和卡片信息层级,实用而非奢华,包含 MAOMOMO 标识,不使用未经提供的真实银行标志,不伪造真实截图。
|
中文金融实操信息图,干净明亮白色背景,暖橙色点缀,友好的白橘猫吉祥物,圆脸、小爪子,现代 App 信息卡片质感,清晰中文标题和卡片信息层级,实用而非奢华,包含 MAOMOMO 标识,不使用未经提供的真实银行标志,不伪造真实截图。可见文字只允许出现指定业务文案和 MAOMOMO。
|
||||||
```
|
```
|
||||||
|
|
||||||
猫咪可以:
|
猫咪可以:
|
||||||
|
|
@ -173,7 +232,7 @@ MAOMOMO 风格中文金融教程信息图,干净明亮白色背景,暖橙色
|
||||||
|
|
||||||
## 主题追加元素
|
## 主题追加元素
|
||||||
|
|
||||||
- 信用卡 / 返现:通用信用卡、小票、购物篮、返现计算器、Apple Pay 风格通用符号。
|
- 信用卡 / 返现:通用信用卡、小票、购物篮、返现计算器、通用支付符号;只有在官方材料或用户素材确认后,才画具体卡组织 / 支付网络。
|
||||||
- 银行账户 / 保号:账户余额仪表、保险库、日历、警示标、活跃度卡片。
|
- 银行账户 / 保号:账户余额仪表、保险库、日历、警示标、活跃度卡片。
|
||||||
- 转账 / 入金:路线箭头、HKD / EUR / USD 标签、手机转账示意界面、勾选标记。
|
- 转账 / 入金:路线箭头、HKD / EUR / USD 标签、手机转账示意界面、勾选标记。
|
||||||
- 券商活动:股票礼品卡、K 线图、欢迎信封、香港天际线线稿。
|
- 券商活动:股票礼品卡、K 线图、欢迎信封、香港天际线线稿。
|
||||||
|
|
@ -191,15 +250,27 @@ MAOMOMO 风格中文金融教程信息图,干净明亮白色背景,暖橙色
|
||||||
|
|
||||||
## 图片 QA
|
## 图片 QA
|
||||||
|
|
||||||
交付前检查:
|
每张图通过前检查:
|
||||||
|
|
||||||
- 样张已被用户确认,后续图片没有切换生图后端或视觉风格。
|
- 样张已被用户确认,后续图片没有切换生图后端或视觉风格。
|
||||||
- 文件真实存在,格式为 PNG。
|
- 文件真实存在,格式为 PNG。
|
||||||
- `origin_image/` 原始最终图和 `assets/` 发布图对应。
|
- `origin_image/` 原始最终图和 `assets/` 发布图对应。
|
||||||
- Markdown 路径能打开对应文件。
|
- Markdown 路径能打开对应文件。
|
||||||
- 图片文字清楚,无乱码、错字和过期金额。
|
- 图片文字清楚,无乱码、错字、截断和多余文案。
|
||||||
- 标题、金额、日期、规则与最终文章口径一致。
|
- 可见文字只包含指定业务文案和 `MAOMOMO`,没有副标题、风格说明文字、prompt 描述、额外 slogan 或无关说明。
|
||||||
|
- 标题、金额、币种、日期、公式、规则与最终文章口径一致;港币金额发布写法统一为 `HKD`。
|
||||||
|
- 卡组织 / 支付网络与官方材料或用户参考素材一致;银联 / UnionPay 不得被画成 Mastercard、Visa 或其他卡组织。
|
||||||
|
- 没有出现用户已删除、已排除或禁止使用的活动分支、旧版规则、旧金额或旧标题。
|
||||||
- 没有真实个人信息。
|
- 没有真实个人信息。
|
||||||
- 没有伪造官方 App 页面或未经授权的品牌 Logo 场景。
|
- 没有伪造官方 App 页面或未经授权的品牌 Logo 场景。
|
||||||
|
- 没有把示意图伪装成真实截图、账单、订单、App 页面或官方页面。
|
||||||
- 每张图独立主题明确,不是同一画面的机械变体。
|
- 每张图独立主题明确,不是同一画面的机械变体。
|
||||||
|
- 单张 QA 通过后,才用 `scripts/maomomo_job_state.py result` 记录结果并同步到 `assets/`;不得只生成到 `origin_image/` 后声称完成。
|
||||||
|
- `article.md` 已插入对应章节,且用脚本检查 Markdown 中所有图片路径真实存在。
|
||||||
- `slide_jobs.json` / `slide_run_state.json` 中没有未处理的 `pending`、`dispatched` 或 `blocked` job;如有,不能声称完整交付完成。
|
- `slide_jobs.json` / `slide_run_state.json` 中没有未处理的 `pending`、`dispatched` 或 `blocked` job;如有,不能声称完整交付完成。
|
||||||
|
|
||||||
|
路径检查命令:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run python scripts/maomomo_check_markdown_assets.py article/article.md
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
"""检查 Markdown 中引用的本地图片是否真实存在。"""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
from typing import Iterable, List, Optional
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
|
|
||||||
|
IMAGE_RE = re.compile(r"!\[[^\]]*\]\(([^)]+)\)")
|
||||||
|
|
||||||
|
|
||||||
|
def die(message: str, code: int = 1) -> None:
|
||||||
|
print(f"错误:{message}", file=sys.stderr)
|
||||||
|
raise SystemExit(code)
|
||||||
|
|
||||||
|
|
||||||
|
def normalize_target(raw: str) -> str:
|
||||||
|
value = raw.strip()
|
||||||
|
if value.startswith("<") and value.endswith(">"):
|
||||||
|
return value[1:-1].strip()
|
||||||
|
if " " in value:
|
||||||
|
value = value.split()[0]
|
||||||
|
return value.strip("'\"")
|
||||||
|
|
||||||
|
|
||||||
|
def is_remote_or_anchor(target: str) -> bool:
|
||||||
|
parsed = urlparse(target)
|
||||||
|
return bool(parsed.scheme in {"http", "https", "data", "mailto"} or target.startswith("#"))
|
||||||
|
|
||||||
|
|
||||||
|
def find_missing(markdown_path: Path) -> List[str]:
|
||||||
|
text = markdown_path.read_text(encoding="utf-8")
|
||||||
|
base_dir = markdown_path.parent
|
||||||
|
missing: List[str] = []
|
||||||
|
for match in IMAGE_RE.finditer(text):
|
||||||
|
target = normalize_target(match.group(1))
|
||||||
|
if not target or is_remote_or_anchor(target):
|
||||||
|
continue
|
||||||
|
image_path = Path(target)
|
||||||
|
if not image_path.is_absolute():
|
||||||
|
image_path = base_dir / image_path
|
||||||
|
if not image_path.exists():
|
||||||
|
missing.append(target)
|
||||||
|
return missing
|
||||||
|
|
||||||
|
|
||||||
|
def build_parser() -> argparse.ArgumentParser:
|
||||||
|
parser = argparse.ArgumentParser(description="检查 Markdown 本地图片路径是否存在。")
|
||||||
|
parser.add_argument("markdown", help="要检查的 article.md 或其他 Markdown 文件。")
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv: Optional[Iterable[str]] = None) -> int:
|
||||||
|
parser = build_parser()
|
||||||
|
args = parser.parse_args(list(argv) if argv is not None else None)
|
||||||
|
markdown_path = Path(args.markdown).expanduser().resolve()
|
||||||
|
if not markdown_path.exists():
|
||||||
|
die(f"Markdown 文件不存在:{markdown_path}")
|
||||||
|
missing = find_missing(markdown_path)
|
||||||
|
result = {
|
||||||
|
"markdown": str(markdown_path),
|
||||||
|
"missing_count": len(missing),
|
||||||
|
"missing": missing,
|
||||||
|
}
|
||||||
|
print(json.dumps(result, ensure_ascii=False, indent=2))
|
||||||
|
return 1 if missing else 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
raise SystemExit(main())
|
||||||
|
|
@ -29,38 +29,38 @@ DEFAULT_STYLE = "warm-fintech-guide"
|
||||||
|
|
||||||
STYLE_PRESETS: Dict[str, str] = {
|
STYLE_PRESETS: Dict[str, str] = {
|
||||||
"warm-fintech-guide": (
|
"warm-fintech-guide": (
|
||||||
"MAOMOMO 暖橙金融教程风:明亮白底,暖橙强调色,干净卡片布局,友好的白橘猫作为向导,"
|
"明亮白底,暖橙强调色,干净卡片布局,友好的白橘猫作为向导,"
|
||||||
"适合港卡、银行活动、返现攻略和教程总览。"
|
"适合港卡、银行活动、返现攻略和教程总览。"
|
||||||
),
|
),
|
||||||
"clean-editorial": (
|
"clean-editorial": (
|
||||||
"清爽编辑部风:大标题、留白充足、少量暖橙和黑灰文字,像一张信息密度适中的中文攻略头图。"
|
"大标题、留白充足、少量暖橙和黑灰文字,像一张信息密度适中的中文攻略头图。"
|
||||||
),
|
),
|
||||||
"data-card-dashboard": (
|
"data-card-dashboard": (
|
||||||
"数据卡片仪表盘风:指标卡、时间线、计算公式和对比表清晰分区,适合返现、费用、门槛和路径对比。"
|
"指标卡、时间线、计算公式和对比表清晰分区,适合返现、费用、门槛和路径对比。"
|
||||||
),
|
),
|
||||||
"handdrawn-note": (
|
"handdrawn-note": (
|
||||||
"手绘便签风:白底纸感、手绘箭头、便利贴、重点圈注和轻量猫咪贴纸,适合避坑经验和保姆式步骤。"
|
"白底纸感、手绘箭头、便利贴、重点圈注和轻量猫咪贴纸,适合避坑经验和保姆式步骤。"
|
||||||
),
|
),
|
||||||
"xiaohongshu-vertical": (
|
"xiaohongshu-vertical": (
|
||||||
"小红书竖版攻略风:9:16 手机端可读,大字少字,强标题钩子,4 图系列一致视觉,带 MAOMOMO 标识。"
|
"9:16 手机端可读,大字少字,强标题钩子,4 图系列一致视觉,带 MAOMOMO 标识。"
|
||||||
),
|
),
|
||||||
"clean-professional": (
|
"clean-professional": (
|
||||||
"清爽专业风:浅色背景、蓝绿或暖橙强调、结构化信息卡片和清晰层级,适合正式银行规则、开户教程和综合攻略。"
|
"浅色背景、蓝绿或暖橙强调、结构化信息卡片和清晰层级,适合正式银行规则、开户教程和综合攻略。"
|
||||||
),
|
),
|
||||||
"creative-magazine": (
|
"creative-magazine": (
|
||||||
"创意杂志风:大标题、强留白、编辑部排版和轻视觉冲击,适合传播型封面、观点总结和活动盘点。"
|
"大标题、强留白、编辑部排版和轻视觉冲击,适合传播型封面、观点总结和活动盘点。"
|
||||||
),
|
),
|
||||||
"retro-flat-illustration": (
|
"retro-flat-illustration": (
|
||||||
"复古扁平插画风:低饱和暖色、扁平金融小物件、轻复古海报感,适合轻松羊毛攻略和经验分享。"
|
"低饱和暖色、扁平金融小物件、轻复古海报感,适合轻松羊毛攻略和经验分享。"
|
||||||
),
|
),
|
||||||
"e-ink-editorial": (
|
"e-ink-editorial": (
|
||||||
"电子墨水杂志风:纸感背景、黑白灰为主、少量强调色、强标题和元信息条,适合深度解释和观点型长文。"
|
"纸感背景、黑白灰为主、少量强调色、强标题和元信息条,适合深度解释和观点型长文。"
|
||||||
),
|
),
|
||||||
"scientific-defense": (
|
"scientific-defense": (
|
||||||
"科研答辩风:严谨浅色版式、证据图、流程框和来源标注,适合规则拆解、政策解读和多来源核对。"
|
"严谨浅色版式、证据图、流程框和来源标注,适合规则拆解、政策解读和多来源核对。"
|
||||||
),
|
),
|
||||||
"mckinsey-brief": (
|
"mckinsey-brief": (
|
||||||
"麦肯锡简报风:结论先行、矩阵、2x2、瀑布图和高对比商业配色,适合方案对比、路径选择和决策建议。"
|
"结论先行、矩阵、2x2、瀑布图和高对比商业配色,适合方案对比、路径选择和决策建议。"
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -88,6 +88,24 @@ def read_json(path: Path) -> Any:
|
||||||
return json.loads(read_text(path))
|
return json.loads(read_text(path))
|
||||||
|
|
||||||
|
|
||||||
|
def load_prompt_file(path: Path) -> str:
|
||||||
|
text = read_text(path).strip()
|
||||||
|
stripped = text.lstrip()
|
||||||
|
if path.suffix.lower() == ".json" or stripped.startswith("{"):
|
||||||
|
try:
|
||||||
|
data = json.loads(text)
|
||||||
|
except json.JSONDecodeError as exc:
|
||||||
|
die(f"--prompt-file 看起来是 JSON,但解析失败:{path}: {exc}")
|
||||||
|
if not isinstance(data, dict) or not isinstance(data.get("prompt"), str) or not data["prompt"].strip():
|
||||||
|
die("--prompt-file 不能传入缺少 prompt 字段的 JSON。请先抽取 prompt 字段生成 .prompt.txt。")
|
||||||
|
prompt = data["prompt"].strip()
|
||||||
|
prompt_out = path.with_suffix(".prompt.txt")
|
||||||
|
write_text(prompt_out, prompt + "\n")
|
||||||
|
warn(f"--prompt-file 收到 JSON,已抽取 prompt 字段到:{prompt_out};后续请直接传入该 .prompt.txt。")
|
||||||
|
return prompt
|
||||||
|
return text
|
||||||
|
|
||||||
|
|
||||||
def load_codex_config_base_url() -> Optional[str]:
|
def load_codex_config_base_url() -> Optional[str]:
|
||||||
config_path = Path.home() / ".codex" / "config.toml"
|
config_path = Path.home() / ".codex" / "config.toml"
|
||||||
if not config_path.exists():
|
if not config_path.exists():
|
||||||
|
|
@ -183,14 +201,17 @@ def build_prompt(
|
||||||
aspect_ratio: str,
|
aspect_ratio: str,
|
||||||
extra: str = "",
|
extra: str = "",
|
||||||
) -> str:
|
) -> str:
|
||||||
|
allowed_visible = [value for value in (title, core_text, "MAOMOMO") if value.strip()]
|
||||||
|
allowed_visible_text = "、".join(f"「{value}」" for value in allowed_visible)
|
||||||
parts = [
|
parts = [
|
||||||
"生成一张 MAOMOMO 中文金融实操文章配图。",
|
"生成一张 MAOMOMO 中文金融实操文章配图。",
|
||||||
f"图片类型:{image_type}",
|
f"图片类型:{image_type}",
|
||||||
f"标题 / 主题:{title}",
|
f"标题 / 主题:{title}",
|
||||||
f"核心文案:{core_text}",
|
f"核心文案:{core_text}",
|
||||||
f"画幅:{aspect_ratio}",
|
f"画幅:{aspect_ratio}",
|
||||||
f"视觉风格:{style_prompt(style)}",
|
f"画面呈现:{style_prompt(style)}",
|
||||||
"硬性要求:包含清晰可见的 MAOMOMO 标识;中文文字清楚可读;信息层级明确;不要伪造真实 App 截图;不要使用未经提供的银行、券商、支付机构或卡组织 Logo;不要出现真实个人信息;猫咪不能承载第三方品牌 Logo。",
|
f"可见文字限制:画面只允许出现这些指定业务文案:{allowed_visible_text};不要添加副标题、风格标签、prompt 描述、说明文字、额外 slogan 或无关文字。",
|
||||||
|
"硬性要求:包含清晰可见的 MAOMOMO 标识;中文文字清楚可读;信息层级明确;港币金额统一使用 HKD 写法;不要伪造真实 App 截图;不要使用未经提供的银行、券商、支付机构或卡组织 Logo;没有明确素材或指令时,信用卡画无卡组织标识的通用卡,不要凭空加入 Mastercard、Visa、UnionPay 或其他支付网络;不要出现真实个人信息;猫咪不能承载第三方品牌 Logo。",
|
||||||
]
|
]
|
||||||
if extra.strip():
|
if extra.strip():
|
||||||
parts.append(f"补充要求:{extra.strip()}")
|
parts.append(f"补充要求:{extra.strip()}")
|
||||||
|
|
@ -253,7 +274,7 @@ def normalize_output(path: str, *, base_dir: Optional[Path]) -> Path:
|
||||||
|
|
||||||
def generate_one(args: argparse.Namespace) -> Dict[str, str]:
|
def generate_one(args: argparse.Namespace) -> Dict[str, str]:
|
||||||
if args.prompt_file:
|
if args.prompt_file:
|
||||||
prompt = read_text(Path(args.prompt_file)).strip()
|
prompt = load_prompt_file(Path(args.prompt_file))
|
||||||
elif args.prompt:
|
elif args.prompt:
|
||||||
prompt = args.prompt.strip()
|
prompt = args.prompt.strip()
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue