Skip to content

Config Reference

This page is the practical reference for the settings users change most often. For a conceptual walkthrough, start with Configuration.

Two homes:

  • config.yaml (system-owned): daemon, auth, google, browser, timezone, cron. Read at startup; the daemon treats the file as read-only.
  • Settings database (dashboard-managed): everything else. Edited in the dashboard, applied live. A legacy block in config.yaml is imported once at the next restart; after that the database wins.
KeyTypeDefaultNotes
portnumber3142Dashboard + daemon port
data_dirstring~/.jarvisRoot data directory
db_pathstring~/.jarvis/jarvis.dbSQLite vault path
brain_domainstringunsetExternal origin (explicit scheme) embedded in enrollment tokens
listenstringunsetunix:/abs/path.sock for unix-socket mode instead of TCP
drain_deadline_msnumber75000Graceful shutdown budget
KeyTypeDefaultNotes
insecure_open_accessbooleanfalseEscape hatch: serve dashboard/API with no auth. Setup only.

The old auth.token no longer exists; access is JWT-only via jarvis enroll.

KeyTypeDefaultNotes
client_idstringunsetOAuth client for Gmail/Calendar
client_secretstringunsetAccount authorization itself happens in the dashboard
KeyTypeDefaultNotes
localbooleantruefalse on headless servers: browser actions route to sidecars
KeyTypeDefaultNotes
timezonestringsystemIANA zone for cron and goal windows
KeyTypeDefaultNotes
morningstring0 7 * * *Morning cycle
eveningstring0 20 * * *Evening cycle
hourlystring37 * * * *Hourly cycle

JARVIS_PORT, JARVIS_HOME, JARVIS_BRAIN_DOMAIN, JARVIS_WAKE_ENGINE, JARVIS_REALTIME_VOICE, JARVIS_TELEMETRY, DO_NOT_TRACK. LLM configuration is intentionally not readable from env vars.

The shapes below are what the settings API stores. Change them in Settings; they hot-apply.

KeyTypeDefaultNotes
namestring""Your name for personalization

Configured in Settings → LLM. API keys live in the encrypted keychain and are never returned by the API.

KeyTypeDefaultNotes
providersmap{}Named entries: { kind, api_key or base_url }. Kinds: anthropic, openai, groq, gemini, ollama, openrouter, nvidia, openai_compatible, litellm
defaultstringunsetSingle-model mode: "<provider>:<model>"
tiersmap{}Multi-tier mode: conversation, high, medium, low
prompt_cachebooleantruePrompt caching, per provider
KeyTypeDefaultNotes
enabledbooleanfalseVoice output
providerenumedgeedge, elevenlabs, sarvam
voicestringen-US-AriaNeuralEdge voice
rate, volumestring+0%Percentage strings
elevenlabs.*objectapi_key, voice_id, model, stability, similarity_boost
sarvam.*objectapi_key, model, language, speaker, sampling_rate
KeyTypeDefaultNotes
providerenumopenaiopenai, groq, local, sarvam
openai.*, groq.*objectapi_key, model
local.*objectendpoint (default http://localhost:8080), model, server_type (whisper_cpp or openai_compatible)
sarvam.*objectapi_key, model, language
KeyTypeDefaultNotes
wake_engineenumopenwakewordopenwakeword, webspeech, auto
realtime.enabledbooleanfalseGPT Realtime speech-to-speech mode
realtime.modelstringgpt-realtime-2
realtime.reasoning_effortenumlowminimal to xhigh
realtime.max_session_minutesnumber10
realtime.monthly_budget_usdnumberunset
KeyTypeNotes
telegramobjectenabled, bot_token, allowed_users (numbers)
discordobjectenabled, bot_token, allowed_users (strings), guild_id
KeyTypeDefaultNotes
default_levelnumber3The 1 to 10 authority floor
governed_categorieslistsend_email, send_message, make_paymentActions converted to approval requests
overrideslist[]Per-action allow/deny, optionally per role
context_ruleslist[]Time/tool/always rules
learning.enabledbooleantrueAuto-approve suggestions
learning.suggest_thresholdnumber5Approvals before suggesting
emergency_stateenumnormalnormal, paused, killed
KeyTypeDefault
enabledbooleantrue
capture_interval_msnumber7000
min_change_thresholdnumber0.02
cloud_vision_enabledbooleantrue
cloud_vision_cooldown_msnumber30000
stuck_threshold_msnumber120000
struggle_grace_msnumber45000
struggle_cooldown_msnumber90000
suggestion_rate_limit_msnumber60000
overlay_autolaunchbooleantrue
retention.full_hoursnumber1
retention.key_moment_hoursnumber24
KeyTypeDefault
enabledbooleantrue
projects_dirstring~/.jarvis/projects
port_range_start / port_range_endnumber4000 / 4999
max_concurrent_serversnumber3
KeyTypeDefaultNotes
interval_minutesnumber15Legacy; the periodic heartbeat loop was removed in 0.9 and these values are no longer used for scheduling
active_hours.start / .endnumber8 / 23
aggressivenessenumaggressive
KeyTypeDefault
core_traitslistloyal, efficient, proactive, respectful, adaptive
assistant_namestringJarvis
KeyTypeDefaultNotes
enabledbooleantrueAnonymous ping at startup and hourly. Also disabled by JARVIS_TELEMETRY=0 or DO_NOT_TRACK=1. The sidecar has a separate toggle.
KeyTypeDefault
active_rolestringpersonal-assistant

Managed through their rooms; see Goals and Workflows for their setting shapes.