eatwhats:用 Agent Skill 把「今天吃什么」变成结构化菜谱

前言

在对话里问「冰箱里有鸡蛋和番茄,累了想吃点简单的」,通用大模型往往只能给一段文字步骤,没有统一 JSON、也没有和「冰箱库存」绑定的接口。若你已经在用 Cursor、Claude Code 等支持 Skill 的 Agent,更希望模型在合适时机调用固定 API,而不是每次即兴发挥。

下面介绍 SkillHub 社区技能 eatwhats(坐标 @user_1627842f/eatwhats)。它把「不知道吃什么、不知道做什么菜」这类问题,收敛到一套 FastAPI 后端与 SKILL.md 说明,让 Agent 按文档触发菜谱生成、冰箱管理等能力。

这是什么

eatwhats 在 SkillHub 上的简介是:今天吃什么,不知道做什么菜,不知道吃什么就用这个 skills。分类为 life-service,版本 1.0.0,来源 community,发布者为 user_1627842f(SkillHub 页面标注作者为「二流子 AI」)。

技能包内的 SKILL.md 将产品称为 BiteAI 智能餐谋(v1.0),类型为基于 FastAPI + Python 的后端服务 / API 插件,依赖 DeepSeek 等大模型能力生成「治愈系」结构化菜谱。SkillHub 标签 requires_api_key=true,表示运行后端时需要配置 API 密钥(文档要求 DEEPSEEK_API_KEY)。

核心功能

以下能力均来自技能包内的 SKILL.md、README.md 与 openapi.json,可按路径核对。

菜谱生成(核心)

  • 接口:POST /api/generate-recipe
  • 作用:根据用户偏好、已选食材生成结构化菜谱(标题、匹配度、标签、热量与宏量营养、食材清单、分步说明、耗时与难度等)。
  • 触发说明:当用户表达冰箱有剩菜、不知道吃什么,或带有冷、累、小孩不吃辣等情绪与家庭场景时,文档要求 Agent 优先调用该接口。

冰箱管理

方法 路径 说明
GET /api/pantry 获取冰箱食材列表
POST /api/pantry 添加食材
POST /api/pantry/reset 重置为默认库存
POST /api/pantry/scan 通过图片识别并写入食材

用户配置

方法 路径 说明
GET /api/profile 获取口味 DNA、等级等
POST /api/profile/evolve 进化用户口味 DNA

对接形态

README.md 说明可将 openapi.json 以 OpenAPI/Swagger 方式接入 Dify、Coze 等平台;对 Cursor 等 Agent,主要依赖安装后的 SKILL.md 与本地运行的 API 服务。

安装与启用

安装分两步:先把技能装进 Agent 的 skills 目录,再在本机启动 FastAPI 服务并配置密钥。

1. 安装 SkillHub CLI(若尚未安装)

先检查是否已有 CLI:

command -v skillhub && skillhub --version

未安装时,可按 SkillHub 官方安装文档执行完整安装(含 CLI 与默认 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

仅安装 CLI:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

更完整的优先源与目录说明见:https://skillhub.cn/install/skillhub.md

2. 安装 eatwhats 到当前 Agent

SkillHub 页面给出的安装提示为:根据上述安装文档,安装 @user_1627842f/eatwhats。

必须用 --dir 指向当前 Agent 的 skills 目录,否则默认装到 ./skills/ 可能不会被识别。常用路径示例:

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

示例(将路径换成你的环境):

skillhub install @user_1627842f/eatwhats --dir ~/.cursor/skills/

安装完成后,重启或刷新 Agent,使其加载新技能目录中的 SKILL.md。

3. 启动后端服务

进入技能包目录(安装后一般在 <skills 目录>/@user_1627842f/eatwhats/),安装 Python 依赖并配置环境变量:

pip install -r requirements.txt

SKILL.md 写明需设置环境变量 DEEPSEEK_API_KEY(DeepSeek API 密钥)。文档中的开发流程为复制 .env.example 为 .env 后编辑;若包内未附带该文件,可直接在环境中导出变量,例如:

export DEEPSEEK_API_KEY="你的密钥"

开发模式启动:

uvicorn main:app --reload --host 0.0.0.0 --port 8000

生产模式:

uvicorn main:app --host 0.0.0.0 --port 8000

服务启动后,交互式文档地址为 http://localhost:8000/docs(Swagger UI),http://localhost:8000/redoc(ReDoc)。

典型用法

对话侧(Agent)

用户在对话中描述库存与状态,例如:「冰箱里有鸡蛋、番茄和菠菜,今天很累不知道吃什么。」Agent 在加载 eatwhats 后,应按 SKILL.md 调用 POST /api/generate-recipe。

API 请求示例

请求体字段来自 SKILL.md:

{
  "preference": "今天很累,想吃点简单的",
  "selected_ingredients": ["鸡蛋", "番茄", "菠菜"]
}

响应为结构化 JSON,包含 title、matchPercent、tags、calories、macros、ingredients、steps、timing、difficulty 等字段(完整 schema 见 openapi.json)。

菜谱「进化」

若用户对上一道菜有调整需求,可带上上次菜名与进化说明:

{
  "preference": "上次的菜有点辣",
  "selected_ingredients": ["鸡肉", "土豆"],
  "previous_recipe_title": "香辣土豆鸡块",
  "evolve_prompt": "少点辣,适合小孩吃"
}

平台插件(可选)

在 Dify 中可选择 OpenAPI/Swagger 模式上传 openapi.json;在 Coze 中可导入同一文件并将 generate-recipe 绑定到 Bot。步骤细节见技能包内 README.md。

适用场景与注意

适合谁

  • 希望在 Agent 对话里稳定处理「吃什么、做什么菜」,并需要 JSON 结构便于展示或二次开发的用户。
  • 已有或愿意自建本地 FastAPI 服务,并持有 DeepSeek API 密钥的开发者。

限制与注意

  1. 双份部署:仅安装 Skill 不会自动提供 API;必须在本机(或你部署的环境)运行 main.py 对应服务,并保证 Agent 或工具配置能访问该基址(默认文档以 localhost:8000 为例)。
  2. 密钥与费用:requires_api_key=true;实际推理依赖 DEEPSEEK_API_KEY,调用产生费用由你的 DeepSeek 账户承担。
  3. 命名差异:SkillHub 名称为 eatwhats,包内文档品牌为 BiteAI 智能餐谋,检索或排错时两处名称都可能出现。
  4. 社区来源:来源为 community,集成前建议自行审阅 main.py 与网络出站行为。
  5. SkillHub 数据:截至资料抓取,评分为 100000,下载约 752 次(页面统计会变动,以 SkillHub 为准)。

结尾

eatwhats 把「今天吃什么」从随口问答,变成 Agent 可读的技能说明 + 可复现的 HTTP API:菜谱生成、冰箱与用户口味进化都在同一份 OpenAPI 里。若你要在 Cursor 等环境里使用,按 SkillHub 流程安装 @user_1627842f/eatwhats,再启动本地 FastAPI 并配置 DEEPSEEK_API_KEY 即可。

官方入口:

  • API 资源页:https://api.skillhub.cn/user_1627842f/eatwhats
  • SkillHub 技能页:https://www.skillhub.cn/skills/user_1627842f/eatwhats
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye