clawcoach-food

star 1

**ClawCoach:食物照片分析与餐食记录功能** 只需发送一张餐食的照片,即可通过Claude Vision系统立即获得餐食中各种营养成分(如碳水化合物、蛋白质、脂肪等)的详细分析结果。

AgentWorkers By AgentWorkers schedule Updated 2/24/2026

name: clawcoach-food description: > ClawCoach:食物照片分析与餐食记录功能
只需发送一张餐食的照片,即可通过Claude Vision系统立即获得餐食中各种营养成分(如碳水化合物、蛋白质、脂肪等)的详细分析结果。 emoji: "\U0001F4F8" user-invocable: true homepage: https://github.com/clawcoach/clawcoach metadata: openclaw: {"requires": {"env": ["ANTHROPIC_API_KEY"]}}

ClawCoach 食物管理功能 — 食物照片分析与饮食记录

该功能通过 Claude Vision 技术进行食物照片分析,支持基于文本的饮食记录,并提供确认流程。

何时激活该功能

  • 用户发送照片时(默认假设照片中的内容为食物,除非上下文另有说明);
  • 用户输入食物描述时(例如:“我早餐吃了2个鸡蛋和吐司”);
  • 用户说出“记录这顿饭”或“我吃了[某食物]”时;
  • 用户想要编辑或删除之前的饮食记录时。

数据存储

所有饮食记录存储在 ~/.clawcoach/food-log.json 文件中,文件结构如下:

{
  "meals": [
    {
      "id": "2026-02-22-lunch-001",
      "date": "2026-02-22",
      "type": "lunch",
      "status": "confirmed",
      "items": [
        {
          "name": "grilled chicken breast",
          "portion": "6 oz",
          "calories": 280,
          "protein_g": 52,
          "fat_g": 6,
          "carbs_g": 0
        }
      ],
      "total_calories": 520,
      "total_protein_g": 62,
      "total_fat_g": 14,
      "total_carbs_g": 48,
      "source": "photo",
      "timestamp": "2026-02-22T12:35:00Z"
    }
  ]
}

食物照片分析流程

当用户发送照片时:

  1. 分析照片:利用视觉技术识别照片中的所有食物成分。对于每种食物成分,需估算以下信息:

    • 名称(具体明确,例如“烤鸡胸肉”而非“鸡肉”);
    • 份量(使用常见单位,如盎司、杯、片等);
    • 热量及营养成分(蛋白质、脂肪、碳水化合物的克数)。

    可参考已知的营养数据。如果对份量不确定,应保守估计。

  2. 以用户设定的语音方式呈现分析结果

    • 列出每种食物及其份量和营养成分;
    • 显示整餐的总热量;
    • 显示当天的累计摄入量(已摄入/目标摄入量/剩余量);
    • 提示用户:“确认吗?(确认/编辑/重新拍摄)”。
  3. 处理用户的反馈

    • 如果用户选择“确认”,则将饮食记录写入 ~/.clawcoach/food-log.json 文件,并标记为“已确认”状态;
    • 如果用户提供修正信息(例如“米饭其实是糙米”或“份量大概是8盎司”),则重新计算并更新显示结果;
    • 如果用户选择“重新拍摄”,则要求用户重新发送照片或提供更详细的文字描述。
  4. 确认后,系统会始终显示更新后的每日摄入总量。

基于文本的饮食记录

当用户通过文字描述食物时:

  1. 从描述中解析食物成分并估算其份量;
  2. 根据营养数据计算每种成分的热量及营养成分;
  3. 遵循与照片分析相同的确认流程。

饮食类型自动分类

系统会根据时间自动分类饮食:

  • 10:00 之前:早餐
  • 10:00 - 14:00:午餐
  • 14:00 - 17:00:零食
  • 17:00 之后:晚餐

用户也可以手动指定饮食类型,例如:“将这顿饭记录为零食”。

编辑与删除记录

  • 用户可以删除某顿饭的记录(例如:“删除我的午餐记录”);
  • 如果用户认为摄入的热量有误,可以更新相应的记录;
  • 用户可以查询当天的所有已确认饮食记录。

日摄入总量计算

每次饮食记录确认后,系统会计算并显示以下数据:

  • ~/.clawcoach/profile.json 中读取用户的营养目标;
  • 将当天所有已确认的饮食记录的热量、蛋白质、脂肪、碳水化合物总量相加;
  • 显示:
    • 已摄入量:X 卡路里 | X 克蛋白质 | X 克脂肪 | X 克碳水化合物;
    • 目标摄入量:X 卡路里 | X 克蛋白质 | X 克脂肪 | X 克碳水化合物;
    • 剩余摄入量:X 卡路里 | X 克蛋白质 | X 克脂肪 | X 克碳水化合物。

特殊情况处理

  • 照片模糊不清:系统会提示用户“照片太模糊,无法识别食物,请重新拍摄或提供更清晰的描述”;
  • 非食物图片:系统会提示用户“这不是食物,请发送正确的食物照片或输入食物名称”;
  • 未知食物:系统会请求用户确认具体食物种类;
  • 食物成分难以识别:系统会询问用户具体成分(例如“我看到鸡肉和其他东西,这是米饭还是意大利面?”);
  • 无法识别份量:系统会使用标准份量进行估算,并提示用户确认实际份量。

常见食物的营养成分参考(每100克)

以下数据可作为参考,根据实际摄入量进行调整:

食物 热量(卡路里) 蛋白质(克) 脂肪(克) 碳水化合物(克)
烤鸡胸肉 165 31 3.6 0
烤三文鱼 208 20 13 0
煮白米饭 130 2.7 0.3 28
煮糙米饭 123 2.7 1.0 26
煮意大利面 131 5 1.1 25
蒸西兰花 35 2.4 0.4 7
大鸡蛋(约50克) 155 13 11 1.1
鳄梨 160 2 15 9
烤红薯 90 2 0.1 21
希腊酸奶(原味) 59 10 0.7 3.6
香蕉(约120克) 89 1.1 0.3 23
煮燕麦 68 2.4 1.4 12
白面包(每片约30克) 265 9 3.2 49
切达奶酪 403 25 33 1.3
杏仁 579 21 50 22
橄榄油(1汤匙约14毫升) 884 0 100 0
比萨(意大利辣香肠) 298 12 14 30
  • 汉堡(含面包) | 约550克 | 30 | 30 | 40 |
  • 牛排(西冷牛排) | 206 | 26 | 11 | 0 |
  • 豆腐(硬豆腐) | 144 | 17 | 9 | 3 |
  • 煮扁豆 | 116 | 9 | 0.4 | 20 |
  • 全脂牛奶(250毫升) | 61 | 3.2 | 3.3 | 4.8 |
  • 蛋白质奶昔(1勺) | 约120 | 25 | 1.5 | 3 |

对于列表中未包含的食物,系统会依据用户的营养知识进行估算。

注意事项:

  • 所有营养成分数据均四舍五入到整数;
  • 确认饮食记录后,系统会立即显示当天的累计摄入总量;
  • 所有语音提示均来自 clawcoach-core,请确保所有响应中使用统一的语音风格;
  • 未经用户确认,系统不会记录任何饮食记录;
  • 系统会为每顿饭生成唯一的记录ID,格式为 {日期}-{饮食类型}-{顺序号}
Install via CLI
npx skills add https://github.com/AgentWorkers/skills --skill clawcoach-food
Repository Details
star Stars 1
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator
AgentWorkers
AgentWorkers Explore all skills →