版本:v1.0.0 日期:2026-01-21 状态:评审中
核心目标:将原 PitchPerfect AI(基于 Gemini)的“大脑+画师”双流工作流,完整移植到微信小程序云开发(TCB)架构中,并进行全链路国产化替换,以满足微信小程序的严格合规要求(算法备案、域名白名单)。
核心价值:为 B 端销售场景提供“输入客户名,一键生成定制化 PPT”的解决方案,解决销售人员写方案慢、不精准的痛点。
采用 "云端大脑 + 异步工坊 + 流式交付" 的架构,解决小程序端算力弱、网络限制严的问题。
| 模块 | 原方案 (Gemini) | 新方案 (国产合规) | 选型理由 |
|---|---|---|---|
| Planner (大脑) | Gemini 1.5 Pro | DeepSeek-R1 / V3 | 国内推理能力最强,非常适合逻辑性强的大纲生成任务。通过 TCB AI 网关调用,无需额外配置域名。 |
| Artist (画师) | Imagen 3 | 腾讯混元 (Hunyuan) | 腾讯生态原生支持,无需跨域,国内合规备案齐全,不仅能生图,未来还能微调风格。 |
| Assembler (合成) | 前端 pdf-lib | 后端 pdf-lib (云函数) | 移至云端合成,避免小程序端内存溢出 (OOM) 风险,且网速更快。 |
| Storage (存储) | Firebase Storage | 腾讯云 COS | 云开发自带,内网传输极快,无流量费用。 |
graph TD
User[用户 (小程序)] -->|1. 输入需求| CloudFunc[云函数 ai_ppt]
subgraph "Phase 1: Planner (Brain)"
CloudFunc -->|调用| DeepSeek[DeepSeek-R1]
DeepSeek -->|返回 JSON 大纲| CloudFunc
CloudFunc -->|Stream 返回| User
end
subgraph "Phase 2: Artist (Studio)"
User -->|2. 确认生成| CloudFunc
CloudFunc -->|并发请求| Hunyuan[腾讯混元文生图 API]
Hunyuan -->|返回图片 URL| CloudFunc
CloudFunc -->|Save| COS[云存储]
end
subgraph "Phase 3: Assembler (Delivery)"
CloudFunc -->|图+文合成| PDFLib[pdf-lib]
PDFLib -->|生成 PDF| COS
COS -->|下载链接| User
end
将创建一个单体云函数 ai_ppt,内部通过 action 路由分发不同任务:
-
Action: generate_outline(生成大纲)- 输入: 客户名称、行业、痛点。
- 逻辑: 构造 Prompt,调用 DeepSeek-R1。DeepSeek-R1 自带思维链 (CoT),能更好地拆解客户痛点。
- 输出: 结构化 JSON(包含 8-10 页 PPT 的标题、要点、画面描述)。
-
Action: generate_images(批量生图)- 输入: 大纲 JSON。
- 逻辑:
- 不仅是简单的循环,而是并发控制(例如
Promise.all限制并发数 3-5)。 - Prompt 优化: 在调用混元前,先用 DeepSeek 将中文画面描述翻译并优化为混元更易理解的英文/中文 Prompt 关键词。
- 不仅是简单的循环,而是并发控制(例如
- 输出: 图片 URL 映射表
{ 1: "cloud://.../p1.png", 2: "..." }。
-
Action: assemble_pdf(合成交付)- 输入: 大纲 JSON + 图片 MAP。
- 逻辑: 加载标准底板(Logo、页码架构),将 AI 生成的图片作为层叠加,再绘制文字。
- 输出: PDF 的
fileID。
为了平衡成本(混元 API 调用费)和速度,采用混合策略:
- T1: 标准页 (Standard Slides)
- 封面、目录、封底、公司简介:直接使用云存储中的高清静态图。
- 优势:0等待,0成本。
- T2: 定制页 (Custom Slides)
- 痛点分析、解决方案、场景落地:调用混元实时生成。
- 优势:千人千面,直击客户痛点。
- 内容安全 (Content Safety):
- 云函数输出端集成腾讯云文本内容安全 (TMS) 接口,过滤敏感词。
- 生图接口混元自带审核,但我们需处理“生成失败/违规”的 Fallback 逻辑(如显示默认占位图)。
- 标识规范:
- 所有生成的 PDF 页脚强制添加水印:“本内容由人工智能生成,仅供参考”。
- 服务类目:
- 小程序需确保补充“深度合成-AI问答/AI绘画”类目(视实际上线情况而定,Demo 阶段可暂缓,但正式版必须有)。
以下模拟了三位不同背景专家的评审意见:
意见: "架构整体合理,将重计算逻辑(生图、PDF合成)全部移至云端是明智的。但我有两个担忧:
- 云函数超时: 混元生图较慢,如果生成 10 张图,可能会超过云函数 60s/90s 的执行时限。建议把生图做成异步任务队列,由前端轮询状态,而不是一个长链接死等。
- PDF-Lib 字体: 在云端合成 PDF 渲染中文时,必须加载中文字体文件(如思源黑体),这文件很大(10MB+),每次云函数冷启动都加载会很慢。建议将字体文件放在层(Layer)中,或利用 CFS 挂载。"
意见: "方案在合规性上做了很大改进。特别提醒几点:
- DeepSeek 接入方式: 必须确认是通过腾讯云官方网关调用的,而不是直接调 DeepSeek 的公网 API,否则依然有域名白名单问题。
- 水印: 仅仅在 PDF 加水印不够,小程序预览界面每张 AI 生成的图上,最好也加上半透明的 'AI Generated' 标记。
- 用户协议: 在用户点击'生成'按钮前,必须有一个勾选框:'我已知晓内容由 AI 生成并同意《AI 服务免责协议》'。"
意见: "流程上通顺,但体验可能不够‘性感’。
- 过程感: 生成大纲到生图中间可能有 30-60 秒的空白期。建议在前端做一个'伪终端'效果,滚动显示日志:'正在分析行业痛点...', '正在构思画面...', '混元画师正在绘图...',缓解等待焦虑。
- 可干预性: 用户如果对 DeepSeek 生成的某条文案不满意,在生图之前一定要给修改机会。'生图'是最贵的步骤,一旦画出来再改就浪费了。确认环节至关重要。"
基于专家评审,对方案做如下修正:
- 异步队列: 采纳专家 A 意见,前端采用轮询机制查生图进度,防止超时。
- 字体优化: 将字体文件打包进云函数代码包(或使用 CDN 链接缓冲),确保中文渲染正常。
- 增强 UX: 增加详细的 Loading 状态文案,并确保大纲生成后提供**“编辑/确认”**步骤。
- 合规补全: 确认使用 TCB AI 网关调用 DeepSeek;在 UI 上补充 AI 标识和免责协议。
本此更新集中修复了支付链路和基础导航体验中的严重阻断性 Bug。
- 问题: 用户点击取消订单报错“订单不存在”或状态未更新。
- 原因:
- 环境不一致: 开发环境/真机调试的 OpenID 不一致,导致数据库查询不到对应订单。
- 代码逻辑: 云函数中过于严格的
_openid校验阻碍了对脏数据的清理。
- 解决:
- 后端: 重构
cancelOrder云函数,临时放宽权限清理脏数据,随后恢复了严格的 OpenID 校验以保障安全。优化了错误日志输出。 - 前端: 改进了
cancelOrder的交互反馈(Loading/Toast),并确保操作成功后立即重载列表。
- 后端: 重构
- 问题: 从“试用页”进入“确认订单页”后,点击顶部返回按钮直接退回“首页”,跳过了“试用页”。
- 原因:
t-navbar组件自带返回逻辑,而页面代码中又绑定了bind:go-back并再次调用navigateBack,导致触发了两次返回 (Double Back)。 - 解决: 删除了
intent/confirm/index.js中冗余的goBack函数及 WXML 绑定,遵循减法调试原则。
- 问题: “我的”页面底部导航栏高亮错误(停留在“首页”)。
- 原因: 自定义 TabBar 需要在每个 Tab 页面的
onShow中手动更新选中态,pages/mine/index.js缺失了这段逻辑。 - 解决: 在所有 Tab 页面(包括 Mine, Index, Chat, Solution)的
onShow中确保了getTabBar().setData({ selected: index })的逻辑存在且正确。
- 建立了 《Antigravity 调试总纲》 (
.agent/workflows/debug_protocol.md),确立了“先诊断后编码”和“减法定位”的原则。