项目名称: 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 个食谱 ]