"先判断包装机会,再开始设计"
把整个赛道从 「AI 出图」 重新定义为 「AI 出决策」 —— 用户先花 12~18 分钟拿到 19 章结构化分析报告 + 6 个设计方向,再拿着报告去谈设计外包。 服务中国大陆中小消费品品牌方 · 覆盖食品饮料 / 宠物 / 保健 / 美妆四大赛道 · 邀请制内测中。
落地页 hero 一句话 「你的包装设计 AI 决策助手」。产品定位不是"AI 出成品图然后卖 PDF",而是:AI 做方向判断 → 6 方向配图作示意 → 引导用户联系合作设计师做落地。 商业模式的第二层是报告付费 + 潜在的设计外包引流 —— 落地页最底部就摆着「联系设计师」二维码。
覆盖中国大陆 FMCG(快消) 品类,从落地页示例 prompt 反推,不是奢侈品 / 工业品。8 个明确示例:
传统包装设计的痛点是把决策依据丢在设计师直觉里。PackHorizon 把设计前置的 6 个决策维度做成结构化 AI 报告:
数据来源:HomePage.tsx:109-160 defaultWorkExamples
选升级路径会激活第 9 阶段"新旧对比"的输出 —— 决定整个流水线的分支。
整条链路只有 1 个显式付费触发点(点「确认并进入研究」扣 200 积分)+ 1 个可选付费点(20 积分/张解锁后 3 图) + 1 个隐式付费闸门(注册进工作台前必须先订阅)。 对话不收费,intake 会话是漏斗顶端的"免费诱饵",报告触发才是变现钩子。
sequenceDiagram
autonumber
actor U as 用户
participant HP as HomePage
首页
participant Reg as AuthPage
注册/登录
participant WS as Workspace
工作台
participant Bot as AI 顾问
intake
participant Rep as 报告页
participant Pay as PaymentPage
participant WX as 微信支付
U->>HP: 首访落地页
Note right of HP: 看到 hero + 决策 6 步
+ 案例图 + 3 档定价
U->>HP: 点「开始使用」
HP->>Reg: 跳转 /login 或 /register
alt 邮箱注册
U->>Reg: 姓名+邮箱+密码+邀请码
(邀请码强校验)
else 微信扫码
U->>Reg: 扫码 OAuth
end
Reg->>WS: /app?tab=chat 首次进入
Note over WS: free 档拒入,必须先订阅
U->>Bot: 选新包装 / 旧包装升级
Bot->>U: 多轮对话补齐 brandName / category /
audience / channels / market
U->>Bot: 可选上传旧包装 / logo / 竞品图
Bot->>U: 弹「项目确认卡」预览
U->>Bot: 点「确认并进入研究」
Note right of Bot: 扣 200 积分 · 触发报告
Bot->>Rep: 跳报告页,10 阶段异步
Note right of Rep: 12~18 分钟 · 阶段进度条
Rep->>U: 19 章 + 6 方向
前 3 图直出 · 后 3 锁定
opt 解锁后 3 张
U->>Pay: 点付费图缩略图 → 建 order
Pay->>WX: 微信支付
WX-->>Pay: 通知回调
Pay->>Rep: 解锁 · 20 积分/张
end
opt 联系设计师
U->>Rep: 报告底部按钮 → 二维码 → 私域
end
opt 复购
U->>WS: /records 看历史 · 建下一个 project
或升级订阅
end
10 个阶段固定顺序,来自 seed_defaults.py:820-1020。用户能干预的只有 intake 会话——点「确认并进入研究」的那一刻,200 积分打包扣掉,后续 10 阶段全自动串行,中途只能等待或取消(不退积分)。 产品意图很清晰:报告是一次性交付,不是可迭代咨询。
SYS 系统 · AI AI 阶段(prompt 版本化) · OPT 可选(仅升级项目跑) · FINAL 出交付物 · 全流程 12~16 分钟,中位 ~14 分钟(内测 QA 实测)
| 阶段 | 用户看到 · 输入 | 用户拿到 · 输出 | 能否干预 | 时长 |
|---|---|---|---|---|
| 1. 获取项目信息 | intake 确认卡里的品牌 · 品类 · 市场 · 渠道 · 语言 · 上传素材 | 阶段进度条第 1 格亮起 · 无用户可见产物 · 数据从 intake 交给流水线 | 否 | 秒级 |
| 2. 包装情报 | (自动)品类 + 目标市场 | 品类内主要竞品类型 · 常见包装打法 · 拥挤区 · 本品牌切入机会缺口 | 否 | 1~2 min |
| 3. 品牌策略 | (自动)情报 + 用户品牌信息 | 定位 · 目标人群 · 差异化 三段结论 | 否 | ~1 min |
| 4. 文案合规 | (自动)品牌策略产出的表达 | 可见文字清单 —— 明确哪些字能上包装正面/背标,哪些是分析标签不许上包装 | 否 | 30s~1 min |
| 5. 创意发散 | (自动)前四步结论 | 12~18 个包装创意概念 · 每个含创意命题 · 商业问题 · 视觉机制 · 包装动作 · 商业价值 · 风险 · 提案潜力 | 否 (用户看不到中间产物) | 2~3 min |
| 6. 设计总监选方案 | (自动)12~18 创意池 | 入选 6 方向 · 明确说明为什么值得进入下一阶段 | 否 | 1~2 min |
| 7. 包装设计师细化 | (自动)入选 6 方向 | 每方向的设计策略 · 主题文案 · 总监修正逻辑 · 提案展示重点(主包装 · SKU · 结构 · 字标 · 货架) + 精确 imagePrompt | 否 | 3~4 min |
| 8. 生图 | (自动)6 方向的 imagePrompt | 前 3 张 included 方向直接出图 · 后 3 张 paid 方向保持 locked · 报告展示锁形 icon | 否 (生成后可付费解锁) | 3~5 min |
| 9. 新旧包装对比 | (自动)用户上传的旧包装 + 新方案 | 新方案解决了旧包装的哪些具体问题(视觉 · 结构 · 文案 · 货架)· 无旧包装时明确"没有可对比" | 否 (无旧包装跳过) | ~1 min |
| 10. 报告呈现 | (自动)所有前序输出 | 19 章最终结构化报告(含 category-trends 表 / risk-checklist 表 / 6 方向卡)· 落 packaging_reports.content_json | 否 | 1~2 min |
6 方向不是 6 个固定风格(如"极简/日系/复古"),是 AI 设计总监在第 6 阶段从 12~18 概念池里为当前项目挑出的 6 个最优方向,每次都不同。 付费机制的关键在于:后 3 张的完整设计说明用户免费可见,只锁图片 —— 这构成极强的付费诱因。
| 为什么给 3 张免费 | 让用户看到 AI 的真实出图水平,判断"值不值"。少于 3 张说服力不够,多于 3 张付费转化会掉。 |
| 为什么后 3 张付费 | 后 3 的设计说明 + imagePrompt 已经全部写好,用户只是没看到图。用户已经付了 200 积分入场成本,再花 20 积分/张看剩下,边际收益远大于边际成本。 |
| 20 积分 = 多少钱 | pack-100 100 积分 ¥10 → 1 积分 = ¥0.1,20 积分 = ¥2/张。3 张全解锁 = ¥6。 |
| 重生成规则 | 已解锁方向可「重生成」· 图生失败**不重复扣费** · 用户主动重来一次仍扣 20 积分 |
| 已解锁 = 永久解锁 | 付费后 paymentStatus 从 locked → unlocked,后续查看/复用不再收费 |
Prompt 层硬约束(packaging_stage_prompts.py:424):
"前 3 个 included 方向要可直接生成对外展示图;后 3 个 paid 方向保持 locked,但必须提供同等完整的结构化设计和 imagePrompt。"
代码层强校验(ai_workflow_service.py:2133-2143):
expected_tier = "included" if index <= 3 else "paid"
if direction.tier != expected_tier:
gate_fail(...) # 报告 presentation 阶段拒收
用户看到的界面结构(packaging_report_service.py:198-228 _image_summary):6 张卡,前 3 显示图,后 3 显示锁形 icon + 「解锁 20 积分」按钮。
主要收入靠订阅,积分包定位是"补量加油站"—— 四档价格严格线性 ¥0.1/积分,没有"买多便宜"阶梯。数据来源全部为 backend/scripts/init_db.sql,即当前生产 seed。 Pro 档挂 Featured 标签(init_db.sql:340)—— 单份成本上 VIP 最便宜但门槛高,Pro 是甜蜜点。
| pack_code | 档位 | 积分 | 售价 | 单价 |
|---|---|---|---|---|
| pack-100 | 100 积分 | 100 | ¥10 | ¥0.10/积分 |
| pack-300 | 300 积分 | 300 | ¥30 | ¥0.10/积分 |
| pack-800 | 800 积分 | 800 | ¥80 | ¥0.10/积分 |
| pack-2000 | 2000 积分 | 2000 | ¥200 | ¥0.10/积分 |
四档价格严格线性,没有"买多便宜"的阶梯优惠 —— 定位是"超订阅额度后的加油站",不是主要收入来源。
代码入口:CommerceService.get_report_generation_credit_cost / get_image_generation_credit_cost(commerce_service.py:126-129)—— 从 usage_rules 表读,不是硬编码,支持后台改价。
| 场景 | 消耗 | 折合现金 | 单份成本 |
|---|---|---|---|
| 只生成 1 份 · 3 张免费图 · 不解锁 | 200 积分 | ~¥20 | 按积分包比价 |
| 生成 1 份 + 解锁全部 3 张付费图 | 200 + 60 = 260 积分 | ~¥26 | 按积分包比价 |
| Basic ¥49/月 · 600 积分 | 能出约 2.3 份(全解锁) | ¥16~21/份 | ~¥19 |
| Pro ¥128/月 · 2000 积分 Featured | 能出约 7.7 份(全解锁) | ¥16~17/份 | ~¥17 |
| VIP ¥199/月 · 3800 积分 | 能出约 14.6 份(全解锁) | ¥13~14/份 | ~¥14 最低 |
plan.daily_report_limit:basic=2 · pro=5 · vip=10 · free=0(membership_service.py:83, 88)。
限流字段是"每天新建 workflow_run 数量",由 assert_can_generate_report 在 confirm intake 时判断 —— 防止 VIP 一次性把 3800 积分打光,让运营侧对每日模型调用量有可预期上限。
期限:月订 30 天 · 年订 365 天(membership_service.py:141-143)。到期后 credit_grants.expires_at 与订阅同步过期,来自订阅的积分会一起失效。
不允许降级:当前订阅未到期时买更低档报 "Downgrading during an active subscription is not supported." —— 升级则允许。
报告失败不退积分:CreditService.consume_credits 在报告入队后立即扣,后续报告失败不回滚(init_db.sql:465)。
图生失败不重复扣:ai_workflow_service.py:735-737 明确 retryMode=manual + imageStatus=failed + !imageUrl → return 0。
订单退款:refunds 表刚上线,走微信支付 V3 refund,后台"订单与收入 → 退款记录"复核 —— 人工兜底,不是用户自助。
不是只看数字的 BI 后台,而是能直接改价格、改 prompt、改案例图、发公告、处理退款的运营型后台。18 个 sub-section 按运营职能可分为日常经营 / 商业化运营 / 系统配置三组。 数据来源 frontend/src/lib/adminSaasModel.ts:71-186。
2026-07-01 内测评测报告结论:"不建议明天直接开放正式内测",当前状态适合小范围值守 + 人工兜底。 10 份真实测试报告完成 9 份,报告质量 78/100(中文表现较强),但安全性和稳定性各有 P0/P1 阻塞点未清。
数据来源:docs/PackHorizon AI 内测前上线评测报告 - 2026-07-01.md
/api/projects 一整套路由无登录依赖(api/projects.py:28-91),用户可能枚举/读取他人项目。
/api/files/read?relative_path= 缺少对象授权(api/files.py:24-84)。
/api/ai/report-progress · report-runs/retry 用 optional session,可越权查看/重试他人报告。
影响: 阻塞正式对外,泄密风险
DB 显示 queued 但 Celery broker 没任务 —— 10 份测试复现多次。
根因: report_scheduler.py:245-291 先发 Celery 再写 DB,worker 太快消费会看到 pending 从而 ack 丢任务。
影响: 用户积分已扣但报告不会执行
QA10 因 HTTP 403 insufficient_user_quota 失败,上游余额不足 $0.20。
目前没有"预扣前检查供应商余额"或"降级到备用供应商"的机制。
影响: 用户侧积分照扣但报告不完成 —— 未闭环的商业风险
当前技术上生产已能跑,运营策略是邀请制小范围内测,由 RegistrationInvite 表严格控制放号节奏。
落地页明说的分工声明(HomePage.tsx:701-704):"AI 先解决方向判断。确认方案后,设计师可以继续处理视觉系统、包装版式、SKU 延展、刀版沟通和印刷文件整理。" —— 主动把生态位画在"方向 → 转介外包",不承诺印刷级交付,反而在报告底部摆「联系设计师」二维码做私域承接。
| 维度 | 传统包装设计公司 | 其他 AI 图像工具 (MJ / SD / DALL-E) |
PackHorizon |
|---|---|---|---|
| 起点 | 客户填 brief · 设计师画视觉稿 | 用户输入 prompt · 直接出图 | AI 顾问 3~8 轮对话补齐 intake · 然后跑 10 阶段结构化分析 |
| 交付物 | 视觉稿 + 印刷文件 | 一堆图片 | 19 章报告 + 6 方向图 —— 决策依据比图更重要 |
| 决策深度 | 靠设计师经验判断 | 无 | 硬指标 6 维度:市场信号 · 竞品地图 · 购买动机 · 品牌语言 · 趋势系统 · 风险边界 |
| 成本 | 1 版方向 ¥3k~30k · 周期 2~4 周 | 单张几元 · 无策略 | ¥26/份(含全部图)· 12~18 分钟 |
| 可复核性 | 依赖设计师说明 | 无 | 报告章节明确标出"结论来自哪些资料 / 竞品 / 前序阶段" · evidence 后台可追溯 |
| 文案合规 | 出稿后印刷厂或客户返工 | 无概念 | 第 4 阶段专门做 copy-compliance · 输出「可见文字清单」 —— 明确哪些字能上包装 |
| 旧包装升级 | 从头重画 | 无对比能力 | 第 9 阶段 difference-review · 明确"解决了旧包装的哪些具体问题" |
| 后端接续 | 该公司自己做视觉深化 + 印刷文件 | 无 | 首页 CTA 「联系设计师」二维码 · 私域承接 —— 方向验证 → 转介外包 |
这种设计不是被动地"AI 做不到印刷",而是主动选择的商业策略:
净效果:产品能标准化 · 边际成本近零 · 复购来自"品牌方持续做新品"