version: 1 default_model: writer gateway: host: 0.0.0.0 port: 8000 auth: # Set these to enable auth. If empty, auth is disabled (scaffold/back-compat). client_api_keys: - "change-me-client-key-1" node_api_keys: - "change-me-node-key-1" # Models may be: # - type: proxy (static URL to an OpenAI-compatible upstream) # - type: discovered (resolved from registered nodes by role) # The names under "models" are project-defined role aliases, not a fixed built-in list. # Rename or replace planner/writer/coder/reviewer with whatever your workflow needs. # In proxy mode, the actual weight file is chosen by the upstream server behind proxy_url. # In discovered mode, the actual weight file is chosen on the node side (for example via node-agent models[].path). models: planner: type: proxy openai_model_name: planner proxy_url: http://127.0.0.1:8011 defaults: temperature: 0.2 writer: type: proxy openai_model_name: writer proxy_url: http://127.0.0.1:8012 defaults: temperature: 0.6 coder: type: proxy openai_model_name: coder proxy_url: http://127.0.0.1:8013 defaults: temperature: 0.2 reviewer: # Example: use discovery instead of hardcoding a proxy_url type: discovered openai_model_name: reviewer role: reviewer strategy: round_robin defaults: temperature: 0.2 security_notes: - "Default binds are localhost. If exposing gateway or node agent beyond localhost, bind to a private/LAN IP and firewall it (never expose to the public Internet)."