Skip to content

Repository files navigation

Smart-Appetite-Manager

Smart Appetite Manager is an AI-powered platform designed to help you manage your entire grocery cycle. It tracks your inventory, suggests recipes based on what you already have, and finds the best grocery deals in real time. Powered by a team of specialized AI agents built on Solace Agent Mesh framework, it helps you save time, reduce food waste, and shop smarter every day.

SAM Architecture

Smart Appetite Manager Setup Instructions

Use the App/ folder as the project root (not repository root).

CLI Install + Run (Recommended)

cd App

# 1) Create env file
cp .env.example .env

Edit App/.env and set at least:

LLM_SERVICE_API_KEY=...
LLM_SERVICE_ENDPOINT=https://api.cerebras.ai/v1
LLM_SERVICE_PLANNING_MODEL_NAME=openai/gpt-oss-120b
LLM_SERVICE_GENERAL_MODEL_NAME=openai/gpt-oss-120b
SOLACE_DEV_MODE=true

For this fork, also add:

SPOONACULAR_API_KEY=...        # used by recipe tools (App/src/recipe_agent/mealdb_tools.py:17)
SERPAPI_KEY=...                # used by shopper agent (App/configs/agents/shopper.yaml:70)
INVENTORY_MANAGER_DB_NAME=inventory.db   # used by inventory agent (App/configs/agents/inventory-manager.yaml:52)

Inventory DB bootstrap (automatic): No manual SQL step is required. The inventory tool now runs schema bootstrap on every call and creates/updates the inventory table if needed.

Install dependencies and run:

uv sync
uv run sam run configs/

Open: http://localhost:8000

Inventory web interface (custom page with REST read + SAM write):

  • Open App/web/inventory-gateway-ui.html
  • Full guide: App/docs/inventory-web-interface.md
  • Start inventory API first:
cd App
./.venv/bin/python -m uvicorn src.inventory_api.app:app --host 0.0.0.0 --port 8001 --reload

If uv is missing on macOS:

brew install uv

Docker (Recommended for full stack)

The repo ships a docker-compose.yml that starts all four services together:

Service Port Description
sam-app 8000 Solace Agent Mesh (AI orchestration)
inventory-api 8001 Inventory REST API
ocr-service 8002 Barcode / OCR service
web 5173 React frontend

Prerequisites: Docker Desktop (includes Compose v2).

# 1. Copy and fill in env vars (repo root)
cp App/.env.example App/.env
# edit App/.env — set LLM keys, SPOONACULAR_API_KEY, SERPAPI_KEY
# INVENTORY_MANAGER_DB_NAME is set automatically to /app/data/inventory.db

# 2. Build and start
docker compose up --build -d

# 3. Open the app
open http://localhost:5173

The inventory database is stored in a named Docker volume (inventory_data) mounted at /app/data inside the containers. It persists across restarts and is created automatically on first run — no manual SQL step required.

Logs / stop:

docker compose logs -f          # stream all services
docker compose logs inventory-api   # single service
docker compose down             # stop and remove containers (volume kept)
docker compose down -v          # stop and remove containers + volume (wipes DB)

About

Smart Appetite Manager is an AI-powered platform designed to help you manage your entire grocery cycle. It tracks your inventory, suggests recipes based on what you already have, and finds the best grocery deals in real time. Powered by a team of specialized AI agents, it helps you save time, reduce food waste, and shop smarter every day.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages