每周菜单技能
生成包含图片和小红书源链接的每周餐食推荐文档,存储为飞书文档中的收据文件夹。
前提条件
安装agent-reach技能(配置小红书频道)
配置飞书频道,具有以下权限:docx:document、docx:document:create、drive:drive
用户配置文件位于meals/profile.yaml(参考references/profile-template.yaml)
工作流程
读取meals/profile.yaml以获取以下信息:
位置——决定季节性食材
household.portions——食用人数
cooking.equipment——可用厨具(空气炸锅、压力锅等)
cooking.timeAvailable——快速/适中/慢速烹饪
cooking.spiceTolerance——无/微辣/中辣/辣
preferences.cuisinesFavourite——偏爱的美食
preferences.explorationLevel——保守/冒险
schedule.cookingDays——每周烹饪天数
如果配置文件不存在,询问用户基本信息并从references/profile-template.yaml创建一个。
使用agent-reach小红书搜索找到流行的食谱:
mcporter调用'xiaohongshu.search_feeds(keyword: "<搜索词>")'
搜索策略(3-5次搜索):
当前季节+位置+"时令菜"
设备特定:"空气炸锅家常菜"、"高压锅菜谱"
美食偏好:"川菜家常"、"苏菜做法"
一般:"一周菜谱简单好吃"
选择最受欢迎的结果(根据点赞/收藏数)。
目标是选择20个候选菜肴,分为6类:
春季时令
空气炸锅
高压锅硬菜
下饭菜
经典家常
快手&主食
将20个菜肴组织成6个主题部分,基于设备、美食和烹饪方法:
平衡多样性:不要在一个部分内重复蛋白质或方法
每个菜肴需要:编号(①-⑳)、名称、一行描述、烹饪时间、使用的设备
下载每个菜肴的代表性图片(从Unsplash或类似的免费来源——小红书CDN阻止直接下载):
curl -sL --connect-timeout 10 --max-time 20 -o ./tmp/dishes/01-name.jpg ""
存储在workspace/tmp/dishes/中。
验证每个文件是否为有效的JPEG/PNG(不为空或HTML错误)。
阅读references/feishu-doc-recipe.md以获取完整的飞书API过程。
摘要:
创建标题为🍽️ YYYY-MM-DD 推荐菜单(周一日期)的文档,在收据文件夹中
授予用户全访问权限
以≤50个块为批次插入块。
对于每个菜肴,按顺序创建以下块:
heading3(block_type 5)——菜肴名称,启用表格导航
todo/checkbox(block_type 17,done:false)——相同的菜肴名称,用于用户勾选
text(block_type 2)——描述+烹饪时间
empty image(block_type 27)——占位符,稍后填充
text with link——"📌 小红书菜谱"链接到XHS帖子
在插入所有文本块后,填充图像:上传到驱动器→用replace_image修补
部分由divider(block_type 22)+ heading2(block_type 4)分隔
关键约束:
每次插入调用最多50个块——将20个菜肴分成4批(约25个块)
每个文档最多3次编辑/秒——在API调用之间使用time.sleep(0.4)
图像块必须创建为空({"block_type": 27, "image": {}}),然后通过patch填充
当向文档添加块时,从底部到顶部插入批次以避免索引偏移
将文档链接发送给用户在聊天中。
格式:🍽️ 本周菜单已出炉!20 道菜已备好 👉 打开文档,从目录浏览所有菜,勾选你想做的~
将本周菜单追加到meals/history.yaml中,以便日后参考和避免重复。
配置密钥位置描述
用户配置文件 meals/profile.yaml 味道偏好和约束
收据文件夹 Feishu drive 存储在MEMORY.md中的令牌
餐食历史记录 meals/history.yaml 过去的菜单,以避免重复
文件参考
references/profile-template.yaml — 空白用户配置文件模板
references/feishu-doc-recipe.md — 飞书文档创建API指南