项目名称: 30分钟吃上饭(“30-Minute Meal”) 产品形态: 微信小程序 Demo (MVP) 目标用户: 忙碌的上班族及不常钻研菜谱的烹饪爱好者 核心价值: 解决用户“下班想要快速吃上饭”和“想吃健康自制饭菜”的痛点,提供方便快捷的个性化食谱推荐,且总耗时在 30 分钟内。核心技术: Coze 工作流 (Workflow) 驱动


1. 产品目标与约束

维度 描述 约束条件
项目目标 帮助用户在 30 分钟内完成一顿健康、美味的自制餐。 食谱总烹饪时间必须 ≤30 分钟
技术核心 使用 Coze 工作流承载所有 AI 逻辑和数据处理。 核心功能必须通过 Coze 统一 API 接口实现。
范围排除 MVP 暂不包含:食材存放/过期提醒、积分兑换(UI保留)、实时烹饪指导、后台数据跟踪和用户反馈功能。 降低 MVP 复杂度。

2. 详细功能需求(Feature Requirements)

2.1 F1:食材输入与偏好设置(前端负责)

需求点 描述 备注
输入方式 用户手动输入或通过搜索框输入现有食材。 Figma: 搜索框需有历史输入联想功能。
输入限制 限制用户输入主要食材在 5 种及以下。 香料、油盐酱醋等配料不计入限制。
烹饪目标 必须提供前置关键词选项供用户选择。 关键词选项: 家常、低糖、减脂、增肌、一周备餐。
口味偏好 通过默认设置(如:不吃辣、清淡口味)收集。 用户可随时在设置页更改,作为 API 的可选参数。
提交动作 点击**“生成食谱”**按钮,前端将所有输入项打包,调用 Coze API

2.2 F2:食谱生成与处理(Coze 工作流负责)

需求点 描述 备注
核心逻辑 基于 AI(LLM)生成一个自由搭配食谱。 不使用现成食谱 API。
Prompt 约束 在 Coze 工作流中设置 Prompt Engineer,严格约束 LLM:1) 必须包含用户输入的食材;2) 必须满足烹饪目标;3) 严格控制总烹饪时间 ≤30 分钟;4) 输出 JSON 格式。 确保满足 PRD 核心目标。
推荐数量 Coze 工作流必须生成并返回 5 种不同的食谱结果。
数据格式化 Coze 需将 LLM 生成的原始文本格式化为标准 JSON 结构后,通过 API 返回给前端。 确保前端能顺利解析(参见 API 接口设计)。

2.3 F3:食谱展示与指导(前端负责)

需求点 描述 备注
呈现方式 食谱结果需以**轮播图(Carousel)的形式呈现。 每次展示 5 种食谱卡片。暂不排序。
卡片内容 卡片需展示:菜品名称、总烹饪时间(醒目标注 ≤30 分钟)。
详情页 提供详细的分步式烹饪步骤**、所需食材和配料。 不提供实时烹饪指导。
激励元素 在详情页底部设计一个 UI 元素占位符。 UI 占位符文案: “上传成品照片赢积分,兑换精美食材!”(功能暂不实现
互动 MVP 阶段仅限于输入食材和查看推荐。 暂无评分、保存、收藏功能。

3. 技术栈和实现工具(Tech Stack & Development)

角色 推荐工具/平台 职责边界
AI 逻辑与 API Coze 工作流 (Workflow) 核心: 接收前端请求,执行 LLM 生成,数据格式化,输出统一 JSON 接口
前端开发 微信小程序原生开发 核心: UI 搭建、用户交互、调用 Coze API、数据展示。
后端/数据管理 小程序云开发 / BaaS 仅数据存储: 存储用户的口味偏好设置、少量历史记录(MVP 暂不展示)。
UX/UI 设计 Figma 设计简洁、直观、漫画风格棕色温馨色调的单页面应用界面。

导出到 Google 表格

3.1 Coze 工作流 API 接口设计(核心)

参数 字段名 类型 必填 描述
Input 1 main_ingredients String 用户输入的 5 种以下主要食材,逗号分隔。
Input 2 cooking_goal String 烹饪目标关键词(如:减脂、家常、增肌)。
Input 3 taste_preference String 口味偏好(如:不吃辣、清淡)。
Output Response Body JSON 包含 5 个食谱对象的数组 (recipes)。

recipes Object 结构(Coze 必须严格按照此格式输出):

JSON

[ { "recipe_name": "菜品名称", "prep_time_min": 10, // 准备时间(分钟) "cook_time_min": 15, // 烹饪时间(分钟) "total_time_min": 25, // 总耗时(必须 <= 30) "ingredients": ["主要食材", "配料 A", "配料 B"], "steps": ["第一步:详细操作指南", "第二步:..."] }, // ... 剩余 4 个食谱 ]