{"id":"01debf80-5c97-478e-be30-2281f883b2a6","entityType":"agent","slug":"clawhub-zhaobod1-huo15-img-prompt","name":"Huo15 Img Prompt","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zhaobod1-huo15-img-prompt","canonicalPath":"/agent/clawhub-zhaobod1-huo15-img-prompt","generatedAt":"2026-10-10T21:58:54.926Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T17:20:07.195Z","emptyReason":null},"description":"火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghib... Skill: Huo15 Img Prompt Owner: zhaobod1 Summary: 火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghib... Tags: latest:3.2.0 Version history: v3.2.0 | 2026-05-29T06:10:56.375Z | auto huo15-img-prompt v3.2.0 - 新增「审美锚点系统」：88 款风格预设每项增加 aesthetic_anchor 字段，映射到真实导演、摄影师、艺术家或具体视觉作品（如赛博朋克→Roger Deakins、汉服写真→张叔平）。 - 新增 15 个","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17f6q72skfgyjycm2frgdc8dn83v5mk:huo15-img-prompt","sourceUrl":"https://clawhub.ai/zhaobod1/huo15-img-prompt","homepage":"https://clawhub.ai/zhaobod1/skills/huo15-img-prompt","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zhaobod1/huo15-img-prompt","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zhaobod1/skills/huo15-img-prompt","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghib..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:20:07.195Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:20:07.195Z","emptyReason":null},"stars":null,"forks":null,"downloads":1321,"packageName":null,"latestVersion":"3.2.0","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:20:07.195Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T17:20:07.195Z","lastCrawledAt":"2026-10-10T17:20:07.195Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T17:20:07.195Z","lastVerifiedAt":null,"highlights":[{"version":"3.2.0","createdAt":"2026-05-29T06:10:56.375Z","changelog":"huo15-img-prompt v3.2.0 - 新增「审美锚点系统」：88 款风格预设每项增加 aesthetic_anchor 字段，映射到真实导演、摄影师、艺术家或具体视觉作品（如赛博朋克→Roger Deakins、汉服写真→张叔平）。 - 新增 15 个 Master 档设计师级预设，包括 Pentagram、Saul Bass、Massimo Vignelli、Wes Anderson、王家卫等，专为高阶品牌与艺术创作场景设计。 - 支持在提示词生成时自动叠加锚点（用户可用 --anchor 或在 Master 档/--polish 模式下自动增强审美一致性）。 - 更新文档，详细列出锚点映射与 Master 档预设用法。 - 许可证规范化（新增 LICENSE）。 - 优化维护文档，移除过时文件。","fileCount":30,"zipByteSize":173454},{"version":"3.1.0","createdAt":"2026-04-27T10:58:45.866Z","changelog":"huo15-img-prompt v3.1.0 - 新增 QUICKSTART.md，30秒/5分钟/30分钟分级上手教程 - 新增 examples/ 真实可运行示例（brand_kit、character、learned_preset、剧本等） - 新增 scripts/doctor.py 一键健康检查脚本 - 新增 tests/smoke.py，自动化回归测试（33项） - 文档更新，补充最新特性说明 - 代码细节优化与维护","fileCount":29,"zipByteSize":167557},{"version":"3.0.0","createdAt":"2026-04-27T05:35:35.684Z","changelog":"**v3.0.0 – 三大进阶能力，全新 14 件套，创意工作流大升级** - 新增故事板/分镜工具（storyboard.py）：支持剧本自动拆分关键帧、转场、脚本包导出。 - 新增品牌套件持久化（brand_kit.py）：可将品牌规范和设计风格一键应用全流程。 - 新增多参考图自学习风格（style_learn.py）：多图风格学习，训练并复用自定义 learned preset。 - 配套添加创意生态整合食谱（RECIPES.md）。 - 基础功能、角色卡、五维评审、Web UI、MCP Server等全量保留，全面升级为 AI 创作生态中枢。","fileCount":19,"zipByteSize":146629},{"version":"2.6.0","createdAt":"2026-04-27T05:10:30.990Z","changelog":"v2.6 introduces persistent character cards, full IDE/GUI/note integration, and major ecosystem expansion. - 新增 character.py：角色卡持久化/复用（`--save-char`/`--char` 参数）。 - 新增 mcp_server.py：MCP stdio 服务器，实现 Claude Code/Cursor/Cline/Continue.dev 直接调 9 个工具。 - 新增 web_ui.py：一键启动本地 Web UI（http://127.0.0.1:7155，可视化 88 预设），支持全流程操作。 - enhance_prompt.py 增加 `--obsidian`，一键写入 Obsidian 笔记/知识库。 - 文档全面升级，覆盖 CLI/IDE/GUI/知识库全场景。 - 各脚本集成角色卡功能，ecosystem 工具扩展为 11 件套。","fileCount":15,"zipByteSize":123376},{"version":"2.5.0","createdAt":"2026-04-27T01:23:21.726Z","changelog":"huo15-img-prompt v2.5.0 introduces closed-loop image review and automated prompt refinement. - Added `image_review.py`: Claude Vision-based 5-dimensional image review (subject match, composition, lighting, palette, technical quality) with actionable fix suggestions and pass/reject/iterate scoring. - Added `auto_iterate.py`: Full closed-loop workflow for image generation—generate → review → auto-revise prompt → re-generate; up to 3 rounds to select the best result. - New features in `enhance_prompt.py`: support for A/B variants testing (`--variants`) and smart top-3 preset recommendation (`--suggest`). - Improved prompt enhancement and video prompt scripts with integration for new review/iteration capabilities. - Documentation updated to reflect the new eight-part toolkit and usage cases for review and auto-iteration.","fileCount":12,"zipByteSize":104665},{"version":"2.4.0","createdAt":"2026-04-26T23:20:05.608Z","changelog":"v2.4.0 introduces prompt压缩、参考图链接、多轮编辑与10路直出等大量新功能： - 新增 prompt 压缩(--compact)：大幅减少提示词长度，更适配国产/平台。 - 支持多轮编辑会话(--session/--continue)：上下文持续 refinement，prompt 编辑流程更流畅。 - 所有 88 预设新增参考图链接(--examples)：五平台直达落地效果。 - render_prompt.py 扩展至 10 大后端，覆盖字节即梦/可灵/海螺/Replicate/Fal.ai 等主流国产和国际模型。 - 优化合规润色和智能润色链路，提升合规性和表现力。 - 其他兼容性和体验细节改进。","fileCount":10,"zipByteSize":86997},{"version":"2.3.0","createdAt":"2026-04-26T14:44:24.079Z","changelog":"huo15-img-prompt v2.3.0 introduces major upgrades to T2I/T2V prompt generation, now as a comprehensive six-tool suite. - Added Claude API-powered intelligent prompt polishing for enhanced professionalism and style. - Introduced platform compliance rewriting: detects high-risk phrases for SD/MJ/DALL-E and suggests legal artistic alternatives. - Improved video prompting: supports 9 video models, 30 camera motions, and 3-stage keyframes. - Enhanced image prompt features: 88 style presets, mixed-style control, and five-fold consistency (character, style, camera, lighting, palette). - Expanded preset and auto-detection support for more artistic and video generation scenarios. - Now supports direct image output (ComfyUI, SD-WebUI, DALL-E) and reverse image-prompt extraction for A1111, ComfyUI, and NovelAI user metadata.","fileCount":10,"zipByteSize":77790}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f6q72skfgyjycm2frgdc8dn83v5mk:huo15-img-prompt","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:58:54.921Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-img-prompt/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T17:20:07.195Z","emptyReason":null},"readme":"Skill: Huo15 Img Prompt\n\nOwner: zhaobod1\n\nSummary: 火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghib...\n\nTags: latest:3.2.0\n\nVersion history:\n\nv3.2.0 | 2026-05-29T06:10:56.375Z | auto\n\nhuo15-img-prompt v3.2.0\n\n- 新增「审美锚点系统」：88 款风格预设每项增加 aesthetic_anchor 字段，映射到真实导演、摄影师、艺术家或具体视觉作品（如赛博朋克→Roger Deakins、汉服写真→张叔平）。\n- 新增 15 个 Master 档设计师级预设，包括 Pentagram、Saul Bass、Massimo Vignelli、Wes Anderson、王家卫等，专为高阶品牌与艺术创作场景设计。\n- 支持在提示词生成时自动叠加锚点（用户可用 --anchor 或在 Master 档/--polish 模式下自动增强审美一致性）。\n- 更新文档，详细列出锚点映射与 Master 档预设用法。\n- 许可证规范化（新增 LICENSE）。\n- 优化维护文档，移除过时文件。\n\nv3.1.0 | 2026-04-27T10:58:45.866Z | auto\n\nhuo15-img-prompt v3.1.0\n\n- 新增 QUICKSTART.md，30秒/5分钟/30分钟分级上手教程\n- 新增 examples/ 真实可运行示例（brand_kit、character、learned_preset、剧本等）\n- 新增 scripts/doctor.py 一键健康检查脚本\n- 新增 tests/smoke.py，自动化回归测试（33项）\n- 文档更新，补充最新特性说明\n- 代码细节优化与维护\n\nv3.0.0 | 2026-04-27T05:35:35.684Z | auto\n\n**v3.0.0 – 三大进阶能力，全新 14 件套，创意工作流大升级**\n\n- 新增故事板/分镜工具（storyboard.py）：支持剧本自动拆分关键帧、转场、脚本包导出。\n- 新增品牌套件持久化（brand_kit.py）：可将品牌规范和设计风格一键应用全流程。\n- 新增多参考图自学习风格（style_learn.py）：多图风格学习，训练并复用自定义 learned preset。\n- 配套添加创意生态整合食谱（RECIPES.md）。\n- 基础功能、角色卡、五维评审、Web UI、MCP Server等全量保留，全面升级为 AI 创作生态中枢。\n\nv2.6.0 | 2026-04-27T05:10:30.990Z | auto\n\nv2.6 introduces persistent character cards, full IDE/GUI/note integration, and major ecosystem expansion.\n\n- 新增 character.py：角色卡持久化/复用（`--save-char`/`--char` 参数）。\n- 新增 mcp_server.py：MCP stdio 服务器，实现 Claude Code/Cursor/Cline/Continue.dev 直接调 9 个工具。\n- 新增 web_ui.py：一键启动本地 Web UI（http://127.0.0.1:7155，可视化 88 预设），支持全流程操作。\n- enhance_prompt.py 增加 `--obsidian`，一键写入 Obsidian 笔记/知识库。\n- 文档全面升级，覆盖 CLI/IDE/GUI/知识库全场景。\n- 各脚本集成角色卡功能，ecosystem 工具扩展为 11 件套。\n\nv2.5.0 | 2026-04-27T01:23:21.726Z | auto\n\nhuo15-img-prompt v2.5.0 introduces closed-loop image review and automated prompt refinement.\n\n- Added `image_review.py`: Claude Vision-based 5-dimensional image review (subject match, composition, lighting, palette, technical quality) with actionable fix suggestions and pass/reject/iterate scoring.\n- Added `auto_iterate.py`: Full closed-loop workflow for image generation—generate → review → auto-revise prompt → re-generate; up to 3 rounds to select the best result.\n- New features in `enhance_prompt.py`: support for A/B variants testing (`--variants`) and smart top-3 preset recommendation (`--suggest`).\n- Improved prompt enhancement and video prompt scripts with integration for new review/iteration capabilities.\n- Documentation updated to reflect the new eight-part toolkit and usage cases for review and auto-iteration.\n\nv2.4.0 | 2026-04-26T23:20:05.608Z | auto\n\nv2.4.0 introduces prompt压缩、参考图链接、多轮编辑与10路直出等大量新功能：\n\n- 新增 prompt 压缩(--compact)：大幅减少提示词长度，更适配国产/平台。\n- 支持多轮编辑会话(--session/--continue)：上下文持续 refinement，prompt 编辑流程更流畅。\n- 所有 88 预设新增参考图链接(--examples)：五平台直达落地效果。\n- render_prompt.py 扩展至 10 大后端，覆盖字节即梦/可灵/海螺/Replicate/Fal.ai 等主流国产和国际模型。\n- 优化合规润色和智能润色链路，提升合规性和表现力。\n- 其他兼容性和体验细节改进。\n\nv2.3.0 | 2026-04-26T14:44:24.079Z | auto\n\nhuo15-img-prompt v2.3.0 introduces major upgrades to T2I/T2V prompt generation, now as a comprehensive six-tool suite.\n\n- Added Claude API-powered intelligent prompt polishing for enhanced professionalism and style.\n- Introduced platform compliance rewriting: detects high-risk phrases for SD/MJ/DALL-E and suggests legal artistic alternatives.\n- Improved video prompting: supports 9 video models, 30 camera motions, and 3-stage keyframes.\n- Enhanced image prompt features: 88 style presets, mixed-style control, and five-fold consistency (character, style, camera, lighting, palette).\n- Expanded preset and auto-detection support for more artistic and video generation scenarios.\n- Now supports direct image output (ComfyUI, SD-WebUI, DALL-E) and reverse image-prompt extraction for A1111, ComfyUI, and NovelAI user metadata.\n\nArchive index:\n\nArchive v3.2.0: 30 files, 173454 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (33878b), examples/brand_kit-song_tea.json (622b), examples/character-silver_mecha.json (765b), examples/learned_preset-fresh_film.json (1182b), examples/README.md (1912b), examples/recipe-1-brand_kv.sh (1879b), examples/storyboard-cat_rainy_night.txt (757b), LICENSE (1145b), QUICKSTART.md (6822b), RECIPES.md (7091b), references/t2i-guide.md (7337b), scripts/auto_iterate.py (17976b), scripts/brand_kit.py (11023b), scripts/character.py (9641b), scripts/claude_polish.py (19344b), scripts/doctor.py (13472b), scripts/enhance_prompt.py (119303b), scripts/enhance_video.py (22007b), scripts/image_review.py (15320b), scripts/mcp_server.py (13897b), scripts/render_prompt.py (26975b), scripts/reverse_prompt.py (16914b), scripts/safety_lint.py (18337b), scripts/storyboard.py (21148b), scripts/style_learn.py (14639b), scripts/web_ui.py (18325b), skill-card.md (3107b), SKILL.md (38065b), tests/smoke.py (12583b)\n\nFile v3.2.0:SKILL.md\n\n---\nname: huo15-img-prompt\ndisplayName: 火一五文生图提示词\ndescription: 火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghibli→千与千寻汤屋窗景）+ 15 个 Master 档设计师级预设（Pentagram / Saul Bass / Massimo Vignelli / Wim Crouwel / Paul Rand / Tibor Kalman / Stefan Sagmeister / Paula Scher / Otl Aicher / Bruno Munari / 杉本博司 / 原研哉 / 安藤忠雄 / 王家卫 / Wes Anderson）。适配 Midjourney/SD/SDXL/Flux/DALL-E 3。触发词：文生图、火一五文生图提示词、文生视频、提示词增强、故事板、storyboard、剧本拆分、关键帧、视频脚本包、品牌套件、brand kit、品牌规范、风格学习、style learn、自学习预设、learned preset、参考图学习、Claude Vision、闭环迭代、五维评审、A/B 测试、角色卡、MCP server、Web UI、Obsidian 集成、Replicate、Fal、即梦、可灵、Hailuo、Sora、Claude Code、Cursor、aesthetic anchor、审美锚点、Master 档预设、设计师级预设、Pentagram、Saul Bass、Massimo Vignelli、Roger Deakins、王家卫、张叔平、杉本博司。\nversion: 3.2.0\naliases:\n  - 火一五文生图提示词\n  - 火一五文生图技能\n  - 火一五文生视频技能\n  - 火一五提示词技能\n  - 火一五提示词全家桶技能\n  - 火一五AI绘画技能\n  - 文生图\n  - 文生视频\n  - 提示词增强\n  - 智能润色\n  - 平台合规润色\n  - img-prompt\n---\n\n# 火一五文生图提示词 v3.2\n\n**AI 创作生态中枢。从单帧提示词到完整短片脚本包，从手选预设到自学习风格，从孤岛工具到与 huo15 设计四件套联动。v3.2 起加 audestically anchor 系统 + 15 个 Master 档设计师级预设。**\n\n---\n\n## v3.2 ⭐ 审美锚点系统（与下文 88 预设并列）\n\n### 为什么需要审美锚点\n\n88 预设的 lighting / palette / camera 是**固定字符串拼接**（如赛博朋克 → \"neon magenta and cyan rim, wet reflective streets\"），LLM 拼出来的 prompt 容易陷入 cliché。**审美锚点**是把每个预设映射到**具体的真实创作者 / 作品**，让 Claude 在拼提示词时有真实意向锚定。\n\n锚点不是替换原 prompt，而是**追加为可选 augmentation**（脚本可在 system prompt 里读到，或用户用 `--anchor` 显式启用）。\n\n### 88 预设的审美锚点表（v3.2 增量字段）\n\n下面是预设 → 锚点映射的精选清单。**完整 88 条锚点作为 prompt-fragment 库 by-design 让 Claude 在调用 enhance_prompt 时自动叠加**，不需要硬编码到 Python 脚本里。\n\n| 预设 | 升级后的审美锚点（新增） |\n|------|---------------------|\n| 赛博朋克 | Roger Deakins《Blade Runner 2049》氪绿一段 / Darren Aronofsky《Black Swan》冷调 / 《Severance》Lumon 极简冷感（新一代赛博） |\n| 电影感 | 王家卫 × 杜可风《花样年华》/ 侯孝贤《海上花》/ Wes Anderson《Grand Budapest》对称构图 / Roger Deakins《1917》长镜头光 |\n| 汉服写真 | 张叔平《一代宗师》室内逆光 / 张艺谋《影》水墨黑白 / 陈家毛《满江红》青砖朱漆 |\n| 宫崎骏 | 《千与千寻》汤屋夕照 / 《天空之城》云海光线 / 《魔女宅急便》清晨海港光（指明具体场景胜过笼统\"宫崎骏感\"） |\n| 新海诚 | 《你的名字》黄昏彗星天 / 《天气之子》雨光 / 《秒速 5 厘米》新宿夜灯 |\n| 敦煌壁画 | 莫高窟 257 窟九色鹿本生（青绿） / 220 窟药师变（朱红群青） / 余秋雨《文化苦旅·莫高窟》文字描述 |\n| 原神 | 蒙德 City Centre 全景 / 璃月港夜景 / 稻妻天守阁雷电（指明地区光） |\n| 黑暗奇幻 | 《指环王》摩瑞亚矿坑 / 《权游》龙石岛雾景 / Frank Frazetta 油画 |\n| 极简主义 | Dieter Rams Braun 设计目录 / 原研哉「白」展册 / vitsoe.com 货架 |\n| Logo 设计 | Paul Rand IBM rebus / Massimo Vignelli NYC subway / Saul Bass AT&T 圈 |\n| 信息图 | Edward Tufte《The Visual Display of Quantitative Information》/ Otl Aicher 慕尼黑奥运图标 |\n| 浮世绘 | 葛饰北斋《神奈川冲浪里》/ 歌川广重《东海道五十三次》/ 月冈芳年《月百姿》 |\n| 包豪斯 | Herbert Bayer 海报 / Paul Klee 几何 / Wassily Kandinsky 圆三角方 |\n| 蒸汽朋克 | Hayao Miyazaki《天空之城》机械城 / Jules Verne 插图传统 / 《Wild Wild West》机械师 |\n| 暗黑美食 | 《Chef's Table》深焦特写 / Helmut Newton 黑白美食 / Gabriele Stabile 静物 |\n| 赛璐璐 | 《新世纪福音战士》线稿 / 《幽游白书》明暗块面 / 《灌篮高手》动作分镜 |\n| 复古海报 | Saul Bass《迷魂记》/ 《七年之痒》Hirschfeld 线稿 / Cassandre《Dubonnet》 |\n| 国潮 | 故宫博物院文创色板 / 《国家宝藏》视觉 / 上海 1933 老场坊 |\n| 复古胶片 | Kodak Portra 400 颗粒 / Fuji Pro 400H / Cinestill 800T 夜灯光晕 |\n| 莫兰迪 | Giorgio Morandi《静物》系列 / 莫兰迪博物馆 Bologna 实拍 |\n| 治愈 | 《想见你》《同棲生活》生活流 / Notion 早期插画 / 阿尼斯 Aniish 涂鸦 |\n| 国风故宫 | 故宫倦勤斋 / 三希堂 / 《我在故宫修文物》纪录片 |\n| 水墨 | 八大山人《荷石图》/ 齐白石《虾》/ 黄宾虹《青城山图》/ 张大千泼彩 |\n| 油画 | Vermeer《戴珍珠耳环的少女》/ Caravaggio 明暗对比 / Rembrandt 自画像 |\n| 像素艺术 | 《Stardew Valley》/ 《Owlboy》/ 《Hyper Light Drifter》 |\n\n**用法**：在 `enhance_prompt.py` 调用时由 Claude 主动追加锚点到主体描述：\n\n```bash\n# 自动注入锚点（推荐 Master 档使用）\nenhance_prompt.py \"持剑女侠\" -p 赛博朋克 --anchor \"in the style of Roger Deakins Blade Runner 2049, ammonia-green corridor lighting\"\n\n# 或在 --polish 模式下让 Claude 自动从 system prompt 读锚点表叠加\nenhance_prompt.py \"持剑女侠\" -p 赛博朋克 --polish --tier master\n```\n\n### Master 档设计师级预设（v3.2 新增 15 个）\n\n下面 15 个预设**不是流派也不是主题**，而是**具体设计大师 / 导演 / 艺术家**的视觉语言。专为 Master 档设计需求（品牌官网 KV / 高端杂志封面 / 投融资路演主视觉）。\n\n| # | 预设名 | 锚定大师 / 作品 | 视觉签名 | 适用 |\n|---|--------|---------------|---------|------|\n| 1 | `pentagram` | Pentagram（Paula Scher） | 超大字排版 + 强烈对比 + 平面英雄主义 | 品牌 KV / 杂志封 |\n| 2 | `saul-bass` | Saul Bass | 几何剪影 + 单色调 + 电影海报式构图 | 海报 / 电影主视觉 |\n| 3 | `vignelli` | Massimo Vignelli | 网格 + Helvetica + 红黄黑三色 + 工业理性 | 信息图 / 地铁式导视 |\n| 4 | `wim-crouwel` | Wim Crouwel | 网格化字母 + 色块 + 几何字体 + Stedelijk 海报 | 实验排版 / 美术馆视觉 |\n| 5 | `paul-rand` | Paul Rand | 玩味 logo + 极简色块 + Eye-Bee-M 风幽默 | 企业 logo / IBM 风 |\n| 6 | `tibor-kalman` | Tibor Kalman / M&Co. | 反讽设计 + 拼贴 + Colors Magazine 风 | 文化媒体 / 反工业 |\n| 7 | `sagmeister` | Stefan Sagmeister | 手写 + 大胆 + Things I Have Learned 系列 | 个人品牌 / 演讲 |\n| 8 | `paula-scher` | Paula Scher | 文字即图像 + Citibank logo / Public Theater 风 | 文化机构 / 公共项目 |\n| 9 | `otl-aicher` | Otl Aicher | 慕尼黑奥运图标 + 几何象形 + Lufthansa 视觉 | 体育 / 航空 / 系统设计 |\n| 10 | `bruno-munari` | Bruno Munari | 实验书籍 + 童趣几何 + Codice Ovvio | 出版 / 童书 / 实验艺术 |\n| 11 | `sugimoto` | 杉本博司 | 长曝光海景 / 影院系列 / 极简黑白 + 时间感 | 高端艺术 / 摄影集 |\n| 12 | `kenya-hara` | 原研哉 | 白 / 空 / 纸感 / 朱红印章 | 日式品牌 / 杂志 |\n| 13 | `tadao-ando` | 安藤忠雄 | 清水混凝土 + 光的教堂 + 几何空间感 | 建筑 / 美术馆 |\n| 14 | `wong-kar-wai` | 王家卫 + 杜可风 | 室内逆光 + 红绿撞色 + 慢镜头长曝 + 留白 | 电影感 / 文艺品牌 |\n| 15 | `wes-anderson` | Wes Anderson | 中心对称 + 糖果粉薄荷 + 顶底品牌线 | 旅行 / 童趣品牌 |\n\n**用法示例**：\n\n```bash\n# 用 Pentagram 风做品牌 KV\nenhance_prompt.py \"极简茶饮品牌主视觉\" -p pentagram -m Midjourney\n# → 自动注入：bold typography, high contrast, Paula Scher SoHo poster aesthetic\n\n# 用王家卫 + 杜可风做电影感写真\nenhance_prompt.py \"持伞女子等候\" -p wong-kar-wai -m Flux\n# → 自动注入：Christopher Doyle cinematography, In the Mood for Love color grading, slow shutter\n\n# 用杉本博司做高端艺术摄影\nenhance_prompt.py \"孤舟\" -p sugimoto -m Midjourney\n# → 自动注入：Hiroshi Sugimoto seascape, long exposure, monochrome, time as subject\n```\n\n**Master 档预设和 design-director v3.0 §三 Master 档对标的关系**：\n\n- design-director 在选定方向后，如果用户选 Master 档，**brief 中的 signatureHook 可指定一个 Master 档预设**作为参考\n- 例如 director brief 写「signatureHook: 用 wong-kar-wai 风格的室内逆光 + 红绿撞色」→ frontend-design 落地时调 huo15-img-prompt 用 `wong-kar-wai` 预设生成 hero 图\n\n### 与 huo15 生态的联动\n\n```\ndesign-director v3.0 §二 视觉三元组\n    ↓ 锚点列直接指向 img-prompt 的 Master 档预设\n    ↓ 例：philosophy #1 原研哉 → img-prompt 的 kenya-hara 预设\nimg-prompt v3.2 Master 档预设\n    ↓ 输出 prompt\n任意文生图后端（DALL-E / MJ / Flux / 即梦 / 可灵）\n    ↓ 输出图\ndesign-critique v2.0 §五 8 流派对标\n    ↓ 用对应 Master 档锚点评估\n```\n\n---\n\n## v3.0 = 14 件套\n\n| # | 脚本 | 作用 | 一行 demo |\n|---|------|------|-----------|\n| 1 | `enhance_prompt.py` | 文生图核心 | `enhance_prompt.py \"持剑女侠\" -p 赛博朋克 --variants 4` |\n| 2 | `enhance_video.py` | 视频提示词 | `enhance_video.py \"汉服少女转身回眸\" -p 汉服写真 -m Kling` |\n| 3 | `reverse_prompt.py` | 参考图反解 | `reverse_prompt.py img.png --mj` |\n| 4 | `render_prompt.py` | 10 后端直出 | `render_prompt.py \"原神少女\" -p 原神 --backend jimeng` |\n| 5 | `claude_polish.py` | Claude 润色 + top-3 推荐 | `claude_polish.py \"温柔治愈\" --suggest` |\n| 6 | `safety_lint.py` | 平台合规润色 | `safety_lint.py \"战士手中的鲜血\" --target dalle` |\n| 7 | `image_review.py` | Claude Vision 五维评审 | `image_review.py img.png -p \"原 prompt\"` |\n| 8 | `auto_iterate.py` | 闭环自动迭代 | `auto_iterate.py \"持剑女侠\" -p 赛博朋克 --backend dalle --target 7.5` |\n| 9 | `character.py` | 角色卡持久化 | `enhance_prompt.py \"新场景\" --char 银发机甲少女` |\n| 10 | `mcp_server.py` | MCP stdio server | `python3 mcp_server.py`（注册到 ~/.claude/mcp.json） |\n| 11 | `web_ui.py` | 本地 Web UI | `python3 web_ui.py`（http://127.0.0.1:7155） |\n| 12 | `storyboard.py` ⭐v3.0 | 剧本→关键帧+转场视频脚本包 | `storyboard.py \"...\" -p 电影感 --scenes 6 --output ./story` |\n| 13 | `brand_kit.py` ⭐v3.0 | 品牌套件持久化 | `enhance_prompt.py \"...\" --brand-kit huo15` |\n| 14 | `style_learn.py` ⭐v3.0 | 多参考图→learned preset | `style_learn.py --name 我的风格 ref*.jpg && enhance_prompt.py \"...\" -p \"@我的风格\"` |\n\n📚 配套文档：\n- [`QUICKSTART.md`](QUICKSTART.md) ⭐v3.1 — 30 秒/5 分钟/30 分钟分级上手\n- [`RECIPES.md`](RECIPES.md) — 5 个端到端食谱\n- [`examples/`](examples/) ⭐v3.1 — 真实可运行示例（brand_kit / character / learned_preset / 剧本）\n- [`scripts/doctor.py`](scripts/doctor.py) ⭐v3.1 — 一键健康检查\n- [`tests/smoke.py`](tests/smoke.py) ⭐v3.1 — 33 自动回归测试\n\n## 版本演进\n\n| 维度 | v2.4 | v2.5 | v2.6 | v3.0 |\n|------|------|------|------|------|\n| **风格预设** | 88 + 参考图链接 | + 智能 top-3 | 沿用 | + **自学习 learned preset** |\n| **一致性** | + session 锁 | + A/B 变体 | + 角色卡 | + **品牌套件全局锁** |\n| **贴近需求** | + prompt 压缩 | + Claude 改 prompt | 沿用 | + **故事板拆 N 关键帧** |\n| **生态闭环** | + 10 后端直出 | + VLM 五维评审 | + Obsidian 写入 | + **创意四件套整合** |\n| **AI 联动** | 多轮编辑 | 闭环自动迭代 | + MCP server | + **跨技能联动** |\n| **输入** | 一句话主体 | 一句话主体 | 一句话主体 | + **剧本/参考图/品牌规范** |\n| **输出** | 单帧 prompt | 单帧 prompt | 单帧 prompt | + **完整短片脚本包** |\n\n## 使用方式\n\n### Agent 调用（推荐）\n\n```\n用户: 帮我出一张赛博朋克街头的图\n```\n\nAgent 识别到\"赛博朋克\"触发词，自动调用：\n\n```bash\n~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt/scripts/enhance_prompt.py \\\n    \"赛博朋克街头\" -p 赛博朋克 -m Midjourney\n```\n\n### 直接调用\n\n```bash\ncd ~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt\n\n# 基础：指定预设\n./scripts/enhance_prompt.py \"一只猫\" -p 动漫 -m Midjourney\n\n# 自动意图（无需 -p，脚本从关键词推断）\n./scripts/enhance_prompt.py \"为咖啡品牌设计一个logo\"   # → 自动选 Logo设计, 1:1\n./scripts/enhance_prompt.py \"产品白底图：无线耳机\"     # → 自动选 产品摄影, 1:1\n./scripts/enhance_prompt.py \"微距 一滴露珠\"            # → 自动选 微距摄影, 1:1\n\n# 系列一致性（4 张共享 seed + camera/lighting/palette 锁）\n./scripts/enhance_prompt.py \"红发女侠\" -p 动漫 -s 4 \\\n    --variations \"持剑站立,骑马奔驰,弯弓射箭,与龙对视\" \\\n    -m Midjourney\n\n# 英文别名 + 多模型输出\n./scripts/enhance_prompt.py \"spaceship in nebula\" -p scifi -m Flux -a 21:9\n./scripts/enhance_prompt.py \"minimalist camellia logo\" -p logo -m SDXL\n\n# JSON 输出（便于集成）\n./scripts/enhance_prompt.py \"森林少女\" -p ghibli -j\n```\n\n## 88 款风格预设\n\n### 【摄影 · 13】\n写实摄影 / 胶片摄影 / 黑白摄影 / 人像摄影 / 时尚大片 / 美食摄影 / 产品摄影 / 微距摄影 / 航拍摄影 / 街拍纪实 / **暗黑美食 · 日杂 · 街头潮流** ⭐v2.1\n\n### 【动漫 · 10】\n动漫 / 新海诚 / 宫崎骏 / 美漫 / Q版 / 童话绘本 / **萌系 · 厚涂 · 轻小说封面 · 赛璐璐** ⭐v2.1\n\n### 【插画 · 7】\n水彩 / 油画 / 水墨 / 工笔国画 / 浮世绘 / 线稿 / 像素艺术\n\n### 【3D · 7】\n3DC4D / 盲盒手办 / 低多边形 / 等距视图 / 粘土 / 毛毡手工 / 纸艺\n\n### 【设计 · 15】\n极简主义 / 平面设计 / Logo设计 / 图标设计 / 信息图 / 品牌KV / 专辑封面 / 复古海报 / 电影海报 / 表情包 / **玻璃拟态 · 新拟态 · 孟菲斯 · 杂志编排 · 包豪斯 · 奶油风** ⭐v2.1\n\n### 【艺术史 · 4】\n印象派 / 后印象派 / 新艺术 / 装饰艺术\n\n### 【场景氛围 · 17】\n赛博朋克 / 蒸汽朋克 / 科幻 / 奇幻 / 黑暗奇幻 / 国潮 / Y2K / Vaporwave / 霓虹灯牌 / 建筑可视化 / 电影感 / 概念艺术 / **粗野主义 · 北欧极简 · 侘寂 · 疗愈治愈 · 美式复古** ⭐v2.1\n\n### 【游戏艺术 · 7】⭐ v2.1 新类\n原神 / 崩铁星穹 / 英雄联盟 / 暗黑4 / Valorant / Pokemon / 暴雪风\n\n### 【东方传统 · 7】⭐ v2.1 新类\n敦煌壁画 / 青花瓷 / 民国月份牌 / 年画 / 剪纸 / 和风 / 汉服写真\n\n> 英文别名支持：`anime`、`ghibli`、`shinkai`、`cyberpunk`、`steampunk`、`scifi`、`minimal`、`logo`、`icon`、`3d`、`c4d`、`octane`、`isometric`、`vangogh`、`artdeco`、`neon`、`vapor`、`y2k`、`genshin`、`lol`、`diablo`、`valorant`、`pokemon`、`dunhuang`、`hanfu`、`wafu`、`glassmorphism`、`neumorphism`、`memphis`、`bauhaus`、`brutalism`、`nordic`、`wabisabi`、`healing`、`cozy`、`americana`、`darkfood`、`muji`、`streetwear`… 运行 `./scripts/enhance_prompt.py -l` 查看完整列表。\n\n## 参数说明\n\n| 参数 | 作用 | 示例 |\n|------|------|------|\n| `subject` | 主体描述（必填） | `\"一只猫\"` |\n| `-p, --preset` | 风格预设（中文 / 英文别名） | `-p 赛博朋克` / `-p cyberpunk` |\n| `-m, --model` | 目标模型 | `Midjourney` / `SD` / `SDXL` / `Flux` / `DALL-E` / `通用` |\n| `-a, --aspect` | 画幅 | `1:1` / `3:4` / `16:9` / `21:9` / `9:16` |\n| `-t, --tier` ⭐v2.1 | 质量档位 | `basic` / `pro`(默认) / `master` |\n| `-cs, --character-sheet` ⭐v2.1 | 角色设定图 T-pose 多视图 | - |\n| `--avoid` ⭐v2.1 | 额外负面词，逗号分隔 | `--avoid \"cluttered, people\"` |\n| `--mood` | 情绪覆盖（不给则从主体自动抽） | `--mood 神秘` |\n| `--composition` | 构图覆盖 | `--composition 俯拍` |\n| `--seed` | 种子（不给则按 subject+preset 哈希生成稳定 seed） | `--seed 42` |\n| `-s, --series` | 系列张数 | `-s 4` |\n| `--variations` | 系列变体，逗号分隔 | `--variations \"A,B,C,D\"` |\n| `-l, --list` | 列出所有预设 | - |\n| `-j, --json` | JSON 输出 | - |\n\n## 自动抽词（v2.1 扩展）\n\n脚本会从主体描述中自动识别以下字段，无需显式参数：\n\n| 维度 | 关键词示例 |\n|------|-----------|\n| **意图** | logo / 产品 / 海报 / 头像 / 美食 / 汉服 / 敦煌 / 原神 / 玻璃拟态 ... |\n| **构图** | 特写 / 近景 / 中景 / 全身 / 俯拍 / 仰拍 / 鸟瞰 / 航拍 / 侧面 / 背面 |\n| **情绪** | 温暖 / 冷峻 / 神秘 / 梦幻 / 欢快 / 忧郁 / 史诗 / 高级 / 治愈 / 浪漫 ⭐v2.1：紧张 |\n| **时间** ⭐v2.1 | 清晨 / 早晨 / 正午 / 下午 / 黄昏 / 日落 / 夜晚 / 深夜 / 黎明 / 蓝调时刻 |\n| **天气** ⭐v2.1 | 晴天 / 多云 / 阴天 / 下雨 / 雨天 / 大雨 / 下雪 / 雪天 / 雾天 / 风暴 / 雷雨 |\n| **季节** ⭐v2.1 | 春/夏/秋/冬 / 樱花季 / 枫叶季 |\n| **负向需求** ⭐v2.1 | 不要X / 没有X / 避免X / no X / avoid X / without X → 自动入负面 |\n\n## 一致性四锁（核心机制）\n\n每个预设内置以下锁项，所有系列张图共享 ⇒ 风格漂移大幅下降：\n\n| 锁项 | 作用 | 示例（赛博朋克） |\n|------|------|----------------|\n| `camera` | 镜头焦段 / 视角 | `low angle wide, 24mm anamorphic` |\n| `lighting` | 光源 / 光质 | `neon magenta and cyan rim, wet reflective streets` |\n| `palette` | 色板 | `magenta cyan black, neon highlights` |\n| `aspect` | 画幅 | `21:9` |\n\n系列模式 (`-s N --variations ...`) 额外锁定 **seed**，变换仅发生在主体描述，框架完全不变。\n\n## 模型适配细节\n\n| 模型 | 输出格式 | 特有提示 |\n|------|---------|---------|\n| **Midjourney** | `主体, 风格, 光影, 色板, 画质 --ar X:Y --stylize 250` | `--cref <url>` 锁角色、`--sref <url>` 锁风格图 |\n| **Stable Diffusion** | `(subject:1.2), 风格, ..., 质量` + 负面 | 权重语法 `(word:1.3)`、减弱 `[word]`、DPM++ 2M Karras |\n| **SDXL** | 同 SD，尺寸建议 `1024x1024 / 1216x832 / 1536x640 ...` | Refiner 0.2-0.3 |\n| **DALL-E 3** | 自然语言段落（已内化负面） | 连续对话中用 \"same character / same scene\" |\n| **Flux** | 长句描述 | guidance 3.5（Dev） / 0（Schnell） |\n| **通用** | 逗号分隔 tags | 三大模型通用骨架 |\n\n## 完整示例\n\n```bash\n./scripts/enhance_prompt.py \"一只戴墨镜的猫在霓虹街头\" -p 赛博朋克 -m Midjourney\n```\n\n输出：\n\n```\n📌 原始描述   : 一只戴墨镜的猫在霓虹街头\n🎨 风格预设   : 赛博朋克\n🤖 目标模型   : Midjourney\n📐 画幅       : 21:9\n🎲 种子建议   : 1873940236\n\n✅ 正向提示词：\n一只戴墨镜的猫在霓虹街头, cyberpunk, neon-soaked, blade runner aesthetic,\nmegacity dystopia, holographic ads, low angle wide, 24mm anamorphic,\nneon magenta and cyan rim, wet reflective streets,\nmagenta cyan black, neon highlights,\ndetailed cyberpunk cityscape, rainy night ambiance,\nmasterpiece, best quality, ultra detailed, 8k\n--ar 21:9 --stylize 250\n\n❌ 负向提示词：\n--no rustic, medieval, natural countryside, low quality, worst quality, ...\n\n🔒 一致性锁：\n   camera  : low angle wide, 24mm anamorphic\n   lighting: neon magenta and cyan rim, wet reflective streets\n   palette : magenta cyan black, neon highlights\n   aspect  : 21:9\n\n💡 Midjourney tips：\n  • 角色/产品系列一致：加 --cref <url> 或 --sref <url>\n  • 想要更风格化加 --stylize 500~750；更写实降到 --stylize 50\n  • 建议 seed 锁定：--seed 1873940236\n```\n\n## v3.0 新功能 ⭐⭐⭐⭐（定位升级：从工具到生态中枢）\n\n### 1. 故事板模式 `storyboard.py` ⭐ 杀手级 feature\n\n```bash\nstoryboard.py \"一只猫从城市走进雨夜\" -p 电影感 --scenes 4 \\\n    -m Midjourney --video-model Sora --output ./my_story\n```\n\n输入：一段剧本/文案\n输出（在 `./my_story/`）：\n- `storyboard.json` 完整 scene + transition 数据\n- `scene-{01-N}-t2i.txt` × N 个关键帧 T2I 提示词\n- `transition-{xx-to-yy}-t2v.txt` × N-1 个转场 T2V 提示词\n- `README.md` 可读总览 + 生产管线说明\n\n亮点：\n- Claude 自动拆叙事弧（开场→起→承→转→合）\n- 整段共享 base_seed，角色不漂移\n- 复用 88 预设/混合/五锁机制\n- 视频模型 9 选 1：Sora/Kling/Runway/Pika/Luma/Hailuo/即梦/Wan/通用\n- **国内目前没人做到\"剧本 → 完整 T2I+T2V 脚本包\"**\n\n### 2. 品牌套件持久化 `brand_kit.py`\n\n```bash\n# 创建品牌套件\nbrand_kit.py --create song_tea \\\n    --colors \"#2C5F2D, #97BC62, #F7F4EA\" \\\n    --fonts \"Songti SC, Source Han Serif\" \\\n    --keywords \"宋韵, 极简, 留白, 文人画\" \\\n    --forbidden \"modern digital, neon, cyberpunk\" \\\n    --logo \"minimal flame mark in green\"\n\n# 出图时自动注入\nenhance_prompt.py \"茶饮品牌主视觉\" -p 汉服写真 --brand-kit song_tea\n```\n\n注入位置：\n- `colors` → 写入 prompt 作为 brand color palette\n- `keywords` → 追加到主体描述\n- `forbidden` → 合并到 negative prompt\n- `logo_description` → 加入 brand identity 信号\n\n完美对接 `huo15-openclaw-brand-protocol` 的输出（其 JSON 可直接 `--import`）。\n\n### 3. 风格学习引擎 `style_learn.py`\n\n```bash\n# 给 N 张参考图，Claude Vision 提取共性 → 生成新预设\nstyle_learn.py --name 我的小清新 \\\n    refs/morning_cafe.jpg refs/film_kodak.jpg refs/window_light.jpg\n\n# 后续用 @ 前缀调用\nenhance_prompt.py \"猫咪坐在窗台\" -p \"@我的小清新\"\n```\n\n工作流：\n1. 每张图调一次 Claude Vision 提取 tags/camera/lighting/palette\n2. 综合阶段让 Claude 归纳共性，输出和 STYLE_PRESETS 兼容的 spec\n3. 自带 `confidence` 字段（< 0.5 警告参考图风格太散）\n4. 存到 `~/.huo15/learned_presets/<name>.json`，运行期注册到 STYLE_PRESETS\n\n### 4. 创意四件套整合食谱 `RECIPES.md`\n\n5 个端到端食谱，演示和其他 huo15-openclaw-* 技能联动：\n\n1. **品牌 KV 全流程**：design-director → brand-protocol → brand_kit → img-prompt → design-critique → frontend-design\n2. **自学习风格 + 角色一致性 + 视频短片**：style_learn → character → storyboard\n3. **电商商品图全套**：brand_kit + variants + character + obsidian\n4. **Claude Code MCP 工作流**：IDE 内自然语言调用\n5. **knowledge-base 联动**：资产沉淀到知识库\n\n### 这一版的定位升级\n\n| | v2.x | v3.0 |\n|---|------|------|\n| 输入 | 一句话主体 | 一段剧本 / 多张参考图 / 品牌规范 |\n| 输出 | 单帧 prompt | **完整短片脚本包 + 学到的新预设 + 品牌一致出图** |\n| 个性化 | 88 内置预设 | + **用户自学习风格 + 品牌套件** |\n| 生态位 | 独立工具 | + **创意四件套核心节点**（5 个 huo15 技能联动） |\n\n## v2.6 新功能 ⭐⭐⭐（用户群从 CLI → IDE/GUI/笔记四栖）\n\n### 1. 角色卡持久化 `character.py`\n\n```bash\n# Turn 1: 创建角色（带 character-sheet 模式）\nenhance_prompt.py \"银发机甲少女 twin tails glowing visor\" \\\n    -p 动漫 --character-sheet --save-char 银发机甲少女\n\n# Turn 2 ~ N: 跨调用保持角色一致（自动锁 seed + 注入主体）\nenhance_prompt.py \"在霓虹街头\" --char 银发机甲少女 -p 赛博朋克\nenhance_prompt.py \"在花海中\" --char 银发机甲少女\nenhance_prompt.py \"持剑战斗\" --char 银发机甲少女\n\n# 角色卡管理（独立 CLI）\ncharacter.py --list\ncharacter.py --show 银发机甲少女\ncharacter.py --export 银发机甲少女 > char.json\ncat char.json | character.py --import\n```\n\n存储：`~/.huo15/characters/<name>.json`，含 use_count + 时间戳 + 五锁。\n\n### 2. Obsidian 集成 `--obsidian`\n\n```bash\n# 默认检测 ~/knowledge/huo15 / ~/Documents/Obsidian / ~/Obsidian\nenhance_prompt.py \"敦煌神女\" -p 敦煌壁画 --obsidian\n\n# 指定 vault\nOBSIDIAN_VAULT=~/my-vault enhance_prompt.py \"...\" -p 原神 --obsidian\n```\n\n写入 `<vault>/图集/{date}-{subject}-{seed}.md`，含完整 frontmatter（tags/preset/seed/...）+ 正负向提示词 + 一致性锁 + 复现 CLI 命令。\n\n跟 huo15 三层记忆生态吻合（L3 共享 KB wiki）。\n\n### 3. MCP server `mcp_server.py` ⭐ IDE 用户的入口\n\n让 **Claude Code / Cursor / Cline / Continue.dev** 直接调用 9 个工具：\n\n```json\n// ~/.claude/mcp.json\n{\n  \"mcpServers\": {\n    \"huo15-img-prompt\": {\n      \"command\": \"python3\",\n      \"args\": [\"~/path/to/huo15-img-prompt/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n暴露的工具：\n- `enhance_prompt` / `list_presets` / `preset_examples`\n- `suggest_presets` / `polish_prompt` / `safety_lint`\n- `review_image` / `list_characters` / `load_character`\n\n实现：手写 JSON-RPC 2.0 over stdio，零第三方依赖。\n\n### 4. 本地 Web UI `web_ui.py` ⭐ 设计师/PM 用户的入口\n\n```bash\npython3 web_ui.py             # 默认 http://127.0.0.1:7155\npython3 web_ui.py --port 8080\npython3 web_ui.py --no-browser\n```\n\n特性：\n- 单文件 HTML（vanilla JS + Tailwind CDN，零构建）\n- Python `http.server.ThreadingHTTPServer` 做后端\n- 三栏布局：输入 / 88 预设可视化 / 实时输出\n- 角色卡下拉选择 + 一键复制\n- 自动开浏览器、Ctrl+C 退出\n\n## v2.5 新功能 ⭐⭐⭐（核心护城河）\n\n### 1. Claude Vision 五维评审 `image_review.py`\n\n```bash\n# 单图评审\nimage_review.py img.png --prompt \"原始 prompt\"\n\n# 多图排名（同一组 variants 出图后挑最优）\nimage_review.py renders/*.png --rank\n```\n\n输出：\n- 五维分数（0-10）：subject_match / composition / lighting / palette / technical\n- 加权 overall_score + 三档 verdict（PASS/RETRY/REJECT）\n- **可执行修复**：每条 issue 不写\"光线不好\"，直接给 `add: golden hour rim light, soft fill from camera left`\n- 简评模式 `--quick`（只 overall_score，省 token）\n\n### 2. 闭环自动迭代 `auto_iterate.py` ⭐ 杀手级 feature\n\n```\n                ┌──────────────┐\n                │ user prompt  │\n                └──────┬───────┘\n                       ↓\n            ┌─────────────────────┐\n            │  enhance_prompt     │\n            └─────────┬───────────┘\n                      ↓\n            ┌─────────────────────┐\n            │  render (10 后端)   │\n            └─────────┬───────────┘\n                      ↓\n            ┌─────────────────────┐\n            │  Claude Vision      │\n            │  五维评审           │\n            └─────────┬───────────┘\n                      ↓\n                  分数 ≥ 阈值?\n                  ↙          ↘\n                Y              N (≤ 3 轮)\n                ↓               ↓\n              完成        ┌────────────┐\n                          │ Claude 改   │\n                          │ prompt     │\n                          └─────┬──────┘\n                                ↑\n                          (回到 enhance)\n```\n\n```bash\nauto_iterate.py \"持剑女侠\" -p 赛博朋克 --backend dalle --target 7.5 --max-rounds 3\n```\n\n每轮锁定 seed，便于对比 prompt 改动到底改善了哪一维。Claude 的修改基于上轮 review 的 actionable_fixes，输出 revised_subject + extra_negatives + extra_mood + rationale。\n\n**这个能力 GPT-4o image / Claude Imagen 内部做不到** — 它们是端到端黑盒，没有 prompt-image 闭环数据。\n\n### 3. A/B 变体测试 `--variants N`\n\n```bash\n# 同 subject + 同 seed，仅在 mood/composition 上分化出 4 个变体\nenhance_prompt.py \"持剑女侠\" -p 赛博朋克 --variants 4 -j > variants.json\n\n# 出图后挑最优\nimage_review.py renders/*.png --rank\n```\n\n四个差异轴可选：`mood / composition / lighting / stylize`，`--variant-axes mood,lighting` 自定义。\n\n### 4. 智能预设推荐 `--suggest`\n\n```bash\n# 模糊描述也能自动匹配预设\nenhance_prompt.py \"温柔治愈感的画面\" --suggest\n```\n\n输出：top-3 候选预设 + 每个的 score (0-1) + reason + best_subject_example + mix_suggestion（自动判断是否需要混合）。\n\n解决\"温柔\"、\"高级\"、\"梦幻\"等抽象描述硬关键词匹配不到的痛点。\n\n## v2.4 新功能 ⭐\n\n### 1. render_prompt.py 扩到 10 后端\n\n```bash\n# 国际开源\nrender_prompt.py \"侠客\" -p 水墨 --backend replicate --remote-model black-forest-labs/flux-schnell\nrender_prompt.py \"猫\" -p 动漫 --backend fal --remote-model fal-ai/flux/dev\n\n# 国产模型（中文场景效果好）\nrender_prompt.py \"敦煌神女\" -p 敦煌壁画 --backend jimeng    # 字节即梦 / Seedream 3.0\nrender_prompt.py \"汉服少女\" -p 汉服写真 --backend kling     # 快手可灵 v1\nrender_prompt.py \"原神少女\" -p 原神 --backend hailuo        # 海螺 MiniMax image-01\n```\n\n环境变量：`REPLICATE_API_TOKEN` / `FAL_KEY` / `ARK_API_KEY`（火山方舟）/ `KLING_API_KEY` / `MINIMAX_API_KEY`。\n\n### 2. prompt 压缩 `--compact`\n\n```bash\nenhance_prompt.py \"持剑女侠\" -p \"赛博朋克+水墨\" -m SD --compact\n# 🗜  prompt 已压缩: 124→73 tokens (砍 12 段)\n```\n\n策略：去重 → 同义合并 → 保头 6 段（主体+camera）→ 按预算砍尾。专治 SDXL CLIP 77 token 截断。\n\n### 3. 88 预设参考图链接 `--examples`\n\n```bash\n# 看单个预设的参考图（5 平台搜索 URL）\nenhance_prompt.py --examples 敦煌壁画\n# 列表模式带链接\nenhance_prompt.py -l --with-examples\n```\n\n输出 5 平台搜索 URL：Lexica / Civitai / Pinterest / Google Images / Unsplash。零维护，靠搜索 query 永远有效。\n\n### 4. 多轮编辑 `--session` / `--continue`\n\n```bash\n# Turn 1: 出图\nenhance_prompt.py \"猫坐在窗台\" -p 写实摄影 --session catwindow\n\n# Turn 2: 改画幅 + 加情绪，seed 自动锁定保证主体一致\nenhance_prompt.py --continue catwindow --aspect 16:9 --mood 治愈\n\n# Turn 3: 完全换主体描述但保 seed 测一致性\nenhance_prompt.py \"猫站起来伸懒腰\" --continue catwindow\n\n# 列出所有 session\nenhance_prompt.py --list-sessions\n```\n\n持久化目录：`~/.huo15/sessions/<name>.json`。CLI 参数 > session 默认值 > 系统默认。\n\n## v2.3 新功能 ⭐\n\n### 5. Claude API 智能润色 `--polish`\n\n```bash\n# 直接润色（独立调用）\nexport ANTHROPIC_API_KEY=sk-ant-xxx\n./scripts/claude_polish.py \"一个温柔的女孩在花丛中\"\n./scripts/claude_polish.py \"敦煌神女\" --pipe   # 输出可直接喂给 enhance_prompt.py 的命令\n\n# 在 enhance_prompt.py 里串联使用（润色 → 88 预设 → 输出）\n./scripts/enhance_prompt.py \"一个温柔的女孩在花丛中\" --polish\n./scripts/enhance_prompt.py \"雪山下的小屋\" --polish --safety MJ -m Midjourney\n```\n\n利用 Claude prompt engineering 优势：\n- **Prompt caching**：system prompt 用 ephemeral cache，省 90% input token\n- **Prefill `{`**：assistant 起手 `{` 强制 JSON 输出，无需 tool use\n- **XML 思维链**：让 Claude 内部分步骤（refine/style/camera/safety/negatives）\n- **88 预设嵌入 system**：Claude 从清单里挑，不凭记忆\n- **零 SDK 依赖**：纯 urllib，避免企业扫描器拦截 anthropic 包\n\n### 6. 平台合规润色 `--safety`\n\n**只做合法艺术创作的平台误判规避，不做 jailbreak。**\n\n```bash\n# 独立调用\n./scripts/safety_lint.py \"战士手中沾满鲜血的剑\" --target dalle\n./scripts/safety_lint.py \"古典维纳斯雕像 nude figure\" --target MJ --apply\n./scripts/safety_lint.py \"如何制作炸弹\"   # 命中红线 → exit 2\n\n# 在 enhance_prompt.py 里串联\n./scripts/enhance_prompt.py \"古风战场鲜血飞溅\" --safety dalle\n./scripts/enhance_prompt.py \"黑暗骑士斩杀恶魔\" --safety MJ -p 黑暗奇幻\n```\n\n**红线（直接拒答）**：\n- ✗ CSAM（未成年 + 性化任意组合）\n- ✗ 真人 + 色情/政治污蔑\n- ✗ 武器/毒品/爆炸物**制作方法/教程**\n- ✗ 自残/自杀**方法诱导**\n\n**黄区（艺术化重写）**：\n| 类别 | 例子 | 重写策略 |\n|------|------|----------|\n| violence | 血、伤口、kill、weapon | crimson splash / battle-scarred / vanquish / ceremonial blade |\n| nudity | 裸、naked、sexy | classical figure study / fine art reference / fashion editorial |\n| horror | horror、gore、demon | gothic atmospheric tension / mythical creature |\n| death | dead、skeleton、skull | memento mori / classical allegory / vanitas |\n| real-person | celebrity、明星、politician | fictional character / 80s aesthetic |\n| brand | marvel、disney、nike | superhero comic style / classic animated |\n\n**平台分级**：\n- DALL-E `max` 严格度\n- MJ `high` 中等\n- SD/SDXL/Flux `low` 宽松（开源本地）\n\n### 7. Polish + Safety 串联（最强组合）\n\n```bash\n# Claude 智能润色 → 平台合规重写 → 88 预设增强\n./scripts/enhance_prompt.py \"战士在血战之后凝视远方\" --polish --safety dalle -j\n```\n\n输出 JSON 包含 `claude_polish` 和 `safety_lint` 两个完整 meta 块，可追溯每一步改写过程。\n\n## v2.2 新功能详解\n\n### 1. 混合预设 `-p A+B --mix 0.6`\n\n```bash\n# 主预设 60% 权重，副预设 40%\nenhance_prompt.py \"持剑女侠\" -p \"赛博朋克+水墨\" --mix 0.6 -m Midjourney\nenhance_prompt.py \"山中神女\" -p \"原神+敦煌壁画\" --mix 0.5 -m SDXL\nenhance_prompt.py \"极简卡片\" -p \"玻璃拟态+侘寂\" --mix 0.7 -m SD\n```\n\n融合策略：\n- **tags**：主预设标签前置，副预设按权重补充；SD 自动加权重语法 `(tag:1.16)`\n- **camera**：取主预设（避免镜头语言混乱）\n- **lighting**：叠加 `主光照, blended with 副光照`\n- **palette**：拼接两者\n- **aspect**：取主预设默认画幅\n- **neg**：合并去重 + PRESET_NEG_EXCLUDE 主辅都生效（避免 logo/text/signature 自我否定）\n- **seed**：mix_label `A+B@0.60` 参与 hash，相同混合每次同 seed\n\n### 2. 视频提示词 `enhance_video.py`\n\n```bash\n# Sora 8 秒赛博朋克\nenhance_video.py \"雨夜霓虹街头一只猫漫步\" -p 赛博朋克 -m Sora --duration 8\n\n# Kling 慢速跟拍\nenhance_video.py \"汉服少女转身回眸\" -p 汉服写真 -m Kling --motion 慢速跟拍\n\n# 史诗节奏 + 自定义动作\nenhance_video.py \"宇宙飞船穿越星云\" -p scifi -m Runway --pacing 史诗 --action \"ship accelerates, lens flare\"\n\n# 混合风格 + 海螺 MiniMax\nenhance_video.py \"山中神女腾云\" -p \"原神+敦煌壁画\" --mix 0.6 -m Hailuo\n\n# 列出所有视频模型规格\nenhance_video.py --list-models\n```\n\n支持的视频模型：\n\n| 模型 | 上限时长 | 默认画幅 | 提示词风格 |\n|------|---------|---------|-----------|\n| Sora | 20s (Sora 2 Pro) | 16:9 | 长自然语言 |\n| Kling 可灵 | 10s (1080p Pro) | 16:9 | 中文优秀，前置主体 |\n| Runway Gen-3/4 | 10s | 16:9 | 英文最佳 |\n| Pika | 10s | 16:9 | 标签式 + `-gs/-motion` |\n| Luma DreamMachine | 9s | 16:9 | 自然语言 + 关键帧 |\n| Hailuo MiniMax | 10s | 16:9 | 中英双语 + 参考人物 |\n| 即梦 Seedance | 12s | 16:9 | 中文多镜头剧情 |\n| 通义 Wan2.1 | 8s | 16:9 | 阿里开源 14B/1.3B |\n\n输出包含：正向 / 负向（视频专属：flicker、motion blur、identity drift）/ 三段式关键帧 / 一致性六锁（+ motion）。\n\n### 3. 参考图反解 `reverse_prompt.py`\n\n```bash\n# 自动识别 A1111/ComfyUI/NovelAI metadata\nreverse_prompt.py /path/to/image.png\n\n# 远程 URL\nreverse_prompt.py https://example.com/img.png\n\n# 直接给 Midjourney 复用 prompt（一行）\nreverse_prompt.py img.png --mj\n\n# 强制 VLM 模板（图无 metadata）\nreverse_prompt.py img.png --vlm\n\n# JSON pipe 给 enhance_prompt.py\nreverse_prompt.py img.png -j > recipe.json\n```\n\n三层反解：\n1. **PNG metadata**：手写 `tEXt`/`iTXt` 解析，零 PIL 依赖\n2. **A1111 / ComfyUI / NovelAI 三大格式自动识别**\n3. **VLM fallback**：图无 metadata 时输出标准 prompt 给 GPT-4o/Claude/Gemini/Qwen-VL\n\n启发式预设猜测：35+ 关键词映射（cyberpunk → 赛博朋克 / ghibli → 宫崎骏 / dunhuang → 敦煌壁画 ...）。\n\n### 4. 直出图片 `render_prompt.py`\n\n```bash\n# Dry-run（只输出 recipe，不出图）\nrender_prompt.py \"敦煌神女\" -p 敦煌壁画 --backend none -j\n\n# AUTOMATIC1111 / Forge SD WebUI\nrender_prompt.py \"赛博朋克猫\" -p 赛博朋克 --backend sd-webui\n\n# ComfyUI（用内置 SDXL workflow）\nrender_prompt.py \"原神少女\" -p 原神 --backend comfyui\n\n# ComfyUI（自定义 workflow）\nrender_prompt.py \"原神少女\" -p 原神 --backend comfyui --workflow ./workflows/sdxl.json\n\n# DALL-E 3\nrender_prompt.py \"极简logo\" -p Logo设计 --backend dalle --size 1024x1024\n```\n\n特点：\n- **零第三方依赖**：纯 urllib，避免企业扫描器命中\n- **环境变量覆盖**：`COMFYUI_URL` / `SDWEBUI_URL` / `OPENAI_API_KEY`\n- **支持混合预设直出**\n\n## 参考文档\n\n`references/t2i-guide.md` — 提示词要素表 / 88 预设对照 / 模型差异 / 一致性技巧。\n\n## 版本历史\n\n见 `CHANGELOG.md`。\n\nFile v3.2.0:examples/README.md\n\n# 示例素材\n\n直接可用的 brand kit / character / learned preset / 剧本，导入即用。\n\n## 文件清单\n\n| 文件 | 类型 | 用途 |\n|------|------|------|\n| `brand_kit-song_tea.json` | 品牌套件 | 宋韵东方茶饮品牌示例 |\n| `character-silver_mecha.json` | 角色卡 | 银发机甲少女（演示跨调用一致性） |\n| `learned_preset-fresh_film.json` | 学习预设 | 清新胶片风（日杂感） |\n| `storyboard-cat_rainy_night.txt` | 剧本 | 一只猫的雨夜散步（6 帧） |\n| `recipe-1-brand_kv.sh` | Bash 脚本 | RECIPES.md 食谱 1 的可运行版 |\n\n## 导入方式\n\n```bash\n# Brand kit\ncat examples/brand_kit-song_tea.json | scripts/brand_kit.py --import\nscripts/brand_kit.py --show song_tea\n\n# 角色卡\ncat examples/character-silver_mecha.json | scripts/character.py --import\nscripts/character.py --show silver_mecha\n\n# Learned preset（直接复制到目录即可）\nmkdir -p ~/.huo15/learned_presets\ncp examples/learned_preset-fresh_film.json ~/.huo15/learned_presets/\n\n# 用 learned preset 出图\nscripts/enhance_prompt.py \"咖啡馆窗边少女\" -p \"@fresh_film\"\n\n# 故事板\nscripts/storyboard.py < examples/storyboard-cat_rainy_night.txt \\\n    -p 电影感 --scenes 6 --output ./renders/cat_rainy_night\n\n# 完整食谱 1\nbash examples/recipe-1-brand_kv.sh\n```\n\n## 自定义指南\n\n复制示例文件改字段即可：\n\n- **brand_kit**：改 `colors / fonts / keywords / forbidden / logo_description`\n- **character**：改 `subject_description / preset / aspect / seed`\n- **learned_preset**：建议用 `style_learn.py --name 你的风格 ref*.jpg` 自动生成，不要手写\n\n## 反对的做法\n\n❌ 手写 learned_preset.json — confidence 字段是 Claude 综合后的可信度，手写会失真\n❌ 直接改示例文件 — 应该导入后用 `--update` 修改自己的副本\n❌ 把 example 当生产数据 — 仅供参考，按业务场景重新建立\n\nFile v3.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-img-prompt\",\n  \"version\": \"3.2.0\",\n  \"publishedAt\": 1780035056375\n}\n\nFile v3.2.0:references/t2i-guide.md\n\n# T2I 提示词工程参考（v2.0）\n\n## 一、提示词核心要素\n\n| 要素 | 说明 | 示例 |\n|------|------|------|\n| **主体** | 画面核心对象 | a cat, a futuristic building, a woman |\n| **材质/介质** | 画面的质感 | oil painting, digital art, photography, watercolor |\n| **风格** | 艺术风格 | cyberpunk, impressionist, anime, realistic |\n| **镜头/构图** | 视角和取景 | close-up, 85mm f/1.4, wide shot, bird's eye view |\n| **光线** | 光照方向和类型 | golden hour, neon glow, soft diffused, rim light |\n| **色彩** | 色调倾向 | warm tones, teal & orange, monochromatic, pastel |\n| **背景** | 环境设定 | busy city street, empty beach, starfield, studio |\n| **情绪** | 画面氛围 | melancholic, epic, cozy, mysterious |\n| **画质词** | 画质强化 | masterpiece, best quality, ultra detailed, 8k |\n| **负面** | 不想出现的 | low quality, blurry, bad anatomy, extra fingers |\n\n## 二、贴近需求的技巧\n\n想让图**贴近你的真实想法**，只给主体不够，建议提供至少以下 3 个维度：\n\n1. **主体 + 动作/状态**：`红发女侠 持剑站立` 比 `红发女侠` 好\n2. **环境/背景**：`在雨夜的东京巷弄` 比默认空背景更可控\n3. **情绪/时间**：`黄昏，忧郁感` 给画面定调\n\n脚本的 **意图识别器** 会自动抽取其中的构图词（俯拍/特写/远景/航拍…）和情绪词（神秘/温馨/史诗…）并并入提示词。\n\n## 三、一致性的五道防线\n\n系列图\"看起来不像同一套\"是最常见痛点。按优先级部署：\n\n| # | 机制 | 作用 | 脚本支持 |\n|---|------|------|---------|\n| 1 | **seed 锁定** | 同 seed + 同提示词 → 几乎复现 | ✅ `--seed` / 自动哈希 |\n| 2 | **camera 锁** | 焦段/视角不变 | ✅ 预设内置 |\n| 3 | **lighting 锁** | 光源方向、色温不变 | ✅ 预设内置 |\n| 4 | **palette 锁** | 色板不变（最影响\"同系列感\"） | ✅ 预设内置 |\n| 5 | **aspect 锁** | 画幅不变 | ✅ 预设内置 |\n| 6 | **参考图** | MJ `--cref`/`--sref`、SD IP-Adapter、Flux redux | 提示词输出 |\n\n## 四、56 预设对照表（分类）\n\n### 摄影 · 10\n| 预设 | 适用场景 | 画幅 | 核心锁 |\n|------|---------|------|--------|\n| 写实摄影 | 人像 / 产品 / 建筑 | 3:4 | Canon R5 85mm + 影棚光 |\n| 胶片摄影 | 人文 / 旅拍 | 3:2 | 35mm 胶片 + 自然光 |\n| 黑白摄影 | 纪实 / 艺术 | 1:1 | Leica M6 + 强对比 |\n| 人像摄影 | 肖像 / 头像 | 3:4 | 85mm f/1.4 + 伦勃朗光 |\n| 时尚大片 | 时装 / 美妆 | 3:4 | 中画幅 + 硬光 |\n| 美食摄影 | 菜品 / 食谱 | 1:1 | 100mm 微距 + 45°侧光 |\n| 产品摄影 | 电商白底 | 1:1 | 90mm 微距 + 大柔光箱 |\n| 微距摄影 | 昆虫 / 花蕊 | 1:1 | 100mm 1:1 + 环形闪光 |\n| 航拍摄影 | 风景 / 城市 | 16:9 | 无人机 24mm 俯视 |\n| 街拍纪实 | 人文街头 | 3:2 | 35mm + 环境光 |\n\n### 动漫 · 6\n| 预设 | 风格取向 | 画幅 |\n|------|---------|------|\n| 动漫 | 通用 pixiv 二次元 | 3:4 |\n| 新海诚 | 云景 + 辉光 | 16:9 |\n| 宫崎骏 | 吉卜力温暖 | 16:9 |\n| 美漫 | marvel/DC 粗线条 | 2:3 |\n| Q版 | 三头身 chibi | 1:1 |\n| 童话绘本 | 水粉儿童绘本 | 4:3 |\n\n### 插画 · 7\n| 预设 | 介质/流派 | 画幅 |\n|------|----------|------|\n| 水彩 | 湿画法纸本 | 1:1 |\n| 油画 | 厚涂油彩 | 4:5 |\n| 水墨 | 宣纸墨色 | 3:4 |\n| 工笔国画 | 矿物颜料工笔 | 3:4 |\n| 浮世绘 | 江户时期木版 | 2:3 |\n| 线稿 | 纯黑白线条 | 1:1 |\n| 像素艺术 | 16-bit sprite | 1:1 |\n\n### 3D · 7\n| 预设 | 材质/风格 | 画幅 |\n|------|----------|------|\n| 3DC4D | Octane 光泽渲染 | 1:1 |\n| 盲盒手办 | 泡泡玛特塑胶 | 1:1 |\n| 低多边形 | 低面数面片 | 1:1 |\n| 等距视图 | 等轴 2.5D | 1:1 |\n| 粘土 | 定格动画黏土 | 1:1 |\n| 毛毡手工 | 羊毛毡戳制 | 1:1 |\n| 纸艺 | 切纸层叠 | 1:1 |\n\n### 设计 · 10\n| 预设 | 产出物 | 画幅 |\n|------|--------|------|\n| 极简主义 | 瑞士派 / 留白 | 1:1 |\n| 平面设计 | 矢量插画 | 1:1 |\n| Logo设计 | 品牌标志 | 1:1 |\n| 图标设计 | app icon | 1:1 |\n| 信息图 | 数据可视化 | 3:4 |\n| 品牌KV | 广告主视觉 | 16:9 |\n| 专辑封面 | 音乐封面 | 1:1 |\n| 复古海报 | 1950s letterpress | 3:4 |\n| 电影海报 | 院线 one-sheet | 2:3 |\n| 表情包 | 贴纸 / emoji | 1:1 |\n\n### 艺术史 · 4\n| 预设 | 流派 | 画幅 |\n|------|------|------|\n| 印象派 | 莫奈 plein-air | 4:5 |\n| 后印象派 | 梵高表现 | 4:5 |\n| 新艺术 | Mucha 装饰曲线 | 2:3 |\n| 装饰艺术 | 盖茨比几何 | 2:3 |\n\n### 场景氛围 · 12\n| 预设 | 调性 | 画幅 |\n|------|------|------|\n| 赛博朋克 | 霓虹 + 雨夜 | 21:9 |\n| 蒸汽朋克 | 黄铜维多利亚 | 3:2 |\n| 科幻 | 蓝灰硬科幻 | 21:9 |\n| 奇幻 | 魔戒史诗 | 16:9 |\n| 黑暗奇幻 | 贝尔塞尔克 | 2:3 |\n| 国潮 | 朱红鎏金 | 3:4 |\n| Y2K | 千禧铬纹 | 1:1 |\n| Vaporwave | 蒸汽波落日 | 16:9 |\n| 霓虹灯牌 | 玻璃管发光字 | 3:2 |\n| 建筑可视化 | V-Ray archviz | 16:9 |\n| 电影感 | ARRI + 橙青调色 | 21:9 |\n| 概念艺术 | ILM matte | 21:9 |\n\n## 五、模型差异提示\n\n| 模型 | 骨架 | 特有技巧 |\n|------|------|----------|\n| **Midjourney v6** | 逗号分隔短句 + 尾部 flag | `--cref` 锁角色、`--sref` 锁风格、`--stylize` 控风格化程度、`--chaos` 控多样性 |\n| **Stable Diffusion 1.5** | tag 式 + 权重 | `(subject:1.3)`、`[减弱:0.7]`、DPM++ 2M Karras, 30 steps, CFG 6-7 |\n| **SDXL** | 同 SD，tag 稍长 | 原生 1024 分辨率、DPM++ SDE Karras, 25-30 steps, CFG 5-7, Refiner 0.2 |\n| **DALL-E 3** | 自然语言段落 | ChatGPT 对话中\"use the same character\" 跨对话续图 |\n| **Flux Dev** | 长句，可含短语位置 | guidance 3.5、擅长生成清晰文字、redux 可作参考图 |\n\n## 六、系列一致性工作流（推荐）\n\n### 场景：出一套品牌 4 张产品图\n\n```bash\n./scripts/enhance_prompt.py \"无线蓝牙耳机 白色\" -p 产品摄影 -s 4 \\\n    --variations \"正面特写,45度角展示,充电盒开启,佩戴模特\"\n```\n\n产出：\n\n1. 所有 4 张输出 **共享 seed**\n2. 所有 4 张 **共享 camera / lighting / palette / aspect 锁**\n3. 主体描述 **仅在动作/角度上变化**\n\n把这 4 条提示词分别喂给你的生图工具，加上 `--cref <第1张URL>`（MJ）或 IP-Adapter（SD/ComfyUI）即可得到风格完全一致的一套产品图。\n\n### 场景：出一套角色立绘\n\n```bash\n./scripts/enhance_prompt.py \"银发机甲少女\" -p 动漫 -s 6 \\\n    --variations \"正面站立,侧面剪影,奔跑姿势,持武器pose,受伤后,胜利姿态\" \\\n    -m Midjourney\n```\n\n记得在 MJ 里给第一张做 `--cref`，后续 5 张引用同一 URL，角色脸部 95%+ 一致。\n\n## 七、Prompt 写作红线\n\n- ❌ 英文提示词里**堆砌中文地名**（除非模型是中文 checkpoint）\n- ❌ 一次塞超过 **8 个并列风格**（风格冲突 → 画面混乱）\n- ❌ 把**颜色描述**堆得比主体还多（模型会优先表现颜色忽略主体）\n- ❌ 负面词**过长**（SD 负面超过 75 tokens 后生效打折）\n- ✅ 主体用英文、风格用英文、地域/文化用英文（例 \"Chinese traditional garden\"）\n- ✅ 想要稳定输出：用预设 + seed 锁；想要探索：去 seed / 加 `--chaos 30`\n\nFile v3.2.0:CHANGELOG.md\n\n# Changelog\n\n## v3.2.0 — 2026-04-28\n\n**审美锚点系统 + 15 个 Master 档设计师级预设。从\"风格预设\"升级到\"审美锚定\"，从 88 流派升级到「88 流派 + 15 大师 + 锚点表」三层。**\n\n### 新增\n\n- **88 预设审美锚点表**（SKILL.md 头部新增章节）：每个预设 → 1-2 个具体导演 / 摄影师 / 艺术家 / 电影场景的锚定（如赛博朋克 → Roger Deakins《Blade Runner 2049》氪绿一段；汉服写真 → 张叔平《一代宗师》室内逆光；ghibli → 《千与千寻》汤屋夕照具体场景）。让 Claude 拼提示词时不只有标签拼接，而是真实意向锚定。\n- **15 个 Master 档设计师级预设**：Pentagram / Saul Bass / Massimo Vignelli / Wim Crouwel / Paul Rand / Tibor Kalman / Sagmeister / Paula Scher / Otl Aicher / Bruno Munari / 杉本博司 / 原研哉 / 安藤忠雄 / 王家卫 / Wes Anderson — 用于品牌官网 KV / 高端杂志封面 / 投融资路演主视觉等 Master 档需求。\n- **与 huo15 生态联动文档**：design-director v3.0 §二 视觉三元组 → img-prompt v3.2 Master 档预设 → design-critique v2.0 §五 对标的完整流转图。\n\n### 与 design-director v3.0 / design-critique v2.0 的关系\n\n- design-director 选定 Master 档方向时，brief 的 signatureHook 可直接指定本 skill 的 Master 档预设（如 wong-kar-wai / kenya-hara）\n- design-critique 评审 Master 档作品时，从 §五 流派 Master 对标库 + 本 skill 锚点表配合做差距分析\n\n### 不变\n\n88 预设主表 / 14 件套脚本 / 一致性四锁 / Claude Vision 五维评审 / 闭环自动迭代 / 故事板 / brand_kit / style_learn 全部保留，纯审美补丁层。\n\n---\n\n## v3.1.0 — 2026-04-27\n\n**稳定加固版：质量基础设施 + 上手文档 + 真实示例。不堆功能，先把底子打牢。**\n\n发完 v3.0 大版本（14 件套、1770 行新代码、3 个新外部 API 集成）后，发现：\n- 14 件套互相依赖，没自动化回归 → 改动风险高\n- 新用户拿到不知道从哪开始\n- 错误处理散在脚本里不统一\n- API key / 服务可达性没统一诊断入口\n\nv3.1 不加 feature，只补这些短板。\n\n### 新增 1: doctor.py — 健康检查（~250 行）\n\n```bash\npython3 scripts/doctor.py            # 全量\npython3 scripts/doctor.py --quick    # 跳过网络\npython3 scripts/doctor.py --check api    # 只查 API keys\npython3 scripts/doctor.py -j         # JSON 输出\n```\n\n检查项：\n- 14 个脚本 import + VERSION 一致性\n- 7 个 API key（ANTHROPIC 必填，其他按需）\n- 2 个本地后端（ComfyUI / SD WebUI）可达性\n- 4 个候选 Obsidian vault 路径\n- 4 个持久化目录盘点（characters / sessions / brand_kits / learned_presets）\n- Claude API 实测 ping（用 haiku 最便宜模型）\n\n输出：彩色 ✓ / ⚠ / ✗ 表格 + 总结统计。\n\n### 新增 2: tests/smoke.py — 自动回归测试（~250 行）\n\n零依赖、纯本地、不调网络。33 个测试覆盖核心 API：\n\n- 版本号一致性（15 个脚本）\n- enhance_prompt 核心：resolve_preset / parse_mix_preset / build_prompt / mix / character_sheet / seed 稳定\n- compact_prompt 长短场景\n- safety_lint 红线 / 艺术化重写 / 双向 catch\n- character / brand_kit save-load roundtrip + apply 注入\n- variants 共享 seed\n- reverse_prompt A1111 解析 + 启发式 preset 猜\n- MCP server: initialize / tools/list / tools/call dispatch\n- 88 预设字段完整性\n\n```bash\ntests/smoke.py            # 全跑\ntests/smoke.py --module TestSafetyLint\n```\n\n实测：33 测试 0.089 秒跑完。\n\n### 新增 3: examples/ 目录 — 5 个真实可运行示例\n\n| 文件 | 用途 |\n|------|------|\n| `brand_kit-song_tea.json` | 宋韵东方茶饮品牌套件示例 |\n| `character-silver_mecha.json` | 银发机甲少女角色卡 |\n| `learned_preset-fresh_film.json` | 清新胶片风学习预设 |\n| `storyboard-cat_rainy_night.txt` | 6 帧短片剧本（一只猫的雨夜散步） |\n| `recipe-1-brand_kv.sh` | RECIPES 食谱 1 的完整 bash 脚本 |\n| `examples/README.md` | 导入指南 |\n\n直接 `cat examples/xxx.json | scripts/<模块>.py --import` 即用。\n\n### 新增 4: QUICKSTART.md — 三层级上手文档\n\n- **30 秒**：第一条命令\n- **5 分钟**：基础工作流（推荐预设 → 出图 → 保存角色卡 → 看示例图）\n- **30 分钟**：完整工作流（品牌 KV / 风格学习 / 故事板 / IDE / Web UI / Obsidian）\n- **6 个 FAQ**：API key 缺失能用哪些功能 / 哪些后端值得配 / prompt 太长怎么办 / 等\n\n### 兼容性\n\n- 纯加固，零 feature 改动\n- doctor.py / tests/smoke.py / examples/ / QUICKSTART.md 全是新增\n- 14 个 v3.0 脚本不变，仅 VERSION bump 到 3.1.0\n\n### 文件改动\n\n| 改动 | 内容 |\n|------|------|\n| 新文件 | `doctor.py` / `tests/smoke.py` / `QUICKSTART.md` / `examples/*` (6 文件) |\n| VERSION bump | 14 个脚本 v3.0.0 → v3.1.0 |\n| 总新增 | ~900 行（含 5 个示例文件） |\n\n### 这一版的意义\n\n| | v3.0 | v3.1 |\n|---|------|------|\n| 代码质量 | 14 件套手动 smoke | + **33 自动回归** |\n| 上手成本 | RECIPES.md 抽象 | + **30 秒/5 分钟/30 分钟分级** |\n| 错误诊断 | 各脚本散写 | + **doctor.py 一键体检** |\n| 示例素材 | 文档里截图 | + **examples/ 真实文件** |\n\n---\n\n## v3.0.0 — 2026-04-27\n\n**v3.0 大版本：从\"提示词工具\"升级为「AI 创作生态中枢」。**\n\n四件大武器同时上线：故事板模式 / 品牌套件 / 风格学习引擎 / 创意四件套整合 cookbook。\n\n### E3: storyboard.py — 故事板模式（新文件 ~430 行）⭐ 杀手级 feature\n\n把一段剧本/文案 → Claude 拆 N 关键帧 → 每帧 T2I prompt + 帧间 T2V 衔接 prompt → 完整短片脚本包。\n\n```bash\nstoryboard.py \"一只猫从城市走进雨夜\" -p 电影感 --scenes 4 \\\\\n    -m Midjourney --video-model Sora --output ./my_story\n```\n\n输出：\n- `storyboard.json`（完整 scene + transition 数据）\n- `scene-{01-N}-t2i.txt`（每个关键帧的 T2I 提示词）\n- `transition-{xx-to-yy}-t2v.txt`（每个转场的 T2V 提示词）\n- `README.md`（可读总览 + 生产管线）\n\n亮点：\n- 整段共享 base_seed 锁定一致性，主角不漂移\n- Claude 自动拆分叙事弧（开场→起→承→转→合）\n- 复用 enhance_prompt + enhance_video，所有 88 预设/混合/五锁全部生效\n- 视频模型 9 选 1：Sora/Kling/Runway/Pika/Luma/Hailuo/即梦/Wan\n\n**国内目前没有人做到\"剧本 → 完整 T2I+T2V 脚本包\"这一点。**\n\n### E4: brand_kit.py — 品牌套件持久化（新文件 ~280 行）\n\n品牌 VI 沉淀到 `~/.huo15/brand_kits/<name>.json`，包含 colors / fonts / keywords / forbidden / logo_description。\n\n```bash\nbrand_kit.py --create song_tea \\\\\n    --colors \"#2C5F2D, #97BC62, #F7F4EA\" \\\\\n    --fonts \"Songti SC, Source Han Serif\" \\\\\n    --keywords \"宋韵, 极简, 留白, 文人画\" \\\\\n    --forbidden \"modern digital, neon, cyberpunk\"\n\n# 出图时自动注入\nenhance_prompt.py \"茶饮品牌主视觉\" -p 汉服写真 --brand-kit song_tea\n```\n\n注入逻辑：\n- `colors` → 写入 prompt 作为 brand color palette 提示\n- `keywords` → 追加到主体描述\n- `forbidden` → 合并到 negative prompt\n- `logo_description` → 加入 prompt 作 brand identity 信号\n\n完美对接 `huo15-openclaw-brand-protocol` 的输出（其抓品牌规范的 JSON 可直接 `--import`）。\n\n### C4: style_learn.py — 风格学习引擎（新文件 ~330 行）\n\n给 N 张参考图（≥2），Claude Vision 提取每张特征 → 综合共性 → 生成 learned preset。\n\n```bash\nstyle_learn.py --name 我的小清新 ref1.jpg ref2.jpg ref3.jpg\n\n# 后续直接用 @ 前缀调用\nenhance_prompt.py \"猫咪\" -p \"@我的小清新\"\n```\n\n技术细节：\n- 每张图调一次 Claude Vision 提取 tags/camera/lighting/palette/aspect\n- 综合阶段让 Claude 统一归纳，输出和 STYLE_PRESETS schema 兼容的 spec\n- 自带 `confidence` 字段（共性强度 0-1，< 0.5 警告太散）\n- 存到 `~/.huo15/learned_presets/<name>.json`，运行期注册到 STYLE_PRESETS（不污染源文件）\n- `resolve_preset` 支持 `@<name>` 前缀\n\n### G2: RECIPES.md — 创意四件套整合食谱\n\n新文档：5 个端到端食谱，演示 huo15-img-prompt 和其他 huo15-openclaw-* 技能联动：\n1. **品牌 KV 全流程**（design-director → brand-protocol → brand_kit → img-prompt → design-critique → frontend-design）\n2. **自学习风格 + 角色一致性 + 视频短片**（style_learn → character → storyboard）\n3. **电商商品图全套**（brand_kit + variants + character + obsidian）\n4. **Claude Code MCP 工作流**（IDE 内自然语言调用）\n5. **knowledge-base 联动**（资产沉淀到知识库）\n\n设计原则：\n- 每个技能管自己一段（不重复造轮子）\n- 数据格式互通（brand_kit / character / learned_preset 都是标准 JSON）\n- Claude Code + MCP 当协调者\n- 闭环优先（v2.5 的 image_review 免费用）\n\n### enhance_prompt.py 集成\n\n- 新增 `--brand-kit <name>` 加载品牌套件\n- `resolve_preset` 支持 `@<name>` 前缀加载 learned preset\n\n### 所有新文件（v3.0 共 ~1800 行）\n\n| 文件 | 行数 | 关键能力 |\n|------|------|---------|\n| `storyboard.py` | 430 | 剧本 → 视频脚本包 |\n| `brand_kit.py` | 280 | 品牌套件持久化 |\n| `style_learn.py` | 330 | 风格学习引擎 |\n| `RECIPES.md` | 250 | 创意四件套食谱 |\n| `enhance_prompt.py` | + 50 | brand-kit 注入 + @learned 解析 |\n\n### 兼容性\n\n- 完全向下兼容 v2.6\n- 所有新参数有默认值\n- learned preset 用 `@` 前缀，不与 88 内置预设冲突\n- 新文件不影响老脚本\n\n### 这一版的定位升级\n\n| | v2.x | v3.0 |\n|---|------|------|\n| 输入 | 一句话主体 | 一段剧本 / 多张参考图 / 品牌规范 |\n| 输出 | 单帧 prompt | **完整短片脚本包** / **学到的新预设** / **品牌一致出图** |\n| 个性化 | 88 内置预设 | + **用户自学习风格** + **品牌套件** |\n| 生态位 | 独立工具 | + **创意四件套核心节点**（食谱整合 5 个 huo15 技能） |\n\n---\n\n## v2.6.0 — 2026-04-27\n\n**用户体验大版本：从 CLI 工具变成 GUI/IDE/笔记三栖产品。**\n\n### E1: character.py — 角色卡持久化（新文件 220 行）\n\n- 把 `--character-sheet` 模式的输出（subject 描述 + seed + camera/lighting/palette 五锁）存到 `~/.huo15/characters/<name>.json`\n- 新增两个 enhance_prompt.py 参数：\n  - `--save-char <name>` 保存当前调用为角色卡\n  - `--char <name>` 加载角色卡，自动注入主体 + 锁 seed/preset/aspect\n- 角色卡含 `use_count` 自增计数 + `created_at` / `updated_at` 时间戳\n- 独立 CLI 管理：`character.py --list / --show / --delete / --export / --import`\n- 用例：\n  ```bash\n  # Turn 1: 创建角色\n  enhance_prompt.py \"银发机甲少女 twin tails glowing visor\" -p 动漫 \\\\\n      --character-sheet --save-char 银发机甲少女\n  \n  # Turn 2 ~ N: 复用，多张图角色一致\n  enhance_prompt.py \"在霓虹街头\" --char 银发机甲少女 -p 赛博朋克\n  enhance_prompt.py \"在花海中\" --char 银发机甲少女\n  ```\n\n### D2: Obsidian 集成 — `--obsidian` 写入 vault\n\n- 自动检测 vault 路径（环境变量 `OBSIDIAN_VAULT` → `~/knowledge/huo15` → `~/Documents/Obsidian` → `~/Obsidian`）\n- 写入 `<vault>/图集/{date}-{subject}-{seed}.md`\n- 完整 frontmatter（tags/preset/model/aspect/seed/tier/version/date/mix）\n- markdown body 包含：原始描述、正负向提示词、一致性锁、元信息、Claude 润色记录、VLM 评审、复现 CLI 命令\n- 跟用户记忆里的\"L3 共享 KB wiki\"层级吻合，完成 huo15 三层记忆生态闭环\n\n### D3: mcp_server.py — MCP stdio server（新文件 280 行）\n\n让 **Claude Code / Cursor / Cline / Continue.dev** 等 MCP IDE 直接调用本技能的 9 个工具：\n\n- `enhance_prompt` — 88 预设 + 五锁\n- `list_presets` / `preset_examples` — 浏览预设 + 5 平台参考图链接\n- `suggest_presets` / `polish_prompt` — Claude 智能推荐 + 润色\n- `safety_lint` — 平台合规检查\n- `review_image` — Claude Vision 五维评审\n- `list_characters` / `load_character` — 角色卡管理\n\n实现细节：\n- **手写 JSON-RPC 2.0 over stdio**，零第三方依赖（不引 mcp SDK）\n- 完整 MCP 协议：initialize / tools/list / tools/call\n- 注册到 `~/.claude/mcp.json`：\n  ```json\n  {\n    \"mcpServers\": {\n      \"huo15-img-prompt\": {\n        \"command\": \"python3\",\n        \"args\": [\"/path/to/scripts/mcp_server.py\"]\n      }\n    }\n  }\n  ```\n\n### D1: web_ui.py — 本地 Web UI（新文件 380 行）\n\n```bash\npython3 web_ui.py             # 默认 http://127.0.0.1:7155\npython3 web_ui.py --port 8080\npython3 web_ui.py --no-browser\n```\n\n- 单文件 HTML（vanilla JS + Tailwind CDN，零构建）\n- Python `http.server.ThreadingHTTPServer` 当后端，零第三方依赖\n- 三栏布局：\n  - 左：主体输入 + 混合预设权重 + 画质 + 模型 + 画幅 + 角色卡选择\n  - 中：88 预设可视化卡片，按 9 大类分组，搜索过滤\n  - 右：实时正/负向提示词 + 一致性锁表格 + 元信息 + 一键复制\n- 自动开浏览器、Ctrl+C 退出\n\n### 全部新文件（v2.6 共 ~880 行）\n\n| 脚本 | 行数 | 用户群 |\n|------|------|--------|\n| `character.py` | 220 行 | CLI + 程序化复用 |\n| `mcp_server.py` | 280 行 | IDE 用户（Claude Code/Cursor） |\n| `web_ui.py` | 380 行 | 设计师/产品经理（GUI） |\n| `enhance_prompt.py` | + 80 行（save-char/char/obsidian + helpers） | — |\n\n### 兼容性\n\n- 完全向下兼容 v2.5\n- 新参数有默认值\n- 新文件不影响老脚本\n\n### 用户群拓展\n\n| 之前 | 现在 |\n|------|------|\n| 命令行用户 | + IDE 用户（MCP）+ GUI 用户（Web UI）+ Obsidian 用户 |\n| 单次调用 | + 跨调用一致性（角色卡）+ 三层记忆同步（Obsidian） |\n\n---\n\n## v2.5.0 — 2026-04-27\n\n**核心护城河上线：图生评审 + 闭环自动迭代。GPT-4o image / Claude Imagen 内部都做不到。**\n\n### C1: image_review.py — Claude Vision 五维评审（新文件 320 行）\n\n- 调 Claude Sonnet 4.5 Vision 评审一张图\n- 五维结构化打分（0-10）：subject_match / composition / lighting / palette / technical\n- 输出加权 overall_score（subject 0.3 / composition 0.2 / lighting 0.2 / palette 0.15 / technical 0.15）\n- 三档 verdict：PASS ≥ 7.5 / RETRY 5-7.5 / REJECT < 5\n- **可执行修复**：每个 issue 不写\"光线不好\"，直接给\"add: golden hour rim light, soft fill from camera left\"\n- 多图排名：`image_review.py a.png b.png c.png --rank` 自动批量评审排序\n- 简评模式 `--quick`（只输出 overall_score，省 token）\n- 完整模式启用 prompt caching，多图调用省 90% input token\n\n### C2: auto_iterate.py — 闭环自动迭代（新文件 350 行）\n\n把整个流程串成闭环：\n\n```\nenhance_prompt → render → image_review → 不达标？让 Claude 改 prompt → 回到第一步（≤ 3 轮）\n```\n\n- 9 个后端可选（DALL-E / SD-WebUI / ComfyUI / Replicate / Fal / 即梦 / 可灵 / 海螺）\n- 整轮锁定 seed，便于对比每轮的 prompt 改动到底改善了哪一维\n- Claude 改 prompt 的 system prompt 单独设计，输入是上轮评审，输出是 revised_subject + extra_negatives + extra_mood + rationale\n- 每轮 trace 全保留（subject + recipe + image_path + review + revision），最终选最高分\n- 用例：\n  ```bash\n  auto_iterate.py \"持剑女侠\" -p 赛博朋克 --backend dalle --target 7.5 --max-rounds 3\n  ```\n\n### C3: enhance_prompt.py 加 `--variants N`（A/B 测试）\n\n- 同 subject + 同 seed，仅在指定轴上分化\n- 内置 4 维差异轴：mood / composition / lighting / stylize\n- `--variant-axes mood,composition` 选差异轴（默认这俩）\n- 用例：\n  ```bash\n  # 出 4 个变体（mood × composition 笛卡尔积取 4 个）\n  enhance_prompt.py \"持剑女侠\" -p 赛博朋克 --variants 4 -j > variants.json\n\n  # 出图后挑最优（用 image_review.py 排名）\n  for f in renders/*.png; do echo \"$f\"; done | xargs image_review.py --rank\n  ```\n\n### A1: 智能预设推荐 `--suggest`\n\n- 解决\"温柔感\"、\"高级感\"等模糊描述匹配不到预设的痛点\n- 让 Claude 看用户描述 + 88 预设清单，返回 **top 3** 候选\n- 每个候选附 score (0-1) + 一句话 reason + best_subject_example\n- 同时给 mix_suggestion（自动判断该不该混合）\n- 同时暴露在 `enhance_prompt.py --suggest` 和 `claude_polish.py --suggest`\n- 用例：\n  ```bash\n  enhance_prompt.py \"温柔治愈感的画面\" --suggest\n  # → top_3: 疗愈治愈 / 奶油风 / 童话绘本，附理由 + 适合主体\n  ```\n\n### 兼容性\n\n- 完全向下兼容 v2.4\n- 新文件 `image_review.py` / `auto_iterate.py` 不影响老脚本\n- 所有新参数有默认值\n\n### 文件改动\n\n| 文件 | 改动 |\n|------|------|\n| `scripts/image_review.py` | 新文件 320 行 |\n| `scripts/auto_iterate.py` | 新文件 350 行 |\n| `scripts/enhance_prompt.py` | + 100 行（variants + suggest dispatch） |\n| `scripts/claude_polish.py` | + 90 行（suggest_presets 函数 + CLI） |\n| 其他 4 脚本 | VERSION bump |\n\n### 真实差异化\n\n这一版做完，huo15-img-prompt 有了 GPT-4o image / Claude Imagen 都没有的能力：\n- **闭环反馈**：能告诉用户\"这张图差在哪\"+\"下轮怎么改\"\n- **可解释性**：5 维分项打分 + 改进 trace 全留\n- **多模型协作**：Claude 评审 + DALL-E/Replicate/即梦 出图，跨厂商组合\n- **A/B 实验**：同 seed 控变量比较\n\n---\n\n## v2.4.0 — 2026-04-27\n\n**补齐 CLI 体验：扩 7 后端、prompt 压缩、参考图链接、多轮编辑。**\n\n### B1+B2: render_prompt.py 扩 7 个后端\n\n| 后端 | 环境变量 | 用例 |\n|------|---------|------|\n| `replicate` | `REPLICATE_API_TOKEN` | `--remote-model black-forest-labs/flux-schnell` |\n| `fal` | `FAL_KEY` | `--remote-model fal-ai/flux/schnell` |\n| `jimeng` | `ARK_API_KEY`（火山方舟） | 字节即梦 / Seedream 3.0 |\n| `kling` | `KLING_API_KEY` | 快手可灵 v1 |\n| `hailuo` / `minimax` | `MINIMAX_API_KEY` | 海螺 image-01 |\n\n加上原有的 `comfyui` / `sd-webui` / `dalle` / `none(dry-run)`，**共 10 个后端**。\n\n### F2: enhance_prompt.py 加 `--compact`\n\n- 自动估算 prompt token 数（中文按字、英文按 1.3 token/word）\n- 超过 CLIP 77 token 触发压缩：去重 + 同义合并 + 按权重保留\n- 必保头 6 段（主体 + camera 锁），尾部按预算砍\n- 输出 `compaction` meta：before/after token 数、砍了几段\n- 实测：v2.3 长 prompt 124 → 73 tokens（不损失主体）\n\n### F1: enhance_prompt.py 加 `--examples` / `--with-examples`\n\n- 88 预设全量映射到搜索关键词（`PRESET_SEARCH_TERMS`）\n- 实时生成 5 平台搜索 URL：Lexica / Civitai / Pinterest / Google Images / Unsplash\n- 用法：\n  - `enhance_prompt.py --examples 敦煌壁画` 单预设的 5 平台链接\n  - `enhance_prompt.py -l --with-examples` 列表模式带链接\n- **零维护策略**：不内置静态图 URL，靠搜索 query 永远有效\n\n### A2: enhance_prompt.py 加 `--session` / `--continue`\n\n- 持久化目录 `~/.huo15/sessions/<name>.json`\n- `--session catwindow` 保存当前调用\n- `--continue catwindow` 加载历史 session 作为默认值，**自动锁定 seed** 保持多轮一致性\n- CLI 参数 > session 默认值 > 系统默认（标准三层覆盖）\n- `--list-sessions` 列出全部历史\n- 用例：\n\n```bash\n# Turn 1\nenhance_prompt.py \"猫坐在窗台\" -p 写实摄影 --session catwindow\n# Turn 2: 改画幅 + 加情绪，seed 自动锁定保证主体一致\nenhance_prompt.py --continue catwindow --aspect 16:9 --mood 治愈\n# Turn 3: 完全换主体描述但保 seed 测一致性\nenhance_prompt.py \"猫站起来伸懒腰\" --continue catwindow\n```\n\n### 兼容性\n\n- 完全向下兼容 v2.3，所有新参数有默认值\n- session 文件格式版本化（`name`/`iterations[]`/`latest`/`count`），未来扩字段不破坏老文件\n\n### 文件改动\n\n| 文件 | 改动 |\n|------|------|\n| `scripts/enhance_prompt.py` | + 220 行（compaction + sessions + preset URLs） |\n| `scripts/render_prompt.py` | + 230 行（5 后端函数） |\n| 其他 4 脚本 | 仅 VERSION bump |\n\n---\n\n## v2.3.0 — 2026-04-26\n\n**接入 Claude API + 平台合规润色，并起中文别名「火一五文生图提示词」。**\n\n### 中文别名\n\n`displayName: 火一五文生图提示词`，aliases 列表新增`火一五文生图提示词` 排第一位。\n\n### enhance_prompt.py — 加 --polish / --safety\n\n| 参数 | 作用 |\n|------|------|\n| `--polish` | 先调 Claude API（ANTHROPIC_API_KEY）智能润色，再走 88 预设增强 |\n| `--safety <platform>` | 平台合规重写：DALL-E/MJ/SD/SDXL/Flux，自动把可能误判的艺术词替换 |\n\n两者可叠加使用：先 polish 让 Claude 写出专业描述，再 safety 把误判词艺术化。\n\n### 新增脚本：claude_polish.py（350 行）\n\n- **Claude API 直调**：纯 urllib，不引入 anthropic SDK，避免企业扫描器\n- **prompt caching 启用**：system prompt 用 `cache_control: ephemeral`，省 90% input token\n- **Prefill `{` + JSON 强约束**：assistant 起手 prefill 强制结构化输出\n- **88 风格预设嵌入 system prompt**：让 Claude 从清单里挑而非凭记忆\n- **XML 思维链**：内部 `<thinking>` 让 Claude 分步骤思考（refine/style/camera/safety/negatives）\n- **Platform warnings**：Claude 主动识别 DALL-E/MJ/SD 各自的风险点并给出建议\n- **--pipe**：输出可直接喂给 enhance_prompt.py 的 CLI 命令\n\n### 新增脚本：safety_lint.py（330 行）\n\n**仅服务合法艺术创作场景**，不做 jailbreak：\n\n✗ 红线（直接拒答）：\n- CSAM（任何含未成年 + 性化的组合）\n- 真人 + 色情 / 政治污蔑\n- 武器/毒品/爆炸物**制作方法/教程**\n- 自残/自杀**方法诱导**\n\n✓ 黄区（艺术化重写）：\n- **violence**: 鲜血/血/伤口/kill/murder/weapon/gun/knife → crimson splash / battle-scarred / vanquish / ceremonial blade\n- **nudity**: naked/nude/裸/sexy → classical figure study / fine art reference / fashion editorial\n- **horror**: horror/scary/gore/monster/demon/evil → gothic atmospheric tension / mythical creature / dark fantasy\n- **death**: dead/corpse/skeleton/skull → memento mori / classical allegory / vanitas still life\n- **real-person**: celebrity/明星/actor/politician → fictional protagonist / 80s aesthetic\n- **brand**: marvel/disney/nike/iphone → superhero comic style / classic animated film / athletic sportswear\n- **weapon-model**: ak47/glock/uzi → fictional assault rifle prop\n\n每词内置 `category` + `platforms_affected`。平台分级：\n- DALL-E `max` 严格度：所有黄区都触发高风险标记\n- MJ `high` 中等：暴力/真人/品牌触发高风险\n- SD/SDXL/Flux `low` 宽松（开源）：只对成人内容触发中风险\n\n输出三模式：默认人类可读 / `-j` JSON / `--apply` 直接输出重写文本（pipe 友好）。\n\n### 兼容性\n\n- **完全向下兼容 v2.2**：所有新参数有默认值\n- `--polish` 需 `ANTHROPIC_API_KEY`，未设置时报友好错误并不影响其他功能\n- `--safety` 是纯本地词典，无网络依赖\n\n### 设计原则\n\n我们**坚决不做** jailbreak / 越狱 / 绕过模型对齐：\n- 仅做\"合法艺术创作场景下的平台误判规避\"\n- 红线检测优先于重写\n- 替换词全部来自正规艺术、摄影、影视术语\n- 用户输入红线内容时直接 `sys.exit(2)` 并给出改写建议\n\n---\n\n## v2.2.0 — 2026-04-25\n\n**四件套大版本：混合预设 + 视频提示词 + 参考图反解 + 直出图片。**\n\n### 新增脚本\n\n| 脚本 | 作用 | 关键参数 |\n|------|------|---------|\n| `enhance_prompt.py` | 文生图（升级） | `-p A+B --mix 0.6` |\n| `enhance_video.py` ⭐ | 视频提示词 | `-m Sora/Kling/Runway/Pika/Luma/Hailuo/即梦/Wan` |\n| `reverse_prompt.py` ⭐ | 参考图反解 | A1111 / ComfyUI / NovelAI metadata + VLM 模板 |\n| `render_prompt.py` ⭐ | 提示词直出 | `--backend comfyui/sd-webui/dalle/none` |\n\n### enhance_prompt.py — 混合预设\n\n- **`-p \"A+B\"` 语法**：`赛博朋克+水墨` / `原神+敦煌壁画` / `glassmorphism+wabisabi` 任意两两融合\n- **`--mix <ratio>`**：主预设权重 0.1-0.9（默认 0.6）\n- **SD 模式**：自动加权重语法 `(primary_tag:1.16), (secondary_tag:1.04)`\n- **MJ/Flux/通用**：按比例前置主预设标签\n- **camera/lighting/palette 智能融合**：相机沿主预设、光影叠加、色板拼接、aspect 取主\n- **PRESET_NEG_EXCLUDE 双向生效**：主辅任一需要 logo/text/signature 都会从 universal_neg 剔除\n- **seed 锁定**：mix_label `A+B@0.60` 参与 hash，相同混合每次生成相同 seed\n\n### enhance_video.py — 视频提示词（新文件 470 行）\n\n- **9 大视频模型规格**：Sora / Kling 可灵 / Runway Gen-3/4 / Pika / Luma DreamMachine / Hailuo MiniMax / 即梦 Seedance / 通义 Wan2.1 / 通用\n- **30+ 镜头运动词典**：推/拉/摇/移/跟/环绕/手持/航拍/希区柯克/POV/子弹时间/延时/慢动作 ...\n- **9 节奏档位**：缓慢 / 宁静 / 中速 / 紧张 / 急促 / 快切 / 动感 / 史诗 ...\n- **30+ 主体动作自动抽词**：走/跑/跳/飞/舞/回眸/转身/挥剑/骑马/对视 ...\n- **关键帧三段式拆分**：开场建立 → 中段动作峰值 → 结尾落点\n- **视频专属负面词**：flicker / motion blur artifacts / identity drift / morphing artifacts\n- **复用 88 风格预设 + 混合预设**：视觉锁完全沿用 image preset 体系\n- **格式适配**：Pika 输出标签式，其他全部自然语言\n\n### reverse_prompt.py — 参考图反解（新文件 340 行）\n\n- **三层反解策略**：\n  1. **PNG metadata**：手写 PNG `tEXt`/`iTXt` 解析，零依赖（不引入 PIL）\n  2. **A1111/ComfyUI/NovelAI 三大格式自动识别**：parameters / prompt+workflow / Description+Comment\n  3. **VLM fallback 模板**：图无 metadata 时，输出标准化 88 预设选择 prompt 给 GPT-4o/Claude/Gemini/Qwen-VL\n- **启发式预设猜测**：35+ 关键词 → 预设映射（cyberpunk → 赛博朋克 / ghibli → 宫崎骏 / dunhuang → 敦煌壁画 ...）\n- **画幅自动推断**：从 size 字段算 ratio，匹配最近的 1:1/16:9/3:4/21:9 等\n- **三种输出**：`text`(默认) / `--mj`(单行 MJ prompt) / `-j`(结构化 JSON 可 pipe)\n- **支持本地路径 + 远程 URL**\n\n### render_prompt.py — 直出图片（新文件 270 行）\n\n- **4 个后端**：\n  - `comfyui` — 本地 ComfyUI HTTP API（默认 http://127.0.0.1:8188）\n  - `sd-webui` — AUTOMATIC1111 / Forge txt2img API（默认 http://127.0.0.1:7860）\n  - `dalle` — OpenAI DALL-E 3（OPENAI_API_KEY）\n  - `none` — dry-run，只输出 recipe JSON 不出图\n- **零第三方依赖**：纯 urllib，避免企业扫描器命中\n- **ComfyUI 默认 workflow**：内置 SDXL 9 节点 workflow，可用 `--workflow` 覆盖\n- **环境变量覆盖**：`COMFYUI_URL` / `SDWEBUI_URL`\n- **支持混合预设直出**\n\n### 新增功能矩阵\n\n| 维度 | v2.1 | v2.2 |\n|------|------|------|\n| 出图前 | 提示词增强 | + **混合预设**（任意两两融合） |\n| 出图中 | （手工复制到模型） | + **直出**（comfyui/sd-webui/dalle） |\n| 出图后 | （无） | + **反解**（A1111/ComfyUI/NovelAI metadata） |\n| 视频 | （不支持） | + **视频提示词**（9 模型 + 关键帧 + 镜头运动） |\n\n### 兼容性\n\n- **完全向下兼容**：v2.1 所有 CLI 命令在 v2.2 不变；新参数均有默认值\n- **JSON 字段新增**：`mix_secondary` / `mix_ratio` / `mix_label`（旧字段保留）\n- **enhance_video.py / reverse_prompt.py / render_prompt.py 是新文件**，不影响 enhance_prompt.py 老用户\n\n### 未变\n\n- 88 风格预设、五锁机制、系列模式、角色设定图、质量档位 — 全部保留\n\n---\n\n## v2.1.0 — 2026-04-24\n\n**再扩充：更贴近需求 + 更多风格 + 角色一致性。**\n\n### 新增风格预设（+32 款，总 56 → 88）\n\n- **游戏艺术（新类，7）**：原神 / 崩铁星穹 / 英雄联盟 / 暗黑4 / Valorant / Pokemon / 暴雪风\n- **东方传统（新类，7）**：敦煌壁画 / 青花瓷 / 民国月份牌 / 年画 / 剪纸 / 和风 / 汉服写真\n- **动漫扩展（+4）**：萌系 / 厚涂 / 轻小说封面 / 赛璐璐\n- **现代设计（+6）**：玻璃拟态 / 新拟态 / 孟菲斯 / 杂志编排 / 包豪斯 / 奶油风\n- **建筑氛围（+3）**：粗野主义 / 北欧极简 / 侘寂\n- **摄影扩展（+3）**：暗黑美食 / 日杂 / 街头潮流\n- **氛围综合（+2）**：疗愈治愈 / 美式复古\n\n### 新功能\n\n- **角色设定图模式** `--character-sheet` / `-cs`：\n  - 自动生成 T-pose + 正面 / 三分之二 / 侧面 / 背面多视图的设定图提示词\n  - 专为 Midjourney `--cref`、Stable Diffusion IP-Adapter 做角色参考用\n  - 画幅自动锁 16:9\n- **时间 / 天气 / 季节 自动抽词**：\n  - 14 时间词：清晨 / 黎明 / 黄昏 / 日落 / 深夜 / 蓝调时刻 / 魔法时刻 ...\n  - 15 天气词：晴天 / 下雨 / 暴雨 / 下雪 / 暴雪 / 雾天 / 雷雨 ...\n  - 10 季节词：春夏秋冬 / 樱花季 / 枫叶季\n- **负向需求识别**：识别主体描述中的\"不要X / 没有X / 避免X / no X / avoid X / without X\"，自动从正向提示中移除并加入负面提示。\n- **质量档位** `-t basic / pro / master`：\n  - `basic`: `high quality, detailed`（省 token）\n  - `pro` (默认): `masterpiece, best quality, ultra detailed, 8k`\n  - `master`: 叠加 `hdr, intricate details, sharp focus, award winning, trending on artstation, professional, highly polished`\n- **显式负面追加** `--avoid \"cluttered, people\"`：CLI 级附加负面词。\n\n### 新增别名（+45）\n\n`genshin` / `mihoyo` / `honkai` / `starrail` / `lol` / `diablo` / `valorant` / `pokemon` / `blizzard` / `overwatch` / `dunhuang` / `qinghua` / `porcelain` / `yuefenpai` / `wafu` / `hanfu` / `papercut` / `nianhua` / `moe` / `lightnovel` / `lncover` / `celshaded` / `glassmorphism` / `glass` / `neumorphism` / `memphis` / `editorial` / `bauhaus` / `cream` / `korean` / `brutalism` / `brutalist` / `nordic` / `scandinavian` / `wabisabi` / `zen` / `darkfood` / `muji` / `streetwear` / `hypebeast` / `healing` / `cozy` / `americana` ...\n\n### 改进\n\n- 主体描述中的\"不要X\"子句会先被 `strip_negative_clauses()` 去除再送入正向提示，避免正向污染。\n- `print_prompt()` 输出增加 ⭐ 质量档位、👤 角色设定图模式、🕐 时间、☁️ 天气、🍂 季节、🚫 用户负向 六个新字段展示。\n- `list_presets()` 按 8 大类分类展示（新增\"游戏\" / \"东方\"分组）。\n\n### 兼容性\n\n- **向下兼容**：v2.0 CLI 命令在 v2.1 完全可用，所有新参数均有默认值。\n- **JSON 字段新增**：`quality_tier` / `character_sheet` / `time_of_day` / `weather` / `season` / `user_negatives`（旧字段保留）。\n\n---\n\n## v2.0.0 — 2026-04-24\n\n**大版本升级：一致性 + 贴近需求 + 风格扩充。**\n\n### 新增\n\n- **风格预设 17 → 56**，六大分类：\n  - 摄影 10（新增：黑白摄影 / 人像摄影 / 时尚大片 / 美食摄影 / 微距摄影 / 航拍摄影 / 街拍纪实）\n  - 动漫 6（新增：新海诚 / 宫崎骏 / 美漫 / Q版 / 童话绘本）\n  - 插画 7（新增：工笔国画 / 浮世绘 / 线稿）\n  - 3D 7（全部新增：3DC4D / 盲盒手办 / 低多边形 / 等距视图 / 粘土 / 毛毡手工 / 纸艺）\n  - 设计 10（新增：平面设计 / Logo设计 / 图标设计 / 信息图 / 品牌KV / 专辑封面 / 电影海报 / 表情包）\n  - 艺术史 4（全部新增：印象派 / 后印象派 / 新艺术 / 装饰艺术）\n  - 场景氛围 12（新增：黑暗奇幻 / Y2K / Vaporwave / 霓虹灯牌 / 概念艺术）\n- **一致性四锁**：每个预设内置 `camera` / `lighting` / `palette` / `aspect` 四项独立锁，系列出图风格不再漂移。\n- **系列批量模式** `-s N --variations \"A,B,C,D\"`：共享 seed + 四锁，主体描述差异化，一次生成一整套。\n- **意图识别器**：无需指定 `-p`，脚本从\"logo/产品/海报/头像/美食/赛博/水墨...\"等关键词自动推荐预设 + 画幅。\n- **构图/情绪抽词**：主体描述中的\"俯拍/特写/航拍/神秘/温馨/史诗...\"自动并入提示词。\n- **稳定 seed 建议**：基于 `md5(subject + preset)` 生成 32-bit seed，便于复现。\n- **英文 / 同义词别名**：60+ 别名（anime、ghibli、cyberpunk、minimal、3d、logo、neon、vapor…）。\n- **多模型精细化适配**：\n  - Midjourney 输出 `--ar --stylize`，提示 `--cref/--sref`\n  - Stable Diffusion 输出权重语法 `(subject:1.2)`，提示采样器/CFG\n  - SDXL 输出推荐尺寸（`1216x832` 等）\n  - Flux 输出长句自然语言 + guidance 提示\n  - DALL-E 3 输出段落式自然语言\n- **JSON 输出** `-j`：结构化一致性锁 + 所有参数，便于下游集成。\n- **CLI 增强**：`-a/--aspect`、`--mood`、`--composition`、`--seed`、`-l/--list`、`-v/--version`。\n\n### 修复\n\n- 修复 Logo设计 / 图标设计 / 表情包 / 海报 等预设的**全局负面词包含 \"logo/text\"** 导致的语义自我否定。\n- 修复 水墨 / 工笔国画 / 浮世绘 预设中**负面词包含 \"signature\"** 与画面印章冲突。\n\n### 破坏性变更\n\n- `build_prompt()` 返回 dict 新增 `aspect` / `seed_suggestion` / `consistency_lock` / `hint` / `version` 字段（向下兼容，原有字段保留）。\n\n---\n\n## v1.0.0 — 2026-04-24（初始版本）\n\n- 17 风格预设（写实摄影 / 胶片摄影 / 动漫 / 赛博朋克 / 水彩 / 油画 / 建筑可视化 / 产品设计 / 像素艺术 / 奇幻 / 科幻 / 复古海报 / 水墨 / 蒸汽朋克 / 极简主义 / 电影感 / 国潮）。\n- 支持 Midjourney / SD / DALL-E / 通用 四种输出骨架。\n- CLI：`subject -p <preset> -m <model> [-l] [-j]`。\n\nFile v3.2.0:QUICKSTART.md\n\n# 快速上手 — 三层级\n\n> 30 秒 / 5 分钟 / 30 分钟，按你想投入的时间往下读。\n\n## 0. 首次安装后先跑这个\n\n```bash\npython3 scripts/doctor.py --quick\n```\n\n会告诉你：\n\n- 14 个脚本是否都能 import + 版本是否一致\n- 哪些 API key 已配 / 缺哪些（按需）\n- Obsidian vault 检测到没\n- 持久化资产盘点（characters / sessions / brand_kits / learned_presets）\n\n如果看到 `✗ ANTHROPIC_API_KEY 未设置（必填）`，先：\n\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-xxx     # 把 sk-ant-xxx 换成你的真实 key\n# 或写到 ~/.zshrc / ~/.bashrc\n```\n\n---\n\n## 30 秒：第一条命令\n\n```bash\nscripts/enhance_prompt.py \"一只赛博朋克的猫\" -p 赛博朋克 -m Midjourney\n```\n\n复制 `✅ 正向提示词` 那段，粘贴到 Midjourney/Discord，回车出图。\n\n完了，就这么简单。\n\n---\n\n## 5 分钟：基础工作流\n\n### Step 1: 选预设（不知道选哪个 → 让 Claude 推荐）\n\n```bash\nscripts/enhance_prompt.py \"温柔治愈感的画面\" --suggest\n```\n\nClaude 会从 88 预设里挑 top 3，附评分 + 适合场景。\n\n### Step 2: 出图\n\n```bash\n# 基础（自己挑预设）\nscripts/enhance_prompt.py \"咖啡馆窗边的少女\" -p 胶片摄影 -m Midjourney\n\n# 混合两种风格（v3.0 特性）\nscripts/enhance_prompt.py \"持剑女侠\" -p \"赛博朋克+水墨\" --mix 0.6 -m SDXL\n\n# A/B 测试出 4 个变体（同 seed，不同 mood/composition）\nscripts/enhance_prompt.py \"夜晚街景\" -p 电影感 --variants 4 -j > /tmp/variants.json\n```\n\n### Step 3: 保存常用资产\n\n```bash\n# 角色卡（跨调用保持一致）\nscripts/enhance_prompt.py \"银发机甲少女, twin tails, glowing visor\" \\\n    -p 动漫 --character-sheet --save-char silver_mecha\n\n# 后续直接用\nscripts/enhance_prompt.py \"在霓虹街头\" --char silver_mecha\nscripts/enhance_prompt.py \"在花海中\" --char silver_mecha\n# → 自动锁 seed，三张图角色一致\n```\n\n### Step 4: 看预设示例图\n\n```bash\nscripts/enhance_prompt.py --examples 敦煌壁画\n# 输出 5 平台搜索 URL（Lexica / Civitai / Pinterest / Google / Unsplash）\n```\n\n---\n\n## 30 分钟：完整工作流\n\n### A. 端到端品牌 KV（食谱 1）\n\n```bash\n# 1. 导入示例品牌套件\ncat examples/brand_kit-song_tea.json | scripts/brand_kit.py --import\n\n# 2. 用品牌套件 + 智能润色 + 闭环迭代\nscripts/auto_iterate.py \"宋韵茶饮品牌主视觉，一杯热茶，远山轮廓\" \\\n    -p \"汉服写真+水墨\" \\\n    --backend dalle \\\n    --target 7.5 \\\n    --max-rounds 3\n# → Claude Vision 五维评审，分数 < 7.5 自动改 prompt 重出\n```\n\n### B. 学习自己喜欢的风格\n\n```bash\n# 给 N 张参考图（你自己拍的、收藏的）\nscripts/style_learn.py --name 我的小清新 \\\n    refs/morning_cafe.jpg \\\n    refs/sunset.jpg \\\n    refs/quiet_corner.jpg \\\n    refs/film_kodak.jpg\n\n# 后续用 @ 前缀调用\nscripts/enhance_prompt.py \"猫咪坐在窗台\" -p \"@我的小清新\"\n```\n\n### C. 短片故事板（v3.0 杀手 feature）\n\n```bash\n# 输入剧本 → Claude 拆 6 关键帧 + 5 个转场\nscripts/storyboard.py < examples/storyboard-cat_rainy_night.txt \\\n    -p 电影感 --scenes 6 \\\n    -m Midjourney --video-model Sora \\\n    --output ./renders/cat_rainy_night\n```\n\n输出（在 `./renders/cat_rainy_night/`）：\n\n- `storyboard.json` 完整数据\n- `scene-{01-06}-t2i.txt` 6 个关键帧 T2I prompt\n- `transition-{xx-to-yy}-t2v.txt` 5 个转场 T2V prompt\n- `README.md` 可读总览\n\n把 6 个 scene prompt 喂 Midjourney，5 个 transition prompt 喂 Sora，剪辑串联即得 ~30 秒短片。\n\n### D. 在 IDE 里直接用（Claude Code / Cursor）\n\n注册到 `~/.claude/mcp.json`：\n\n```json\n{\n  \"mcpServers\": {\n    \"huo15-img-prompt\": {\n      \"command\": \"python3\",\n      \"args\": [\"/path/to/huo15-img-prompt/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n然后在 Claude Code：\n\n```\n> @huo15-img-prompt 帮我给落地页做 hero 图，主题是\"AI 编程助手\"，要科技感但温暖\n```\n\nClaude Code 会自动调链路：suggest_presets → polish_prompt → enhance_prompt → review_image。\n\n### E. 本地 Web UI\n\n```bash\npython3 scripts/web_ui.py\n# 自动开浏览器到 http://127.0.0.1:7155\n```\n\n可视化 88 预设、实时 prompt 预览、一键复制。\n\n### F. 把 recipe 沉淀到 Obsidian\n\n```bash\nscripts/enhance_prompt.py \"...\" --obsidian\n# 自动写入 ~/knowledge/huo15/图集/ 或 OBSIDIAN_VAULT 指定位置\n# 含完整 frontmatter + 复现命令\n```\n\n---\n\n## 常见问题\n\n### Q1: 我没有 ANTHROPIC_API_KEY，能用吗？\n\n可以。**80% 功能不依赖 Claude**：\n- ✅ enhance_prompt（88 预设 / 五锁 / 混合 / variants / compact）\n- ✅ enhance_video（视频提示词）\n- ✅ reverse_prompt（参考图反解，metadata 模式）\n- ✅ render_prompt（10 后端直出，需要对应后端的 key）\n- ✅ safety_lint（红线检测，纯本地词典）\n- ✅ character / brand_kit（持久化）\n- ✅ web_ui / mcp_server\n\n需要 ANTHROPIC_API_KEY 的：\n- ❌ claude_polish（智能润色）\n- ❌ image_review（VLM 评审）\n- ❌ auto_iterate（闭环迭代）\n- ❌ storyboard（剧本拆分）\n- ❌ style_learn（风格学习）\n- ❌ --suggest 推荐预设\n\n### Q2: 我能在 Anaconda 环境里用吗？\n\n可以，纯标准库，没有第三方依赖。任何 Python 3.8+ 环境都行。\n\n### Q3: 哪些后端最值得配？\n\n- **入门**：DALL-E 3（OPENAI_API_KEY，质量稳定，文字渲染好）\n- **省钱**：本地 ComfyUI / SD WebUI（一次性下载模型，永久免费）\n- **国产场景**：字节即梦（ARK_API_KEY，中文场景效果好）\n- **快速试**：Replicate flux-schnell（REPLICATE_API_TOKEN，4 步出图）\n\n### Q4: 14 个脚本太多，我从哪 3 个开始？\n\n1. `enhance_prompt.py` — 这是核心，所有路径都从它开始\n2. `doctor.py` — 出问题先跑这个\n3. `web_ui.py` — 不想敲命令的时候用\n\n剩下的按需：要出图 → render_prompt；要短片 → storyboard；要做品牌一致 → brand_kit。\n\n### Q5: 出来的 prompt 太长，SDXL 会截断怎么办？\n\n```bash\nscripts/enhance_prompt.py \"...\" -m SDXL --compact\n# 自动压缩到 CLIP 77 token 内\n```\n\n### Q6: 我之前的图想改一改，prompt 丢了\n\n```bash\nscripts/reverse_prompt.py 你的图.png\n# 自动从 PNG metadata 提取 A1111/ComfyUI/NovelAI 三种格式的 prompt\n```\n\n如果图没 metadata：\n\n```bash\nscripts/reverse_prompt.py 你的图.png --vlm\n# 输出标准 VLM 模板，复制给 GPT-4o / Claude Sonnet 4.5 / Gemini 即可\n```\n\n---\n\n## 下一步\n\n- 完整 88 预设：`scripts/enhance_prompt.py -l --with-examples`\n- 食谱书：[RECIPES.md](RECIPES.md)\n- 完整 CLI：每个脚本都有 `-h` / `--help`\n\n有问题先跑 `doctor.py`，再到 [https://clawhub.ai/skills/huo15-img-prompt](https://clawhub.ai/skills/huo15-img-prompt) 看 issue。\n\nFile v3.2.0:RECIPES.md\n\n# 火一五创意生态 — 整合食谱\n\n> v3.0 加入 huo15 创意生态后，huo15-img-prompt 不再是独立工具，而是「创意管线」的核心节点。\n> 本文档列出和其他 huo15-openclaw-* 技能的串联用法。\n\n## 火一五创意全家桶\n\n| 技能 | 角色 |\n|------|------|\n| `huo15-openclaw-design-director` | 选设计方向（5 流派 × 20 哲学 → 3 方向反差对比） |\n| `huo15-openclaw-brand-protocol` | 抓品牌规范（Ask/Search/Download/Verify/Codify） |\n| `huo15-openclaw-frontend-design` | 高保真 Web UI 落地 + 设计 tokens |\n| `huo15-openclaw-design-critique` | 5 维设计评审 + Keep/Fix/Quick Wins |\n| **`huo15-img-prompt`** ⭐ | 文生图 + 文生视频 + 闭环迭代 |\n\n---\n\n## 食谱 1：从零到一做品牌 KV（key visual）\n\n```\n设计方向 → 品牌规范 → 出图 → 评审 → 落地\n```\n\n### Step 1: design-director 选方向\n\n```\n> 我要做一个茶饮品牌，希望有东方气质但又年轻\n```\n\n→ design-director 给 3 个反差对比方向（如：宋韵极简 / 国潮复古 / 禅意新中式）。\n\n### Step 2: brand-protocol 沉淀品牌规范\n\n选定\"宋韵极简\"后：\n\n```\n> 帮我把这个方向 codify 成 brand kit\n```\n\n→ brand-protocol 输出：colors / fonts / visual_keywords / forbidden 元素。\n\n导入 huo15-img-prompt：\n\n```bash\nbrand-protocol-output.json | brand_kit.py --import\n# 或手动创建\nbrand_kit.py --create song_tea \\\n    --colors \"#2C5F2D, #97BC62, #F7F4EA\" \\\n    --fonts \"Songti SC, Source Han Serif\" \\\n    --keywords \"宋韵, 极简, 留白, 文人画\" \\\n    --forbidden \"modern digital, neon, cyberpunk\"\n```\n\n### Step 3: img-prompt 出 KV 图\n\n```bash\n# 用品牌套件 + 推荐预设\nenhance_prompt.py \"茶饮品牌主视觉, 一杯热茶, 远山\" \\\n    -p \"汉服写真+水墨\" \\\n    --brand-kit song_tea \\\n    --polish        # Claude 智能润色\n\n# 或闭环迭代到 7.5 分\nauto_iterate.py \"茶饮品牌主视觉\" \\\n    -p \"汉服写真+水墨\" \\\n    --backend dalle \\\n    --target 7.5\n```\n\n### Step 4: design-critique 评审\n\n```\n> 用 design-critique 评审这套图\n```\n\n→ Keep/Fix/Quick Wins 三分类反馈。\n\n### Step 5: frontend-design 落地\n\n把出图作为 hero 图，调用 frontend-design 生成完整官网：\n\n```\n> 用 frontend-design 给这个茶饮品牌做落地页，hero 用上面这张 KV\n```\n\n→ 完整 HTML/CSS/JS 原型，沿用 brand kit 的 tokens。\n\n---\n\n## 食谱 2：自学习风格 + 角色一致性 + 视频短片\n\n适合个人 IP / 自媒体内容创作。\n\n### Step 1: style_learn 学习独有风格\n\n收集你喜欢的 5-10 张图（自己拍的、收藏的、参考的）：\n\n```bash\nstyle_learn.py --name 我的小清新 \\\n    refs/morning_cafe.jpg \\\n    refs/sunset_seoul.jpg \\\n    refs/film_kodak.jpg \\\n    refs/window_light.jpg \\\n    refs/quiet_corner.jpg\n```\n\n→ Claude Vision 综合 5 张图共性 → 生成 learned preset `@我的小清新`。\n\n### Step 2: character 创建固定角色\n\n```bash\nenhance_prompt.py \"20 岁亚裔女孩, 长直发, 圆框眼镜, 米白毛衣\" \\\n    -p \"@我的小清新\" \\\n    --character-sheet \\\n    --save-char 我的女主\n```\n\n### Step 3: storyboard 拆短片剧本\n\n```bash\nstoryboard.py \"女主在咖啡馆度过的下雨午后，从写信到收到回信\" \\\n    -p \"@我的小清新\" \\\n    --scenes 6 \\\n    -m Midjourney \\\n    --video-model Sora \\\n    --output ./my_story\n```\n\n→ 6 个关键帧 + 5 个转场，每个都 prompt 完整可用。\n\n### Step 4: 出图 + 出视频\n\n```bash\n# 关键帧用 Midjourney 出\nfor f in my_story/scene-*-t2i.txt; do\n    cat $f | grep -A1 '## Positive' | tail -1\n    # 喂给 MJ\ndone\n\n# 转场用 Sora 出（关键帧作为首帧）\nfor f in my_story/transition-*.txt; do\n    # 喂给 Sora i2v 模式\ndone\n\n# 剪辑串联即得短片\n```\n\n### Step 5: 评审反馈\n\n```bash\nimage_review.py my_story/renders/*.png --rank\n```\n\n不好的轮次让 auto_iterate 自动改。\n\n---\n\n## 食谱 3：电商商品图全套\n\n### Step 1: brand_kit 沉淀品牌色\n\n```bash\nbrand_kit.py --create my_brand \\\n    --colors \"#FF6B35, #1A1A2E, #FAFAFA\" \\\n    --keywords \"清爽, 现代, 高级感\"\n```\n\n### Step 2: 用变体测试找最优 prompt\n\n```bash\nenhance_prompt.py \"无线耳机产品图, 白底, 30 度俯视\" \\\n    -p 产品摄影 \\\n    --brand-kit my_brand \\\n    --variants 6 \\\n    --variant-axes mood,composition,lighting\n\n# 出 6 张图后排名\nimage_review.py renders/variant-*.png --rank\n```\n\n### Step 3: 锁定最优 → 系列扩展\n\n最优变体的 seed → 用作角色卡：\n\n```bash\nenhance_prompt.py \"无线耳机产品图\" \\\n    -p 产品摄影 \\\n    --brand-kit my_brand \\\n    --save-char earphone_main \\\n    --seed <最优 seed>\n\n# 后续所有变体（不同角度、配件、场景）共用\nenhance_prompt.py \"无线耳机展示图，环境光\" --char earphone_main\nenhance_prompt.py \"无线耳机加包装\" --char earphone_main\nenhance_prompt.py \"无线耳机使用场景\" --char earphone_main\n```\n\n### Step 4: 沉淀到 Obsidian\n\n```bash\nenhance_prompt.py \"...\" --char earphone_main --obsidian\n```\n\n→ 所有 recipe 写入 vault `图集/`，方便后续团队 review。\n\n---\n\n## 食谱 4：Claude Code 工作流（IDE 内调用）\n\n注册 MCP server 到 `~/.claude/mcp.json`：\n\n```json\n{\n  \"mcpServers\": {\n    \"huo15-img-prompt\": {\n      \"command\": \"python3\",\n      \"args\": [\"/path/to/huo15-img-prompt/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n然后在 Claude Code 里：\n\n```\n> @huo15-img-prompt 帮我给落地页做一张 hero 图，主题是\"AI 编程助手\"，要科技感但温暖\n```\n\nClaude Code 会：\n1. 调 `suggest_presets` 推荐 top-3\n2. 调 `polish_prompt` 润色\n3. 调 `enhance_prompt` 出 prompt\n4. 你出图后调 `review_image` 五维评审\n5. 不好让 Claude 改 prompt 重出（闭环）\n\n---\n\n## 食谱 5：和 huo15-openclaw-knowledge-base 联动\n\n把 brand_kit + character_card + learned_preset 沉淀到 huo15 知识库：\n\n```bash\n# brand_kit 导出 → 入库\nbrand_kit.py --export song_tea | jq '.' > raw/song_tea_brand.json\n# 然后用 knowledge-base 编译入 wiki\n\n# character 导出 → 入库\ncharacter.py --export 我的女主 > raw/heroine.json\n```\n\n→ wiki 全局搜索时这些资产可被检索。\n\n---\n\n## 设计原则\n\n1. **每个技能管自己一段**：design-director 选方向，img-prompt 出图，design-critique 评审\n2. **数据格式互通**：brand_kit / character / learned_preset 都是标准 JSON，可在技能间传递\n3. **Claude 是协调者**：用 Claude Code + MCP 让 Claude 自动选择合适的技能链路\n4. **闭环优先**：每一步都有\"评审 → 改 → 重做\"的能力，不要单步走到底\n\n## 反对的做法\n\n❌ 把所有功能塞到一个技能里（违反\"每个 skill 独立模块化\"原则）\n❌ 在 img-prompt 里复刻 design-director 的方向选择能力（重复造轮子）\n❌ 不沉淀 brand_kit / character / learned_preset 到 ~/.huo15/（每次重新生成）\n❌ 跳过评审直接发布（v2.5 的闭环迭代是免费的，不用白不用）\n\n---\n\n由 huo15-img-prompt v3.0 发布，后续随生态扩展持续更新。\n\nFile v3.2.0:skill-card.md\n\n## Description:\n\nHuo15 Img Prompt helps agents generate, refine, review, and package text-to-image, text-to-video, storyboard, brand-kit, and style-learning prompts for Midjourney, SD/SDXL, Flux, DALL-E 3, Sora, Kling, and related creative workflows.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhaobod1](https://clawhub.ai/user/zhaobod1)\n\n### License/Terms of Use:\n\nMIT\n\n## Use Case:\n\nDevelopers, designers, and creative teams use this skill to turn briefs, subjects, scripts, reference styles, and brand constraints into reusable prompts, prompt variants, storyboards, character assets, and creative production guidance for image and video generation tools.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can call paid external model APIs and send prompts, images, local files, or API-key-backed requests to network services.\n\nMitigation: Configure only trusted API providers, keep credentials scoped to the intended services, and review generated commands before running workflows that upload files or call external APIs.\n\nRisk: The MCP server exposes creative tools to an agent and can broaden what the agent may execute in a session.\n\nMitigation: Register the MCP server only in trusted local agent environments and avoid shared or untrusted workspaces.\n\nRisk: The image review workflow can operate on arbitrary local paths.\n\nMitigation: Use review_image only with intended non-sensitive image files and avoid passing private directories or unrelated file paths.\n\nRisk: The Web UI and persisted character or project data may contain sensitive creative or brand material.\n\nMitigation: Run the Web UI only on loopback and avoid storing sensitive character, brand, or prompt data unless local persistence is acceptable.\n\nRisk: A custom ANTHROPIC_BASE_URL can redirect model traffic through an unintended gateway.\n\nMitigation: Leave ANTHROPIC_BASE_URL unset unless it points to a trusted HTTPS endpoint.\n\n## Reference(s):\n\n- [Huo15 Img Prompt ClawHub page](https://clawhub.ai/zhaobod1/skills/huo15-img-prompt)\n- [Quickstart](artifact/QUICKSTART.md)\n- [Recipes](artifact/RECIPES.md)\n- [T2I prompt engineering guide](artifact/references/t2i-guide.md)\n- [Changelog](artifact/CHANGELOG.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with prompt text, JSON payloads, configuration snippets, and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May persist project assets under ~/.huo15 and may generate files such as storyboards, scene prompts, transition prompts, brand kits, character cards, and learned presets.]\n\n## Skill Version(s):\n\n3.2.0 (source: frontmatter, changelog, server release metadata, artifact _meta.json)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v3.2.0:examples/brand_kit-song_tea.json\n\n{\n  \"name\": \"song_tea\",\n  \"version\": \"3.1.0\",\n  \"description\": \"宋韵东方茶饮品牌套件示例 — 用于 RECIPES.md 食谱 1\",\n  \"colors\": [\n    \"#2C5F2D\",\n    \"#97BC62\",\n    \"#F7F4EA\",\n    \"#3E2723\"\n  ],\n  \"fonts\": [\n    \"Songti SC\",\n    \"Source Han Serif\",\n    \"Noto Serif CJK SC\"\n  ],\n  \"keywords\": [\n    \"宋韵\",\n    \"极简\",\n    \"留白\",\n    \"文人画\",\n    \"山水意境\",\n    \"克制\"\n  ],\n  \"forbidden\": [\n    \"modern digital\",\n    \"neon\",\n    \"cyberpunk\",\n    \"harsh contrast\",\n    \"saturated cartoon\"\n  ],\n  \"logo_description\": \"minimal seal-script chinese character on parchment\",\n  \"use_count\": 0\n}\n\nFile v3.2.0:examples/character-silver_mecha.json\n\n{\n  \"name\": \"silver_mecha\",\n  \"version\": \"3.1.0\",\n  \"description\": \"示例角色卡：银发机甲少女 — 用于演示 --char 跨调用一致性\",\n  \"use_count\": 0,\n  \"subject_description\": \"银发双马尾机甲少女，发光面甲，藏青色机甲战衣，轮廓发光线条\",\n  \"preset\": \"动漫\",\n  \"mix_secondary\": \"\",\n  \"mix_ratio\": null,\n  \"aspect\": \"16:9\",\n  \"seed\": 1154904041,\n  \"camera\": \"low angle hero shot, 50mm portrait lens, shallow depth of field\",\n  \"lighting\": \"anime-style soft light, rim light on hair, glowing visor accent\",\n  \"palette\": \"vibrant saturated anime palette, silver and deep navy, neon cyan accents\",\n  \"is_character_sheet\": true,\n  \"positive_anchor\": \"silver-haired twin-tails mecha girl, glowing visor, navy mecha armor\"\n}\n\nFile v3.2.0:examples/learned_preset-fresh_film.json\n\n{\n  \"name\": \"fresh_film\",\n  \"version\": \"3.1.0\",\n  \"description\": \"示例 learned preset：清新胶片风格 — 用于演示 -p '@fresh_film' 调用\",\n  \"created_at\": 1745000000,\n  \"use_count\": 0,\n  \"category\": \"学习\",\n  \"tags\": \"kodak portra 400 film stock, soft natural light, muted earth tones, hazy atmospheric, lifestyle photography, japanese magazine aesthetic\",\n  \"quality\": \"raw photo, fine grain, scanned film, masterpiece, best quality\",\n  \"neg\": \"harsh contrast, oversaturated, hdr, plastic skin, digital sharpness, neon\",\n  \"camera\": \"35mm film camera, 50mm prime, shallow depth of field, slight handheld feel\",\n  \"lighting\": \"soft window light, golden hour rim, slightly underexposed, natural ambient fill\",\n  \"palette\": \"muted earth tones, faded film colors, sage green, warm cream, soft blush\",\n  \"aspect\": \"3:2\",\n  \"synthesis_notes\": \"日杂感的清新胶片风：自然光、克制色彩、留白构图、低饱和高级感\",\n  \"best_subject_examples\": [\n    \"咖啡馆里的窗边少女\",\n    \"雨后湿漉漉的窗台\",\n    \"夏末的乡村小路\"\n  ],\n  \"confidence\": 0.85,\n  \"source_count\": 5,\n  \"source_images\": [\n    \"(示例文件，源图省略)\"\n  ]\n}\n\nFile v3.2.0:examples/storyboard-cat_rainy_night.txt\n\n## 示例剧本：一只猫的雨夜散步\n\n一只灰色的小猫从晴朗的午后城市出发，慢慢走过繁忙的街道。\n天色渐渐变暗，乌云聚集，开始下雨。\n小猫躲进路边的小巷，雨水打湿了它的毛。\n霓虹灯亮起，猫在湿漉漉的路面上倒映出彩色的光。\n最后，它推开一扇半掩的门，走进温暖的小餐馆。\n\n---\n\n## 用法\n\n```bash\nstoryboard.py < examples/storyboard-cat_rainy_night.txt \\\n    -p 电影感 --scenes 6 \\\n    -m Midjourney --video-model Sora \\\n    --output ./renders/cat_rainy_night\n```\n\n输出 6 个关键帧 + 5 个转场到 ./renders/cat_rainy_night/。\n\n每个 scene 用 Midjourney 出图，每个 transition 用 Sora 出短视频，剪辑串联即得 ~30 秒短片。\n\nArchive v3.1.0: 29 files, 167557 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (32183b), examples/brand_kit-song_tea.json (622b), examples/character-silver_mecha.json (765b), examples/learned_preset-fresh_film.json (1182b), examples/README.md (1912b), examples/recipe-1-brand_kv.sh (1879b), examples/storyboard-cat_rainy_night.txt (757b), QUICKSTART.md (6822b), RECIPES.md (7091b), references/t2i-guide.md (7337b), scripts/auto_iterate.py (17976b), scripts/brand_kit.py (11023b), scripts/character.py (9641b), scripts/claude_polish.py (19344b), scripts/doctor.py (13472b), scripts/enhance_prompt.py (119303b), scripts/enhance_video.py (22007b), scripts/image_review.py (15320b), scripts/mcp_server.py (13897b), scripts/render_prompt.py (26975b), scripts/reverse_prompt.py (16914b), scripts/safety_lint.py (18337b), scripts/storyboard.py (21148b), scripts/style_learn.py (14639b), scripts/web_ui.py (18325b), skill-card.md (3065b), SKILL.md (29850b), tests/smoke.py (12583b)\n\nFile v3.1.0:SKILL.md\n\n---\nname: huo15-img-prompt\ndisplayName: 火一五文生图提示词\ndescription: 火一五文生图提示词 v3.0 — AI 创作生态中枢，14 件套：基础八件套（enhance_prompt/enhance_video/reverse_prompt/render_prompt/claude_polish/safety_lint/image_review/auto_iterate）+ v2.6 三件套（character 角色卡/mcp_server MCP stdio/web_ui Web UI）+ ⭐v3.0 三大武器（storyboard 剧本→关键帧+转场视频脚本包/brand_kit 品牌套件持久化/style_learn 多参考图自学习 learned preset）+ RECIPES.md 创意四件套整合食谱。适配 Midjourney/SD/SDXL/Flux/DALL-E 3。触发词：文生图、火一五文生图提示词、文生视频、提示词增强、故事板、storyboard、剧本拆分、关键帧、视频脚本包、品牌套件、brand kit、品牌规范、风格学习、style learn、自学习预设、learned preset、参考图学习、Claude Vision、闭环迭代、五维评审、A/B 测试、角色卡、MCP server、Web UI、Obsidian 集成、Replicate、Fal、即梦、可灵、Hailuo、Sora、Claude Code、Cursor。\nversion: 3.1.0\naliases:\n  - 火一五文生图提示词\n  - 火一五文生图技能\n  - 火一五文生视频技能\n  - 火一五提示词技能\n  - 火一五提示词全家桶技能\n  - 火一五AI绘画技能\n  - 文生图\n  - 文生视频\n  - 提示词增强\n  - 智能润色\n  - 平台合规润色\n  - img-prompt\n---\n\n# 火一五文生图提示词 v3.0\n\n**AI 创作生态中枢。从单帧提示词到完整短片脚本包，从手选预设到自学习风格，从孤岛工具到与 huo15 设计四件套联动。**\n\n## v3.0 = 14 件套\n\n| # | 脚本 | 作用 | 一行 demo |\n|---|------|------|-----------|\n| 1 | `enhance_prompt.py` | 文生图核心 | `enhance_prompt.py \"持剑女侠\" -p 赛博朋克 --variants 4` |\n| 2 | `enhance_video.py` | 视频提示词 | `enhance_video.py \"汉服少女转身回眸\" -p 汉服写真 -m Kling` |\n| 3 | `reverse_prompt.py` | 参考图反解 | `reverse_prompt.py img.png --mj` |\n| 4 | `render_prompt.py` | 10 后端直出 | `render_prompt.py \"原神少女\" -p 原神 --backend jimeng` |\n| 5 | `claude_polish.py` | Claude 润色 + top-3 推荐 | `claude_polish.py \"温柔治愈\" --suggest` |\n| 6 | `safety_lint.py` | 平台合规润色 | `safety_lint.py \"战士手中的鲜血\" --target dalle` |\n| 7 | `image_review.py` | Claude Vision 五维评审 | `image_review.py img.png -p \"原 prompt\"` |\n| 8 | `auto_iterate.py` | 闭环自动迭代 | `auto_iterate.py \"持剑女侠\" -p 赛博朋克 --backend dalle --target 7.5` |\n| 9 | `character.py` | 角色卡持久化 | `enhance_prompt.py \"新场景\" --char 银发机甲少女` |\n| 10 | `mcp_server.py` | MCP stdio server | `python3 mcp_server.py`（注册到 ~/.claude/mcp.json） |\n| 11 | `web_ui.py` | 本地 Web UI | `python3 web_ui.py`（http://127.0.0.1:7155） |\n| 12 | `storyboard.py` ⭐v3.0 | 剧本→关键帧+转场视频脚本包 | `storyboard.py \"...\" -p 电影感 --scenes 6 --output ./story` |\n| 13 | `brand_kit.py` ⭐v3.0 | 品牌套件持久化 | `enhance_prompt.py \"...\" --brand-kit huo15` |\n| 14 | `style_learn.py` ⭐v3.0 | 多参考图→learned preset | `style_learn.py --name 我的风格 ref*.jpg && enhance_prompt.py \"...\" -p \"@我的风格\"` |\n\n📚 配套文档：\n- [`QUICKSTART.md`](QUICKSTART.md) ⭐v3.1 — 30 秒/5 分钟/30 分钟分级上手\n- [`RECIPES.md`](RECIPES.md) — 5 个端到端食谱\n- [`examples/`](examples/) ⭐v3.1 — 真实可运行示例（brand_kit / character / learned_preset / 剧本）\n- [`scripts/doctor.py`](scripts/doctor.py) ⭐v3.1 — 一键健康检查\n- [`tests/smoke.py`](tests/smoke.py) ⭐v3.1 — 33 自动回归测试\n\n## 版本演进\n\n| 维度 | v2.4 | v2.5 | v2.6 | v3.0 |\n|------|------|------|------|------|\n| **风格预设** | 88 + 参考图链接 | + 智能 top-3 | 沿用 | + **自学习 learned preset** |\n| **一致性** | + session 锁 | + A/B 变体 | + 角色卡 | + **品牌套件全局锁** |\n| **贴近需求** | + prompt 压缩 | + Claude 改 prompt | 沿用 | + **故事板拆 N 关键帧** |\n| **生态闭环** | + 10 后端直出 | + VLM 五维评审 | + Obsidian 写入 | + **创意四件套整合** |\n| **AI 联动** | 多轮编辑 | 闭环自动迭代 | + MCP server | + **跨技能联动** |\n| **输入** | 一句话主体 | 一句话主体 | 一句话主体 | + **剧本/参考图/品牌规范** |\n| **输出** | 单帧 prompt | 单帧 prompt | 单帧 prompt | + **完整短片脚本包** |\n\n## 使用方式\n\n### Agent 调用（推荐）\n\n```\n用户: 帮我出一张赛博朋克街头的图\n```\n\nAgent 识别到\"赛博朋克\"触发词，自动调用：\n\n```bash\n~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt/scripts/enhance_prompt.py \\\n    \"赛博朋克街头\" -p 赛博朋克 -m Midjourney\n```\n\n### 直接调用\n\n```bash\ncd ~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt\n\n# 基础：指定预设\n./scripts/enhance_prompt.py \"一只猫\" -p 动漫 -m Midjourney\n\n# 自动意图（无需 -p，脚本从关键词推断）\n./scripts/enhance_prompt.py \"为咖啡品牌设计一个logo\"   # → 自动选 Logo设计, 1:1\n./scripts/enhance_prompt.py \"产品白底图：无线耳机\"     # → 自动选 产品摄影, 1:1\n./scripts/enhance_prompt.py \"微距 一滴露珠\"            # → 自动选 微距摄影, 1:1\n\n# 系列一致性（4 张共享 seed + camera/lighting/palette 锁）\n./scripts/enhance_prompt.py \"红发女侠\" -p 动漫 -s 4 \\\n    --variations \"持剑站立,骑马奔驰,弯弓射箭,与龙对视\" \\\n    -m Midjourney\n\n# 英文别名 + 多模型输出\n./scripts/enhance_prompt.py \"spaceship in nebula\" -p scifi -m Flux -a 21:9\n./scripts/enhance_prompt.py \"minimalist camellia logo\" -p logo -m SDXL\n\n# JSON 输出（便于集成）\n./scripts/enhance_prompt.py \"森林少女\" -p ghibli -j\n```\n\n## 88 款风格预设\n\n### 【摄影 · 13】\n写实摄影 / 胶片摄影 / 黑白摄影 / 人像摄影 / 时尚大片 / 美食摄影 / 产品摄影 / 微距摄影 / 航拍摄影 / 街拍纪实 / **暗黑美食 · 日杂 · 街头潮流** ⭐v2.1\n\n### 【动漫 · 10】\n动漫 / 新海诚 / 宫崎骏 / 美漫 / Q版 / 童话绘本 / **萌系 · 厚涂 · 轻小说封面 · 赛璐璐** ⭐v2.1\n\n### 【插画 · 7】\n水彩 / 油画 / 水墨 / 工笔国画 / 浮世绘 / 线稿 / 像素艺术\n\n### 【3D · 7】\n3DC4D / 盲盒手办 / 低多边形 / 等距视图 / 粘土 / 毛毡手工 / 纸艺\n\n### 【设计 · 15】\n极简主义 / 平面设计 / Logo设计 / 图标设计 / 信息图 / 品牌KV / 专辑封面 / 复古海报 / 电影海报 / 表情包 / **玻璃拟态 · 新拟态 · 孟菲斯 · 杂志编排 · 包豪斯 · 奶油风** ⭐v2.1\n\n### 【艺术史 · 4】\n印象派 / 后印象派 / 新艺术 / 装饰艺术\n\n### 【场景氛围 · 17】\n赛博朋克 / 蒸汽朋克 / 科幻 / 奇幻 / 黑暗奇幻 / 国潮 / Y2K / Vaporwave / 霓虹灯牌 / 建筑可视化 / 电影感 / 概念艺术 / **粗野主义 · 北欧极简 · 侘寂 · 疗愈治愈 · 美式复古** ⭐v2.1\n\n### 【游戏艺术 · 7】⭐ v2.1 新类\n原神 / 崩铁星穹 / 英雄联盟 / 暗黑4 / Valorant / Pokemon / 暴雪风\n\n### 【东方传统 · 7】⭐ v2.1 新类\n敦煌壁画 / 青花瓷 / 民国月份牌 / 年画 / 剪纸 / 和风 / 汉服写真\n\n> 英文别名支持：`anime`、`ghibli`、`shinkai`、`cyberpunk`、`steampunk`、`scifi`、`minimal`、`logo`、`icon`、`3d`、`c4d`、`octane`、`isometric`、`vangogh`、`artdeco`、`neon`、`vapor`、`y2k`、`genshin`、`lol`、`diablo`、`valorant`、`pokemon`、`dunhuang`、`hanfu`、`wafu`、`glassmorphism`、`neumorphism`、`memphis`、`bauhaus`、`brutalism`、`nordic`、`wabisabi`、`healing`、`cozy`、`americana`、`darkfood`、`muji`、`streetwear`… 运行 `./scripts/enhance_prompt.py -l` 查看完整列表。\n\n## 参数说明\n\n| 参数 | 作用 | 示例 |\n|------|------|------|\n| `subject` | 主体描述（必填） | `\"一只猫\"` |\n| `-p, --preset` | 风格预设（中文 / 英文别名） | `-p 赛博朋克` / `-p cyberpunk` |\n| `-m, --model` | 目标模型 | `Midjourney` / `SD` / `SDXL` / `Flux` / `DALL-E` / `通用` |\n| `-a, --aspect` | 画幅 | `1:1` / `3:4` / `16:9` / `21:9` / `9:16` |\n| `-t, --tier` ⭐v2.1 | 质量档位 | `basic` / `pro`(默认) / `master` |\n| `-cs, --character-sheet` ⭐v2.1 | 角色设定图 T-pose 多视图 | - |\n| `--avoid` ⭐v2.1 | 额外负面词，逗号分隔 | `--avoid \"cluttered, people\"` |\n| `--mood` | 情绪覆盖（不给则从主体自动抽） | `--mood 神秘` |\n| `--composition` | 构图覆盖 | `--composition 俯拍` |\n| `--seed` | 种子（不给则按 subject+preset 哈希生成稳定 seed） | `--seed 42` |\n| `-s, --series` | 系列张数 | `-s 4` |\n| `--variations` | 系列变体，逗号分隔 | `--variations \"A,B,C,D\"` |\n| `-l, --list` | 列出所有预设 | - |\n| `-j, --json` | JSON 输出 | - |\n\n## 自动抽词（v2.1 扩展）\n\n脚本会从主体描述中自动识别以下字段，无需显式参数：\n\n| 维度 | 关键词示例 |\n|------|-----------|\n| **意图** | logo / 产品 / 海报 / 头像 / 美食 / 汉服 / 敦煌 / 原神 / 玻璃拟态 ... |\n| **构图** | 特写 / 近景 / 中景 / 全身 / 俯拍 / 仰拍 / 鸟瞰 / 航拍 / 侧面 / 背面 |\n| **情绪** | 温暖 / 冷峻 / 神秘 / 梦幻 / 欢快 / 忧郁 / 史诗 / 高级 / 治愈 / 浪漫 ⭐v2.1：紧张 |\n| **时间** ⭐v2.1 | 清晨 / 早晨 / 正午 / 下午 / 黄昏 / 日落 / 夜晚 / 深夜 / 黎明 / 蓝调时刻 |\n| **天气** ⭐v2.1 | 晴天 / 多云 / 阴天 / 下雨 / 雨天 / 大雨 / 下雪 / 雪天 / 雾天 / 风暴 / 雷雨 |\n| **季节** ⭐v2.1 | 春/夏/秋/冬 / 樱花季 / 枫叶季 |\n| **负向需求** ⭐v2.1 | 不要X / 没有X / 避免X / no X / avoid X / without X → 自动入负面 |\n\n## 一致性四锁（核心机制）\n\n每个预设内置以下锁项，所有系列张图共享 ⇒ 风格漂移大幅下降：\n\n| 锁项 | 作用 | 示例（赛博朋克） |\n|------|------|----------------|\n| `camera` | 镜头焦段 / 视角 | `low angle wide, 24mm anamorphic` |\n| `lighting` | 光源 / 光质 | `neon magenta and cyan rim, wet reflective streets` |\n| `palette` | 色板 | `magenta cyan black, neon highlights` |\n| `aspect` | 画幅 | `21:9` |\n\n系列模式 (`-s N --variations ...`) 额外锁定 **seed**，变换仅发生在主体描述，框架完全不变。\n\n## 模型适配细节\n\n| 模型 | 输出格式 | 特有提示 |\n|------|---------|---------|\n| **Midjourney** | `主体, 风格, 光影, 色板, 画质 --ar X:Y --stylize 250` | `--cref <url>` 锁角色、`--sref <url>` 锁风格图 |\n| **Stable Diffusion** | `(subject:1.2), 风格, ..., 质量` + 负面 | 权重语法 `(word:1.3)`、减弱 `[word]`、DPM++ 2M Karras |\n| **SDXL** | 同 SD，尺寸建议 `1024x1024 / 1216x832 / 1536x640 ...` | Refiner 0.2-0.3 |\n| **DALL-E 3** | 自然语言段落（已内化负面） | 连续对话中用 \"same character / same scene\" |\n| **Flux** | 长句描述 | guidance 3.5（Dev） / 0（Schnell） |\n| **通用** | 逗号分隔 tags | 三大模型通用骨架 |\n\n## 完整示例\n\n```bash\n./scripts/enhance_prompt.py \"一只戴墨镜的猫在霓虹街头\" -p 赛博朋克 -m Midjourney\n```\n\n输出：\n\n```\n📌 原始描述   : 一只戴墨镜的猫在霓虹街头\n🎨 风格预设   : 赛博朋克\n🤖 目标模型   : Midjourney\n📐 画幅       : 21:9\n🎲 种子建议   : 1873940236\n\n✅ 正向提示词：\n一只戴墨镜的猫在霓虹街头, cyberpunk, neon-soaked, blade runner aesthetic,\nmegacity dystopia, holographic ads, low angle wide, 24mm anamorphic,\nneon magenta and cyan rim, wet reflective streets,\nmagenta cyan black, neon highlights,\ndetailed cyberpunk cityscape, rainy night ambiance,\nmasterpiece, best quality, ultra detailed, 8k\n--ar 21:9 --stylize 250\n\n❌ 负向提示词：\n--no rustic, medieval, natural countryside, low quality, worst quality, ...\n\n🔒 一致性锁：\n   camera  : low angle wide, 24mm anamorphic\n   lighting: neon magenta and cyan rim, wet reflective streets\n   palette : magenta cyan black, neon highlights\n   aspect  : 21:9\n\n💡 Midjourney tips：\n  • 角色/产品系列一致：加 --cref <url> 或 --sref <url>\n  • 想要更风格化加 --stylize 500~750；更写实降到 --stylize 50\n  • 建议 seed 锁定：--seed 1873940236\n```\n\n## v3.0 新功能 ⭐⭐⭐⭐（定位升级：从工具到生态中枢）\n\n### 1. 故事板模式 `storyboard.py` ⭐ 杀手级 feature\n\n```bash\nstoryboard.py \"一只猫从城市走进雨夜\" -p 电影感 --scenes 4 \\\n    -m Midjourney --video-model Sora --output ./my_story\n```\n\n输入：一段剧本/文案\n输出（在 `./my_story/`）：\n- `storyboard.json` 完整 scene + transition 数据\n- `scene-{01-N}-t2i.txt` × N 个关键帧 T2I 提示词\n- `transition-{xx-to-yy}-t2v.txt` × N-1 个转场 T2V 提示词\n- `README.md` 可读总览 + 生产管线说明\n\n亮点：\n- Claude 自动拆叙事弧（开场→起→承→转→合）\n- 整段共享 base_seed，角色不漂移\n- 复用 88 预设/混合/五锁机制\n- 视频模型 9 选 1：Sora/Kling/Runway/Pika/Luma/Hailuo/即梦/Wan/通用\n- **国内目前没人做到\"剧本 → 完整 T2I+T2V 脚本包\"**\n\n### 2. 品牌套件持久化 `brand_kit.py`\n\n```bash\n# 创建品牌套件\nbrand_kit.py --create song_tea \\\n    --colors \"#2C5F2D, #97BC62, #F7F4EA\" \\\n    --fonts \"Songti SC, Source Han Serif\" \\\n    --keywords \"宋韵, 极简, 留白, 文人画\" \\\n    --forbidden \"modern digital, neon, cyberpunk\" \\\n    --logo \"minimal flame mark in green\"\n\n# 出图时自动注入\nenhance_prompt.py \"茶饮品牌主视觉\" -p 汉服写真 --brand-kit song_tea\n```\n\n注入位置：\n- `colors` → 写入 prompt 作为 brand color palette\n- `keywords` → 追加到主体描述\n- `forbidden` → 合并到 negative prompt\n- `logo_description` → 加入 brand identity 信号\n\n完美对接 `huo15-openclaw-brand-protocol` 的输出（其 JSON 可直接 `--import`）。\n\n### 3. 风格学习引擎 `style_learn.py`\n\n```bash\n# 给 N 张参考图，Claude Vision 提取共性 → 生成新预设\nstyle_learn.py --name 我的小清新 \\\n    refs/morning_cafe.jpg refs/film_kodak.jpg refs/window_light.jpg\n\n# 后续用 @ 前缀调用\nenhance_prompt.py \"猫咪坐在窗台\" -p \"@我的小清新\"\n```\n\n工作流：\n1. 每张图调一次 Claude Vision 提取 tags/camera/lighting/palette\n2. 综合阶段让 Claude 归纳共性，输出和 STYLE_PRESETS 兼容的 spec\n3. 自带 `confidence` 字段（< 0.5 警告参考图风格太散）\n4. 存到 `~/.huo15/learned_presets/<name>.json`，运行期注册到 STYLE_PRESETS\n\n### 4. 创意四件套整合食谱 `RECIPES.md`\n\n5 个端到端食谱，演示和其他 huo15-openclaw-* 技能联动：\n\n1. **品牌 KV 全流程**：design-director → brand-protocol → brand_kit → img-prompt → design-critique → frontend-design\n2. **自学习风格 + 角色一致性 + 视频短片**：style_learn → character → storyboard\n3. **电商商品图全套**：brand_kit + variants + character + obsidian\n4. **Claude Code MCP 工作流**：IDE 内自然语言调用\n5. **knowledge-base 联动**：资产沉淀到知识库\n\n### 这一版的定位升级\n\n| | v2.x | v3.0 |\n|---|------|------|\n| 输入 | 一句话主体 | 一段剧本 / 多张参考图 / 品牌规范 |\n| 输出 | 单帧 prompt | **完整短片脚本包 + 学到的新预设 + 品牌一致出图** |\n| 个性化 | 88 内置预设 | + **用户自学习风格 + 品牌套件** |\n| 生态位 | 独立工具 | + **创意四件套核心节点**（5 个 huo15 技能联动） |\n\n## v2.6 新功能 ⭐⭐⭐（用户群从 CLI → IDE/GUI/笔记四栖）\n\n### 1. 角色卡持久化 `character.py`\n\n```bash\n# Turn 1: 创建角色（带 character-sheet 模式）\nenhance_prompt.py \"银发机甲少女 twin tails glowing visor\" \\\n    -p 动漫 --character-sheet --save-char 银发机甲少女\n\n# Turn 2 ~ N: 跨调用保持角色一致（自动锁 seed + 注入主体）\nenhance_prompt.py \"在霓虹街头\" --char 银发机甲少女 -p 赛博朋克\nenhance_prompt.py \"在花海中\" --char 银发机甲少女\nenhance_prompt.py \"持剑战斗\" --char 银发机甲少女\n\n# 角色卡管理（独立 CLI）\ncharacter.py --list\ncharacter.py --show 银发机甲少女\ncharacter.py --export 银发机甲少女 > char.json\ncat char.json | character.py --import\n```\n\n存储：`~/.huo15/characters/<name>.json`，含 use_count + 时间戳 + 五锁。\n\n### 2. Obsidian 集成 `--obsidian`\n\n```bash\n# 默认检测 ~/knowledge/huo15 / ~/Documents/Obsidian / ~/Obsidian\nenhance_prompt.py \"敦煌神女\" -p 敦煌壁画 --obsidian\n\n# 指定 vault\nOBSIDIAN_VAULT=~/my-vault enhance_prompt.py \"...\" -p 原神 --obsidian\n```\n\n写入 `<vault>/图集/{date}-{subject}-{seed}.md`，含完整 frontmatter（tags/preset/seed/...）+ 正负向提示词 + 一致性锁 + 复现 CLI 命令。\n\n跟 huo15 三层记忆生态吻合（L3 共享 KB wiki）。\n\n### 3. MCP server `mcp_server.py` ⭐ IDE 用户的入口\n\n让 **Claude Code / Cursor / Cline / Continue.dev** 直接调用 9 个工具：\n\n```json\n// ~/.claude/mcp.json\n{\n  \"mcpServers\": {\n    \"huo15-img-prompt\": {\n      \"command\": \"python3\",\n      \"args\": [\"~/path/to/huo15-img-prompt/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n暴露的工具：\n- `enhance_prompt` / `list_presets` / `preset_examples`\n- `suggest_presets` / `polish_prompt` / `safety_lint`\n- `review_image` / `list_characters` / `load_character`\n\n实现：手写 JSON-RPC 2.0 over stdio，零第三方依赖。\n\n### 4. 本地 Web UI `web_ui.py` ⭐ 设计师/PM 用户的入口\n\n```bash\npython3 web_ui.py             # 默认 http://127.0.0.1:7155\npython3 web_ui.py --port 8080\npython3 web_ui.py --no-browser\n```\n\n特性：\n- 单文件 HTML（vanilla JS + Tailwind CDN，零构建）\n- Python `http.server.ThreadingHTTPServer` 做后端\n- 三栏布局：输入 / 88 预设可视化 / 实时输出\n- 角色卡下拉选择 + 一键复制\n- 自动开浏览器、Ctrl+C 退出\n\n## v2.5 新功能 ⭐⭐⭐（核心护城河）\n\n### 1. Claude Vision 五维评审 `image_review.py`\n\n```bash\n# 单图评审\nimage_review.py img.png --prompt \"原始 prompt\"\n\n# 多图排名（同一组 variants 出图后挑最优）\nimage_review.py renders/*.png --rank\n```\n\n输出：\n- 五维分数（0-10）：subject_match / composition / lighting / palette / technical\n- 加权 overall_score + 三档 verdict（PASS/RETRY/REJECT）\n- **可执行修复**：每条 issue 不写\"光线不好\"，直接给 `add: golden hour rim light, soft fill from camera left`\n- 简评模式 `--quick`（只 overall_score，省 token）\n\n### 2. 闭环自动迭代 `auto_iterate.py` ⭐ 杀手级 feature\n\n```\n                ┌──────────────┐\n                │ user prompt  │\n                └──────┬───────┘\n                       ↓\n            ┌─────────────────────┐\n            │  enhance_prompt     │\n            └─────────┬───────────┘\n                      ↓\n            ┌─────────────────────┐\n            │  render (10 后端)   │\n            └─────────┬───────────┘\n                      ↓\n            ┌─────────────────────┐\n            │  Claude Vision      │\n            │  五维评审           │\n            └─────────┬───────────┘\n                      ↓\n                  分数 ≥ 阈值?\n                  ↙          ↘\n                Y              N (≤ 3 轮)\n                ↓               ↓\n              完成        ┌────────────┐\n                          │ Claude 改   │\n                          │ prompt     │\n                          └─────┬──────┘\n                                ↑\n                          (回到 enhance)\n```\n\n```bash\nauto_iterate.py \"持剑女侠\" -p 赛博朋克 --backend dalle --target 7.5 --max-rounds 3\n```\n\n每轮锁定 seed，便于对比 prompt 改动到底改善了哪一维。Claude 的修改基于上轮 review 的 actionable_fixes，输出 revised_subject + extra_negatives + extra_mood + rationale。\n\n**这个能力 GPT-4o image / Claude Imagen 内部做不到** — 它们是端到端黑盒，没有 prompt-image 闭环数据。\n\n### 3. A/B 变体测试 `--variants N`\n\n```bash\n# 同 subject + 同 seed，仅在 mood/composition 上分化出 4 个变体\nenhance_prompt.py \"持剑女侠\" -p 赛博朋克 --variants 4 -j > variants.json\n\n# 出图后挑最优\nimage_review.py renders/*.png --rank\n```\n\n四个差异轴可选：`mood / composition / lighting / stylize`，`--variant-axes mood,lighting` 自定义。\n\n### 4. 智能预设推荐 `--suggest`\n\n```bash\n# 模糊描述也能自动匹配预设\nenhance_prompt.py \"温柔治愈感的画面\" --suggest\n```\n\n输出：top-3 候选预设 + 每个的 score (0-1) + reason + best_subject_example + mix_suggestion（自动判断是否需要混合）。\n\n解决\"温柔\"、\"高级\"、\"梦幻\"等抽象描述硬关键词匹配不到的痛点。\n\n## v2.4 新功能 ⭐\n\n### 1. render_prompt.py 扩到 10 后端\n\n```bash\n# 国际开源\nrender_prompt.py \"侠客\" -p 水墨 --backend replicate --remote-model black-forest-labs/flux-schnell\nrender_prompt.py \"猫\" -p 动漫 --backend fal --remote-model fal-ai/flux/dev\n\n# 国产模型（中文场景效果好）\nrender_prompt.py \"敦煌神女\" -p 敦煌壁画 --backend jimeng    # 字节即梦 / Seedream 3.0\nrender_prompt.py \"汉服少女\" -p 汉服写真 --backend kling     # 快手可灵 v1\nrender_prompt.py \"原神少女\" -p 原神 --backend hailuo        # 海螺 MiniMax image-01\n```\n\n环境变量：`REPLICATE_API_TOKEN` / `FAL_KEY` / `ARK_API_KEY`（火山方舟）/ `KLING_API_KEY` / `MINIMAX_API_KEY`。\n\n### 2. prompt 压缩 `--compact`\n\n```bash\nenhance_prompt.py \"持剑女侠\" -p \"赛博朋克+水墨\" -m SD --compact\n# 🗜  prompt 已压缩: 124→73 tokens (砍 12 段)\n```\n\n策略：去重 → 同义合并 → 保头 6 段（主体+camera）→ 按预算砍尾。专治 SDXL CLIP 77 token 截断。\n\n### 3. 88 预设参考图链接 `--examples`\n\n```bash\n# 看单个预设的参考图（5 平台搜索 URL）\nenhance_prompt.py --examples 敦煌壁画\n# 列表模式带链接\nenhance_prompt.py -l --with-examples\n```\n\n输出 5 平台搜索 URL：Lexica / Civitai / Pinterest / Google Images / Unsplash。零维护，靠搜索 query 永远有效。\n\n### 4. 多轮编辑 `--session` / `--continue`\n\n```bash\n# Turn 1: 出图\nenhance_prompt.py \"猫坐在窗台\" -p 写实摄影 --session catwindow\n\n# Turn 2: 改画幅 + 加情绪，seed 自动锁定保证主体一致\nenhance_prompt.py --continue catwindow --aspect 16:9 --mood 治愈\n\n# Turn 3: 完全换主体描述但保 seed 测一致性\nenhance_prompt.py \"猫站起来伸懒腰\" --continue catwindow\n\n# 列出所有 session\nenhance_prompt.py --list-sessions\n```\n\n持久化目录：`~/.huo15/sessions/<name>.json`。CLI 参数 > session 默认值 > 系统默认。\n\n## v2.3 新功能 ⭐\n\n### 5. Claude API 智能润色 `--polish`\n\n```bash\n# 直接润色（独立调用）\nexport ANTHROPIC_API_KEY=sk-ant-xxx\n./scripts/claude_polish.py \"一个温柔的女孩在花丛中\"\n./scripts/claude_polish.py \"敦煌神女\" --pipe   # 输出可直接喂给 enhance_prompt.py 的命令\n\n# 在 enhance_prompt.py 里串联使用（润色 → 88 预设 → 输出）\n./scripts/enhance_prompt.py \"一个温柔的女孩在花丛中\" --polish\n./scripts/enhance_prompt.py \"雪山下的小屋\" --polish --safety MJ -m Midjourney\n```\n\n利用 Claude prompt engineering 优势：\n- **Prompt caching**：system prompt 用 ephemeral cache，省 90% input token\n- **Prefill `{`**：assistant 起手 `{` 强制 JSON 输出，无需 tool use\n- **XML 思维链**：让 Claude 内部分步骤（refine/style/camera/safety/negatives）\n- **88 预设嵌入 system**：Claude 从清单里挑，不凭记忆\n- **零 SDK 依赖**：纯 urllib，避免企业扫描器拦截 anthropic 包\n\n### 6. 平台合规润色 `--safety`\n\n**只做合法艺术创作的平台误判规避，不做 jailbreak。**\n\n```bash\n# 独立调用\n./scripts/safety_lint.py \"战士手中沾满鲜血的剑\" --target dalle\n./scripts/safety_lint.py \"古典维纳斯雕像 nude figure\" --target MJ --apply\n./scripts/safety_lint.py \"如何制作炸弹\"   # 命中红线 → exit 2\n\n# 在 enhance_prompt.py 里串联\n./scripts/enhance_prompt.py \"古风战场鲜血飞溅\" --safety dalle\n./scripts/enhance_prompt.py \"黑暗骑士斩杀恶魔\" --safety MJ -p 黑暗奇幻\n```\n\n**红线（直接拒答）**：\n- ✗ CSAM（未成年 + 性化任意组合）\n- ✗ 真人 + 色情/政治污蔑\n- ✗ 武器/毒品/爆炸物**制作方法/教程**\n- ✗ 自残/自杀**方法诱导**\n\n**黄区（艺术化重写）**：\n| 类别 | 例子 | 重写策略 |\n|------|------|----------|\n| violence | 血、伤口、kill、weapon | crimson splash / battle-scarred / vanquish / ceremonial blade |\n| nudity | 裸、naked、sexy | classical figure study / fine art reference / fashion editorial |\n| horror | horror、gore、demon | gothic atmospheric tension / mythical creature |\n| death | dead、skeleton、skull | memento mori / classical allegory / vanitas |\n| real-person | celebrity、明星、politician | fictional character / 80s aesthetic |\n| brand | marvel、disney、nike | superhero comic style / classic animated |\n\n**平台分级**：\n- DALL-E `max` 严格度\n- MJ `high` 中等\n- SD/SDXL/Flux `low` 宽松（开源本地）\n\n### 7. Polish + Safety 串联（最强组合）\n\n```bash\n# Claude 智能润色 → 平台合规重写 → 88 预设增强\n./scripts/enhance_prompt.py \"战士在血战之后凝视远方\" --polish --safety dalle -j\n```\n\n输出 JSON 包含 `claude_polish` 和 `safety_lint` 两个完整 meta 块，可追溯每一步改写过程。\n\n## v2.2 新功能详解\n\n### 1. 混合预设 `-p A+B --mix 0.6`\n\n```bash\n# 主预设 60% 权重，副预设 40%\nenhance_prompt.py \"持剑女侠\" -p \"赛博朋克+水墨\" --mix 0.6 -m Midjourney\nenhance_prompt.py \"山中神女\" -p \"原神+敦煌壁画\" --mix 0.5 -m SDXL\nenhance_prompt.py \"极简卡片\" -p \"玻璃拟态+侘寂\" --mix 0.7 -m SD\n```\n\n融合策略：\n- **tags**：主预设标签前置，副预设按权重补充；SD 自动加权重语法 `(tag:1.16)`\n- **camera**：取主预设（避免镜头语言混乱）\n- **lighting**：叠加 `主光照, blended with 副光照`\n- **palette**：拼接两者\n- **aspect**：取主预设默认画幅\n- **neg**：合并去重 + PRESET_NEG_EXCLUDE 主辅都生效（避免 logo/text/signature 自我否定）\n- **seed**：mix_label `A+B@0.60` 参与 hash，相同混合每次同 seed\n\n### 2. 视频提示词 `enhance_video.py`\n\n```bash\n# Sora 8 秒赛博朋克\nenhance_video.py \"雨夜霓虹街头一只猫漫步\" -p 赛博朋克 -m Sora --duration 8\n\n# Kling 慢速跟拍\nenhance_video.py \"汉服少女转身回眸\" -p 汉服写真 -m Kling --motion 慢速跟拍\n\n# 史诗节奏 + 自定义动作\nenhance_video.py \"宇宙飞船穿越星云\" -p scifi -m Runway --pacing 史诗 --action \"ship accelerates, lens flare\"\n\n# 混合风格 + 海螺 MiniMax\nenhance_video.py \"山中神女腾云\" -p \"原神+敦煌壁画\" --mix 0.6 -m Hailuo\n\n# 列出所有视频模型规格\nenhance_video.py --list-models\n```\n\n支持的视频模型：\n\n| 模型 | 上限时长 | 默认画幅 | 提示词风格 |\n|------|---------|---------|-----------|\n| Sora | 20s (Sora 2 Pro) | 16:9 | 长自然语言 |\n| Kling 可灵 | 10s (1080p Pro) | 16:9 | 中文优秀，前置主体 |\n| Runway Gen-3/4 | 10s | 16:9 | 英文最佳 |\n| Pika | 10s | 16:9 | 标签式 + `-gs/-motion` |\n| Luma DreamMachine | 9s | 16:9 | 自然语言 + 关键帧 |\n| Hailuo MiniMax | 10s | 16:9 | 中英双语 + 参考人物 |\n| 即梦 Seedance | 12s | 16:9 | 中文多镜头剧情 |\n| 通义 Wan2.1 | 8s | 16:9 | 阿里开源 14B/1.3B |\n\n输出包含：正向 / 负向（视频专属：flicker、motion blur、identity drift）/ 三段式关键帧 / 一致性六锁（+ motion）。\n\n### 3. 参考图反解 `reverse_prompt.py`\n\n```bash\n# 自动识别 A1111/ComfyUI/NovelAI metadata\nreverse_prompt.py /path/to/image.png\n\n# 远程 URL\nreverse_prompt.py https://example.com/img.png\n\n# 直接给 Midjourney 复用 prompt（一行）\nreverse_prompt.py img.png --mj\n\n# 强制 VLM 模板（图无 metadata）\nreverse_prompt.py img.png --vlm\n\n# JSON pipe 给 enhance_prompt.py\nreverse_prompt.py img.png -j > recipe.json\n```\n\n三层反解：\n1. **PNG metadata**：手写 `tEXt`/`iTXt` 解析，零 PIL 依赖\n2. **A1111 / ComfyUI / NovelAI 三大格式自动识别**\n3. **VLM fallback**：图无 metadata 时输出标准 prompt 给 GPT-4o/Claude/Gemini/Qwen-VL\n\n启发式预设猜测：35+ 关键词映射（cyberpunk → 赛博朋克 / ghibli → 宫崎骏 / dunhuang → 敦煌壁画 ...）。\n\n### 4. 直出图片 `render_prompt.py`\n\n```bash\n# Dry-run（只输出 recipe，不出图）\nrender_prompt.py \"敦煌神女\" -p 敦煌壁画 --backend none -j\n\n# AUTOMATIC1111 / Forge SD WebUI\nrender_prompt.py \"赛博朋克猫\" -p 赛博朋克 --backend sd-webui\n\n# ComfyUI（用内置 SDXL workflow）\nrender_prompt.py \"原神少女\" -p 原神 --backend comfyui\n\n# ComfyUI（自定义 workflow）\nrender_prompt.py \"原神少女\" -p 原神 --backend comfyui --workflow ./workflows/sdxl.json\n\n# DALL-E 3\nrender_prompt.py \"极简logo\" -p Logo设计 --backend dalle --size 1024x1024\n```\n\n特点：\n- **零第三方依赖**：纯 urllib，避免企业扫描器命中\n- **环境变量覆盖**：`COMFYUI_URL` / `SDWEBUI_URL` / `OPENAI_API_KEY`\n- **支持混合预设直出**\n\n## 参考文档\n\n`references/t2i-guide.md` — 提示词要素表 / 88 预设对照 / 模型差异 / 一致性技巧。\n\n## 版本历史\n\n见 `CHANGELOG.md`。\n\nFile v3.1.0:examples/README.md\n\n# 示例素材\n\n直接可用的 brand kit / character / learned preset / 剧本，导入即用。\n\n## 文件清单\n\n| 文件 | 类型 | 用途 |\n|------|------|------|\n| `brand_kit-song_tea.json` | 品牌套件 | 宋韵东方茶饮品牌示例 |\n| `character-silver_mecha.json` | 角色卡 | 银发机甲少女（演示跨调用一致性） |\n| `learned_preset-fresh_film.json` | 学习预设 | 清新胶片风（日杂感） |\n| `storyboard-cat_rainy_night.txt` | 剧本 | 一只猫的雨夜散步（6 帧） |\n| `recipe-1-brand_kv.sh` | Bash 脚本 | RECIPES.md 食谱 1 的可运行版 |\n\n## 导入方式\n\n```bash\n# Brand kit\ncat examples/brand_kit-song_tea.json | scripts/brand_kit.py --import\nscripts/brand_kit.py --show song_tea\n\n# 角色卡\ncat examples/character-silver_mecha.json | scripts/character.py --import\nscripts/character.py --show silver_mecha\n\n# Learned preset（直接复制到目录即可）\nmkdir -p ~/.huo15/learned_presets\ncp examples/learned_preset-fresh_film.json ~/.huo15/learned_presets/\n\n# 用 learned preset 出图\nscripts/enhance_prompt.py \"咖啡馆窗边少女\" -p \"@fresh_film\"\n\n# 故事板\nscripts/storyboard.py < examples/storyboard-cat_rainy_night.txt \\\n    -p 电影感 --scenes 6 --output ./renders/cat_rainy_night\n\n# 完整食谱 1\nbash examples/recipe-1-brand_kv.sh\n```\n\n## 自定义指南\n\n复制示例文件改字段即可：\n\n- **brand_kit**：改 `colors / fonts / keywords / forbidden / logo_description`\n- **character**：改 `subject_description / preset / aspect / seed`\n- **learned_preset**：建议用 `style_learn.py --name 你的风格 ref*.jpg` 自动生成，不要手写\n\n## 反对的做法\n\n❌ 手写 learned_preset.json — confidence 字段是 Claude 综合后的可信度，手写会失真\n❌ 直接改示例文件 — 应该导入后用 `--update` 修改自己的副本\n❌ 把 example 当生产数据 — 仅供参考，按业务场景重新建立\n\nFile v3.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-img-prompt\",\n  \"version\": \"3.1.0\",\n  \"publishedAt\": 1777287525866\n}\n\nFile v3.1.0:references/t2i-guide.md\n\n# T2I 提示词工程参考（v2.0）\n\n## 一、提示词核心要素\n\n| 要素 | 说明 | 示例 |\n|------|------|------|\n| **主体** | 画面核心对象 | a cat, a futuristic building, a woman |\n| **材质/介质** | 画面的质感 | oil painting, digital art, photography, watercolor |\n| **风格** | 艺术风格 | cyberpunk, impressionist, anime, realistic |\n| **镜头/构图** | 视角和取景 | close-up, 85mm f/1.4, wide shot, bird's eye view |\n| **光线** | 光照方向和类型 | golden hour, neon glow, soft diffused, rim light |\n| **色彩** | 色调倾向 | warm tones, teal & orange, monochromatic, pastel |\n| **背景** | 环境设定 | busy city street, empty beach, starfield, studio |\n| **情绪** | 画面氛围 | melancholic, epic, cozy, mysterious |\n| **画质词** | 画质强化 | masterpiece, best quality, ultra detailed, 8k |\n| **负面** | 不想出现的 | low quality, blurry, bad anatomy, extra fingers |\n\n## 二、贴近需求的技巧\n\n想让图**贴近你的真实想法**，只给主体不够，建议提供至少以下 3 个维度：\n\n1. **主体 + 动作/状态**：`红发女侠 持剑站立` 比 `红发女侠` 好\n2. **环境/背景**：`在雨夜的东京巷弄` 比默认空背景更可控\n3. **情绪/时间**：`黄昏，忧郁感` 给画面定调\n\n脚本的 **意图识别器** 会自动抽取其中的构图词（俯拍/特写/远景/航拍…）和情绪词（神秘/温馨/史诗…）并并入提示词。\n\n## 三、一致性的五道防线\n\n系列图\"看起来不像同一套\"是最常见痛点。按优先级部署：\n\n| # | 机制 | 作用 | 脚本支持 |\n|---|------|------|---------|\n| 1 | **seed 锁定** | 同 seed + 同提示词 → 几乎复现 | ✅ `--seed` / 自动哈希 |\n| 2 | **camera 锁** | 焦段/视角不变 | ✅ 预设内置 |\n| 3 | **lighting 锁** | 光源方向、色温不变 | ✅ 预设内置 |\n| 4 | **palette 锁** | 色板不变（最影响\"同系列感\"） | ✅ 预设内置 |\n| 5 | **aspect 锁** | 画幅不变 | ✅ 预设内置 |\n| 6 | **参考图** | MJ `--cref`/`--sref`、SD IP-Adapter、Flux redux | 提示词输出 |\n\n## 四、56 预设对照表（分类）\n\n### 摄影 · 10\n| 预设 | 适用场景 | 画幅 | 核心锁 |\n|------|---------|------|--------|\n| 写实摄影 | 人像 / 产品 / 建筑 | 3:4 | Canon R5 85mm + 影棚光 |\n| 胶片摄影 | 人文 / 旅拍 | 3:2 | 35mm 胶片 + 自然光 |\n| 黑白摄影 | 纪实 / 艺术 | 1:1 | Leica M6 + 强对比 |\n| 人像摄影 | 肖像 / 头像 | 3:4 | 85mm f/1.4 + 伦勃朗光 |\n| 时尚大片 | 时装 / 美妆 | 3:4 | 中画幅 + 硬光 |\n| 美食摄影 | 菜品 / 食谱 | 1:1 | 100mm 微距 + 45°侧光 |\n| 产品摄影 | 电商白底 | 1:1 | 90mm 微距 + 大柔光箱 |\n| 微距摄影 | 昆虫 / 花蕊 | 1:1 | 100mm 1:1 + 环形闪光 |\n| 航拍摄影 | 风景 / 城市 | 16:9 | 无人机 24mm 俯视 |\n| 街拍纪实 | 人文街头 | 3:2 | 35mm + 环境光 |\n\n### 动漫 · 6\n| 预设 | 风格取向 | 画幅 |\n|------|---------|------|\n| 动漫 | 通用 pixiv 二次元 | 3:4 |\n| 新海诚 | 云景 + 辉光 | 16:9 |\n| 宫崎骏 | 吉卜力温暖 | 16:9 |\n| 美漫 | marvel/DC 粗线条 | 2:3 |\n| Q版 | 三头身 chibi | 1:1 |\n| 童话绘本 | 水粉儿童绘本 | 4:3 |\n\n### 插画 · 7\n| 预设 | 介质/流派 | 画幅 |\n|------|----------|------|\n| 水彩 | 湿画法纸本 | 1:1 |\n| 油画 | 厚涂油彩 | 4:5 |\n| 水墨 | 宣纸墨色 | 3:4 |\n| 工笔国画 | 矿物颜料工笔 | 3:4 |\n| 浮世绘 | 江户时期木版 | 2:3 |\n| 线稿 | 纯黑白线条 | 1:1 |\n| 像素艺术 | 16-bit sprite | 1:1 |\n\n### 3D · 7\n| 预设 | 材质/风格 | 画幅 |\n|------|----------|------|\n| 3DC4D | Octane 光泽渲染 | 1:1 |\n| 盲盒手办 | 泡泡玛特塑胶 | 1:1 |\n| 低多边形 | 低面数面片 | 1:1 |\n| 等距视图 | 等轴 2.5D | 1:1 |\n| 粘土 | 定格动画黏土 | 1:1 |\n| 毛毡手工 | 羊毛毡戳制 | 1:1 |\n| 纸艺 | 切纸层叠 | 1:1 |\n\n### 设计 · 10\n| 预设 | 产出物 | 画幅 |\n|------|--------|------|\n| 极简主义 | 瑞士派 / 留白 | 1:1 |\n| 平面设计 | 矢量插画 | 1:1 |\n| Logo设计 | 品牌标志 | 1:1 |\n| 图标设计 | app icon | 1:1 |\n| 信息图 | 数据可视化 | 3:4 |\n| 品牌KV | 广告主视觉 | 16:9 |\n| 专辑封面 | 音乐封面 | 1:1 |\n| 复古海报 | 1950s letterpress | 3:4 |\n| 电影海报 | 院线 one-sheet | 2:3 |\n| 表情包 | 贴纸 / emoji | 1:1 |\n\n### 艺术史 · 4\n| 预设 | 流派 | 画幅 |\n|------|------|------|\n| 印象派 | 莫奈 plein-air | 4:5 |\n| 后印象派 | 梵高表现 | 4:5 |\n| 新艺术 | Mucha 装饰曲线 | 2:3 |\n| 装饰艺术 | 盖茨比几何 | 2:3 |\n\n### 场景氛围 · 12\n| 预设 | 调性 | 画幅 |\n|------|------|------|\n| 赛博朋克 | 霓虹 + 雨夜 | 21:9 |\n| 蒸汽朋克 | 黄铜维多利亚 | 3:2 |\n| 科幻 | 蓝灰硬科幻 | 21:9 |\n| 奇幻 | 魔戒史诗 | 16:9 |\n| 黑暗奇幻 | 贝尔塞尔克 | 2:3 |\n| 国潮 | 朱红鎏金 | 3:4 |\n| Y2K | 千禧铬纹 | 1:1 |\n| Vaporwave | 蒸汽波落日 | 16:9 |\n| 霓虹灯牌 | 玻璃管发光字 | 3:2 |\n| 建筑可视化 | V-Ray archviz | 16:9 |\n| 电影感 | ARRI + 橙青调色 | 21:9 |\n| 概念艺术 | ILM matte | 21:9 |\n\n## 五、模型差异提示\n\n| 模型 | 骨架 | 特有技巧 |\n|------|------|----------|\n| **Midjourney v6** | 逗号分隔短句 + 尾部 flag | `--cref` 锁角色、`--sref` 锁风格、`--stylize` 控风格化程度、`--chaos` 控多样性 |\n| **Stable Diffusion 1.5** | tag 式 + 权重 | `(subject:1.3)`、`[减弱:0.7]`、DPM++ 2M Karras, 30 steps, CFG 6-7 |\n| **SDXL** | 同 SD，tag 稍长 | 原生 1024 分辨率、DPM++ SDE Karras, 25-30 steps, CFG 5-7, Refiner 0.2 |\n| **DALL-E 3** | 自然语言段落 | ChatGPT 对话中\"use the same character\" 跨对话续图 |\n| **Flux Dev** | 长句，可含短语位置 | guidance 3.5、擅长生成清晰文字、redux 可作参考图 |\n\n## 六、系列一致性工作流（推荐）\n\n### 场景：出一套品牌 4 张产品图\n\n```bash\n./scripts/enhance_prompt.py \"无线蓝牙耳机 白色\" -p 产品摄影 -s 4 \\\n    --variations \"正面特写,45度角展示,充电盒开启,佩戴模特\"\n```\n\n产出：\n\n1. 所有 4 张输出 **共享 seed**\n2. 所有 4 张 **共享 camera / lighting / palette / aspect 锁**\n3. 主体描述 **仅在动作/角度上变化**\n\n把这 4 条提示词分别喂给你的生图工具，加上 `--cref <第1张URL>`（MJ）或 IP-Adapter（SD/ComfyUI）即可得到风格完全一致的一套产品图。\n\n### 场景：出一套角色立绘\n\n```bash\n./scripts/enhance_prompt.py \"银发机甲少女\" -p 动漫 -s 6 \\\n    --variations \"正面站立,侧面剪影,奔跑姿势,持武器pose,受伤后,胜利姿态\" \\\n    -m Midjourney\n```\n\n记得在 MJ 里给第一张做 `--cref`，后续 5 张引用同一 URL，角色脸部 95%+ 一致。\n\n## 七、Prompt 写作红线\n\n- ❌ 英文提示词里**堆砌中文地名**（除非模型是中文 checkpoint）\n- ❌ 一次塞超过 **8 个并列风格**（风格冲突 → 画面混乱）\n- ❌ 把**颜色描述**堆得比主体还多（模型会优先表现颜色忽略主体）\n- ❌ 负面词**过长**（SD 负面超过 75 tokens 后生效打折）\n- ✅ 主体用英文、风格用英文、地域/文化用英文（例 \"Chinese traditional garden\"）\n- ✅ 想要稳定输出：用预设 + seed 锁；想要探索：去 seed / 加 `--chaos 30`\n\nFile v3.1.0:CHANGELOG.md\n\n# Changelog\n\n## v3.1.0 — 2026-04-27\n\n**稳定加固版：质量基础设施 + 上手文档 + 真实示例。不堆功能，先把底子打牢。**\n\n发完 v3.0 大版本（14 件套、1770 行新代码、3 个新外部 API 集成）后，发现：\n- 14 件套互相依赖，没自动化回归 → 改动风险高\n- 新用户拿到不知道从哪开始\n- 错误处理散在脚本里不统一\n- API key / 服务可达性没统一诊断入口\n\nv3.1 不加 feature，只补这些短板。\n\n### 新增 1: doctor.py — 健康检查（~250 行）\n\n```bash\npython3 scripts/doctor.py            # 全量\npython3 scripts/doctor.py --quick    # 跳过网络\npython3 scripts/doctor.py --check api    # 只查 API keys\npython3 scripts/doctor.py -j         # JSON 输出\n```\n\n检查项：\n- 14 个脚本 import + VERSION 一致性\n- 7 个 API key（ANTHROPIC 必填，其他按需）\n- 2 个本地后端（ComfyUI / SD WebUI）可达性\n- 4 个候选 Obsidian vault 路径\n- 4 个持久化目录盘点（characters / sessions / brand_kits / learned_presets）\n- Claude API 实测 ping（用 haiku 最便宜模型）\n\n输出：彩色 ✓ / ⚠ / ✗ 表格 + 总结统计。\n\n### 新增 2: tests/smoke.py — 自动回归测试（~250 行）\n\n零依赖、纯本地、不调网络。33 个测试覆盖核心 API：\n\n- 版本号一致性（15 个脚本）\n- enhance_prompt 核心：resolve_preset / parse_mix_preset / build_prompt / mix / character_sheet / seed 稳定\n- compact_prompt 长短场景\n- safety_lint 红线 / 艺术化重写 / 双向 catch\n- character / brand_kit save-load roundtrip + apply 注入\n- variants 共享 seed\n- reverse_prompt A1111 解析 + 启发式 preset 猜\n- MCP server: initialize / tools/list / tools/call dispatch\n- 88 预设字段完整性\n\n```bash\ntests/smoke.py            # 全跑\ntests/smoke.py --module TestSafetyLint\n```\n\n实测：33 测试 0.089 秒跑完。\n\n### 新增 3: examples/ 目录 — 5 个真实可运行示例\n\n| 文件 | 用途 |\n|------|------|\n| `brand_kit-song_tea.json` | 宋韵东方茶饮品牌套件示例 |\n| `character-silver_mecha.json` | 银发机甲少女角色卡 |\n| `learned_preset-fresh_film.json` | 清新胶片风学习预设 |\n| `storyboard-cat_rainy_night.txt` | 6 帧短片剧本（一只猫的雨夜散步） |\n| `recipe-1-brand_kv.sh` | RECIPES 食谱 1 的完整 bash 脚本 |\n| `examples/README.md` | 导入指南 |\n\n直接 `cat examples/xxx.json | scripts/<模块>.py --import` 即用。\n\n### 新增 4: QUICKSTART.md — 三层级上手文档\n\n- **30 秒**：第一条命令\n- **5 分钟**：基础工作流（推荐预设 → 出图 → 保存角色卡 → 看示例图）\n- **30 分钟**：完整工作流（品牌 KV / 风格学习 / 故事板 / IDE / Web UI / Obsidian）\n- **6 个 FAQ**：API key 缺失能用哪些功能 / 哪些后端值得配 / prompt 太长怎么办 / 等\n\n### 兼容性\n\n- 纯加固，零 feature 改动\n- doctor.py / tests/smoke.py / examples/ / QUICKSTART.md 全是新增\n- 14 个 v3.0 脚本不变，仅 VERSION bump 到 3.1.0\n\n### 文件改动\n\n| 改动 | 内容 |\n|------|------|\n| 新文件 | `doctor.py` / `tests/smoke.py` / `QUICKSTART.md` / `examples/*` (6 文件) |\n| VERSION bump | 14 个脚本 v3.0.0 → v3.1.0 |\n| 总新增 | ~900 行（含 5 个示例文件） |\n\n### 这一版的意义\n\n| | v3.0 | v3.1 |\n|---|------|------|\n| 代码质量 | 14 件套手动 smoke | + **33 自动回归** |\n| 上手成本 | RECIPES.md 抽象 | + **30 秒/5 分钟/30 分钟分级** |\n| 错误诊断 | 各脚本散写 | + **doctor.py 一键体检** |\n| 示例素材 | 文档里截图 | + **examples/ 真实文件** |\n\n---\n\n## v3.0.0 — 2026-04-27\n\n**v3.0 大版本：从\"提示词工具\"升级为「AI 创作生态中枢」。**\n\n四件大武器同时上线：故事板模式 / 品牌套件 / 风格学习引擎 / 创意四件套整合 cookbook。\n\n### E3: storyboard.py — 故事板模式（新文件 ~430 行）⭐ 杀手级 feature\n\n把一段剧本/文案 → Claude 拆 N 关键帧 → 每帧 T2I prompt + 帧间 T2V 衔接 prompt → 完整短片脚本包。\n\n```bash\nstoryboard.py \"一只猫从城市走进雨夜\" -p 电影感 --scenes 4 \\\\\n    -m Midjourney --video-model Sora --output ./my_story\n```\n\n输出：\n- `storyboard.json`（完整 scene + transition 数据）\n- `scene-{01-N}-t2i.txt`（每个关键帧的 T2I 提示词）\n- `transition-{xx-to-yy}-t2v.txt`（每个转场的 T2V 提示词）\n- `README.md`（可读总览 + 生产管线）\n\n亮点：\n- 整段共享 base_seed 锁定一致性，主角不漂移\n- Claude 自动拆分叙事弧（开场→起→承→转→合）\n- 复用 enhance_prompt + enhance_video，所有 88 预设/混合/五锁全部生效\n- 视频模型 9 选 1：Sora/Kling/Runway/Pika/Luma/Hailuo/即梦/Wan\n\n**国内目前没有人做到\"剧本 → 完整 T2I+T2V 脚本包\"这一点。**\n\n### E4: brand_kit.py — 品牌套件持久化（新文件 ~280 行）\n\n品牌 VI 沉淀到 `~/.huo15/brand_kits/<name>.json`，包含 colors / fonts / keywords / forbidden / logo_description。\n\n```bash\nbrand_kit.py --create song_tea \\\\\n    --colors \"#2C5F2D, #97BC62, #F7F4EA\" \\\\\n    --fonts \"Songti SC, Source Han Serif\" \\\\\n    --keywords \"宋韵, 极简, 留白, 文人画\" \\\\\n    --forbidden \"modern digital, neon, cyberpunk\"\n\n# 出图时自动注入\nenhance_prompt.py \"茶饮品牌主视觉\" -p 汉服写真 --brand-kit song_tea\n```\n\n注入逻辑：\n- `colors` → 写入 prompt 作为 brand color palette 提示\n- `keywords` → 追加到主体描述\n- `forbidden` → 合并到 negative prompt\n- `logo_description` → 加入 prompt 作 brand identity 信号\n\n完美对接 `huo15-openclaw-brand-protocol` 的输出（其抓品牌规范的 JSON 可直接 `--import`）。\n\n### C4: style_learn.py — 风格学习引擎（新文件 ~330 行）\n\n给 N 张参考图（≥2），Claude Vision 提取每张特征 → 综合共性 → 生成 learned preset。\n\n```bash\nstyle_learn.py --name 我的小清新 ref1.jpg ref2.jpg ref3.jpg\n\n# 后续直接用 @ 前缀调用\nenhance_prompt.py \"猫咪\" -p \"@我的小清新\"\n```\n\n技术细节：\n- 每张图调一次 Claude Vision 提取 tags/camera/lighting/palette/aspect\n- 综合阶段让 Claude 统一归纳，输出和 STYLE_PRESETS schema 兼容的 spec\n- 自带 `confidence` 字段（共性强度 0-1，< 0.5 警告太散）\n- 存到 `~/.huo15/learned_presets/<name>.json`，运行期注册到 STYLE_PRESETS（不污染源文件）\n- `resolve_preset` 支持 `@<name>` 前缀\n\n### G2: RECIPES.md — 创意四件套整合食谱\n\n新文档：5 个端到端食谱，演示 huo15-img-prompt 和其他 huo15-openclaw-* 技能联动：\n1. **品牌 KV 全流程**（design-director → brand-protocol → brand_kit → img-prompt → design-critique → frontend-design）\n2. **自学习风格 + 角色一致性 + 视频短片**（style_learn → character → storyboard）\n3. **电商商品图全套**（brand_kit + variants + character + obsidian）\n4. **Claude Code MCP 工作流**（IDE 内自然语言调用）\n5. **knowledge-base 联动**（资产沉淀到知识库）\n\n设计原则：\n- 每个技能管自己一段（不重复造轮子）\n- 数据格式互通（brand_kit / character / learned_preset 都是标准 JSON）\n- Claude Code + MCP 当协调者\n- 闭环优先（v2.5 的 image_review 免费用）\n\n### enhance_prompt.py 集成\n\n- 新增 `--brand-kit <name>` 加载品牌套件\n- `resolve_preset` 支持 `@<name>` 前缀加载 learned preset\n\n### 所有新文件（v3.0 共 ~1800 行）\n\n| 文件 | 行数 | 关键能力 |\n|------|------|---------|\n| `storyboard.py` | 430 | 剧本 → 视频脚本包 |\n| `brand_kit.py` | 280 | 品牌套件持久化 |\n| `style_learn.py` | 330 | 风格学习引擎 |\n| `RECIPES.md` | 250 | 创意四件套食谱 |\n| `enhance_prompt.py` | + 50 | brand-kit 注入 + @learned 解析 |\n\n### 兼容性\n\n- 完全向下兼容 v2.6\n- 所有新参数有默认值\n- learned preset 用 `@` 前缀，不与 88 内置预设冲突\n- 新文件不影响老脚本\n\n### 这一版的定位升级\n\n| | v2.x | v3.0 |\n|---|------|------|\n| 输入 | 一句话主体 | 一段剧本 / 多张参考图 / 品牌规范 |\n| 输出 | 单帧 prompt | **完整短片脚本包** / **学到的新预设** / **品牌一致出图** |\n| 个性化 | 88 内置预设 | + **用户自学习风格** + **品牌套件** |\n| 生态位 | 独立工具 | + **创意四件套核心节点**（食谱整合 5 个 huo15 技能） |\n\n---\n\n## v2.6.0 — 2026-04-27\n\n**用户体验大版本：从 CLI 工具变成 GUI/IDE/笔记三栖产品。**\n\n### E1: character.py — 角色卡持久化（新文件 220 行）\n\n- 把 `--character-sheet` 模式的输出（subject 描述 + seed + camera/lighting/palette 五锁）存到 `~/.huo15/characters/<name>.json`\n- 新增两个 enhance_prompt.py 参数：\n  - `--save-char <name>` 保存当前调用为角色卡\n  - `--char <name>` 加载角色卡，自动注入主体 + 锁 seed/preset/aspect\n- 角色卡含 `use_count` 自增计数 + `created_at` / `updated_at` 时间戳\n- 独立 CLI 管理：`character.py --list / --show / --delete / --export / --import`\n- 用例：\n  ```bash\n  # Turn 1: 创建角色\n  enhance_prompt.py \"银发机甲少女 twin tails glowing visor\" -p 动漫 \\\\\n      --character-sheet --save-char 银发机甲少女\n  \n  # Turn 2 ~ N: 复用，多张图角色一致\n  enhance_prompt.py \"在霓虹街头\" --char 银发机甲少女 -p 赛博朋克\n  enhance_prompt.py \"在花海中\" --char 银发机甲少女\n  ```\n\n### D2: Obsidian 集成 — `--obsidian` 写入 vault\n\n- 自动检测 vault 路径（环境变量 `OBSIDIAN_VAULT` → `~/knowledge/huo15` → `~/Documents/Obsidian` → `~/Obsidian`）\n- 写入 `<vault>/图集/{date}-{subject}-{seed}.md`\n- 完整 frontmatter（tags/preset/model/aspect/seed/tier/version/date/mix）\n- markdown body 包含：原始描述、正负向提示词、一致性锁、元信息、Claude 润色记录、VLM 评审、复现 CLI 命令\n- 跟用户记忆里的\"L3 共享 KB wiki\"层级吻合，完成 huo15 三层记忆生态闭环\n\n### D3: mcp_server.py — MCP stdio server（新文件 280 行）\n\n让 **Claude Code / Cursor / Cline / Continue.dev** 等 MCP IDE 直接调用本技能的 9 个工具：\n\n- `enhance_prompt` — 88 预设 + 五锁\n- `list_presets` / `preset_examples` — 浏览预设 + 5 平台参考图链接\n- `suggest_presets` / `polish_prompt` — Claude 智能推荐 + 润色\n- `safety_lint` — 平台合规检查\n- `review_image` — Claude Vision 五维评审\n- `list_characters` / `load_character` — 角色卡管理\n\n实现细节：\n- **手写 JSON-RPC 2.0 over stdio**，零第三方依赖（不引 mcp SDK）\n- 完整 MCP 协议：initialize / tools/list / tools/call\n- 注册到 `~/.claude/mcp.json`：\n  ```json\n  {\n    \"mcpServers\": {\n      \"huo15-img-prompt\": {\n        \"command\": \"python3\",\n        \"args\": [\"/path/to/scripts/mcp_server.py\"]\n      }\n    }\n  }\n  ```\n\n### D1: web_ui.py — 本地 Web UI（新文件 380 行）\n\n```bash\npython3 web_ui.py             # 默认 http://127.0.0.1:7155\npython3 web_ui.py --port 8080\npython3 web_ui.py --no-browser\n```\n\n- 单文件 HTML（vanilla JS + Tailwind CDN，零构建）\n- Python `http.server.ThreadingHTTPServer` 当后端，零第三方依赖\n- 三栏布局：\n  - 左：主体输入 + 混合预设权重 + 画质 + 模型 + 画幅 + 角色卡选择\n  - 中：88 预设可视化卡片，按 9 大类分组，搜索过滤\n  - 右：实时正/负向提示词 + 一致性锁表格 + 元信息 + 一键复制\n- 自动开浏览器、Ctrl+C 退出\n\n### 全部新文件（v2.6 共 ~880 行）\n\n| 脚本 | 行数 | 用户群 |\n|------|------|--------|\n| `character.py` | 220 行 | CLI + 程序化复用 |\n| `mcp_server.py` | 280 行 | IDE 用户（Claude Code/Cursor） |\n| `web_ui.py` | 380 行 | 设计师/产品经理（GUI） |\n| `enhance_prompt.py` | + 80 行（save-char/char/obsidian + helpers） | — |\n\n### 兼容性\n\n- 完全向下兼容 v2.5\n- 新参数有默认值\n- 新文件不影响老脚本\n\n### 用户群拓展\n\n| 之前 | 现在 |\n|------|------|\n| 命令行用户 | + IDE 用户（MCP）+ GUI 用户（Web UI）+ Obsidian 用户 |\n| 单次调用 | + 跨调用一致性（角色卡）+ 三层记忆同步（Obsidian） |\n\n---\n\n## v2.5.0 — 2026-04-27\n\n**核心护城河上线：图生评审 + 闭环自动迭代。GPT-4o image / Claude Imagen 内部都做不到。**\n\n### C1: image_review.py — Claude Vision 五维评审（新文件 320 行）\n\n- 调 Claude Sonnet 4.5 Vision 评审一张图\n- 五维结构化打分（0-10）：subject_match / composition / lighting / palette / technical\n- 输出加权 overall_score（subject 0.3 / composition 0.2 / lighting 0.2 / palette 0.15 / technical 0.15）\n- 三档 verdict：PASS ≥ 7.5 / RETRY 5-7.5 / REJECT < 5\n- **可执行修复**：每个 issue 不写\"光线不好\"，直接给\"add: golden hour rim light, soft fill from camera left\"\n- 多图排名：`image_review.py a.png b.png c.png --rank` 自动批量评审排序\n- 简评模式 `--quick`（只输出 overall_score，省 token）\n- 完整模式启用 prompt caching，多图调用省 90% input token\n\n### C2: auto_iterate.py — 闭环自动迭代（新文件 350 行）\n\n把整个流程串成闭环：\n\n```\nenhance_prompt → render → image_review → 不达标？让 Claude 改 prompt → 回到第一步（≤ 3 轮）\n```\n\n- 9 个后端可选（DALL-E / SD-WebUI / ComfyUI / Replicate / Fal / 即梦 / 可灵 / 海螺）\n- 整轮锁定 seed，便于对比每轮的 prompt 改动到底改善了哪一维\n- Claude 改 prompt 的 system prompt 单独设计，输入是上轮评审，输出是 revised_subject + extra_negatives + extra_mood + rationale\n- 每轮 trace 全保留（subject + recipe + image_path + review + revision），最终选最高分\n- 用例：\n  ```bash\n  auto_iterate.py \"持剑女侠\" -p 赛博朋克 --backend dalle --target 7.5 --max-rounds 3\n  ```\n\n### C3: enhance_prompt.py 加 `--variants N`（A/B 测试）\n\n- 同 subject + 同 seed，仅在指定轴上分化\n- 内置 4 维差异轴：mood / composition / lighting / stylize\n- `--variant-axes mood,composition` 选差异轴（默认这俩）\n- 用例：\n  ```bash\n  # 出 4 个变体（mood × composition 笛卡尔积取 4 个）\n  enhance_prompt.py \"持剑女侠\" -p 赛博朋克 --variants 4 -j > variants.json\n\n  # 出图后挑最优（用 image_review.py 排名）\n  for f in renders/*.png; do echo \"$f\"; done | xargs image_review.py --rank\n  ```\n\n### A1: 智能预设推荐 `--suggest`\n\n- 解决\"温柔感\"、\"高级感\"等模糊描述匹配不到预设的痛点\n- 让 Claude 看用户描述 + 88 预设清单，返回 **top 3** 候选\n- 每个候选附 score (0-1) + 一句话 reason + best_subject_example\n- 同时给 mix_suggestion（自动判断该不该混合）\n- 同时暴露在 `enhance_prompt.py --suggest` 和 `claude_polish.py --suggest`\n- 用例：\n  ```bash\n  enhance_prompt.py \"温柔治愈感的画面\" --suggest\n  # → top_3: 疗愈治愈 / 奶油风 / 童话绘本，附理由 + 适合主体\n  ```\n\n### 兼容性\n\n- 完全向下兼容 v2.4\n- 新文件 `image_review.py` / `auto_iterate.py` 不影响老脚本\n- 所有新参数有默认值\n\n### 文件改动\n\n| 文件 | 改动 |\n|------|------|\n| `scripts/image_review.py` | 新文件 320 行 |\n| `scripts/auto_iterate.py` | 新文件 350 行 |\n| `scripts/enhance_prompt.py` | + 100 行（variants + suggest dispatch） |\n| `scripts/claude_polish.py` | + 90 行（suggest_presets 函数 + CLI） |\n| 其他 4 脚本 | VERSION bump |\n\n### 真实差异化\n\n这一版做完，huo15-img-prompt 有了 GPT-4o image / Claude Imagen 都没有的能力：\n- **闭环反馈**：能告诉用户\"这张图差在哪\"+\"下轮怎么改\"\n- **可解释性**：5 维分项打分 + 改进 trace 全留\n- **多模型协作**：Claude 评审 + DALL-E/Replicate/即梦 出图，跨厂商组合\n- **A/B 实验**：同 seed 控变量比较\n\n---\n\n## v2.4.0 — 2026-04-27\n\n**补齐 CLI 体验：扩 7 后端、prompt 压缩、参考图链接、多轮编辑。**\n\n### B1+B2: render_prompt.py 扩 7 个后端\n\n| 后端 | 环境变量 | 用例 |\n|------|---------|------|\n| `replicate` | `REPLICATE_API_TOKEN` | `--remote-model black-forest-labs/flux-schnell` |\n| `fal` | `FAL_KEY` | `--remote-model fal-ai/flux/schnell` |\n| `jimeng` | `ARK_API_KEY`（火山方舟） | 字节即梦 / Seedream 3.0 |\n| `kling` | `KLING_API_KEY` | 快手可灵 v1 |\n| `hailuo` / `minimax` | `MINIMAX_API_KEY` | 海螺 image-01 |\n\n加上原有的 `comfyui` / `sd-webui` / `dalle` / `none(dry-run)`，**共 10 个后端**。\n\n### F2: enhance_prompt.py 加 `--compact`\n\n- 自动估算 prompt token 数（中文按字、英文按 1.3 token/word）\n- 超过 CLIP 77 token 触发压缩：去重 + 同义合并 + 按权重保留\n- 必保头 6 段（主体 + camera 锁），尾部按预算砍\n- 输出 `compaction` meta：before/after token 数、砍了几段\n- 实测：v2.3 长 prompt 124 → 73 tokens（不损失主体）\n\n### F1: enhance_prompt.py 加 `--examples` / `--with-examples`\n\n- 88 预设全量映射到搜索关键词（`PRESET_SEARCH_TERMS`）\n- 实时生成 5 平台搜索 URL：Lexica / Civitai / Pinterest / Google Images / Unsplash\n- 用法：\n  - `enhance_prompt.py --examples 敦煌壁画` 单预设的 5 平台链接\n  - `enhance_prompt.py -l --with-examples` 列表模式带链接\n- **零维护策略**：不内置静态图 URL，靠搜索 query 永远有效\n\n### A2: enhance_prompt.py 加 `--session` / `--continue`\n\n- 持久化目录 `~/.huo15/sessions/<name>.json`\n- `--session catwindow` 保存当前调用\n- `--continue catwindow` 加载历史 session 作为默认值，**自动锁定 seed** 保持多轮一致性\n- CLI 参数 > session 默认值 > 系统默认（标准三层覆盖）\n- `--list-sessions` 列出全部历史\n- 用例：\n\n```bash\n# Turn 1\nenhance_prompt.py \"猫坐在窗台\" -p 写实摄影 --session catwindow\n# Turn 2: 改画幅 + 加情绪，seed 自动锁定保证主体一致\nenhance_prompt.py --continue catwindow --aspect 16:9 --mood 治愈\n# Turn 3: 完全换主体描述但保 seed 测一致性\nenhance_prompt.py \"猫站起来伸懒腰\" --continue catwindow\n```\n\n### 兼容性\n\n- 完全向下兼容 v2.3，所有新参数有默认值\n- session 文件格式版本化（`name`/`iterations[]`/`latest`/`count`），未来扩字段不破坏老文件\n\n### 文件改动\n\n| 文件 | 改动 |\n|------|------|\n| `scripts/enhance_prompt.py` | + 220 行（compaction + sessions + preset URLs） |\n| `scripts/render_prompt.py` | + 230 行（5 后端函数） |\n| 其他 4 脚本 | 仅 VERSION bump |\n\n---\n\n## v2.3.0 — 2026-04-26\n\n**接入 Claude API + 平台合规润色，并起中文别名「火一五文生图提示词」。**\n\n### 中文别名\n\n`displayName: 火一五文生图提示词`，aliases 列表新增`火一五文生图提示词` 排第一位。\n\n### enhance_prompt.py — 加 --polish / --safety\n\n| 参数 | 作用 |\n|------|------|\n| `--polish` | 先调 Claude API（ANTHROPIC_API_KEY）智能润色，再走 88 预设增强 |\n| `--safety <platform>` | 平台合规重写：DALL-E/MJ/SD/SDXL/Flux，自动把可能误判的艺术词替换 |\n\n两者可叠加使用：先 polish 让 Claude 写出专业描述，再 safety 把误判词艺术化。\n\n### 新增脚本：claude_polish.py（350 行）\n\n- **Claude API 直调**：纯 urllib，不引入 anthropic SDK，避免企业扫描器\n- **prompt caching 启用**：system prompt 用 `cache_control: ephemeral`，省 90% input token\n- **Prefill `{` + JSON 强约束**：assistant 起手 prefill 强制结构化输出\n- **88 风格预设嵌入 system prompt**：让 Claude 从清单里挑而非凭记忆\n- **XML 思维链**：内部 `<thinking>` 让 Claude 分步骤思考（refine/style/camera/safety/negatives）\n- **Platform warnings**：Claude 主动识别 DALL-E/MJ/SD 各自的风险点并给出建议\n- **--pipe**：输出可直接喂给 enhance_prompt.py 的 CLI 命令\n\n### 新增脚本：safety_lint.py（330 行）\n\n**仅服务合法艺术创作场景**，不做 jailbreak：\n\n✗ 红线（直接拒答）：\n- CSAM（任何含未成年 + 性化的组合）\n- 真人 + 色情 / 政治污蔑\n- 武器/毒品/爆炸物**制作方法/教程**\n- 自残/自杀**方法诱导**\n\n✓ 黄区（艺术化重写）：\n- **violence**: 鲜血/血/伤口/kill/murder/weapon/gun/knife → crimson splash / battle-scarred / vanquish / ceremonial blade\n- **nudity**: naked/nude/裸/sexy → classical figure study / fine art reference / fashion editorial\n- **horror**: horror/scary/gore/monster/demon/evil → gothic atmospheric tension / mythical creature / dark fantasy\n- **death**: dead/corpse/skeleton/skull → memento mori / classical allegory / vanitas still life\n- **real-person**: celebrity/明星/actor/politician → fictional protagonist / 80s aesthetic\n- **brand**: marvel/disney/nike/iphone → superhero comic style / classic animated film / athletic sportswear\n- **weapon-model**: ak47/glock/uzi → fictional assault rifle prop\n\n每词内置 `category` + `platforms_affected`。平台分级：\n- DALL-E `max` 严格度：所有黄区都触发高风险标记\n- MJ `high` 中等：暴力/真人/品牌触发高风险\n- SD/SDXL/Flux `low` 宽松（开源）：只对成人内容触发中风险\n\n输出三模式：默认人类可读 / `-j` JSON / `--apply` 直接输出重写文本（pipe 友好）。\n\n### 兼容性\n\n- **完全向下兼容 v2.2**：所有新参数有默认值\n- `--polish` 需 `ANTHROPIC_API_KEY`，未设置时报友好错误并不影响其他功能\n- `--safety` 是纯本地词典，无网络依赖\n\n### 设计原则\n\n我们**坚决不做** jailbreak / 越狱 / 绕过模型对齐：\n- 仅做\"合法艺术创作场景下的平台误判规避\"\n- 红线检测优先于重写\n- 替换词全部来自正规艺术、摄影、影视术语\n- 用户输入红线内容时直接 `sys.exit(2)` 并给出改写建议\n\n---\n\n## v2.2.0 — 2026-04-25\n\n**四件套大版本：混合预设 + 视频提示词 + 参考图反解 + 直出图片。**\n\n### 新增脚本\n\n| 脚本 | 作用 | 关键参数 |\n|------|------|---------|\n| `enhance_prompt.py` | 文生图（升级） | `-p A+B --mix 0.6` |\n| `enhance_video.py` ⭐ | 视频提示词 | `-m Sora/Kling/Runway/Pika/Luma/Hailuo/即梦/Wan` |\n| `reverse_prompt.py` ⭐ | 参考图反解 | A1111 / ComfyUI / NovelAI metadata + VLM 模板 |\n| `render_prompt.py` ⭐ | 提示词直出 | `--backend comfyui/sd-webui/dalle/none` |\n\n### enhance_prompt.py — 混合预设\n\n- **`-p \"A+B\"` 语法**：`赛博朋克+水墨` / `原神+敦煌壁画` / `glassmorphism+wabisabi` 任意两两融合\n- **`--mix <ratio>`**：主预设权重 0.1-0.9（默认 0.6）\n- **SD 模式**：自动加权重语法 `(primary_tag:1.16), (secondary_tag:1.04)`\n- **MJ/Flux/通用**：按比例前置主预设标签\n- **camera/lighting/palette 智能融合**：相机沿主预设、光影叠加、色板拼接、aspect 取主\n- **PRESET_NEG_EXCLUDE 双向生效**：主辅任一需要 logo/text/signature 都会从 universal_neg 剔除\n- **seed 锁定**：mix_label `A+B@0.60` 参与 hash，相同混合每次生成相同 seed\n\n### enhance_video.py — 视频提示词（新文件 470 行）\n\n- **9 大视频模型规格**：Sora / Kling 可灵 / Runway Gen-3/4 / Pika / Luma DreamMachine / Hailuo MiniMax / 即梦 Seedance / 通义 Wan2.1 / 通用\n- **30+ 镜头运动词典**：推/拉/摇/移/跟/环绕/手持/航拍/希区柯克/POV/子弹时间/延时/慢动作 ...\n- **9 节奏档位**：缓慢 / 宁静 / 中速 / 紧张 / 急促 / 快切 / 动感 / 史诗 ...\n- **30+ 主体动作自动抽词**：走/跑/跳/飞/舞/回眸/转身/挥剑/骑马/对视 ...\n- **关键帧三段式拆分**：开场建立 → 中段动作峰值 → 结尾落点\n- **视频专属负面词**：flicker / motion blur artifacts / identity drift / morphing artifacts\n- **复用 88 风格预设 + 混合预设**：视觉锁完全沿用 image preset 体系\n- **格式适配**：Pika 输出标签式，其他全部自然语言\n\n### reverse_prompt.py — 参考图反解（新文件 340 行）\n\n- **三层反解策略**：\n  1. **PNG metadata**：手写 PNG `tEXt`/`iTXt` 解析，零依赖（不引入 PIL）\n  2. **A1111/ComfyUI/NovelAI 三大格式自动识别**：parameters / prompt+workflow / Description+Comment\n  3. **VLM fallback 模板**：图无 metadata 时，输出标准化 88 预设选择 prompt 给 GPT-4o/Claude/Gemini/Qwen-VL\n- **启发式预设猜测**：35+ 关键词 → 预设映射（cyberpunk → 赛博朋克 / ghibli → 宫崎骏 / dunhuang → 敦煌壁画 ...）\n- **画幅自动推断**：从 size 字段算 ratio，匹配最近的 1:1/16:9/3:4/21:9 等\n- **三种输出**：`text`(默认) / `--mj`(单行 MJ prompt) / `-j`(结构化 JSON 可 pipe)\n- **支持本地路径 + 远程 URL**\n\n### render_prompt.py — 直出图片（新文件 270 行）\n\n- **4 个后端**：\n  - `comfyui` — 本地 ComfyUI HTTP API（默认 http://127.0.0.1:8188）\n  - `sd-webui` — AUTOMATIC1111 / Forge txt2img API（默认 http://127.0.0.1:7860）\n  - `dalle` — OpenAI DALL-E 3（OPENAI_API_KEY）\n  - `none` — dry-run，只输出 recipe JSON 不出图\n- **零第三方依赖**：纯 urllib，避免企业扫描器命中\n- **ComfyUI 默认 workflow**：内置 SDXL 9 节点 workflow，可用 `--workflow` 覆盖\n- **环境变量覆盖**：`COMFYUI_URL` / `SDWEBUI_URL`\n- **支持混合预设直出**\n\n### 新增功能矩阵\n\n| 维度 | v2.1 | v2.2 |\n|------|------|------|\n| 出图前 | 提示词增强 | + **混合预设**（任意两两融合） |\n| 出图中 | （手工复制到模型） | + **直出**（comfyui/sd-webui/dalle） |\n| 出图后 | （无） | + **反解**（A1111/ComfyUI/NovelAI metadata） |\n| 视频 | （不支持） | + **视频提示词**（9 模型 + 关键帧 + 镜头运动） |\n\n### 兼容性\n\n- **完全向下兼容**：v2.1 所有 CLI 命令在 v2.2 不变；新参数均有默认值\n- **JSON 字段新增**：`mix_secondary` / `mix_ratio` / `mix_label`（旧字段保留）\n- **enhance_video.py / reverse_prompt.py / render_prompt.py 是新文件**，不影响 enhance_prompt.py 老用户\n\n### 未变\n\n- 88 风格预设、五锁机制、系列模式、角色设定图、质量档位 — 全部保留\n\n---\n\n## v2.1.0 — 2026-04-24\n\n**再扩充：更贴近需求 + 更多风格 + 角色一致性。**\n\n### 新增风格预设（+32 款，总 56 → 88）\n\n- **游戏艺术（新类，7）**：原神 / 崩铁星穹 / 英雄联盟 / 暗黑4 / Valorant / Pokemon / 暴雪风\n- **东方传统（新类，7）**：敦煌壁画 / 青花瓷 / 民国月份牌 / 年画 / 剪纸 / 和风 / 汉服写真\n- **动漫扩展（+4）**：萌系 / 厚涂 / 轻小说封面 / 赛璐璐\n- **现代设计（+6）**：玻璃拟态 / 新拟态 / 孟菲斯 / 杂志编排 / 包豪斯 / 奶油风\n- **建筑氛围（+3）**：粗野主义 / 北欧极简 / 侘寂\n- **摄影扩展（+3）**：暗黑美食 / 日杂 / 街头潮流\n- **氛围综合（+2）**：疗愈治愈 / 美式复古\n\n### 新功能\n\n- **角色设定图模式** `--character-sheet` / `-cs`：\n  - 自动生成 T-pose + 正面 / 三分之二 / 侧面 / 背面多视图的设定图提示词\n  - 专为 Midjourney `--cref`、Stable Diffusion IP-Adapter 做角色参考用\n  - 画幅自动锁 16:9\n- **时间 / 天气 / 季节 自动抽词**：\n  - 14 时间词：清晨 / 黎明 / 黄昏 / 日落 / 深夜 / 蓝调时刻 / 魔法时刻 ...\n  - 15 天气词：晴天 / 下雨 / 暴雨 / 下雪 / 暴雪 / 雾天 / 雷雨 ...\n  - 10 季节词：春夏秋冬 / 樱花季 / 枫叶季\n- **负向需求识别**：识别主体描述中的\"不要X / 没有X / 避免X / no X / avoid X / without X\"，自动从正向提示中移除并加入负面提示。\n- **质量档位** `-t basic / pro / master`：\n  - `basic`: `high quality, detailed`（省 token）\n  - `pro` (默认): `masterpiece, best quality, ultra detailed, 8k`\n  - `master`: 叠加 `hdr, intricate details, sharp focus, award winning, trending on artstation, professional, highly polished`\n- **显式负面追加** `--avoid \"cluttered, people\"`：CLI 级附加负面词。\n\n### 新增别名（+45）\n\n`genshin` / `mihoyo` / `honkai` / `starrail` / `lol` / `diablo` / `valorant` / `pokemon` / `blizzard` / `overwatch` / `dunhuang` / `qinghua` / `porcelain` / `yuefenpai` / `wafu` / `hanfu` / `papercut` / `nianhua` / `moe` / `lightnovel` / `lncover` / `celshaded` / `glassmorphism` / `glass` / `neumorphism` / `memphis` / `editorial` / `bauhaus` / `cream` / `korean` / `brutalism` / `brutalist` / `nordic` / `scandinavian` / `wabisabi` / `zen` / `darkfood` / `muji` / `streetwear` / `hypebeast` / `healing` / `cozy` / `americana` ...\n\n### 改进\n\n- 主体描述中的\"不要X\"子句会先被 `strip_negative_clauses()` 去除再送入正向提示，避免正向污染。\n- `print_prompt()` 输出增加 ⭐ 质量档位、👤 角色设定图模式、🕐 时间、☁️ 天气、🍂 季节、🚫 用户负向 六个新字段展示。\n- `list_presets()` 按 8 大类分类展示（新增\"游戏\" / \"东方\"分组）。\n\n### 兼容性\n\n- **向下兼容**：v2.0 CLI 命令在 v2.1 完全可用，所有新参数均有默认值。\n- **JSON 字段新增**：`quality_tier` / `character_sheet` / `time_of_day` / `weather` / `season` / `user_negatives`（旧字段保留）。\n\n---\n\n## v2.0.0 — 2026-04-24\n\n**大版本升级：一致性 + 贴近需求 + 风格扩充。**\n\n### 新增\n\n- **风格预设 17 → 56**，六大分类：\n  - 摄影 10（新增：黑白摄影 / 人像摄影 / 时尚大片 / 美食摄影 / 微距摄影 / 航拍摄影 / 街拍纪实）\n  - 动漫 6（新增：新海诚 / 宫崎骏 / 美漫 / Q版 / 童话绘本）\n  - 插画 7（新增：工笔国画 / 浮世绘 / 线稿）\n  - 3D 7（全部新增：3DC4D / 盲盒手办 / 低多边形 / 等距视图 / 粘土 / 毛毡手工 / 纸艺）\n  - 设计 10（新增：平面设计 / Logo设计 / 图标设计 / 信息图 / 品牌KV / 专辑封面 / 电影海报 / 表情包）\n  - 艺术史 4（全部新增：印象派 / 后印象派 / 新艺术 / 装饰艺术）\n  - 场景氛围 12（新增：黑暗奇幻 / Y2K / Vaporwave / 霓虹灯牌 / 概念艺术）\n- **一致性四锁**：每个预设内置 `camera` / `lighting` / `palette` / `aspect` 四项独立锁，系列出图风格不再漂移。\n- **系列批量模式** `-s N --variations \"A,B,C,D\"`：共享 seed + 四锁，主体描述差异化，一次生成一整套。\n- **意图识别器**：无需指定 `-p`，脚本从\"logo/产品/海报/头像/美食/赛博/水墨...\"等关键词自动推荐预设 + 画幅。\n- **构图/情绪抽词**：主体描述中的\"俯拍/特写/航拍/神秘/温馨/史诗...\"自动并入提示词。\n- **稳定 seed 建议**：基于 `md5(subject + preset)` 生成 32-bit seed，便于复现。\n- **英文 / 同义词别名**：60+ 别名（anime、ghibli、cyberpunk、minimal、3d、logo、neon、vapor…）。\n- **多模型精细化适配**：\n  - Midjourney 输出 `--ar --stylize`，提示 `--cref/--sref`\n  - Stable Diffusion 输出权重语法 `(subject:1.2)`，提示采样器/CFG\n  - SDXL 输出推荐尺寸（`1216x832` 等）\n  - Flux 输出长句自然语言 + guidance 提示\n  - DALL-E 3 输出段落式自然语言\n- **JSON 输出** `-j`：结构化一致性锁 + 所有参数，便于下游集成。\n- **CLI 增强**：`-a/--aspect`、`--mood`、`--composition`、`--seed`、`-l/--list`、`-v/--version`。\n\n### 修复\n\n- 修复 Logo设计 / 图标设计 / 表情包 / 海报 等预设的**全局负面词包含 \"logo/text\"** 导致的语义自我否定。\n- 修复 水墨 / 工笔国画 / 浮世绘 预设中**负面词包含 \"signature\"** 与画面印章冲突。\n\n### 破坏性变更\n\n- `build_prompt()` 返回 dict 新增 `aspect` / `seed_suggestion` / `consistency_lock` / `hint` / `version` 字段（向下兼容，原有字段保留）。\n\n---\n\n## v1.0.0 — 2026-04-24（初始版本）\n\n- 17 风格预设（写实摄影 / 胶片摄影 / 动漫 / 赛博朋克 / 水彩 / 油画 / 建筑可视化 / 产品设计 / 像素艺术 / 奇幻 / 科幻 / 复古海报 / 水墨 / 蒸汽朋克 / 极简主义 / 电影感 / 国潮）。\n- 支持 Midjourney / SD / DALL-E / 通用 四种输出骨架。\n- CLI：`subject -p <preset> -m <model> [-l] [-j]`。\n\nFile v3.1.0:QUICKSTART.md\n\n# 快速上手 — 三层级\n\n> 30 秒 / 5 分钟 / 30 分钟，按你想投入的时间往下读。\n\n## 0. 首次安装后先跑这个\n\n```bash\npython3 scripts/doctor.py --quick\n```\n\n会告诉你：\n\n- 14 个脚本是否都能 import + 版本是否一致\n- 哪些 API key 已配 / 缺哪些（按需）\n- Obsidian vault 检测到没\n- 持久化资产盘点（characters / sessions / brand_kits / learned_presets）\n\n如果看到 `✗ ANTHROPIC_API_KEY 未设置（必填）`，先：\n\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-xxx     # 把 sk-ant-xxx 换成你的真实 key\n# 或写到 ~/.zshrc / ~/.bashrc\n```\n\n---\n\n## 30 秒：第一条命令\n\n```bash\nscripts/enhance_prompt.py \"一只赛博朋克的猫\" -p 赛博朋克 -m Midjourney\n```\n\n复制 `✅ 正向提示词` 那段，粘贴到 Midjourney/Discord，回车出图。\n\n完了，就这么简单。\n\n---\n\n## 5 分钟：基础工作流\n\n### Step 1: 选预设（不知道选哪个 → 让 Claude 推荐）\n\n```bash\nscripts/enhance_prompt.py \"温柔治愈感的画面\" --suggest\n```\n\nClaude 会从 88 预设里挑 top 3，附评分 + 适合场景。\n\n### Step 2: 出图\n\n```bash\n# 基础（自己挑预设）\nscripts/enhance_prompt.py \"咖啡馆窗边的少女\" -p 胶片摄影 -m Midjourney\n\n# 混合两种风格（v3.0 特性）\nscripts/enhance_prompt.py \"持剑女侠\" -p \"赛博朋克+水墨\" --mix 0.6 -m SDXL\n\n# A/B 测试出 4 个变体（同 seed，不同 mood/composition）\nscripts/enhance_prompt.py \"夜晚街景\" -p 电影感 --variants 4 -j > /tmp/variants.json\n```\n\n### Step 3: 保存常用资产\n\n```bash\n# 角色卡（跨调用保持一致）\nscripts/enhance_prompt.py \"银发机甲少女, twin tails, glowing visor\" \\\n    -p 动漫 --character-sheet --save-char silver_mecha\n\n# 后续直接用\nscripts/enhance_prompt.py \"在霓虹街头\" --char silver_mecha\nscripts/enhance_prompt.py \"在花海中\" --char silver_mecha\n# → 自动锁 seed，三张图角色一致\n```\n\n### Step 4: 看预设示例图\n\n```bash\nscripts/enhance_prompt.py --examples 敦煌壁画\n# 输出 5 平台搜索 URL（Lexica / Civitai / Pinterest / Google / Unsplash）\n```\n\n---\n\n## 30 分钟：完整工作流\n\n### A. 端到端品牌 KV（食谱 1）\n\n```bash\n# 1. 导入示例品牌套件\ncat examples/brand_kit-song_tea.json | scripts/brand_kit.py --import\n\n# 2. 用品牌套件 + 智能润色 + 闭环迭代\nscripts/auto_iterate.py \"宋韵茶饮品牌主视觉，一杯热茶，远山轮廓\" \\\n    -p \"汉服写真+水墨\" \\\n    --backend dalle \\\n    --target 7.5 \\\n    --max-rounds 3\n# → Claude Vision 五维评审，分数 < 7.5 自动改 prompt 重出\n```\n\n### B. 学习自己喜欢的风格\n\n```bash\n# 给 N 张参考图（你自己拍的、收藏的）\nscripts/style_learn.py --name 我的小清新 \\\n    refs/morning_cafe.jpg \\\n    refs/sunset.jpg \\\n    refs/quiet_corner.jpg \\\n    refs/film_kodak.jpg\n\n# 后续用 @ 前缀调用\nscripts/enhance_prompt.py \"猫咪坐在窗台\" -p \"@我的小清新\"\n```\n\n### C. 短片故事板（v3.0 杀手 feature）\n\n```bash\n# 输入剧本 → Claude 拆 6 关键帧 + 5 个转场\nscripts/storyboard.py < examples/storyboard-cat_rainy_night.txt \\\n    -p 电影感 --scenes 6 \\\n    -m Midjourney --video-model Sora \\\n    --output ./renders/cat_rainy_night\n```\n\n输出（在 `./renders/cat_rainy_night/`）：\n\n- `storyboard.json` 完整数据\n- `scene-{01-06}-t2i.txt` 6 个关键帧 T2I prompt\n- `transition-{xx-to-yy}-t2v.txt` 5 个转场 T2V prompt\n- `README.md` 可读总览\n\n把 6 个 scene prompt 喂 Midjourney，5 个 transition prompt 喂 Sora，剪辑串联即得 ~30 秒短片。\n\n### D. 在 IDE 里直接用（Claude Code / Cursor）\n\n注册到 `~/.claude/mcp.json`：\n\n```json\n{\n  \"mcpServers\": {\n    \"huo15-img-prompt\": {\n      \"command\": \"python3\",\n      \"args\": [\"/path/to/huo15-img-prompt/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n然后在 Claude Code：\n\n```\n> @huo15-img-prompt 帮我给落地页做 hero 图，主题是\"AI 编程助手\"，要科技感但温暖\n```\n\nClaude Code 会自动调链路：suggest_presets → polish_prompt → enhance_prompt → review_image。\n\n### E. 本地 Web UI\n\n```bash\npython3 scripts/web_ui.py\n# 自动开浏览器到 http://127.0.0.1:7155\n```\n\n可视化 88 预设、实时 prompt 预览、一键复制。\n\n### F. 把 recipe 沉淀到 Obsidian\n\n```bash\nscripts/enhance_prompt.py \"...\" --obsidian\n# 自动写入 ~/knowledge/huo15/图集/ 或 OBSIDIAN_VAULT 指定位置\n# 含完整 frontmatter + 复现命令\n```\n\n---\n\n## 常见问题\n\n### Q1: 我没有 ANTHROPIC_API_KEY，能用吗？\n\n可以。**80% 功能不依赖 Claude**：\n- ✅ enhance_prompt（88 预设 / 五锁 / 混合 / variants / compact）\n- ✅ enhance_video（视频提示词）\n- ✅ reverse_prompt（参考图反解，metadata 模式）\n- ✅ render_prompt（10 后端直出，需要对应后端的 key）\n- ✅ safety_lint（红线检测，纯本地词典）\n- ✅ character / brand_kit（持久化）\n- ✅ web_ui / mcp_server\n\n需要 ANTHROPIC_API_KEY 的：\n- ❌ claude_polish（智能润色）\n- ❌ image_review（VLM 评审）\n- ❌ auto_iterate（闭环迭代）\n- ❌ storyboard（剧本拆分）\n- ❌ style_learn（风格学习）\n- ❌ --suggest 推荐预设\n\n### Q2: 我能在 Anaconda 环境里用吗？\n\n可以，纯标准库，没有第三方依赖。任何 Python 3.8+ 环境都行。\n\n### Q3: 哪些后端最值得配？\n\n- **入门**：DALL-E 3（OPENAI_API_KEY，质量稳定，文字渲染好）\n- **省钱**：本地 ComfyUI / SD WebUI（一次性下载模型，永久免费）\n- **国产场景**：字节即梦（ARK_API_KEY，中文场景效果好）\n- **快速试**：Replicate flux-schnell（REPLICATE_API_TOKEN，4 步出图）\n\n### Q4: 14 个脚本太多，我从哪 3 个开始？\n\n1. `enhance_prompt.py` — 这是核心，所有路径都从它开始\n2. `doctor.py` — 出问题先跑这个\n3. `web_ui.py` — 不想敲命令的时候用\n\n剩下的按需：要出图 → render_prompt；要短片 → storyboard；要做品牌一致 → brand_kit。\n\n### Q5: 出来的 prompt 太长，SDXL 会截断怎么办？\n\n```bash\nscripts/enhance_prompt.py \"...\" -m SDXL --compact\n# 自动压缩到 CLIP 77 token 内\n```\n\n### Q6: 我之前的图想改一改，prompt 丢了\n\n```bash\nscripts/reverse_prompt.py 你的图.png\n# 自动从 PNG metadata 提取 A1111/ComfyUI/NovelAI 三种格式的 prompt\n```\n\n如果图没 metadata：\n\n```bash\nscripts/reverse_prompt.py 你的图.png --vlm\n# 输出标准 VLM 模板，复制给 GPT-4o / Claude Sonnet 4.5 / Gemini 即可\n```\n\n---\n\n## 下一步\n\n- 完整 88 预设：`scripts/enhance_prompt.py -l --with-examples`\n- 食谱书：[RECIPES.md](RECIPES.md)\n- 完整 CLI：每个脚本都有 `-h` / `--help`\n\n有问题先跑 `doctor.py`，再到 [https://clawhub.ai/skills/huo15-img-prompt](https://clawhub.ai/skills/huo15-img-prompt) 看 issue。\n\nFile v3.1.0:RECIPES.md\n\n# 火一五创意生态 — 整合食谱\n\n> v3.0 加入 huo15 创意生态后，huo15-img-prompt 不再是独立工具，而是「创意管线」的核心节点。\n> 本文档列出和其他 huo15-openclaw-* 技能的串联用法。\n\n## 火一五创意全家桶\n\n| 技能 | 角色 |\n|------|------|\n| `huo15-openclaw-design-director` | 选设计方向（5 流派 × 20 哲学 → 3 方向反差对比） |\n| `huo15-openclaw-brand-protocol` | 抓品牌规范（Ask/Search/Download/Verify/Codify） |\n| `huo15-openclaw-frontend-design` | 高保真 Web UI 落地 + 设计 tokens |\n| `huo15-openclaw-design-critique` | 5 维设计评审 + Keep/Fix/Quick Wins |\n| **`huo15-img-prompt`** ⭐ | 文生图 + 文生视频 + 闭环迭代 |\n\n---\n\n## 食谱 1：从零到一做品牌 KV（key visual）\n\n```\n设计方向 → 品牌规范 → 出图 → 评审 → 落地\n```\n\n### Step 1: design-director 选方向\n\n```\n> 我要做一个茶饮品牌，希望有东方气质但又年轻\n```\n\n→ design-director 给 3 个反差对比方向（如：宋韵极简 / 国潮复古 / 禅意新中式）。\n\n### Step 2: brand-protocol 沉淀品牌规范\n\n选定\"宋韵极简\"后：\n\n```\n> 帮我把这个方向 codify 成 brand kit\n```\n\n→ brand-protocol 输出：colors / fonts / visual_keywords / forbidden 元素。\n\n导入 huo15-img-prompt：\n\n```bash\nbrand-protocol-output.json | brand_kit.py --import\n# 或手动创建\nbrand_kit.py --create song_tea \\\n    --colors \"#2C5F2D, #97BC62, #F7F4EA\" \\\n    --fonts \"Songti SC, Source Han Serif\" \\\n    --keywords \"宋韵, 极简, 留白, 文人画\" \\\n    --forbidden \"modern digital, neon, cyberpunk\"\n```\n\n### Step 3: img-prompt 出 KV 图\n\n```bash\n# 用品牌套件 + 推荐预设\nenhance_prompt.py \"茶饮品牌主视觉, 一杯热茶, 远山\" \\\n    -p \"汉服写真+水墨\" \\\n    --brand-kit song_tea \\\n    --polish        # Claude 智能润色\n\n# 或闭环迭代到 7.5 分\nauto_iterate.py \"茶饮品牌主视觉\" \\\n    -p \"汉服写真+水墨\" \\\n    --backend dalle \\\n    --target 7.5\n```\n\n### Step 4: design-critique 评审\n\n```\n> 用 design-critique 评审这套图\n```\n\n→ Keep/Fix/Quick Wins 三分类反馈。\n\n### Step 5: frontend-design 落地\n\n把出图作为 hero 图，调用 frontend-design 生成完整官网：\n\n```\n> 用 frontend-design 给这个茶饮品牌做落地页，hero 用上面这张 KV\n```\n\n→ 完整 HTML/CSS/JS 原型，沿用 brand kit 的 tokens。\n\n---\n\n## 食谱 2：自学习风格 + 角色一致性 + 视频短片\n\n适合个人 IP / 自媒体内容创作。\n\n### Step 1: style_learn 学习独有风格\n\n收集你喜欢的 5-10 张图（自己拍的、收藏的、参考的）：\n\n```bash\nstyle_learn.py --name 我的小清新 \\\n    refs/morning_cafe.jpg \\\n    refs/sunset_seoul.jpg \\\n    refs/film_kodak.jpg \\\n    refs/window_light.jpg \\\n    refs/quiet_corner.jpg\n```\n\n→ Claude Vision 综合 5 张图共性 → 生成 learned preset `@我的小清新`。\n\n### Step 2: character 创建固定角色\n\n```bash\nenhance_prompt.py \"20 岁亚裔女孩, 长直发, 圆框眼镜, 米白毛衣\" \\\n    -p \"@我的小清新\" \\\n    --character-sheet \\\n    --save-char 我的女主\n```\n\n### Step 3: storyboard 拆短片剧本\n\n```bash\nstoryboard.py \"女主在咖啡馆度过的下雨午后，从写信到收到回信\" \\\n    -p \"@我的小清新\" \\\n    --scenes 6 \\\n    -m Midjourney \\\n    --video-model Sora \\\n    --output ./my_story\n```\n\n→ 6 个关键帧 + 5 个转场，每个都 prompt 完整可用。\n\n### Step 4: 出图 + 出视频\n\n```bash\n# 关键帧用 Midjourney 出\nfor f in my_story/scene-*-t2i.txt; do\n    cat $f | grep -A1 '## Positive' | tail -1\n    # 喂给 MJ\ndone\n\n# 转场用 Sora 出（关键帧作为首帧）\nfor f in my_story/transition-*.txt; do\n    # 喂给 Sora i2v 模式\ndone\n\n# 剪辑串联即得短片\n```\n\n### Step 5: 评审反馈\n\n```bash\nimage_review.py my_story/renders/*.png --rank\n```\n\n不好的轮次让 auto_iterate 自动改。\n\n---\n\n## 食谱 3：电商商品图全套\n\n### Step 1: brand_kit 沉淀品牌色\n\n```bash\nbrand_kit.py --create my_brand \\\n    --colors \"#FF6B35, #1A1A2E, #FAFAFA\" \\\n    --keywords \"清爽, 现代, 高级感\"\n```\n\n### Step 2: 用变体测试找最优 prompt\n\n```bash\nenhance_prompt.py \"无线耳机产品图, 白底, 30 度俯视\" \\\n    -p 产品摄影 \\\n    --brand-kit my_brand \\\n    --variants 6 \\\n    --variant-axes mood,composition,lighting\n\n# 出 6 张图后排名\nimage_review.py renders/variant-*.png --rank\n```\n\n### Step 3: 锁定最优 → 系列扩展\n\n最优变体的 seed → 用作角色卡：\n\n```bash\nenhance_prompt.py \"无线耳机产品图\" \\\n    -p 产品摄影 \\\n    --brand-kit my_brand \\\n    --save-char earphone_main \\\n    --seed <最优 seed>\n\n# 后续所有变体（不同角度、配件、场景）共用\nenhance_prompt.py \"无线耳机展示图，环境光\" --char earphone_main\nenhance_prompt.py \"无线耳机加包装\" --char earphone_main\nenhance_prompt.py \"无线耳机使用场景\" --char earphone_main\n```\n\n### Step 4: 沉淀到 Obsidian\n\n```bash\nenhance_prompt.py \"...\" --char earphone_main --obsidian\n```\n\n→ 所有 recipe 写入 vault `图集/`，方便后续团队 review。\n\n---\n\n## 食谱 4：Claude Code 工作流（IDE 内调用）\n\n注册 MCP server 到 `~/.claude/mcp.json`：\n\n```json\n{\n  \"mcpServers\": {\n    \"huo15-img-prompt\": {\n      \"command\": \"python3\",\n      \"args\": [\"/path/to/huo15-img-prompt/scripts/mcp_server.py\"]\n    }\n  }\n}\n```\n\n然后在 Claude Code 里：\n\n```\n> @huo15-img-prompt 帮我给落地页做一张 hero 图，主题是\"AI 编程助手\"，要科技感但温暖\n```\n\nClaude Code 会：\n1. 调 `suggest_presets` 推荐 top-3\n2. 调 `polish_prompt` 润色\n3. 调 `enhance_prompt` 出 prompt\n4. 你出图后调 `review_image` 五维评审\n5. 不好让 Claude 改 prompt 重出（闭环）\n\n---\n\n## 食谱 5：和 huo15-openclaw-knowledge-base 联动\n\n把 brand_kit + character_card + learned_preset 沉淀到 huo15 知识库：\n\n```bash\n# brand_kit 导出 → 入库\nbrand_kit.py --export song_tea | jq '.' > raw/song_tea_brand.json\n# 然后用 knowledge-base 编译入 wiki\n\n# character 导出 → 入库\ncharacter.py --export 我的女主 > raw/heroine.json\n```\n\n→ wiki 全局搜索时这些资产可被检索。\n\n---\n\n## 设计原则\n\n1. **每个技能管自己一段**：design-director 选方向，img-prompt 出图，design-critique 评审\n2. **数据格式互通**：brand_kit / character / learned_preset 都是标准 JSON，可在技能间传递\n3. **Claude 是协调者**：用 Claude Code + MCP 让 Claude 自动选择合适的技能链路\n4. **闭环优先**：每一步都有\"评审 → 改 → 重做\"的能力，不要单步走到底\n\n## 反对的做法\n\n❌ 把所有功能塞到一个技能里（违反\"每个 skill 独立模块化\"原则）\n❌ 在 img-prompt 里复刻 design-director 的方向选择能力（重复造轮子）\n❌ 不沉淀 brand_kit / character / learned_preset 到 ~/.huo15/（每次重新生成）\n❌ 跳过评审直接发布（v2.5 的闭环迭代是免费的，不用白不用）\n\n---\n\n由 huo15-img-prompt v3.0 发布，后续随生态扩展持续更新。\n\nFile v3.1.0:skill-card.md\n\n## Description: <br>\nHuo15 Img Prompt helps agents create, refine, review, and package image and video generation prompts across text-to-image, text-to-video, storyboard, brand kit, character, style learning, MCP, Web UI, and iteration workflows. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[zhaobod1](https://clawhub.ai/user/zhaobod1) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal creators, designers, developers, and agent users use this skill to turn rough creative briefs, scripts, reference images, brand rules, and character concepts into reusable prompts, JSON recipes, storyboard files, review guidance, and configuration for image and video generation workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can call external AI and image services, fetch image URLs, and require sensitive API credentials. <br>\nMitigation: Use dedicated API keys, keep them in environment variables, review the specific command path before execution, and avoid confidential prompts or images unless the selected service and workflow are acceptable. <br>\nRisk: Some features can persist creative history, characters, brand kits, learned presets, sessions, or Obsidian notes under the user's home directory. <br>\nMitigation: Disable or avoid persistence features such as --obsidian, --session, saved characters, brand kits, and learned presets when privacy or data minimization matters. <br>\nRisk: The safety rewriting feature is designed to rephrase sensitive concepts for platform acceptance. <br>\nMitigation: Use safety rewriting only for legitimate creative wording cleanup, review rewritten prompts before use, and do not rely on it as a substitute for policy or content safety review. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zhaobod1/huo15-img-prompt) <br>\n- [Publisher profile](https://clawhub.ai/user/zhaobod1) <br>\n- [Quickstart](QUICKSTART.md) <br>\n- [Recipes](RECIPES.md) <br>\n- [Examples](examples/README.md) <br>\n- [T2I prompt engineering guide](references/t2i-guide.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration, JSON, Files, Guidance] <br>\n**Output Format:** [Prompt text, JSON recipes, Markdown summaries, shell commands, configuration snippets, and generated storyboard or asset files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Some workflows can call external AI or image services, fetch image URLs, and save creative history, characters, brand kits, learned presets, sessions, or Obsidian notes when those features are used.] <br>\n\n## Skill Version(s): <br>\n3.1.0 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v3.1.0:examples/brand_kit-song_tea.json\n\n{\n  \"name\": \"song_tea\",\n  \"version\": \"3.1.0\",\n  \"description\": \"宋韵东方茶饮品牌套件示例 — 用于 RECIPES.md 食谱 1\",\n  \"colors\": [\n    \"#2C5F2D\",\n    \"#97BC62\",\n    \"#F7F4EA\",\n    \"#3E2723\"\n  ],\n  \"fonts\": [\n    \"Songti SC\",\n    \"Source Han Serif\",\n    \"Noto Serif CJK SC\"\n  ],\n  \"keywords\": [\n    \"宋韵\",\n    \"极简\",\n    \"留白\",\n    \"文人画\",\n    \"山水意境\",\n    \"克制\"\n  ],\n  \"forbidden\": [\n    \"modern digital\",\n    \"neon\",\n    \"cyberpunk\",\n    \"harsh contrast\",\n    \"saturated cartoon\"\n  ],\n  \"logo_description\": \"minimal seal-script chinese character on parchment\",\n  \"use_count\": 0\n}\n\nFile v3.1.0:examples/character-silver_mecha.json\n\n{\n  \"name\": \"silver_mecha\",\n  \"version\": \"3.1.0\",\n  \"description\": \"示例角色卡：银发机甲少女 — 用于演示 --char 跨调用一致性\",\n  \"use_count\": 0,\n  \"subject_description\": \"银发双马尾机甲少女，发光面甲，藏青色机甲战衣，轮廓发光线条\",\n  \"preset\": \"动漫\",\n  \"mix_secondary\": \"\",\n  \"mix_ratio\": null,\n  \"aspect\": \"16:9\",\n  \"seed\": 1154904041,\n  \"camera\": \"low angle hero shot, 50mm portrait lens, shallow depth of field\",\n  \"lighting\": \"anime-style soft light, rim light on hair, glowing visor accent\",\n  \"palette\": \"vibrant saturated anime palette, silver and deep navy, neon cyan accents\",\n  \"is_character_sheet\": true,\n  \"positive_anchor\": \"silver-haired twin-tails mecha girl, glowing visor, navy mecha armor\"\n}\n\nFile v3.1.0:examples/learned_preset-fresh_film.json\n\n{\n  \"name\": \"fresh_film\",\n  \"version\": \"3.1.0\",\n  \"description\": \"示例 learned preset：清新胶片风格 — 用于演示 -p '@fresh_film' 调用\",\n  \"created_at\": 1745000000,\n  \"use_count\": 0,\n  \"category\": \"学习\",\n  \"tags\": \"kodak portra 400 film stock, soft natural light, muted earth tones, hazy atmospheric, lifestyle photography, japanese magazine aesthetic\",\n  \"quality\": \"raw photo, fine grain, scanned film, masterpiece, best quality\",\n  \"neg\": \"harsh contrast, oversaturated, hdr, plastic skin, digital sharpness, neon\",\n  \"camera\": \"35mm film camera, 50mm prime, shallow depth of field, slight handheld feel\",\n  \"lighting\": \"soft window light, golden hour rim, slightly underexposed, natural ambient fill\",\n  \"palette\": \"muted earth tones, faded film colors, sage green, warm cream, soft blush\",\n  \"aspect\": \"3:2\",\n  \"synthesis_notes\": \"日杂感的清新胶片风：自然光、克制色彩、留白构图、低饱和高级感\",\n  \"best_subject_examples\": [\n    \"咖啡馆里的窗边少女\",\n    \"雨后湿漉漉的窗台\",\n    \"夏末的乡村小路\"\n  ],\n  \"confidence\": 0.85,\n  \"source_count\": 5,\n  \"source_images\": [\n    \"(示例文件，源图省略)\"\n  ]\n}\n\nFile v3.1.0:examples/storyboard-cat_rainy_night.txt\n\n## 示例剧本：一只猫的雨夜散步\n\n一只灰色的小猫从晴朗的午后城市出发，慢慢走过繁忙的街道。\n天色渐渐变暗，乌云聚集，开始下雨。\n小猫躲进路边的小巷，雨水打湿了它的毛。\n霓虹灯亮起，猫在湿漉漉的路面上倒映出彩色的光。\n最后，它推开一扇半掩的门，走进温暖的小餐馆。\n\n---\n\n## 用法\n\n```bash\nstoryboard.py < examples/storyboard-cat_rainy_night.txt \\\n    -p 电影感 --scenes 6 \\\n    -m Midjourney --video-model Sora \\\n    --output ./renders/cat_rainy_night\n```\n\n输出 6 个关键帧 + 5 个转场到 ./renders/cat_rainy_night/。\n\n每个 scene 用 Midjourney 出图，每个 transition 用 Sora 出短视频，剪辑串联即得 ~30 秒短片。\n\nArchive v3.0.0: 19 files, 146629 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (28581b), RECIPES.md (7091b), references/t2i-guide.md (7337b), scripts/auto_iterate.py (17976b), scripts/brand_kit.py (11023b), scripts/character.py (9641b), scripts/claude_polish.py (19344b), scripts/enhance_prompt.py (119303b), scripts/enhance_video.py (22007b), scripts/image_review.py (15320b), scripts/mcp_server.py (13897b), scripts/render_prompt.py (26975b), scripts/reverse_prompt.py (16914b), scripts/safety_lint.py (18337b), scripts/storyboard.py (21148b), scripts/style_learn.py (14639b), scripts/web_ui.py (18325b), SKILL.md (29537b)\n\nFile v3.0.0:SKILL.md\n\n---\nname: huo15-img-prompt\ndisplayName: 火一五文生图提示词\ndescription: 火一五文生图提示词 v3.0 — AI 创作生态中枢，14 件套：基础八件套（enhance_prompt/enhance_video/reverse_prompt/render_prompt/claude_polish/safety_lint/image_review/auto_iterate）+ v2.6 三件套（character 角色卡/mcp_server MCP stdio/web_ui Web UI）+ ⭐v3.0 三大武器（storyboard 剧本→关键帧+转场视频脚本包/brand_kit 品牌套件持久化/style_learn 多参考图自学习 learned preset）+ RECIPES.md 创意四件套整合食谱。适配 Midjourney/SD/SDXL/Flux/DALL-E 3。触发词：文生图、火一五文生图提示词、文生视频、提示词增强、故事板、storyboard、剧本拆分、关键帧、视频脚本包、品牌套件、brand kit、品牌规范、风格学习、style learn、自学习预设、learned preset、参考图学习、Claude Vision、闭环迭代、五维评审、A/B 测试、角色卡、MCP server、Web UI、Obsidian 集成、Replicate、Fal、即梦、可灵、Hailuo、Sora、Claude Code、Cursor。\nversion: 3.0.0\naliases:\n  - 火一五文生图提示词\n  - 火一五文生图技能\n  - 火一五文生视频技能\n  - 火一五提示词技能\n  - 火一五提示词全家桶技能\n  - 火一五AI绘画技能\n  - 文生图\n  - 文生视频\n  - 提示词增强\n  - 智能润色\n  - 平台合规润色\n  - img-prompt\n---\n\n# 火一五文生图提示词 v3.0\n\n**AI 创作生态中枢。从单帧提示词到完整短片脚本包，从手选预设到自学习风格，从孤岛工具到与 huo15 设计四件套联动。**\n\n## v3.0 = 14 件套\n\n| # | 脚本 | 作用 | 一行 demo |\n|---|------|------|-----------|\n| 1 | `enhance_prompt.py` | 文生图核心 | `enhance_prompt.py \"持剑女侠\" -p 赛博朋克 --variants 4` |\n| 2 | `enhance_video.py` | 视频提示词 | `enhance_video.py \"汉服少女转身回眸\" -p 汉服写真 -m Kling` |\n| 3 | `reverse_prompt.py` | 参考图反解 | `reverse_prompt.py img.png --mj` |\n| 4 | `render_prompt.py` | 10 后端直出 | `render_prompt.py \"原神少女\" -p 原神 --backend jimeng` |\n| 5 | `claude_polish.py` | Claude 润色 + top-3 推荐 | `claude_polish.py \"温柔治愈\" --suggest` |\n| 6 | `safety_lint.py` | 平台合规润色 | `safety_lint.py \"战士手中的鲜血\" --target dalle` |\n| 7 | `image_review.py` | Claude Vision 五维评审 | `image_review.py img.png -p \"原 prompt\"` |\n| 8 | `auto_iterate.py` | 闭环自动迭代 | `auto_iterate.py \"持剑女侠\" -p 赛博朋克 --backend dalle --target 7.5` |\n| 9 | `character.py` | 角色卡持久化 | `enhance_prompt.py \"新场景\" --char 银发机甲少女` |\n| 10 | `mcp_server.py` | MCP stdio server | `python3 mcp_server.py`（注册到 ~/.claude/mcp.json） |\n| 11 | `web_ui.py` | 本地 Web UI | `python3 web_ui.py`（http://127.0.0.1:7155） |\n| 12 | `storyboard.py` ⭐v3.0 | 剧本→关键帧+转场视频脚本包 | `storyboard.py \"...\" -p 电影感 --scenes 6 --output ./story` |\n| 13 | `brand_kit.py` ⭐v3.0 | 品牌套件持久化 | `enhance_prompt.py \"...\" --brand-kit huo15` |\n| 14 | `style_learn.py` ⭐v3.0 | 多参考图→learned preset | `style_learn.py --name 我的风格 ref*.jpg && enhance_prompt.py \"...\" -p \"@我的风格\"` |\n\n📚 配套食谱：[`RECIPES.md`](RECIPES.md) — 5 个端到端食谱演示和 huo15 创意生态联动\n\n## 版本演进\n\n| 维度 | v2.4 | v2.5 | v2.6 | v3.0 |\n|------|------|------|------|------|\n| **风格预设** | 88 + 参考图链接 | + 智能 top-3 | 沿用 | + **自学习 learned preset** |\n| **一致性** | + session 锁 | + A/B 变体 | + 角色卡 | + **品牌套件全局锁** |\n| **贴近需求** | + prompt 压缩 | + Claude 改 prompt | 沿用 | + **故事板拆 N 关键帧** |\n| **生态闭环** | + 10 后端直出 | + VLM 五维评审 | + Obsidian 写入 | + **创意四件套整合** |\n| **AI 联动** | 多轮编辑 | 闭环自动迭代 | + MCP server | + **跨技能联动** |\n| **输入** | 一句话主体 | 一句话主体 | 一句话主体 | + **剧本/参考图/品牌规范** |\n| **输出** | 单帧 prompt | 单帧 prompt | 单帧 prompt | + **完整短片脚本包** |\n\n## 使用方式\n\n### Agent 调用（推荐）\n\n```\n用户: 帮我出一张赛博朋克街头的图\n```\n\nAgent 识别到\"赛博朋克\"触发词，自动调用：\n\n```bash\n~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt/scripts/enhance_prompt.py \\\n    \"赛博朋克街头\" -p 赛博朋克 -m Midjourney\n```\n\n### 直接调用\n\n```bash\ncd ~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt\n\n# 基础：指定预设\n./scripts/enhance_prompt.py \"一只猫\" -p 动漫 -m Midjourney\n\n# 自动意图（无需 -p，脚本从关键词推断）\n./scripts/enhance_prompt.py \"为咖啡品牌设计一个logo\"   # → 自动选 Logo设计, 1:1\n./scripts/enhance_prompt.py \"产品白底图：无线耳机\"     # → 自动选 产品摄影, 1:1\n./scripts/enhance_prompt.py \"微距 一滴露珠\"            # → 自动选 微距摄影, 1:1\n\n# 系列一致性（4 张共享 seed + camera/lighting/palette 锁）\n./scripts/enhance_prompt.py \"红发女侠\" -p 动漫 -s 4 \\\n    --variations \"持剑站立,骑马奔驰,弯弓射箭,与龙对视\" \\\n    -m Midjourney\n\n# 英文别名 + 多模型输出\n./scripts/enhance_prompt.py \"spaceship in nebula\" -p scifi -m Flux -a 21:9\n./scripts/enhance_prompt.py \"minimalist camellia logo\" -p logo -m SDXL\n\n# JSON 输出（便于集成）\n./scripts/enhance_prompt.py \"森林少女\" -p ghibli -j\n```\n\n## 88 款风格预设\n\n### 【摄影 · 13】\n写实摄影 / 胶片摄影 / 黑白摄影 / 人像摄影 / 时尚大片 / 美食摄影 / 产品摄影 / 微距摄影 / 航拍摄影 / 街拍纪实 / **暗黑美食 · 日杂 · 街头潮流** ⭐v2.1\n\n### 【动漫 · 10】\n动漫 / 新海诚 / 宫崎骏 / 美漫 / Q版 / 童话绘本 / **萌系 · 厚涂 · 轻小说封面 · 赛璐璐** ⭐v2.1\n\n### 【插画 · 7】\n水彩 / 油画 / 水墨 / 工笔国画 / 浮世绘 / 线稿 / 像素艺术\n\n### 【3D · 7】\n3DC4D / 盲盒手办 / 低多边形 / 等距视图 / 粘土 / 毛毡手工 / 纸艺\n\n### 【设计 · 15】\n极简主义 / 平面设计 / Logo设计 / 图标设计 / 信息图 / 品牌KV / 专辑封面 / 复古海报 / 电影海报 / 表情包 / **玻璃拟态 · 新拟态 · 孟菲斯 · 杂志编排 · 包豪斯 · 奶油风** ⭐v2.1\n\n### 【艺术史 · 4】\n印象派 / 后印象派 / 新艺术 / 装饰艺术\n\n### 【场景氛围 · 17】\n赛博朋克 / 蒸汽朋克 / 科幻 / 奇幻 / 黑暗奇幻 / 国潮 / Y2K / Vaporwave / 霓虹灯牌 / 建筑可视化 / 电影感 / 概念艺术 / **粗野主义 · 北欧极简 · 侘寂 · 疗愈治愈 · 美式复古** ⭐v2.1\n\n### 【游戏艺术 · 7】⭐ v2.1 新类\n原神 / 崩铁星穹 / 英雄联盟 / 暗黑4 / Valorant / Pokemon / 暴雪风\n\n### 【东方传统 · 7】⭐ v2.1 新类\n敦煌壁画 / 青花瓷 / 民国月份牌 / 年画 / 剪纸 / 和风 / 汉服写真\n\n> 英文别名支持：`anime`、`ghibli`、`shinkai`、`cyberpunk`、`steampunk`、`scifi`、`minimal`、`logo`、`icon`、`3d`、`c4d`、`octane`、`isometric`、`vangogh`、`artdeco`、`neon`、`\n\nArchive v2.6.0: 15 files, 123376 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (23789b), references/t2i-guide.md (7337b), scripts/auto_iterate.py (17976b), scripts/character.py (9641b), scripts/claude_polish.py (19344b), scripts/enhance_prompt.py (117268b), scripts/enhance_video.py (22007b), scripts/image_review.py (15320b), scripts/mcp_server.py (13897b), scripts/render_prompt.py (26975b), scripts/reverse_prompt.py (16914b), scripts/safety_lint.py (18337b), scripts/web_ui.py (18325b), SKILL.md (25899b)\n\nArchive v2.5.0: 12 files, 104665 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (20000b), references/t2i-guide.md (7337b), scripts/auto_iterate.py (17976b), scripts/claude_polish.py (19344b), scripts/enhance_prompt.py (110656b), scripts/enhance_video.py (22007b), scripts/image_review.py (15320b), scripts/render_prompt.py (26975b), scripts/reverse_prompt.py (16914b), scripts/safety_lint.py (18337b), SKILL.md (23379b)\n\nArchive v2.4.0: 10 files, 86997 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (16339b), references/t2i-guide.md (7337b), scripts/claude_polish.py (14599b), scripts/enhance_prompt.py (104299b), scripts/enhance_video.py (22007b), scripts/render_prompt.py (26975b), scripts/reverse_prompt.py (16914b), scripts/safety_lint.py (18337b), SKILL.md (19875b)\n\nArchive v2.3.0: 10 files, 77790 bytes\n\nFiles: _meta.json (135b), CHANGELOG.md (13666b), references/t2i-guide.md (7337b), scripts/claude_polish.py (14599b), scripts/enhance_prompt.py (88527b), scripts/enhance_video.py (22007b), scripts/render_prompt.py (15375b), scripts/reverse_prompt.py (16914b), scripts/safety_lint.py (18337b), SKILL.md (17810b)","readmeExcerpt":"Skill: Huo15 Img Prompt Owner: zhaobod1 Summary: 火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghib... Tags: latest:3.2.0 Version history: v3.2.0 | 2026-05-29T06:10:56.375Z | auto huo15-img-prompt v3.2.0 - 新增「审美锚点系统」：88 款风格预设每项增加 aesthetic_anchor 字段，映射到真实导演、摄影师、艺术家或具体视觉作品（如赛博朋克→Roger Deakins、汉服写真→张叔平）。 - 新增 15 个","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# 自动注入锚点（推荐 Master 档使用）\nenhance_prompt.py \"持剑女侠\" -p 赛博朋克 --anchor \"in the style of Roger Deakins Blade Runner 2049, ammonia-green corridor lighting\"\n\n# 或在 --polish 模式下让 Claude 自动从 system prompt 读锚点表叠加\nenhance_prompt.py \"持剑女侠\" -p 赛博朋克 --polish --tier master"},{"language":"bash","snippet":"# 用 Pentagram 风做品牌 KV\nenhance_prompt.py \"极简茶饮品牌主视觉\" -p pentagram -m Midjourney\n# → 自动注入：bold typography, high contrast, Paula Scher SoHo poster aesthetic\n\n# 用王家卫 + 杜可风做电影感写真\nenhance_prompt.py \"持伞女子等候\" -p wong-kar-wai -m Flux\n# → 自动注入：Christopher Doyle cinematography, In the Mood for Love color grading, slow shutter\n\n# 用杉本博司做高端艺术摄影\nenhance_prompt.py \"孤舟\" -p sugimoto -m Midjourney\n# → 自动注入：Hiroshi Sugimoto seascape, long exposure, monochrome, time as subject"},{"language":"text","snippet":"design-director v3.0 §二 视觉三元组\n    ↓ 锚点列直接指向 img-prompt 的 Master 档预设\n    ↓ 例：philosophy #1 原研哉 → img-prompt 的 kenya-hara 预设\nimg-prompt v3.2 Master 档预设\n    ↓ 输出 prompt\n任意文生图后端（DALL-E / MJ / Flux / 即梦 / 可灵）\n    ↓ 输出图\ndesign-critique v2.0 §五 8 流派对标\n    ↓ 用对应 Master 档锚点评估"},{"language":"text","snippet":"用户: 帮我出一张赛博朋克街头的图"},{"language":"bash","snippet":"~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt/scripts/enhance_prompt.py \\\n    \"赛博朋克街头\" -p 赛博朋克 -m Midjourney"},{"language":"bash","snippet":"cd ~/workspace/projects/openclaw/huo15-skills/huo15-img-prompt\n\n# 基础：指定预设\n./scripts/enhance_prompt.py \"一只猫\" -p 动漫 -m Midjourney\n\n# 自动意图（无需 -p，脚本从关键词推断）\n./scripts/enhance_prompt.py \"为咖啡品牌设计一个logo\"   # → 自动选 Logo设计, 1:1\n./scripts/enhance_prompt.py \"产品白底图：无线耳机\"     # → 自动选 产品摄影, 1:1\n./scripts/enhance_prompt.py \"微距 一滴露珠\"            # → 自动选 微距摄影, 1:1\n\n# 系列一致性（4 张共享 seed + camera/lighting/palette 锁）\n./scripts/enhance_prompt.py \"红发女侠\" -p 动漫 -s 4 \\\n    --variations \"持剑站立,骑马奔驰,弯弓射箭,与龙对视\" \\\n    -m Midjourney\n\n# 英文别名 + 多模型输出\n./scripts/enhance_prompt.py \"spaceship in nebula\" -p scifi -m Flux -a 21:9\n./scripts/enhance_prompt.py \"minimalist camellia logo\" -p logo -m SDXL\n\n# JSON 输出（便于集成）\n./scripts/enhance_prompt.py \"森林少女\" -p ghibli -j"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: huo15-img-prompt\ndisplayName: 火一五文生图提示词\ndescription: 火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghibli→千与千寻汤屋窗景）+ 15 个 Master 档设计师级预设（Pentagram / Saul Bass / Massimo Vignelli / Wim Crouwel / Paul Rand / Tibor Kalman / Stefan Sagmeister / Paula Scher / Otl Aicher / Bruno Munari / 杉本博司 / 原研哉 / 安藤忠雄 / 王家卫 / Wes Anderson）。适配 Midjourney/SD/SDXL/Flux/DALL-E 3。触发词：文生图、火一五文生图提示词、文生视频、提示词增强、故事板、storyboard、剧本拆分、关键帧、视频脚本包、品牌套件、brand kit、品牌规范、风格学习、style learn、自学习预设、learned preset、参考图学习、Claude Vision、闭环迭代、五维评审、A/B 测试、角色卡、MCP server、Web UI、Obsidian 集成、Replicate、Fal、即梦、可灵、Hailuo、Sora、Claude Code、Cursor、aesthetic anchor、审美锚点、Master 档预设、设计师级预设、Pentagram、Saul Bass、Massimo Vignelli、Roger Deakins、王家卫、张叔平、杉本博司。\nversion: 3.2.0\naliases:\n  - 火一五文生图提示词\n  - 火一五文生图技能\n  - 火一五文生视频技能\n  - 火一五提示词技能\n  - 火一五提示词全家桶技能\n  - 火一五AI绘画技能\n  - 文生图\n  - 文生视频\n  - 提示词增强\n  - 智能润色\n  - 平台合规润色\n  - img-prompt\n---\n\n# 火一五文生图提示词 v3.2\n\n**AI 创作生态中枢。从单帧提示词到完整短片脚本包，从手选预设到自学习风格，从孤岛工具到与 huo15 设计四件套联动。v3.2 起加 audestically anchor 系统 + 15 个 Master 档设计师级预设。**\n\n---\n\n## v3.2 ⭐ 审美锚点系统（与下文 88 预设并列）\n\n### 为什么需要审美锚点\n\n88 预设的 lighting / palette / camera 是**固定字符串拼接**（如赛博朋克 → \"neon magenta and cyan rim, wet reflective streets\"），LLM 拼出来的 prompt 容易陷入 cliché。**审美锚点**是把每个预设映射到**具体的真实创作者 / 作品**，让 Claude 在拼提示词时有真实意向锚定。\n\n锚点不是替换原 prompt，而是**追加为可选 augmentation**（脚本可在 system prompt 里读到，或用户用 `--anchor` 显式启用）。\n\n### 88 预设的审美锚点表（v3.2 增量字段）\n\n下面是预设 → 锚点映射的精选清单。**完整 88 条锚点作为 prompt-fragment 库 by-design 让 Claude 在调用 enhance_prompt 时自动叠加**，不需要硬编码到 Python 脚本里。\n\n| 预设 | 升级后的审美锚点（新增） |\n|------|---------------------|\n| 赛博朋克 | Roger Deakins《Blade Runner 2049》氪绿一段 / Darren Aronofsky《Black Swan》冷调 / 《Severance》Lumon 极简冷感（新一代赛博） |\n| 电影感 | 王家卫 × 杜可风《花样年华》/ 侯孝贤《海上花》/ Wes Anderson《Grand Budapest》对称构图 / Roger Deakins《1917》长镜头光 |\n| 汉服写真 | 张叔平《一代宗师》室内逆光 / 张艺谋《影》水墨黑白 / 陈家毛《满江红》青砖朱漆 |\n| 宫崎骏 | 《千与千寻》汤屋夕照 / 《天空之城》云海光线 / 《魔女宅急便》清晨海港光（指明具体场景胜过笼统\"宫崎骏感\"） |\n| 新海诚 | 《你的名字》黄昏彗星天 / 《天气之子》雨光 / 《秒速 5 厘米》新宿夜灯 |\n| 敦煌壁画 | 莫高窟 257 窟九色鹿本生（青绿） / 220 窟药师变（朱红群青） / 余秋雨《文化苦旅·莫高窟》文字描述 |\n| 原神 | 蒙德 City Centre 全景 / 璃月港夜景 / 稻妻天守阁雷电（指明地区光） |\n| 黑暗奇幻 | 《指环王》摩瑞亚矿坑 / 《权游》龙石岛雾景 / Frank Frazetta 油画 |\n| 极简主义 | Dieter Rams Braun 设计目录 / 原研哉「白」展册 / vitsoe.com 货架 |\n| Logo 设计 | Paul Rand IBM rebus / Massimo Vignelli NYC subway / Saul Bass AT&T 圈 |\n| 信息图 | Edward Tufte《The Visual Display of Quantitative Information》/ Otl Aicher 慕尼黑奥运图标 |\n| 浮世绘 | 葛饰北斋《神奈川冲浪里》/ 歌川广重《东海道五十三次》/ 月冈芳年《月百姿》 |\n| 包豪斯 | Herbert Bayer 海报 / Paul Klee 几何 / Wassily Kandinsky 圆三角方 |\n| 蒸汽朋克 | Hayao Miyazaki《天空之城》机械城 / Jules Verne 插图传统 / 《Wild Wild West》机械师 |\n| 暗黑美食 | 《Chef's Table》深焦特写 / Helmut Newton 黑白美食 / Gabriele Stabile 静物 |\n| 赛璐璐 | 《新世纪福音战士》线稿 / 《幽游白书》明暗块面 / 《灌篮高手》动作分镜 |\n| 复古海报 | Saul Bass《迷魂记》/ 《七年之痒》Hirschfeld 线稿 / Cassandre《Dubonnet》 |\n| 国潮 | 故宫博物院文创色板 / 《国家宝藏》视觉 / 上海 1933 老场坊 |\n| 复古胶片 | Kodak Portra 400 颗粒 / Fuji Pro 400H / Cinestill 800T 夜灯光晕 |\n| 莫兰迪 | Giorgio Morandi《静物》系列 / 莫兰迪博物馆 Bologna 实拍 |\n| 治愈"},{"path":"examples/README.md","content":"# 示例素材\n\n直接可用的 brand kit / character / learned preset / 剧本，导入即用。\n\n## 文件清单\n\n| 文件 | 类型 | 用途 |\n|------|------|------|\n| `brand_kit-song_tea.json` | 品牌套件 | 宋韵东方茶饮品牌示例 |\n| `character-silver_mecha.json` | 角色卡 | 银发机甲少女（演示跨调用一致性） |\n| `learned_preset-fresh_film.json` | 学习预设 | 清新胶片风（日杂感） |\n| `storyboard-cat_rainy_night.txt` | 剧本 | 一只猫的雨夜散步（6 帧） |\n| `recipe-1-brand_kv.sh` | Bash 脚本 | RECIPES.md 食谱 1 的可运行版 |\n\n## 导入方式\n\n```bash\n# Brand kit\ncat examples/brand_kit-song_tea.json | scripts/brand_kit.py --import\nscripts/brand_kit.py --show song_tea\n\n# 角色卡\ncat examples/character-silver_mecha.json | scripts/character.py --import\nscripts/character.py --show silver_mecha\n\n# Learned preset（直接复制到目录即可）\nmkdir -p ~/.huo15/learned_presets\ncp examples/learned_preset-fresh_film.json ~/.huo15/learned_presets/\n\n# 用 learned preset 出图\nscripts/enhance_prompt.py \"咖啡馆窗边少女\" -p \"@fresh_film\"\n\n# 故事板\nscripts/storyboard.py < examples/storyboard-cat_rainy_night.txt \\\n    -p 电影感 --scenes 6 --output ./renders/cat_rainy_night\n\n# 完整食谱 1\nbash examples/recipe-1-brand_kv.sh\n```\n\n## 自定义指南\n\n复制示例文件改字段即可：\n\n- **brand_kit**：改 `colors / fonts / keywords / forbidden / logo_description`\n- **character**：改 `subject_description / preset / aspect / seed`\n- **learned_preset**：建议用 `style_learn.py --name 你的风格 ref*.jpg` 自动生成，不要手写\n\n## 反对的做法\n\n❌ 手写 learned_preset.json — confidence 字段是 Claude 综合后的可信度，手写会失真\n❌ 直接改示例文件 — 应该导入后用 `--update` 修改自己的副本\n❌ 把 example 当生产数据 — 仅供参考，按业务场景重新建立"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-img-prompt\",\n  \"version\": \"3.2.0\",\n  \"publishedAt\": 1780035056375\n}"},{"path":"references/t2i-guide.md","content":"# T2I 提示词工程参考（v2.0）\n\n## 一、提示词核心要素\n\n| 要素 | 说明 | 示例 |\n|------|------|------|\n| **主体** | 画面核心对象 | a cat, a futuristic building, a woman |\n| **材质/介质** | 画面的质感 | oil painting, digital art, photography, watercolor |\n| **风格** | 艺术风格 | cyberpunk, impressionist, anime, realistic |\n| **镜头/构图** | 视角和取景 | close-up, 85mm f/1.4, wide shot, bird's eye view |\n| **光线** | 光照方向和类型 | golden hour, neon glow, soft diffused, rim light |\n| **色彩** | 色调倾向 | warm tones, teal & orange, monochromatic, pastel |\n| **背景** | 环境设定 | busy city street, empty beach, starfield, studio |\n| **情绪** | 画面氛围 | melancholic, epic, cozy, mysterious |\n| **画质词** | 画质强化 | masterpiece, best quality, ultra detailed, 8k |\n| **负面** | 不想出现的 | low quality, blurry, bad anatomy, extra fingers |\n\n## 二、贴近需求的技巧\n\n想让图**贴近你的真实想法**，只给主体不够，建议提供至少以下 3 个维度：\n\n1. **主体 + 动作/状态**：`红发女侠 持剑站立` 比 `红发女侠` 好\n2. **环境/背景**：`在雨夜的东京巷弄` 比默认空背景更可控\n3. **情绪/时间**：`黄昏，忧郁感` 给画面定调\n\n脚本的 **意图识别器** 会自动抽取其中的构图词（俯拍/特写/远景/航拍…）和情绪词（神秘/温馨/史诗…）并并入提示词。\n\n## 三、一致性的五道防线\n\n系列图\"看起来不像同一套\"是最常见痛点。按优先级部署：\n\n| # | 机制 | 作用 | 脚本支持 |\n|---|------|------|---------|\n| 1 | **seed 锁定** | 同 seed + 同提示词 → 几乎复现 | ✅ `--seed` / 自动哈希 |\n| 2 | **camera 锁** | 焦段/视角不变 | ✅ 预设内置 |\n| 3 | **lighting 锁** | 光源方向、色温不变 | ✅ 预设内置 |\n| 4 | **palette 锁** | 色板不变（最影响\"同系列感\"） | ✅ 预设内置 |\n| 5 | **aspect 锁** | 画幅不变 | ✅ 预设内置 |\n| 6 | **参考图** | MJ `--cref`/`--sref`、SD IP-Adapter、Flux redux | 提示词输出 |\n\n## 四、56 预设对照表（分类）\n\n### 摄影 · 10\n| 预设 | 适用场景 | 画幅 | 核心锁 |\n|------|---------|------|--------|\n| 写实摄影 | 人像 / 产品 / 建筑 | 3:4 | Canon R5 85mm + 影棚光 |\n| 胶片摄影 | 人文 / 旅拍 | 3:2 | 35mm 胶片 + 自然光 |\n| 黑白摄影 | 纪实 / 艺术 | 1:1 | Leica M6 + 强对比 |\n| 人像摄影 | 肖像 / 头像 | 3:4 | 85mm f/1.4 + 伦勃朗光 |\n| 时尚大片 | 时装 / 美妆 | 3:4 | 中画幅 + 硬光 |\n| 美食摄影 | 菜品 / 食谱 | 1:1 | 100mm 微距 + 45°侧光 |\n| 产品摄影 | 电商白底 | 1:1 | 90mm 微距 + 大柔光箱 |\n| 微距摄影 | 昆虫 / 花蕊 | 1:1 | 100mm 1:1 + 环形闪光 |\n| 航拍摄影 | 风景 / 城市 | 16:9 | 无人机 24mm 俯视 |\n| 街拍纪实 | 人文街头 | 3:2 | 35mm + 环境光 |\n\n### 动漫 · 6\n| 预设 | 风格取向 | 画幅 |\n|------|---------|------|\n| 动漫 | 通用 pixiv 二次元 | 3:4 |\n| 新海诚 | 云景 + 辉光 | 16:9 |\n| 宫崎骏 | 吉卜力温暖 | 16:9 |\n| 美漫 | marvel/DC 粗线条 | 2:3 |\n| Q版 | 三头身 chibi | 1:1 |\n| 童话绘本 | 水粉儿童绘本 | 4:3 |\n\n### 插画 · 7\n| 预设 | 介质/流派 | 画幅 |\n|------|----------|------|\n| 水彩 | 湿画法纸本 | 1:1 |\n| 油画 | 厚涂油彩 | 4:5 |\n| 水墨 | 宣纸墨色 | 3:4 |\n| 工笔国画 | 矿物颜料工笔 | 3:4 |\n| 浮世绘 | 江户时期木版 | 2:3 |\n| 线稿 | 纯黑白线条 | 1:1 |\n| 像素艺术 | 16-bit sprite | 1:1 |\n\n### 3D · 7\n| 预设 | 材质/风格 | 画幅 |\n|------|----------|------|\n| 3DC4D | Octane 光泽渲染 | 1:1 |\n| 盲盒手办 | 泡泡玛特塑胶 | 1:1 |\n| 低多边形 | 低面数面片 | 1:1 |\n| 等距视图 | 等轴 2.5D | 1:1 |\n| 粘土 | 定格动画黏土 | 1:1 |\n| 毛毡手工 | 羊毛毡戳制 | 1:1 |\n| 纸艺 | 切纸层叠 | 1:1 |\n\n### 设计 · 10\n| 预设 | 产出物 | 画幅 |\n|------|--------|------|\n| 极简主义 | 瑞士派 / 留白 | 1:1 |\n| 平面设计 | 矢量插画 | 1:1 |\n| Logo设计 | 品牌标志 | 1:1 |\n| 图标设计 | app icon | 1:1 |\n| 信息图 | 数据可视化 | 3:4 |\n| 品牌KV | 广告主视觉 | 16:9 |\n| 专辑封面 | 音乐封面 | 1:1 |\n| 复古海报 | 1950s letterpress | 3:4 |\n| 电影海报 | 院线 one-sheet | 2:3 |\n| 表情包 | 贴纸 / emoji | 1:1 |\n\n### 艺术史 · 4\n| 预设 | 流派 | 画幅 |\n|------|------|------|\n| 印象派 | 莫奈 plein-air | 4:5 |\n| 后印象派 | 梵高表现 | 4:5 |\n| 新艺术 | Mucha 装饰曲线 | 2:3 |\n| 装饰艺术 | 盖茨比几何 | "},{"path":"CHANGELOG.md","content":"# Changelog\n\n## v3.2.0 — 2026-04-28\n\n**审美锚点系统 + 15 个 Master 档设计师级预设。从\"风格预设\"升级到\"审美锚定\"，从 88 流派升级到「88 流派 + 15 大师 + 锚点表」三层。**\n\n### 新增\n\n- **88 预设审美锚点表**（SKILL.md 头部新增章节）：每个预设 → 1-2 个具体导演 / 摄影师 / 艺术家 / 电影场景的锚定（如赛博朋克 → Roger Deakins《Blade Runner 2049》氪绿一段；汉服写真 → 张叔平《一代宗师》室内逆光；ghibli → 《千与千寻》汤屋夕照具体场景）。让 Claude 拼提示词时不只有标签拼接，而是真实意向锚定。\n- **15 个 Master 档设计师级预设**：Pentagram / Saul Bass / Massimo Vignelli / Wim Crouwel / Paul Rand / Tibor Kalman / Sagmeister / Paula Scher / Otl Aicher / Bruno Munari / 杉本博司 / 原研哉 / 安藤忠雄 / 王家卫 / Wes Anderson — 用于品牌官网 KV / 高端杂志封面 / 投融资路演主视觉等 Master 档需求。\n- **与 huo15 生态联动文档**：design-director v3.0 §二 视觉三元组 → img-prompt v3.2 Master 档预设 → design-critique v2.0 §五 对标的完整流转图。\n\n### 与 design-director v3.0 / design-critique v2.0 的关系\n\n- design-director 选定 Master 档方向时，brief 的 signatureHook 可直接指定本 skill 的 Master 档预设（如 wong-kar-wai / kenya-hara）\n- design-critique 评审 Master 档作品时，从 §五 流派 Master 对标库 + 本 skill 锚点表配合做差距分析\n\n### 不变\n\n88 预设主表 / 14 件套脚本 / 一致性四锁 / Claude Vision 五维评审 / 闭环自动迭代 / 故事板 / brand_kit / style_learn 全部保留，纯审美补丁层。\n\n---\n\n## v3.1.0 — 2026-04-27\n\n**稳定加固版：质量基础设施 + 上手文档 + 真实示例。不堆功能，先把底子打牢。**\n\n发完 v3.0 大版本（14 件套、1770 行新代码、3 个新外部 API 集成）后，发现：\n- 14 件套互相依赖，没自动化回归 → 改动风险高\n- 新用户拿到不知道从哪开始\n- 错误处理散在脚本里不统一\n- API key / 服务可达性没统一诊断入口\n\nv3.1 不加 feature，只补这些短板。\n\n### 新增 1: doctor.py — 健康检查（~250 行）\n\n```bash\npython3 scripts/doctor.py            # 全量\npython3 scripts/doctor.py --quick    # 跳过网络\npython3 scripts/doctor.py --check api    # 只查 API keys\npython3 scripts/doctor.py -j         # JSON 输出\n```\n\n检查项：\n- 14 个脚本 import + VERSION 一致性\n- 7 个 API key（ANTHROPIC 必填，其他按需）\n- 2 个本地后端（ComfyUI / SD WebUI）可达性\n- 4 个候选 Obsidian vault 路径\n- 4 个持久化目录盘点（characters / sessions / brand_kits / learned_presets）\n- Claude API 实测 ping（用 haiku 最便宜模型）\n\n输出：彩色 ✓ / ⚠ / ✗ 表格 + 总结统计。\n\n### 新增 2: tests/smoke.py — 自动回归测试（~250 行）\n\n零依赖、纯本地、不调网络。33 个测试覆盖核心 API：\n\n- 版本号一致性（15 个脚本）\n- enhance_prompt 核心：resolve_preset / parse_mix_preset / build_prompt / mix / character_sheet / seed 稳定\n- compact_prompt 长短场景\n- safety_lint 红线 / 艺术化重写 / 双向 catch\n- character / brand_kit save-load roundtrip + apply 注入\n- variants 共享 seed\n- reverse_prompt A1111 解析 + 启发式 preset 猜\n- MCP server: initialize / tools/list / tools/call dispatch\n- 88 预设字段完整性\n\n```bash\ntests/smoke.py            # 全跑\ntests/smoke.py --module TestSafetyLint\n```\n\n实测：33 测试 0.089 秒跑完。\n\n### 新增 3: examples/ 目录 — 5 个真实可运行示例\n\n| 文件 | 用途 |\n|------|------|\n| `brand_kit-song_tea.json` | 宋韵东方茶饮品牌套件示例 |\n| `character-silver_mecha.json` | 银发机甲少女角色卡 |\n| `learned_preset-fresh_film.json` | 清新胶片风学习预设 |\n| `storyboard-cat_rainy_night.txt` | 6 帧短片剧本（一只猫的雨夜散步） |\n| `recipe-1-brand_kv.sh` | RECIPES 食谱 1 的完整 bash 脚本 |\n| `examples/README.md` | 导入指南 |\n\n直接 `cat examples/xxx.json | scripts/<模块>.py --import` 即用。\n\n### 新增 4: QUICKSTART.md — 三层级上手文档\n\n- **30 秒**：第一条命令\n- **5 分钟**：基础工作流（推荐预设 → 出图 → 保存角色卡 → 看示例图）\n- **30 分钟**：完整工作流（品牌 KV / 风格学习 / 故事板 / IDE / Web UI / Obsidian）\n- **6 个 FAQ**：API key 缺失能用哪些功能 / 哪些后端值得配 / prompt 太长怎么办 / 等\n\n### 兼容性\n\n- 纯加固，零 feature 改动\n- doctor.py / tests/smoke.py / e"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghib... Skill: Huo15 Img Prompt Owner: zhaobod1 Summary: 火一五文生图提示词 v3.2 — AI 创作生态中枢，14 件套 + ⭐v3.2 审美锚点系统：88 预设新增 aesthetic_anchor 字段（每个预设映射到具体导演 / 摄影师 / 艺术家 / 电影场景，赛博朋克→Roger Deakins 银翼杀手 2049 / 汉服写真→张叔平一代宗师 / ghib... Tags: latest:3.2.0 Version history: v3.2.0 | 2026-05-29T06:10:56.375Z | auto huo15-img-prompt v3.2.0 - 新增「审美锚点系统」：88 款风格预设每项增加 aesthetic_anchor 字段，映射到真实导演、摄影师、艺术家或具体视觉作品（如赛博朋克→Roger Deakins、汉服写真→张叔平）。 - 新增 15 个","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1356,"uniquenessScore":56,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:20:07.195Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:20:07.195Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:58:54.926Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}