Spaces:
Build error
Build error
###################### OpenHands Configuration Example ###################### | |
# | |
# All settings have default values, so you only need to uncomment and | |
# modify what you want to change | |
# The fields within each section are sorted in alphabetical order. | |
# | |
############################################################################## | |
#################################### Core #################################### | |
# General core configurations | |
############################################################################## | |
[core] | |
# API key for E2B | |
#e2b_api_key = "" | |
# API key for Modal | |
#modal_api_token_id = "" | |
#modal_api_token_secret = "" | |
# API key for Daytona | |
#daytona_api_key = "" | |
# Daytona Target | |
#daytona_target = "" | |
# Base path for the workspace | |
#workspace_base = "./workspace" | |
# Cache directory path | |
#cache_dir = "/tmp/cache" | |
# Reasoning effort for o1 models (low, medium, high, or not set) | |
#reasoning_effort = "medium" | |
# Debugging enabled | |
#debug = false | |
# Disable color in terminal output | |
#disable_color = false | |
# Path to store trajectories, can be a folder or a file | |
# If it's a folder, the session id will be used as the file name | |
#save_trajectory_path="./trajectories" | |
# Whether to save screenshots in the trajectory | |
# The screenshots are encoded and can make trajectory json files very large | |
#save_screenshots_in_trajectory = false | |
# Path to replay a trajectory, must be a file path | |
# If provided, trajectory will be loaded and replayed before the | |
# agent responds to any user instruction | |
#replay_trajectory_path = "" | |
# File store path | |
#file_store_path = "/tmp/file_store" | |
# File store type | |
#file_store = "memory" | |
# Maximum file size for uploads, in megabytes | |
#file_uploads_max_file_size_mb = 0 | |
# Maximum budget per task, 0.0 means no limit | |
#max_budget_per_task = 0.0 | |
# Maximum number of iterations | |
#max_iterations = 250 | |
# Path to mount the workspace in the sandbox | |
#workspace_mount_path_in_sandbox = "/workspace" | |
# Path to mount the workspace | |
#workspace_mount_path = "" | |
# Path to rewrite the workspace mount path to | |
#workspace_mount_rewrite = "" | |
# Run as openhands | |
#run_as_openhands = true | |
# Runtime environment | |
#runtime = "docker" | |
# Name of the default agent | |
#default_agent = "CodeActAgent" | |
# JWT secret for authentication | |
#jwt_secret = "" | |
# Restrict file types for file uploads | |
#file_uploads_restrict_file_types = false | |
# List of allowed file extensions for uploads | |
#file_uploads_allowed_extensions = [".*"] | |
# Whether to enable the default LLM summarizing condenser when no condenser is specified in config | |
# When true, a LLMSummarizingCondenserConfig will be used as the default condenser | |
# When false, a NoOpCondenserConfig (no summarization) will be used | |
#enable_default_condenser = true | |
# Maximum number of concurrent conversations per user | |
#max_concurrent_conversations = 3 | |
# Maximum age of conversations in seconds before they are automatically closed | |
#conversation_max_age_seconds = 864000 # 10 days | |
#################################### LLM ##################################### | |
# Configuration for LLM models (group name starts with 'llm') | |
# use 'llm' for the default LLM config | |
############################################################################## | |
[llm] | |
# AWS access key ID | |
#aws_access_key_id = "" | |
# AWS region name | |
#aws_region_name = "" | |
# AWS secret access key | |
#aws_secret_access_key = "" | |
# API key to use (For Headless / CLI only - In Web this is overridden by Session Init) | |
api_key = "" | |
# API base URL (For Headless / CLI only - In Web this is overridden by Session Init) | |
#base_url = "" | |
# API version | |
#api_version = "" | |
# Cost per input token | |
#input_cost_per_token = 0.0 | |
# Cost per output token | |
#output_cost_per_token = 0.0 | |
# Custom LLM provider | |
#custom_llm_provider = "" | |
# Maximum number of characters in an observation's content | |
#max_message_chars = 10000 | |
# Maximum number of input tokens | |
#max_input_tokens = 0 | |
# Maximum number of output tokens | |
#max_output_tokens = 0 | |
# Model to use. (For Headless / CLI only - In Web this is overridden by Session Init) | |
model = "gpt-4o" | |
# Number of retries to attempt when an operation fails with the LLM. | |
# Increase this value to allow more attempts before giving up | |
#num_retries = 8 | |
# Maximum wait time (in seconds) between retry attempts | |
# This caps the exponential backoff to prevent excessively long | |
#retry_max_wait = 120 | |
# Minimum wait time (in seconds) between retry attempts | |
# This sets the initial delay before the first retry | |
#retry_min_wait = 15 | |
# Multiplier for exponential backoff calculation | |
# The wait time increases by this factor after each failed attempt | |
# A value of 2.0 means each retry waits twice as long as the previous one | |
#retry_multiplier = 2.0 | |
# Drop any unmapped (unsupported) params without causing an exception | |
#drop_params = false | |
# Modify params for litellm to do transformations like adding a default message, when a message is empty. | |
# Note: this setting is global, unlike drop_params, it cannot be overridden in each call to litellm. | |
#modify_params = true | |
# Using the prompt caching feature if provided by the LLM and supported | |
#caching_prompt = true | |
# Base URL for the OLLAMA API | |
#ollama_base_url = "" | |
# Temperature for the API | |
#temperature = 0.0 | |
# Timeout for the API | |
#timeout = 0 | |
# Top p for the API | |
#top_p = 1.0 | |
# If model is vision capable, this option allows to disable image processing (useful for cost reduction). | |
#disable_vision = true | |
# Custom tokenizer to use for token counting | |
# https://docs.litellm.ai/docs/completion/token_usage | |
#custom_tokenizer = "" | |
# Whether to use native tool calling if supported by the model. Can be true, false, or None by default, which chooses the model's default behavior based on the evaluation. | |
# ATTENTION: Based on evaluation, enabling native function calling may lead to worse results | |
# in some scenarios. Use with caution and consider testing with your specific use case. | |
# https://github.com/All-Hands-AI/OpenHands/pull/4711 | |
#native_tool_calling = None | |
[llm.gpt4o-mini] | |
api_key = "" | |
model = "gpt-4o" | |
#################################### Agent ################################### | |
# Configuration for agents (group name starts with 'agent') | |
# Use 'agent' for the default agent config | |
# otherwise, group name must be `agent.<agent_name>` (case-sensitive), e.g. | |
# agent.CodeActAgent | |
############################################################################## | |
[agent] | |
# Whether the browsing tool is enabled | |
enable_browsing = true | |
# Whether the LLM draft editor is enabled | |
enable_llm_editor = false | |
# Whether the standard editor tool (str_replace_editor) is enabled | |
# Only has an effect if enable_llm_editor is False | |
enable_editor = true | |
# Whether the IPython tool is enabled | |
enable_jupyter = true | |
# Whether the command tool is enabled | |
enable_cmd = true | |
# Whether the think tool is enabled | |
enable_think = true | |
# Whether the finish tool is enabled | |
enable_finish = true | |
# LLM config group to use | |
#llm_config = 'your-llm-config-group' | |
# Whether to use prompt extension (e.g., microagent, repo/runtime info) at all | |
#enable_prompt_extensions = true | |
# List of microagents to disable | |
#disabled_microagents = [] | |
# Whether history should be truncated to continue the session when hitting LLM context | |
# length limit | |
enable_history_truncation = true | |
[agent.RepoExplorerAgent] | |
# Example: use a cheaper model for RepoExplorerAgent to reduce cost, especially | |
# useful when an agent doesn't demand high quality but uses a lot of tokens | |
llm_config = 'gpt3' | |
[agent.CustomAgent] | |
# Example: use a custom agent from a different package | |
# This will be automatically be registered as a new agent named "CustomAgent" | |
classpath = "my_package.my_module.MyCustomAgent" | |
#################################### Sandbox ################################### | |
# Configuration for the sandbox | |
############################################################################## | |
[sandbox] | |
# Sandbox timeout in seconds | |
#timeout = 120 | |
# Sandbox user ID | |
#user_id = 1000 | |
# Container image to use for the sandbox | |
#base_container_image = "nikolaik/python-nodejs:python3.12-nodejs22" | |
# Use host network | |
#use_host_network = false | |
# Runtime extra build args | |
#runtime_extra_build_args = ["--network=host", "--add-host=host.docker.internal:host-gateway"] | |
# Enable auto linting after editing | |
#enable_auto_lint = false | |
# Whether to initialize plugins | |
#initialize_plugins = true | |
# Extra dependencies to install in the runtime image | |
#runtime_extra_deps = "" | |
# Environment variables to set at the launch of the runtime | |
#runtime_startup_env_vars = {} | |
# BrowserGym environment to use for evaluation | |
#browsergym_eval_env = "" | |
# Platform to use for building the runtime image (e.g., "linux/amd64") | |
#platform = "" | |
# Force rebuild of runtime image even if it exists | |
#force_rebuild_runtime = false | |
# Runtime container image to use (if not provided, will be built from base_container_image) | |
#runtime_container_image = "" | |
# Keep runtime alive after session ends | |
#keep_runtime_alive = false | |
# Pause closed runtimes instead of stopping them | |
#pause_closed_runtimes = false | |
# Delay in seconds before closing idle runtimes | |
#close_delay = 300 | |
# Remove all containers when stopping the runtime | |
#rm_all_containers = false | |
# Enable GPU support in the runtime | |
#enable_gpu = false | |
# Additional Docker runtime kwargs | |
#docker_runtime_kwargs = {} | |
# Specific port to use for VSCode. If not set, a random port will be chosen. | |
# Useful when deploying OpenHands in a remote machine where you need to expose a specific port. | |
#vscode_port = 41234 | |
# Volume mounts in the format 'host_path:container_path[:mode]' | |
# e.g. '/my/host/dir:/workspace:rw' | |
# Multiple mounts can be specified using commas | |
# e.g. '/path1:/workspace/path1,/path2:/workspace/path2:ro' | |
# Configure volumes under the [sandbox] section: | |
# [sandbox] | |
# volumes = "/my/host/dir:/workspace:rw,/path2:/workspace/path2:ro" | |
#################################### Security ################################### | |
# Configuration for security features | |
############################################################################## | |
[security] | |
# Enable confirmation mode (For Headless / CLI only - In Web this is overridden by Session Init) | |
#confirmation_mode = false | |
# The security analyzer to use (For Headless / CLI only - In Web this is overridden by Session Init) | |
#security_analyzer = "" | |
# Whether to enable security analyzer | |
#enable_security_analyzer = false | |
#################################### Condenser ################################# | |
# Condensers control how conversation history is managed and compressed when | |
# the context grows too large. Each agent uses one condenser configuration. | |
############################################################################## | |
[condenser] | |
# The type of condenser to use. Available options: | |
# - "noop": No condensing, keeps full history (default) | |
# - "observation_masking": Keeps full event structure but masks older observations | |
# - "recent": Keeps only recent events and discards older ones | |
# - "llm": Uses an LLM to summarize conversation history | |
# - "amortized": Intelligently forgets older events while preserving important context | |
# - "llm_attention": Uses an LLM to prioritize most relevant context | |
type = "noop" | |
# Examples for each condenser type (uncomment and modify as needed): | |
# 1. NoOp Condenser - No additional settings needed | |
#type = "noop" | |
# 2. Observation Masking Condenser | |
#type = "observation_masking" | |
# Number of most-recent events where observations will not be masked | |
#attention_window = 100 | |
# 3. Recent Events Condenser | |
#type = "recent" | |
# Number of initial events to always keep (typically includes task description) | |
#keep_first = 1 | |
# Maximum number of events to keep in history | |
#max_events = 100 | |
# 4. LLM Summarizing Condenser | |
#type = "llm" | |
# Reference to an LLM config to use for summarization | |
#llm_config = "condenser" | |
# Number of initial events to always keep (typically includes task description) | |
#keep_first = 1 | |
# Maximum size of history before triggering summarization | |
#max_size = 100 | |
# 5. Amortized Forgetting Condenser | |
#type = "amortized" | |
# Number of initial events to always keep (typically includes task description) | |
#keep_first = 1 | |
# Maximum size of history before triggering forgetting | |
#max_size = 100 | |
# 6. LLM Attention Condenser | |
#type = "llm_attention" | |
# Reference to an LLM config to use for attention scoring | |
#llm_config = "condenser" | |
# Number of initial events to always keep (typically includes task description) | |
#keep_first = 1 | |
# Maximum size of history before triggering attention mechanism | |
#max_size = 100 | |
# Example of a custom LLM configuration for condensers that require an LLM | |
# If not provided, it falls back to the default LLM | |
#[llm.condenser] | |
#model = "gpt-4o" | |
#temperature = 0.1 | |
#max_input_tokens = 1024 | |
#################################### Eval #################################### | |
# Configuration for the evaluation, please refer to the specific evaluation | |
# plugin for the available options | |
############################################################################## | |