营养最大化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/)
groq-agent.ts-使用Groq llama-3.1-8b-instant的代理循环
- 综合营养跟踪系统提示 - IFCT 2017和美国农业部宏观估算标准 - 实时状态更新回调 - 将多项目膳食解析为单独的log_food调用
mcp-client.ts-MCP协议通信
- 生成营养mcp服务器作为子流程 - 基于stdio的JSON-RPC - 工具列表和调用
repl.ts-交互式REPL模式
- 带有状态同步功能的动画旋转器 - 多回合互动 - /habits 指挥支持(传统) - 解析和显示时出错
ui.ts-终端UI组件
- 习惯展示(传统) - 宏观概述 - 使用粉笔进行样式化输出
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后续步骤(可选)
- 水合作用追踪 -增加取水记录
- 补充日志记录 -追踪维生素和矿物质
- 膳食模板 -保存最喜欢的食物,以便快速进入
- 自动完成 -常见食物的标签填写
- 照片识别 -将图像整合到食物解析中
