feat(core): AI 生成 Agent 化 — 多模型流式脚本 agent + 可插拔 Provider + gpt-image-2 参考图 + 模特库

- 后端·可插拔 Provider 层:通用 OpenAICompatibleProvider(tokenssr 等中转站,base_url+api_key,零改代码换站)+ ModelProvider.api_key
- 后端·脚本 agent:结构化 ScriptDraft 契约 + 加载电商 skill + 出稿/改稿一体对话 agent(3模式/多模型)+ 流式 SSE 端点(DRF SSE renderer)
- 后端·图像:gpt-image-2 参考图出图 + 故事板 @图1@图2@图3 多锚点合成(锁脸锁商品);Seedance 打开 generate_audio
- 后端·模特库:gpt-image-2 生成器(9:16氛围图→16:9白底三视图)+ seed_demo_models 管理命令
- DB·迁移:tokenssr 中转站 + 多模型 seed(豆包/GPT-5.5/Gemini + gpt-image-2);ScriptSegment 结构化字段
- 前端·脚本趴:接真 SSE(工具卡 + 思考流)+ 模型下拉 + 3模式 + 改稿;agentScriptStream
- skills/ecommerce-video-script 电商脚本技能(运行时依赖)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
seaislee1209
2026-06-17 03:12:03 +08:00
co-authored by Claude Opus 4.8
parent a0ffb6fc8e
commit 6464001f84
32 changed files with 9294 additions and 54 deletions
@@ -0,0 +1,66 @@
# 前 3 秒钩子公式库
> 写"钩子"镜(`role: 钩子`)时读。钩子镜的 `narration` 开头第一句即套用以下任一公式。
> 同时把这句钩子提炼进顶层 `hook` 字段。
钩子的唯一任务:**让用户在 3 秒内停止划走**。手段是制造"和我有关 / 没想到 / 想看下去"。
---
## 公式 1 · 痛点提问(最稳,默认首选)
直接问出用户正在经历的痛点,让人下意识"对,我就是"。
- 公式:`你是不是也 + [具体痛点场景]?`
- 例:「你是不是也一熬夜,第二天脸就垮、暗沉到没法看?」
- 例:「天天敷面膜还是干,是不是钱白花了?」
## 公式 2 · 反差冲击
先给一个反直觉的结论或前后对比,制造认知落差。
- 公式:`别再 [常见做法] 了,其实 [反差真相]` / `[A] 和 [B] 的差距,全在这一步`
- 例:「别再狂涂面霜了,越涂越干的真相在这。」
- 例:「同样熬夜,她第二天像没事人,差别就这一瓶。」
## 公式 3 · 数字冲击
用具体数字制造可信的强刺激(数字要真实、不踩绝对化红线)。
- 公式:`[数字] + [结果/对比]`
- 例:「3 秒上脸,毛孔像被一键磨皮。」
- 例:「一瓶顶我以前三瓶,算下来一天不到一块钱。」
## 公式 4 · 身份代入
直接点名目标人群,让"自己人"瞬间锁定。
- 公式:`[身份/人群] 必看 / 给 [人群] 的 [品类]`
- 例:「熬夜党救星来了,做夜班的姐妹蹲一下。」
- 例:「油皮看过来,夏天再也不用一天补三次妆。」
## 公式 5 · 悬念留白
抛出结果但藏起原因,逼用户看下去。
- 公式:`[惊人结果],关键是 [先不说]` / `我做了一件事,结果……`
- 例:「闺蜜以为我去医美了,其实我只换了它。」
- 例:「就因为睡前多做这一步,第二天状态稳了。」
## 公式 6 · 场景代入
把镜头放进一个高共鸣的具体生活瞬间,让人"我也这样"。
- 公式:`[具体时间/场景] + [尴尬或困扰瞬间]`
- 例:「早高峰挤地铁,妆花一半还冒油,太崩溃了。」
- 例:「加班到凌晨,照镜子那一刻自己都吓一跳。」
---
## 钩子自检(写完钩子镜后内部过一遍)
- [ ] 第一句是否在前 3 秒(约 15 字内)就抛出钩子?
- [ ] 是否和目标人群"有关",能让人对号入座?
- [ ] 是否制造了"想继续看"的理由(痛点/反差/悬念)?
- [ ] 是否避开了违规词(最/第一/100%/治疗…)?
- [ ] 顶层 `hook` 字段是否与钩子镜口径一致?