营养日志CLI工具

一个结合自然语言输入、AI解析和Notion集成的营养日志记录命令行工具,支持多食物成分分析和实时状态显示。

  • by avrodotter
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 avrodotter/beon-mcp

使用说明

营养最大化CLI-营养记录摘要

建造了什么

您现在拥有一个功能齐全的 营养最大化CLI 它结合了:

  • 自然语言输入 → CLI接受以下人工命令 "I ate 4 eggs and toast"
  • MCP工具 → 访问3个营养工具(log_food、get_dil_nutrition、get_diy_calories)
  • 希腊 AI → 关于如何解析和记录膳食的智能决策
  • 概念整合 → 将所有食品日志与宏观跟踪一起存储到Notion

简化架构

这个项目现在只专注于 营养测井:

  • 用详细的宏量(蛋白质、碳水化合物、脂肪、纤维、卡路里)记录膳食
  • 支持IFCT 2017(印度菜)和美国农业部食品数据中心标准
  • 多项目膳食解析(将“鸡蛋和吐司”拆分为单独的条目)
  • AI处理过程中的实时状态显示
  • 带有动画旋转器的交互式REPL
  • 一次性命令支持

关键文件

营养MCP服务器(apps/nutrition-mcp/index.js)

  • log_food -使用宏记录食物条目
  • get_daily_nutrition -检索特定日期记录的所有食物
  • get_daily_calories -获取包含目标和汇总总数的卡路里摘要

CLI文件(apps/notion-cli/src/)

  1. groq-agent.ts -使用Groq llama-3.1-8b-instant的代理循环

    • 综合营养跟踪系统提示
    • IFCT 2017和美国农业部宏观估算标准
    • 实时状态更新回调
    • 将多项目膳食解析为单独的log_food调用
  2. mcp-client.ts -MCP协议通信

    • 生成营养mcp服务器作为子流程
    • 基于stdio的JSON-RPC
    • 工具列表和调用
  3. repl.ts -交互式REPL模式

    • 带有状态同步功能的动画旋转器
    • 多回合互动
    • /habits 指挥支持(传统)
    • 解析和显示时出错
  4. ui.ts -终端UI组件

    • 习惯展示(传统)
    • 宏观概述
    • 使用粉笔进行样式化输出
  5. cli.ts -入口点

    • 互动模式和一次性模式之间的路线
    • MCP服务器启动
    • 环境变量加载

如何使用

安装

# Navigate to project root
cd nutrition-maxing-cli
pnpm install
cd apps/notion-cli
pnpm build

一次性命令

notion "I ate 3 eggs and toast for breakfast"
# Parses into:
# - Eggs (macros estimated)
# - Toast (macros estimated)
# Both logged to Notion separately

交互模式

notion
# Shows welcome screen
# Type commands naturally
# Type 'exit' to quit

系统提示功能

IFCT 2017标准 -印度粮食宏观估算 美国农业部食品数据中心 -全球食品数据库标准 多项目解析 -《米与豆》→ 单独条目 餐食格式识别 -“午餐:…”模式支持 宏显示 -响应中始终显示P/C/F/Cal 健康益处 -追踪微量营养素笔记(最多100个字符) 灵活输入 -了解“两碗饭”、“250克鸡肉”等。

架构图

┌─────────────────┐
│   User Input    │
│ "I ate 3 eggs"  │
└────────┬────────┘
         │
         ▼
    ┌────────┐
    │ CLI    │
    │ (Notion)│
    └────┬───┘
         │
         ▼
    ┌─────────────────────────┐
    │ Spawn Nutrition MCP     │
    │ (stdio subprocess)      │
    └────────┬────────────────┘
             │
             ▼
    ┌──────────────────────────┐
    │ Fetch Available Tools    │
    │ - log_food              │
    │ - get_daily_nutrition   │
    │ - get_daily_calories    │
    └────────┬─────────────────┘
             │
             ▼
    ┌──────────────────────────────────┐
    │ Send to Groq llama-3.1-8b with: │
    │ - User message                   │
    │ - Nutrition tools                │
    │ - IFCT 2017 + USDA standards     │
    └────────┬─────────────────────────┘
             │
    ┌────────▼──────────────────────┐
    │   AGENTIC LOOP                │
    │ - Parse meal components       │
    │ - Call log_food (per item)    │
    │ - Aggregate results           │
    └────────┬──────────────────────┘
             │
             ▼
    ┌──────────────────────────────┐
    │ Return Summary to User       │
    │ "Logged 3 eggs (18g P) +     │
    │  toast (30g C)"             │
    └──────────────────────────────┘

主要特点

只关注营养 -3种基本的食物记录工具 智能用餐解析 -正确分割多餐 宏观跟踪 -蛋白质、碳水化合物、脂肪、纤维、卡路里 实时状态 -动画旋转器显示AI工作正在进行中 交互式REPL -欢迎屏幕+连续模式 一次性命令 -无需输入REPL即可快速记录 概念整合 -所有数据已同步到Notion工作区 TypeScript -完全键入并编译为JS 国际金融中心2017+USDA -基于证据的宏观估计

环境设置

必填项 .env:

NOTION_API_KEY=your_notion_key
FOOD_LOG_DB_ID=your_food_database_id
CALORIES_LOG_DB_ID=your_calories_database_id
GROQ_API_KEY=your_groq_key

后续步骤(可选)

  1. 水合作用追踪 -增加取水记录
  2. 补充日志记录 -追踪维生素和矿物质
  3. 膳食模板 -保存最喜欢的食物,以便快速进入
  4. 自动完成 -常见食物的标签填写
  5. 照片识别 -将图像整合到食物解析中