- Refactor prompts.rs: extract shared sections (intro, TODO, workspace memory, web research, response guidelines) used by both native and non-native prompts - Fix typo in native prompt: "save them.." -> "save them." - Fix non-native prompt: add missing closing braces in JSON examples, add IMPORTANT steps section, align with native prompt quality - Add 9 unit tests to verify both prompts contain required sections - Upgrade llama-cpp-2 dependency and refactor embedded provider - Update config.example.toml with embedded model examples - Update workspace memory
112 lines
4.5 KiB
TOML
112 lines
4.5 KiB
TOML
# g3 Configuration Example
|
|
#
|
|
# Most settings have sensible defaults. A minimal config only needs:
|
|
#
|
|
# [providers]
|
|
# default_provider = "anthropic.default"
|
|
#
|
|
# [providers.anthropic.default]
|
|
# api_key = "your-api-key"
|
|
# model = "claude-sonnet-4-5"
|
|
#
|
|
# Everything else below is optional.
|
|
|
|
[providers]
|
|
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 in autonomous mode
|
|
# player = "anthropic.default" # Provider for player in autonomous mode
|
|
|
|
[providers.anthropic.default]
|
|
api_key = "your-anthropic-api-key"
|
|
model = "claude-sonnet-4-5"
|
|
# max_tokens = 64000 # Optional (default: provider's max)
|
|
# temperature = 0.3 # Optional
|
|
# 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"
|
|
# thinking_budget_tokens = 16000
|
|
|
|
# Databricks provider example
|
|
# [providers.databricks.default]
|
|
# host = "https://your-workspace.cloud.databricks.com"
|
|
# model = "databricks-claude-sonnet-4"
|
|
# use_oauth = true
|
|
|
|
# OpenAI provider example
|
|
# [providers.openai.default]
|
|
# api_key = "your-openai-api-key"
|
|
# model = "gpt-4-turbo"
|
|
|
|
# OpenAI-compatible providers (OpenRouter, Groq, etc.)
|
|
# [providers.openai_compatible.openrouter]
|
|
# api_key = "your-openrouter-api-key"
|
|
# model = "anthropic/claude-3.5-sonnet"
|
|
# base_url = "https://openrouter.ai/api/v1"
|
|
|
|
# =============================================================================
|
|
# Embedded providers (local models via llama.cpp with Metal acceleration)
|
|
# =============================================================================
|
|
# Download models from Hugging Face:
|
|
# huggingface-cli download bartowski/THUDM_GLM-4-32B-0414-GGUF \
|
|
# --include "THUDM_GLM-4-32B-0414-Q6_K_L.gguf" --local-dir ~/.g3/models/
|
|
#
|
|
# GLM-4 32B - Top-tier local model for coding/reasoning (context_length auto-detected from GGUF)
|
|
# [providers.embedded.glm4]
|
|
# model_path = "~/.g3/models/THUDM_GLM-4-32B-0414-Q6_K_L.gguf"
|
|
# model_type = "glm4" # Required: glm4, qwen, mistral, llama, codellama
|
|
# context_length = 32768 # Optional: auto-detected from GGUF (GLM-4 = 32K)
|
|
# max_tokens = 4096 # Optional: defaults to min(4096, context/4)
|
|
# temperature = 0.1
|
|
# gpu_layers = 99 # Use all GPU layers on Apple Silicon
|
|
# threads = 8
|
|
|
|
# GLM-4 9B - Smaller but very capable (minimal config - most settings auto-detected)
|
|
# [providers.embedded.glm4-9b]
|
|
# model_path = "~/.g3/models/THUDM_GLM-4-9B-0414-Q8_0.gguf"
|
|
# model_type = "glm4"
|
|
# gpu_layers = 99 # Optional but recommended for Apple Silicon
|
|
|
|
# Qwen3 4B - Small but powerful, good for ensemble usage (minimal config)
|
|
# [providers.embedded.qwen3]
|
|
# model_path = "~/.g3/models/qwen3-4b-q4_k_m.gguf"
|
|
# model_type = "qwen"
|
|
# gpu_layers = 99 # Optional but recommended for Apple Silicon
|
|
|
|
# =============================================================================
|
|
# Agent settings (all optional - these are the defaults)
|
|
# =============================================================================
|
|
# [agent]
|
|
# fallback_default_max_tokens = 8192
|
|
# enable_streaming = true
|
|
# timeout_seconds = 120
|
|
# auto_compact = true
|
|
# max_retry_attempts = 3
|
|
# autonomous_max_retry_attempts = 6
|
|
# max_context_length = 200000 # Override context window size
|
|
|
|
# =============================================================================
|
|
# Computer control (all optional - enabled by default)
|
|
# =============================================================================
|
|
# [computer_control]
|
|
# enabled = true # Requires OS accessibility permissions
|
|
# require_confirmation = true
|
|
# max_actions_per_second = 5
|
|
|
|
# =============================================================================
|
|
# WebDriver browser automation (all optional)
|
|
# =============================================================================
|
|
# [webdriver]
|
|
# enabled = true
|
|
# browser = "chrome-headless" # Default. Alternative: "safari"
|
|
# chrome_binary = "/path/to/chrome" # Optional: custom Chrome path
|
|
# chromedriver_binary = "/path/to/driver" # Optional: custom ChromeDriver path
|