receptionist-app / .env.example
mukul-chauhan-methdai's picture
Allow unlocking personality editing from Settings (v0.3.4)
8db7d9a
Raw
History Blame Contribute Delete
5.37 kB
OPENAI_API_KEY=
MODEL_NAME="gpt-realtime-2"
# Local vision model (only used with --local-vision CLI flag)
# By default, vision is handled by gpt-realtime when the camera tool is used
LOCAL_VISION_MODEL=HuggingFaceTB/SmolVLM2-2.2B-Instruct
# Cache for local VLM (only used with --local-vision CLI flag)
HF_HOME=./cache
# Hugging Face token for accessing datasets/models
HF_TOKEN=
# Profile selection (ignored while the profile is locked β€” see below)
# REACHY_MINI_CUSTOM_PROFILE="example"
# ---- Personality lock ----
# The app ships LOCKED to the receptionist profile so a live lobby robot
# can't have its reception flow swapped or broken at runtime (the dashboard's
# Personality Studio shows the editor but Apply is disabled). On a unit you
# own and want to experiment with, set this to true to UNLOCK editing: then
# Advanced -> Personality studio's Save / Apply / "Use on startup" all work.
# Restart required. Leave locked for production. Also togglable from the
# dashboard: Settings -> Advanced.
# RECEPTION_PROFILE_UNLOCK=false
# Skip loading .env if you prefer environment-only configuration.
# REACHY_MINI_SKIP_DOTENV=1
# Optional external profile/tool directories
# REACHY_MINI_EXTERNAL_PROFILES_DIRECTORY=external_content/external_profiles
# REACHY_MINI_EXTERNAL_TOOLS_DIRECTORY=external_content/external_tools
# Optional: discover and auto-load all tools found in REACHY_MINI_EXTERNAL_TOOLS_DIRECTORY,
# even if they are not listed in the selected profile's tools.txt.
# This is convenient for downloaded tools used with built-in/default profiles.
# AUTOLOAD_EXTERNAL_TOOLS=1
# ---- Email delivery (host notifications) ----
# The send_email tool delivers via EITHER Gmail SMTP or Resend, chosen by
# EMAIL_BACKEND. Leave EMAIL_BACKEND unset to auto-detect: Gmail if its creds
# are set, else Resend, else outbox-only (recorded in the dashboard's Mailbox
# Out panel, but nothing leaves the robot). Also configurable from the
# dashboard: Settings.
# EMAIL_BACKEND=gmail # or "resend"
# -- Gmail SMTP (delivers to ANY recipient β€” no domain to verify) --
# Needs a Google App Password (16 chars) with 2-Step Verification enabled:
# https://myaccount.google.com/apppasswords (spaces in the password are OK)
# GMAIL_ADDRESS=you@gmail.com
# GMAIL_APP_PASSWORD=abcd efgh ijkl mnop
# GMAIL_FROM_NAME=Reachy Reception
# -- Resend (transactional HTTP API) --
# Get a free API key at https://resend.com/api-keys (3000 emails/month free).
# Without RESEND_API_KEY (and no Gmail creds), send_email writes to the
# in-memory outbox only (visible in the dashboard's Mailbox Out panel, but
# nothing actually leaves the robot).
#
# RESEND_FROM defaults to "onboarding@resend.dev" β€” Resend's sandbox sender
# that ONLY delivers to the email address registered on your Resend account.
# For production / arbitrary recipients, verify a domain at
# https://resend.com/domains and set RESEND_FROM to an address on that
# domain (e.g. "noreply@methdai.com").
RESEND_API_KEY=
RESEND_FROM=onboarding@resend.dev
# ---- Reception calendar (Google Calendar via iCal) ----
# Set this to enable scheduled-visitor flow. The receptionist pulls today's
# appointments live from this URL (cached ~5 min). When unset, the bot
# serves walk-in visitors only β€” they say "I'm here to see X" and the bot
# routes via the employee directory (managed from the dashboard's
# Employees panel). There is no hardcoded demo schedule.
#
# To get a URL: in Google Calendar, create a calendar (e.g. "MethdAI
# Reception") -> Settings and sharing -> Integrate calendar ->
# "Public address in iCal format". Paste it below.
#
# Event title convention: "<Visitor name> with <Host name>"
# - "Rohan Verma with Mukul"
# - "Sara Khan with Priya β€” product demo follow-up"
# Host name matches the employee directory (employees.py); aliases work.
# An optional " β€” note" suffix after the host becomes the appointment note;
# alternatively put it in the event's DESCRIPTION field.
# RECEPTION_ICS_URL=https://calendar.google.com/calendar/ical/.../public/basic.ics
# Timezone used to display iCal event times on the dashboard and to the LLM.
# Must be a valid IANA tz name. Defaults to Asia/Kolkata (pilot deployment
# is in India). Set this when the robot OS is in a different tz than your
# operators expect to see times in. Common values:
# Asia/Kolkata India (IST, UTC+5:30)
# America/New_York US East Coast
# Europe/London UK
# Asia/Tokyo Japan
# RECEPTION_TIMEZONE=Asia/Kolkata
# ---- Privacy retention ----
# Guest face crops in guests/*.png older than this many days are deleted
# at app startup. Set to 0 to disable (keep faces forever until FIFO
# capacity eviction kicks in at 100).
FACE_TTL_DAYS=30
# Visit rows in visitor_log.db older than this many days are deleted at
# app startup. Set to 0 to disable (unbounded growth).
VISITOR_LOG_RETENTION_DAYS=90
# LBPH face-recognition strictness. LOWER = stricter (fewer false matches,
# more "I don't recognise you, please tell me your name" prompts).
# 50 - 75 recommended for production (default 75)
# 75 - 100 permissive (some lighting/angle variance OK)
# 100 - 110 old default β€” produces frequent false matches
# If returning guests stop being recognised, raise by 10 and re-test.
# If strangers get greeted as someone else, lower by 10.
FACE_LBPH_THRESHOLD=75