Tandoor 食谱:AI 驱动的食谱与膳食管理 - Openclaw Skills

作者:互联网

2026-03-26

AI教程

什么是 Tandoor 食谱?

此技能在您的 AI 代理与 Tandoor 食谱管理器之间搭建了桥梁。Tandoor 是一个用于管理烹饪数据的强大自托管解决方案。通过利用 Openclaw Skills,开发人员和家庭自动化爱好者可以程序化地与食谱数据库交互,从而自动执行厨房管理中最繁琐的部分。

无论您是搜索特定的意大利面食、从头创建新食谱,还是组织每周晚餐计划,此技能都提供了一个全面的基于 CLI 的界面。它使用安全的 API 令牌简化了与 Tandoor 实例的连接,从而能够无缝集成到更广泛的自动化工作流中。

下载入口:https://github.com/openclaw/skills/tree/main/skills/itsnikhil/tandoor-recipes

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install tandoor-recipes

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 tandoor-recipes。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Tandoor 食谱 应用场景

  • 通过搜索和安排食谱自动执行每周晚餐规划。
  • 将食谱原料与数字购物清单同步。
  • 通过 AI 代理语音或文本指令获取今日膳食计划。
  • 通过分步说明程序化地创建和编目新食谱。
  • 管理参考数据,如食物类型、计量单位和关键词。
Tandoor 食谱 工作原理
  1. 代理使用提供的 TANDOOR_URL 和 TANDOOR_API_TOKEN 环境变量向 Tandoor 实例进行身份验证。
  2. 用户通过 Openclaw Skills 界面发布指令,以搜索食谱或浏览膳食类型和食物等参考数据。
  3. 该技能处理这些请求,与 Tandoor API 交互以实时检索或修改数据。
  4. 通过将食谱 ID 链接到特定日期和膳食类别(如早餐或晚餐)来生成膳食计划。
  5. 通过解析食谱原料或直接通过 CLI 添加自定义项目来更新购物清单。

Tandoor 食谱 配置指南

确保您的系统上已安装 Node.js。在您的 shell 或配置文件中设置所需的环境变量:

export TANDOOR_URL="https://your-tandoor-instance.com"
export TANDOOR_API_TOKEN="your_api_token_here"

使用提供的脚本路径运行技能:

node ./scripts/tandoor.js  [args...]

Tandoor 食谱 数据架构与分类体系

该技能与几个核心 Tandoor 实体交互,以确保有序的数据管理。以下是利用的主要元数据和数据结构:

实体 描述 关键字段
食谱 管理器的核心单元 ID、名称、原料、指令、份数
膳食计划 将食谱链接到日期的日程表 食谱 ID、膳食类型、日期 (YYYY-MM-DD)
购物清单 待购项目列表 项目 ID、食物、数量、单位、备注、勾选状态
参考数据 用于分类的分类法 关键词、食物、单位、膳食类型
name: tandoor-recipes
description: Manage recipes, meal plans, and shopping lists in Tandoor Recipe Manager. Use when the user wants to create recipes, plan meals, search for recipes, or manage their shopping list.
metadata: { "openclaw": { "emoji": "???", "requires": { "bins": ["node"], "env": ["TANDOOR_URL", "TANDOOR_API_TOKEN"] }, "primaryEnv": "TANDOOR_API_TOKEN" } }

Tandoor Recipe Manager

Interact with the user's Tandoor Recipe Manager to manage recipes, meal plans, and shopping lists.

How to Use

Required env vars: TANDOOR_URL (Tandoor instance URL) and TANDOOR_API_TOKEN

node ./scripts/tandoor.js  [args...]

What You Can Do

?? Find Recipes

Search by name:

node ./scripts/tandoor.js search-recipes "pasta"
node ./scripts/tandoor.js search-recipes "chicken" 20  # limit to 20 results

Get full recipe details:

node ./scripts/tandoor.js get-recipe 42

?? Meal Planning

See available meal types (Breakfast, Lunch, Dinner, etc.):

node ./scripts/tandoor.js get-meal-types

Add a recipe to the meal plan:

node ./scripts/tandoor.js add-to-meal-plan  "" ""
# Example: Add recipe 42 as Dinner on Feb 10th
node ./scripts/tandoor.js add-to-meal-plan 42 "Dinner" "2025-02-10"

View meal plans for a date range:

node ./scripts/tandoor.js get-meal-plans "2025-02-08" "2025-02-14"

?? Shopping List

View current shopping list:

node ./scripts/tandoor.js get-shopping-list
node ./scripts/tandoor.js get-shopping-list "true"   # show checked items
node ./scripts/tandoor.js get-shopping-list "both"   # show all

Add an item to the shopping list:

node ./scripts/tandoor.js add-shopping-item "" "" "" "[note]"
# Example:
node ./scripts/tandoor.js add-shopping-item "Chicken Breast" "500" "g" "For stir fry"

Check off an item:

node ./scripts/tandoor.js check-shopping-item 

Remove an item:

node ./scripts/tandoor.js remove-shopping-item 

? Create New Recipes

node ./scripts/tandoor.js create-recipe "" "" "" [servings]

Example:

node ./scripts/tandoor.js create-recipe "Grilled Cheese" r
  "2 slices bread
2 slices cheese
1 tbsp butter" r
  "1. Butter the bread
2. Add cheese between slices
3. Grill until golden brown" r
  2

?? Browse Reference Data

node ./scripts/tandoor.js get-keywords          # all keywords
node ./scripts/tandoor.js get-keywords "italian" # search keywords
node ./scripts/tandoor.js get-foods "chicken"    # search foods
node ./scripts/tandoor.js get-units              # all units

Workflows

Plan Dinner for the Week

  1. Search for recipes the user might enjoy:
    node ./scripts/tandoor.js search-recipes "chicken"
    
  2. Note the recipe IDs from the results
  3. Get available meal types (to confirm "Dinner" exists):
    node ./scripts/tandoor.js get-meal-types
    
  4. Add each recipe to a day (repeat for each day):
    node ./scripts/tandoor.js add-to-meal-plan 42 "Dinner" "2025-02-10"
    node ./scripts/tandoor.js add-to-meal-plan 15 "Dinner" "2025-02-11"
    # ... continue for each day
    

Check Today's Meal Plan

  1. Get today's meal plans:
    node ./scripts/tandoor.js get-meal-plans "2025-02-08"
    
  2. If user wants recipe details, get the full recipe:
    node ./scripts/tandoor.js get-recipe 
    

Add Recipe Ingredients to Shopping List

  1. Get the recipe details to see all ingredients:
    node ./scripts/tandoor.js get-recipe 
    
  2. Parse the ingredients from the response (look at steps[].ingredients[])
  3. Add each ingredient to the shopping list:
    node ./scripts/tandoor.js add-shopping-item "Chicken Breast" "500" "g"
    node ./scripts/tandoor.js add-shopping-item "Onion" "2" "piece"
    # ... continue for each ingredient
    

Create and Schedule a New Recipe

  1. Create the recipe:
    node ./scripts/tandoor.js create-recipe "Pasta Carbonara" r
      "200g spaghetti
    100g pancetta
    2 eggs
    50g parmesan" r
      "1. Cook pasta
    2. Fry pancetta
    3. Mix eggs with parmesan
    4. Combine all and serve" r
      2
    
  2. Note the recipe ID from the response
  3. Add to meal plan:
    node ./scripts/tandoor.js add-to-meal-plan  "Dinner" "2025-02-12"
    

Clear Checked Items from Shopping List

  1. View checked items:
    node ./scripts/tandoor.js get-shopping-list "true"
    
  2. Remove each checked item by ID:
    node ./scripts/tandoor.js remove-shopping-item 
    

Troubleshooting

"Food not found" or "Unit not found"
Search for the correct name in Tandoor first:

node ./scripts/tandoor.js get-foods "chicken"
node ./scripts/tandoor.js get-units "gram"

"Meal type not found"
Run get-meal-types to see exact names (case-insensitive match).