# GLaDOS configuration with the webapp observability console enabled. # # Use this like any other config: `uv run glados webapp --config configs/glados_webapp_config.yaml` # Then open http://127.0.0.1:8050/ in a browser. # # The console is an in-process HTTP server (stdlib only) that streams the # engine's live state - minds/slots/subagents/MCP/emotion/audio/lanes and the # ObservabilityBus event log - over Server-Sent-Events plus a JSON snapshot API. Glados: inference: slots: 4 # Match llama-server --parallel 4, with -c 65536 (16K per slot). reserved_interactive: 2 # Conversation and routing; background jobs share two slots. routing: enabled: true # llama.cpp one-token option scoring. health: enabled: true interval_s: 10 summary_interval_s: 60 search: enabled: true max_rounds: 3 deadline_s: 60 preferred_sources: # Initial favorites; editable in Facility Settings, saved across restarts. weather: [dwd.de, meteoblue.com] news: [reuters.com, bbc.com/news] reddit: [] # Domain/path, e.g. reddit.com/r/LocalLLaMA. general: [] llm_model: "gemma-4-E4B" completion_url: "http://127.0.0.1:18080/v1/chat/completions" native_audio: enabled: true user_transcripts: false # Optional Gemma transcript; never loads Parakeet. language: "English" llm_request_options: chat_template_kwargs: enable_thinking: false api_key: null # Add your API key here if needed! interruptible: true audio_io: "sounddevice" # local hardware. For a browser-mic setup use "websocket". input_mode: "audio" # audio, text, or both tts_enabled: true asr_muted: false tui_theme: "aperture" asr_engine: "tdt" # Used only in the extended (transcribed audio) profile. llm_headers: null # Optional extra headers (e.g., OpenRouter HTTP-Referer, X-Title) wake_word: null voice: "glados" announcement: "All neural network modules are now loaded. System Operational." # --- webapp observability console --------------------------------------- # Default OFF. Enable here, or set GLADOS_WEBAPP_ENABLED=1 / _PORT / _HOST # environment variables to switch it on without editing YAML. webapp: enabled: true host: "127.0.0.1" # Listen address port: 8050 # Listen port; open http://127.0.0.1:8050/ allowed_hosts: [] # Add browser hostnames/IPs here before using a wildcard listen address. autonomy: enabled: true tick_interval_s: 10 cooldown_s: 20 autonomy_parallel_calls: 2 # parallel autonomy LLM workers -> the console's "Autonomy" lane autonomy_queue_max: null tokens: recall: enabled: true max_facts: 6 max_chars: 2400 model_context_window: 16384 token_threshold: 20000 target_utilization: 0.6 jobs: enabled: true hacker_news: enabled: false interval_s: 1800 top_n: 5 min_score: 200 weather: enabled: false interval_s: 3600 latitude: null longitude: null timezone: "auto" temp_change_c: 4 wind_alert_kmh: 40 mcp_servers: - name: "internet_search" description: "Search the public internet for current facts, news and source links." transport: "http" url: "https://mcp.exa.ai/mcp?tools=web_search_exa" allowed_tools: ["web_search_exa"] - name: "system_info" transport: "stdio" command: "python" args: ["-m", "glados.mcp.system_info_server"] personality_preprompt: - system: "You are GLaDOS, a sarcastic AI assistant."