# Copy to .env and fill in the keys you use. Do not commit real secrets. OPENROUTER_API_KEY= # Default target model: # MODEL=openrouter/meta-llama/llama-3.3-70b-instruct # ROUTER_MODEL=openrouter/meta-llama/llama-3.3-70b-instruct # SOLVER_MODEL=openrouter/meta-llama/llama-3.3-70b-instruct # ERROR_MODEL=openrouter/meta-llama/llama-3.3-70b-instruct # VERIFIER_MODEL=openrouter/meta-llama/llama-3.3-70b-instruct # DISTILLER_MODEL=openrouter/meta-llama/llama-3.3-70b-instruct # # Override if OpenRouter changes the model slug: # OPENROUTER_LLAMA_MODEL=meta-llama/llama-3.3-70b-instruct # OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # Other direct-client backends are still supported for local experiments: GROQ_API_KEY= # ANTHROPIC_API_KEY= # OPENAI_API_KEY= # Optional model routing: # MODEL and role model env vars are provider/model strings. Examples: # SOLVER_MODEL=groq/llama-3.3-70b-versatile # SOLVER_MODEL=openai/gpt-5.4-mini # VERIFIER_MODEL=anthropic/claude-opus-4-8 # --- Azure AI Foundry / Llama 3.3 70B (legacy optional backend) --- # AZURE_LLAMA_API_KEY= # AZURE_LLAMA_BASE_URL= # endpoint root, e.g. https://.../v1 # AZURE_LLAMA_MODEL= # model/deployment name shown in Azure # ENABLE_COMPLETION_VERIFIER=1 # APPWORLD_EXPERIMENT=team_yourname # APPWORLD_DATASET=dev # MAX_TASKS=0 # MAX_INTERACTIONS=30 # MAX_MODEL_TURNS=60 # LLM retries/verifier revisions; AppWorld executions use MAX_INTERACTIONS # OBSERVATION_CHARS=2500 # cap tool output fed back to the model # OUTPUT_PREVIEW_CHARS=500 # cap console logging only # VERIFIER_CONTEXT_CHARS=3500 # recent evidence shown to verifier # --- HydraDB self-improving memory --- # Get a key from HydraDB and paste it here to enable skill recall + storage. # Without a key the agent still runs using a local on-disk skill cache only. HYDRA_DB_API_KEY= # HYDRA_TENANT_ID=appworld_agentathon # HYDRA_SUB_TENANT=dev # HYDRA_RECALL_MODE=fast # ENABLE_MEMORY=1 # master switch for retrieval + capture # ENABLE_MEMORY_CAPTURE=1 # store skills after each task during a run # MEMORY_TOP_K=3 # how many skills to inject into the solver prompt # MEMORY_CHAR_BUDGET=900 # per-skill char cap in the prompt # --- Local API-doc snapshot (extra retrieval source) --- # Injects authoritative API signatures for the task's likely apps from the # committed assets/api_docs.json snapshot. Regenerate the snapshot with # `python snapshot_api_docs.py` after an AppWorld version bump. # ENABLE_API_DOCS=1 # master switch for the snapshot retriever # API_DOCS_TOP_K=6 # how many API signatures to inject # API_DOCS_CHAR_BUDGET=2500 # char cap on the injected API-reference block