- Add --safari flag to CLI for explicitly choosing Safari - Update --chrome-headless flag description to indicate it's the default - Update README to reflect Chrome headless as default - Remove broken link to non-existent docs/webdriver-setup.md - Add Safari flag handling in all webdriver config locations The config already had ChromeHeadless as the default, this commit updates the CLI and documentation to match.
116 lines
3.9 KiB
TOML
116 lines
3.9 KiB
TOML
# G3 Configuration Example
|
|
#
|
|
# This file demonstrates the new provider configuration format.
|
|
# Provider references use the format: "<provider_type>.<config_name>"
|
|
|
|
[providers]
|
|
# Default provider used when no specific provider is specified
|
|
default_provider = "anthropic.default"
|
|
|
|
# Optional: Specify different providers for each mode
|
|
# If not specified, these fall back to default_provider
|
|
# planner = "anthropic.planner" # Provider for planning mode
|
|
# coach = "anthropic.default" # Provider for coach (code reviewer) in autonomous mode
|
|
# player = "anthropic.default" # Provider for player (code implementer) in autonomous mode
|
|
|
|
# Named Anthropic configurations
|
|
[providers.anthropic.default]
|
|
api_key = "your-anthropic-api-key"
|
|
model = "claude-sonnet-4-5"
|
|
max_tokens = 64000
|
|
temperature = 0.3
|
|
# cache_config = "ephemeral" # Optional: Enable prompt caching
|
|
# enable_1m_context = true # Optional: Enable 1M context (costs extra)
|
|
# thinking_budget_tokens = 10000 # Optional: Enable extended thinking mode
|
|
|
|
# Example: A separate config for planning mode with a more capable model
|
|
# [providers.anthropic.planner]
|
|
# api_key = "your-anthropic-api-key"
|
|
# model = "claude-opus-4-5"
|
|
# max_tokens = 64000
|
|
# thinking_budget_tokens = 16000
|
|
|
|
# Named Databricks configurations
|
|
[providers.databricks.default]
|
|
host = "https://your-workspace.cloud.databricks.com"
|
|
# token = "your-databricks-token" # Optional - will use OAuth if not provided
|
|
model = "databricks-claude-sonnet-4"
|
|
max_tokens = 4096
|
|
temperature = 0.1
|
|
use_oauth = true
|
|
|
|
# Named OpenAI configurations
|
|
# [providers.openai.default]
|
|
# api_key = "your-openai-api-key"
|
|
# model = "gpt-4-turbo"
|
|
# max_tokens = 4096
|
|
# temperature = 0.1
|
|
|
|
# Multiple OpenAI-compatible providers can be configured
|
|
# [providers.openai_compatible.openrouter]
|
|
# api_key = "your-openrouter-api-key"
|
|
# model = "anthropic/claude-3.5-sonnet"
|
|
# base_url = "https://openrouter.ai/api/v1"
|
|
# max_tokens = 4096
|
|
# temperature = 0.1
|
|
|
|
# [providers.openai_compatible.groq]
|
|
# api_key = "your-groq-api-key"
|
|
# model = "llama-3.3-70b-versatile"
|
|
# base_url = "https://api.groq.com/openai/v1"
|
|
# max_tokens = 4096
|
|
# temperature = 0.1
|
|
|
|
[agent]
|
|
fallback_default_max_tokens = 8192
|
|
# max_context_length: Override the context window size for all providers
|
|
# This is the total size of conversation history, not per-request output limit
|
|
# max_context_length = 200000
|
|
enable_streaming = true
|
|
timeout_seconds = 60
|
|
max_retry_attempts = 3
|
|
autonomous_max_retry_attempts = 6
|
|
allow_multiple_tool_calls = true
|
|
|
|
# Retry Configuration for Planning/Autonomous Mode
|
|
#
|
|
# The retry infrastructure handles transient errors during LLM API calls:
|
|
# - Rate limits (HTTP 429)
|
|
# - Network errors (connection failures)
|
|
# - Server errors (HTTP 5xx)
|
|
# - Request timeouts
|
|
# - Model capacity issues (model busy)
|
|
#
|
|
# Default retry behavior:
|
|
# - max_retry_attempts: Used by default interactive mode (3 retries)
|
|
# - autonomous_max_retry_attempts: Used by planning/autonomous mode (6 retries)
|
|
#
|
|
# Note: The retry logic uses exponential backoff with longer delays in
|
|
# autonomous mode to handle rate limits gracefully.
|
|
#
|
|
# Example player retry config (in code):
|
|
# RetryConfig::planning("player") # Creates: max_retries=3, is_autonomous=true
|
|
# RetryConfig::planning("player").with_max_retries(6) # Override max retries
|
|
#
|
|
# Example coach retry config (in code):
|
|
# RetryConfig::planning("coach") # Creates: max_retries=3, is_autonomous=true
|
|
# RetryConfig::planning("coach").with_max_retries(6) # Override max retries
|
|
#
|
|
|
|
[computer_control]
|
|
enabled = false # Set to true to enable computer control (requires OS permissions)
|
|
require_confirmation = true
|
|
max_actions_per_second = 5
|
|
|
|
[webdriver]
|
|
enabled = false
|
|
safari_port = 4444
|
|
chrome_port = 9515
|
|
# Browser to use: "safari" or "chrome-headless" (default)
|
|
# Safari opens a visible browser window
|
|
# Chrome headless runs in the background without a visible window
|
|
browser = "chrome-headless"
|
|
|
|
[macax]
|
|
enabled = false
|