在 OpenCal 应用中记录餐食、查看营养进度并管理卡路里目标——通过 AI 代理实现免提操作。当用户提及饮食、食物或卡路里时使用。
OpenCal.是一项面向实际任务的技能,主要用于OpenCal是一个卡路里和营养跟踪器, 配备了美丽的iOS 应用程序;这个技能可以让您的AI代理日志餐, 检查进度, 并更新目标—— 因此用户从不需要打开应用程序到。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
OpenCal 是一款具备精美 iOS 应用的卡路里与营养追踪工具。本技能可让您的 AI 代理自动记录餐食、查看进度并更新目标,使用户无需打开 App 即可完成饮食追踪。
“我午餐吃了一个墨西哥卷饼” → 代理执行搜索、按比例换算营养数据并完成记录 → 该条目将立即显示在 App 中。
export OPENCAL_API_KEY="sk_your-key-here"
| 用户输入 | 对应操作 |
|---|---|
| “我午餐吃了一个鸡肉三明治” | 搜索食物 → 按实际摄入量换算营养数据 → 记录 |
| “我今天吃了什么?” | 获取今日记录并汇总摘要 |
| “我今天还剩多少蛋白质?” | 获取当日累计摄入量并与目标值比对 |
| “我想把每日热量目标调整为 1800 千卡” | 更新用户的卡路里目标值 |
| “上一条记录错了,请删除” | 删除对应日志条目 |
| “一根香蕉含有哪些营养成分?” | 搜索并展示营养信息(不记录) |
最常见流程:用户说类似“我午餐吃了 200 克鸡胸肉”的话:
1. 搜索食物:
curl -s "${OPENCAL_BASE_URL:-https://api.opencal.ai}/api/v1/food/search?q=chicken+breast&limit=5" \
-H "Authorization: Bearer $OPENCAL_API_KEY" | jq '.results[] | {name, calories, protein, carbs, fat}'
搜索结果中的营养数值均为 每 100 克 的含量。请从中选择最匹配的条目。
2. 按实际摄入量换算并记录:
curl -s -X POST "${OPENCAL_BASE_URL:-https://api.opencal.ai}/api/v1/food/log" \
-H "Authorization: Bearer $OPENCAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Chicken Breast",
"amount": 200, "unit": "g",
"calories": 330, "protein": 62, "carbs": 0, "fat": 7.2,
"mealType": "lunch"
}'
所有营养数值需乘以 amount / 100 进行换算。记录后条目将即时同步至 App。
mealType 可选值为:breakfast、lunch、dinner 或 snack。
如需补录历史餐食,可在请求体中添加 "loggedAt": "2026-02-18T12:00:00Z"(默认为当前时间)。
3. 向用户确认:“已为您记录午餐:200 克鸡胸肉 —— 330 千卡,62 克蛋白质。”
curl -s "${OPENCAL_BASE_URL:-https://api.opencal.ai}/api/v1/food/log?date=2026-02-18" \
-H "Authorization: Bearer $OPENCAL_API_KEY" | jq '{totals, entries: [.entries[] | {name, calories, mealType}]}'
若省略 ?date= 参数,则默认查询今日数据。返回内容包含每条记录及总摄入量(卡路里、蛋白质、碳水化合物、脂肪)。
# 查看当前目标
curl -s "${OPENCAL_BASE_URL:-https://api.opencal.ai}/api/v1/goals" \
-H "Authorization: Bearer $OPENCAL_API_KEY" | jq
# 更新目标(仅需提供需修改的字段)
curl -s -X PUT "${OPENCAL_BASE_URL:-https://api.opencal.ai}/api/v1/goals" \
-H "Authorization: Bearer $OPENCAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"calorieGoal": 1800, "proteinGrams": 160}'
先从每日日志中获取目标条目的 ID,然后执行:
curl -s -X DELETE "${OPENCAL_BASE_URL:-https://api.opencal.ai}/api/v1/food/log/{id}" \
-H "Authorization: Bearer $OPENCAL_API_KEY"
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习