← All repositories

OpenHandsOpenHands

67,974 stars8,470 forksPythonother2 views
openhands.dev

OpenHands

Features

  • Remote Agent DeploymentsDeploy agent software as containerized backend services to manage isolated workspaces, execute shell commands, and stream real-time events to client applications.
  • Agent Configuration SchemasDefine agent configurations by specifying language models, available tools, and condenser settings within structured objects for consistent agent initialization.
  • Agent OrchestrationInitialize functional agent instances directly from validated settings objects to begin tasks or integrate into conversation workflows.
  • Agent OrchestratorsA unified interface for connecting diverse language models to custom tools, enabling complex reasoning cycles and multi-agent delegation strategies.
  • Agent Skill DefinitionsDefine reusable agent skills using standardized directory structures and configuration files to provide context, instructions, and triggers for agent tasks.
  • Agent Tool DefinitionsDefine custom tools for agent use by specifying names and parameters, with built-in validation for tool names and parameter structures.
  • Agent Tool ExecutionExecute tools using action-observation patterns, with configurable security levels that determine whether to run actions immediately or require explicit user confirmation.
  • Custom Tool DefinitionsDefine custom tools by extending base classes with action and observation schemas, allowing agents to execute business logic and return structured results.
  • Task Delegation ConfigurationsRegister custom sub-agent types with specialized skills and add task management tools to agents to enable autonomous sub-task execution and conversation persistence.
  • Agent Evaluation FrameworksEvaluate agent actions and conversation history in real-time to predict success probability scores and provide feedback for automated quality monitoring.
  • Agent Refinement WorkflowsConfigure agents to automatically review and improve work by triggering iterative refinement cycles when success probability scores fall below defined thresholds.
  • Agent Tool IntegrationsIntegrate external tools into agent environments by embedding server configurations within skill files, allowing systems to spawn clients and register tools dynamically.
  • Agent Tooling InterfacesDefine custom tools by implementing action, observation, and executor classes, then register them to extend agent capabilities with new functionality and logic.
  • Agent Tooling RegistriesRegister and retrieve specific sets of tools for agents to restrict capabilities to tasks like file analysis, searching, or structured planning.
  • Agent Action RepresentationsRepresent agent actions as events that can be converted into model messages, including details like tool calls, reasoning content, and security risk assessments.
  • Agent Configuration FormatsDefine custom agents using Markdown files with configuration headers to specify agent identity, available tools, and system prompts for task execution.
  • Agent Configuration ProfilesConfigure advanced agent capabilities including external server connections with environment variable resolution and custom lifecycle hooks for specialized execution behavior.
  • Agent Prompt TemplatesDefine custom system prompts using templates to enforce specific behavioral constraints, goal structures, and execution strategies for specialized agent roles.
  • Agent RegistriesRegister built-in sub-agents from predefined directories to enable specialized capabilities like code exploration, bash execution, and web research for delegation tasks.
  • Agent Task RefinementConfigure automatic iterative refinement to trigger follow-up prompts when agent performance falls below defined thresholds, repeating until success criteria are met.
  • Agent Tooling DefinitionsDefine custom tools by registering them at module levels and packaging them within custom Docker images to extend agent capabilities in remote server environments.
  • Tool Registration SystemsRegister tools or factory functions by name to make them available for agents, supporting shared executors and dynamic configuration based on workspace state.
  • Parallel Tool ExecutionConfigure the maximum number of tools agents execute simultaneously to improve performance for independent I/O-bound operations and sub-agent delegation tasks.
  • Agent Querying InterfacesQuery agents for information about current tasks or conversation history without interrupting primary execution flows or modifying ongoing agent states.
  • Sequential Task DelegationDelegate complex, multi-step tasks to specialized sub-agents that run synchronously, allowing parent agents to block until sub-agents complete assigned work.
  • Agent Workspace ManagementManage isolated agent workspaces by creating, executing commands, and monitoring container lifecycles to ensure strict resource limits and user security.
  • Conversation ManagementManage agent-user interactions by handling message exchange, execution control, and conversation state, providing unified interfaces for both local and remote conversation implementations.
  • Reasoning-Action LoopsOrchestrates autonomous cycles where agents process inputs, query language models for decisions, and execute tools to perform tasks.
  • Hierarchical Task DelegationEnables agents to spawn and manage independent sub-agents to parallelize complex workflows and consolidate results into a primary conversation.
  • Task Delegation SystemsDelegate complex tasks to multiple independent sub-agents that run in parallel, allowing main agents to consolidate results and improve processing throughput.
  • Agent Evaluation FeedbackAccess critic evaluation scores, success status, and feedback messages programmatically via event callbacks to build custom automated workflows based on agent performance.
  • Concurrent Agent ExecutionExecute multiple agent conversation tasks concurrently using asynchronous executors to improve performance and handle several independent workflows within single application processes.
  • Execution Control FlowsPause active agent threads from external processes and resume execution later to perform intermediate operations or wait for specific conditions.
  • Execution Message InjectionSend messages to active agents during execution by running conversation processes in background threads and injecting new instructions while agents are working.
  • Task Completion SignalsSignal the completion of tasks or conversations by using dedicated tools that terminate agent current workflows.
  • Reasoning Cycle OrchestratorsExecute reasoning cycles by processing pending actions, condensing event history, querying language models, and performing tool-based actions or message responses.
  • Agentic Development EnvironmentsA collaborative workspace that integrates AI-driven code review, pull request management, and autonomous task implementation into standard software development workflows.
  • Agent Terminal InterfacesInteract with autonomous agents using natural language commands while monitoring progress and accessing system settings through a dedicated command palette.
  • Agent Execution EnginesExecute AI agent steps by calling language models, processing tool interactions, and updating conversation state with assistant responses and tool results.
  • Agent Reasoning ConfigurationsConfigure agent reasoning parameters by enabling retrieval-augmented generation for context awareness and assigning dedicated language models for internal mental modeling tasks.
  • Agentic Workflow OrchestratorsManaging complex task delegation, multi-agent collaboration, and persistent conversation state to handle long-running development projects across diverse environments.
  • Agent Configuration SerializationSerialize agent configuration objects into JSON-compatible formats for storage, transmission, or rehydration across different processes and user interfaces.
  • LLM Request RoutersRoute incoming requests to different language models based on performance, cost, or capability requirements to optimize agent execution.
  • Autonomous Agent FrameworksA modular platform for building and orchestrating AI agents that reason, plan, and execute tasks within isolated development environments.
  • Automated Code ReviewersAutomating the analysis of pull requests to provide actionable feedback on code quality, security, and adherence to project-specific architectural standards.
  • Multimodal Vision InputsPass images alongside text in conversation messages to enable multimodal analysis by vision-capable language models, provided active models support image inputs.
  • Autonomous Software EngineeringBuilding and deploying AI agents that can autonomously navigate codebases, implement features, and resolve issues through iterative reasoning and tool execution.
  • Web Research AgentsAutomate web interactions by combining browser control, file editing, and command-line tools to navigate pages, extract content, and summarize information from web sources.
  • Conversation State ManagementCreate and manage conversation states, including persistence, agent configuration, and execution status, while providing locking mechanisms for thread-safe access to conversation resources.
  • Conversation Context CondensationCondense long conversation histories by summarizing older messages while preserving recent context and critical information to reduce token usage and maintain agent performance.
  • Conversation Event VisualizersVisualize conversation events by implementing custom handlers that receive state updates and event logs, supporting sub-agent delegation through nested visualizer creation.
  • Conversation ForkingCreate deep-copied branches of existing conversations to experiment with different agents, debug specific execution states, or perform comparative testing without altering original history.
  • Conversation History CondensationManage conversation history by condensing events, removing forgotten items, and inserting summary events to maintain context while optimizing event streams.
  • Conversation History OptimizersManage conversation views by filtering out forgotten events and inserting summary events to ensure LLMs receive coherent and optimized histories.
  • Conversation Session InitializersInitialize conversations by automatically selecting between local or remote execution modes based on provided workspace types, allowing seamless switching between deployment environments.
  • Conversation State PersistencePersist conversation state to disk and restore it across sessions by providing unique identifiers and directory paths during conversation initialization.
  • Conversation Summarization StrategiesImplement rolling window strategies that preserve initial system prompts and recent events while summarizing middle sections of conversations.
  • Conversation SummarizationSummarize conversation history using LLMs to compress long event logs into concise summaries, preserving critical context while staying within token limits.
  • Condensation TriggersTrigger condensation automatically when event thresholds are exceeded or manually in response to context window errors to maintain manageable conversation history.
  • Conversation VisualizersConfigure how conversation events are displayed by passing visualizer classes or instances to conversation objects, or disable visualization entirely for specific workflows.
  • Custom VisualizersCreate custom visualizers by subclassing base visualizer classes and implementing event-handling logic to define unique output formats, state tracking, or external system integrations.
  • Event Attribution ManagementDistinguish between event origin and model role representation to ensure accurate attribution of messages while maintaining correct formatting for model input.
  • Event Transformation StrategiesConvert event streams into model-compatible message formats, providing base interfaces for events to define their own transformation logic for model consumption.
  • Model Provider AdaptersIntegrate with many different language model providers using unified interfaces that handle provider-specific request formatting, response parsing, and error normalization.
  • LLM Response StreamingStream LLM responses progressively by enabling streaming on models, defining token callback functions, and registering callbacks with conversation objects.
  • Model Instance RegistriesManage multiple model instances centrally using unique usage identifiers to track costs and performance metrics independently across different parts of applications.
  • LLM Provider AdaptersInteract with various language models through unified interfaces that handle configuration, API authentication, retry logic, and tool calling capabilities.
  • Modular Capability CompositionsConfigures agent behavior by composing interchangeable components like model providers, security policies, and skill sets rather than using inheritance.
  • Event-Driven State ManagementManages agent interactions by serializing state changes into immutable, sequentially indexed event logs for persistence and time-travel debugging.
  • Event-Driven Agent ArchitecturesA state-management system that tracks conversation history, tool interactions, and agent reasoning through structured event streams for persistence and observability.
  • Model Context Protocol ImplementationsExecute MCP tools by converting agent-generated actions into protocol-compliant calls, parsing resulting data, and wrapping responses or errors into standardized observations.
  • Model Context Protocol ServersManage MCP server connections using background event loops that allow synchronous agent code to invoke asynchronous tools without manual await statements.
  • Tool Discovery SystemsDiscover and register external tools by spawning MCP servers, parsing JSON schemas, and dynamically generating Pydantic models for seamless integration into tool registries.
  • Browser Automation ToolsConfigure specific browser capabilities by manually registering individual tools and creating custom executors to control which web interaction features are exposed to agents.
  • Dynamic Command ExecutionExecute shell commands within skill content to dynamically inject repository state, environment information, or computed values into agent contexts at runtime.
  • System Command Execution ToolsExecute bash commands within sandboxed environments, whether running locally on host systems or remotely on agent servers, with timeout and output management.
  • Patch-Based Editing ConfigurationsConfigure agents to use patch-based file editing by swapping standard file editor tools for specialized patch application tools.
  • AI Tool Integration LayersConnecting autonomous agents to external APIs, databases, and development tools through standardized protocols with configurable safety and approval policies.
  • Agent APIsExpose agent capabilities through REST API and WebSocket interfaces to support authenticated requests, real-time event streaming, and continuous health monitoring.
  • Sandbox Provisioning ServicesConnect to remote runtime API services to automatically provision and manage sandboxed container environments for agent execution without manual infrastructure handling.
  • Action Approval PoliciesRequire user approval before executing agent actions by setting policies that trigger confirmation prompts for all, none, or only risky operations.
  • Action Risk ClassificationsCategorize agent actions into risk levels based on potential impact, such as read-only operations, file modifications, or dangerous system commands.
  • Action Security EvaluationsEvaluate the risk level of agent actions before execution using LLMs to flag potentially dangerous operations and assign risk scores.
  • Confirmation PoliciesDefine confirmation policies to determine whether specific agent actions require user approval based on evaluated security risk levels.
  • Secret Management SystemsUpdate conversation secrets using static strings or dynamic callable functions to integrate with external credential management systems and secure secret stores.
  • Security Policy ConfigurationsDefine custom risk assessment guidelines using templates to tailor how agents evaluate the safety and security of proposed actions.
  • Security Risk AnalysisAnalyze agent actions and conversation history for security risks by integrating with external safety monitoring services or internal LLM-based evaluation logic.
  • Security Risk CategorizationCategorize security risks into standardized levels to enable consistent comparison, ordering, and visual representation of potential threats during agent execution.
  • Confirmation PoliciesDefine confirmation policies to control when user approval is required for agent actions, ranging from always confirming to risk-based thresholds or fully autonomous execution.
  • Agent Context ManagementConfigure agent behavior by injecting project-specific skills, domain knowledge, and custom prompt templates into language model system and user message contexts.
  • Task Success PredictorsPredict task success in real-time using experimental critics that evaluate agent performance and provide probability scores for completed tasks.
  • Agent Task InitiationsStart agent sessions with specific tasks provided as direct command-line strings or by referencing local text files containing detailed instructions.
  • Iterative Refinement WorkflowsImplement iterative refinement workflows where refactoring agents perform tasks and critique agents provide feedback until quality thresholds are reached.
  • Reasoning Process MonitorsIntercept and display internal reasoning steps from models by registering callbacks that detect and process thinking blocks within conversation events.
  • User Preference ManagementConsult user models to disambiguate vague requests and process conversation history into persistent preference profiles stored locally for long-term personalization.
  • Model Configuration ManagementManage persistent model configurations by saving, loading, and listing model parameters and credentials in local directories for reuse across scripts and environments.
  • Model Request OrchestratorsExecute chat completions or responses API calls with automatic validation, exponential backoff retry logic, and telemetry collection for token usage, latency, and cost tracking.
  • Headless Task RunnersRun automated tasks without an interactive terminal interface to support continuous integration pipelines, batch processing, and integration with external scripting environments.
  • Agent Delegation SystemsRegister and configure delegation tools to enable agents to spawn sub-agents and assign tasks, with optional limits on concurrent sub-agents.
  • Cloud Sandbox ProvisioningProvision and manage sandboxed environments in the cloud by connecting to APIs, handling lifecycle tasks like creation, status polling, and cleanup automatically.
  • User Intent ModelingImplement agents that interpret vague user instructions, infer intent, and build long-term preference profiles by modeling user mental states across conversations.
  • Containerized Workspace ManagersManage the lifecycle of containerized workspaces using context managers that handle image pulling, container startup, command execution, and automatic cleanup.
  • Agent Action Approval PoliciesConfigure agent action approval levels, including manual confirmation, automatic approval, or automated security analysis to validate operations before execution.
  • CLI Task ManagersManage agentic tasks, configure runtime settings, and interact with server environments using global flags and subcommands within the command-line interface.
  • Language Model ConfigurationsConfigure language model instances programmatically, via environment variables, or by loading serialized JSON files to manage model settings, API keys, and operational parameters.
  • CLI Installation UtilitiesInstall command-line interface tools using package managers, executable scripts, or containerized environments to manage and run applications on local or remote systems.
  • Conversation History ManagementResume previous interaction sessions by listing recent history or specifying unique conversation identifiers to continue work exactly where it was interrupted.
  • Automated Task ResolversScan source code for pending tasks, generate necessary code changes to resolve them, and open new pull requests with appropriate reviewers assigned.
  • Remote Editor InterfacesExpose web-based code editors within containerized workspaces by enabling extra ports and generating authenticated URLs to access interfaces directly from hosts.
  • Workspace Command ExecutionExecute shell commands within workspace environments, returning standard output, error streams, and exit codes regardless of whether execution is local or remote.
  • Containerized Development EnvironmentsProvisioning isolated, secure, and reproducible workspaces for running AI agents and executing system commands without risking host machine integrity.
  • Containerized RuntimesExecutes agent tasks within isolated, ephemeral container environments to ensure system security and consistent runtime dependencies.
  • Containerized Execution RuntimesA secure infrastructure layer that manages isolated workspaces, persistent terminal sessions, and resource-constrained sandboxes for automated code execution.
  • Automated Pull Request ReviewersAnalyze incoming code changes for quality, security, and best practices, posting actionable feedback directly as comments to streamline the collaborative development process.
  • LLM Fallback StrategiesConfigure sequences of fallback language models to automatically retry requests when primary models fail, ensuring continued operation through chains of secondary providers.
  • Model RegistriesRegister and retrieve language model configurations by unique usage identifiers to manage multiple model instances within single application environments.
  • Model Switching StrategiesSwitch active LLM models during running conversations to leverage different model capabilities while maintaining conversation history and aggregating usage metrics across entire sessions.
  • Language Model MetricsTrack token usage, latency, and costs for every model request, with support for overriding default pricing for custom models or specific billing agreements.
  • Agent Observability ConfigurationsConfigure observability by setting environment variables to automatically instrument agent steps, tool executions, and LLM calls without modifying application code.
  • Agent Plugin DefinitionsDefine custom agent capabilities, event hooks, and MCP configurations within structured directories to extend agent functionality through modular, reusable plugin packages.
  • Conversation State SynchronizationSynchronize conversation state across remote clients via websocket updates by serializing state changes into events that clients can consume.
  • Remote Conversation ManagementEstablish remote conversations with containerized workspaces to execute commands, manage files, and receive real-time event updates through persistent, bidirectional WebSocket connections.
  • Remote Workspace Command ExecutionExecute shell commands and manage files on remote servers by connecting workspace instances to specific host URLs for secure interaction.
  • Inline Risk AnalysisAnalyze action security risks inline by requiring LLMs to include risk parameters in tool calls, avoiding additional latency or separate analysis steps.
  • Secret ManagementManage sensitive information by scanning text for secret keys, injecting them as environment variables for command execution, and masking secret values in output logs.
  • Multi-tenant SecuritySecure multi-tenant environments using container-level isolation, strict input validation, network restrictions, and mandatory authentication to protect against unauthorized access.
  • Sandbox Authentication StrategiesAuthenticate requests to hosted runtime services by providing required API keys, ensuring secure access to remote sandbox infrastructure.
  • Tool RegistriesRegisters and dynamically discovers agent capabilities through a standardized interface that abstracts local execution and remote protocol-based tools.
  • Container Workspace ConfigurationsConfigure isolated workspaces using pre-built images, custom base images, or existing files to run agent services in secure container environments.
  • Container OrchestrationDeploy agent servers across diverse environments, ranging from local development machines to horizontally scaled clusters managed by container orchestration platforms.
  • Subprocess Lifecycle ManagersManage the lifecycle of agent server subprocesses by automatically starting, stopping, and performing health checks to ensure readiness before executing tasks.
  • Server Lifecycle ManagersManage server configurations by listing, retrieving details, removing, enabling, or disabling servers through the command-line interface to maintain integration environments.
  • Stuck Agent DetectionMonitor agent event history to identify repetitive action-observation patterns and flag conversations as stuck when agents perform identical tasks multiple times.
  • Reasoning Effort ConfigurationsConfigure model reasoning effort levels to control the depth of internal thought processes and capture resulting reasoning traces during conversation events.
  • OAuth Device FlowsAuthenticate with cloud services using OAuth device flows, supporting custom server URLs via command-line flags or environment variables for enterprise deployments.
  • Subscription-Based AuthenticationAuthenticate with model providers using OAuth via browser-based login flows that cache credentials locally for subsequent automated token refreshing and usage.
  • Rootless Container RuntimesExecute containers without requiring root privileges by leveraging user namespace isolation, ensuring compatibility with strict security policies and environments.
  • IDE Configuration ManagersIntegrate agent servers with development environments by defining command, argument, and environment variable configurations in JSON files for AI-assisted coding.
  • Resource Usage PoliciesEnforce resource limits and automated cleanup policies on containerized agents to prevent exhaustion, control operational costs, and maintain consistent server stability.
  • LLM Usage MetricsTrack token usage, costs, and response latencies for individual LLM instances by accessing metrics directly from LLM objects after conversation execution.
  • Usage Metric MonitorsTrack and aggregate token usage and cost metrics across primary and fallback models to monitor total expenditure and individual model performance after completing conversations.
  • MCP Server ConfigurationsConfigure and filter Model Context Protocol servers to provide agents with external tools, using regex patterns to restrict which specific tools are accessible.
  • Agent Configuration StandardsDefine repository-wide guidelines and coding standards that remain active in agent contexts by placing configuration files in project roots or designated directories.
  • Workspace ConfigurationsConfigure workspace execution environments to run either directly on host systems for performance or within isolated containers for enhanced security.
  • Keyword-Based Skill TriggersTrigger domain-specific knowledge or task-oriented skills automatically by matching keywords or patterns found within user messages during interaction lifecycles.
  • Tool Metadata AnnotationsProvide metadata hints about tool behavior, such as idempotency or read-only status, to guide agent execution based on protocol specifications.
  • Visual Browser MonitoringEnable browser automation tools for agents within containerized environments, providing visual monitoring of web interactions through VNC interfaces.
  • Browser Session RecordersCapture browser interactions and DOM mutations into JSON files by starting and stopping recording sessions during automated browser tasks.
  • Real-time Event StreamsHandle real-time communication with agent servers over WebSockets by using remote conversation instances to stream events and manage ongoing agent interactions.
  • WebSocket Event StreamsFacilitates real-time communication between client interfaces and backend agent services using bidirectional WebSocket connections for event synchronization.
  • Structured Event StreamsStream agent events as structured JSON lines to enable programmatic parsing, logging, and integration with external monitoring or automation tools.
  • Sandbox Environment ImagesSpecify pre-built agent server images to be pulled and executed by remote runtime APIs within sandboxed environments.
  • Workspace File Transfer UtilitiesTransfer files between local machines and workspace environments, supporting both direct filesystem copies for local workspaces and network-based transfers for remote server connections.
  • Review GuidelinesDefine project-specific standards for code quality and communication to ensure automated feedback aligns with team architectural requirements and internal policies.
  • Typed Exception HierarchiesHandle provider errors using unified sets of typed exceptions that abstract away provider-specific status codes, messages, and error classes for consistent application logic.
  • Model Credential ManagersStore and retrieve OAuth credentials for various model providers in local directories to manage authentication tokens and expiry information securely.
  • Persistence AutomationAutomatically save conversation state changes to disk by detecting modifications to public fields and separating data into atomic base state updates and incremental event logs.
  • Persistent Session ManagersRun shell commands within persistent terminal sessions to maintain state across interactions while monitoring output and managing execution with configurable timeouts.
  • Remote Sandbox EnvironmentsExecute shell commands within remote sandboxes to verify connectivity and ensure environments are correctly configured before starting agent tasks.
  • Conversation Cost AggregatorsRetrieve aggregated cost and performance statistics for entire conversations, including usage data from all language models involved in interactions.
  • Workspace File OperationsManage file transfers between hosts and workspaces, supporting both direct local filesystem copies and remote HTTP-based upload and download operations.