OpenHands
AI-driven software development platform with autonomous coding agents
OpenHands is an open-source platform for building and deploying AI software engineers. It provides a composable Python SDK, CLI, local GUI, and cloud deployment options for autonomous code generation, debugging, and software development tasks.
Overview
Overview
OpenHands is an open-source platform for AI-driven software development. It provides multiple interfaces for autonomous coding agents: a composable Python SDK, a CLI for terminal-based workflows, a local GUI similar to Devin or Jules, and a cloud deployment option. The platform achieved a 77.6% score on the SWE-bench benchmark.
Architecture
The system consists of a Python backend (openhands directory) and React frontend (frontend directory). The core agent SDK is composable and can be used standalone or integrated into larger applications. The platform supports multiple LLM providers through LiteLLM and includes custom harness logic for agent orchestration, tool execution, and multi-step workflows.
Deployment Options
SDK: Composable Python library for defining agents in code, runnable locally or scaled to thousands of agents in the cloud.
CLI: Terminal-based interface familiar to users of Claude Code or Codex, powered by any LLM.
Local GUI: REST API with single-page React application for local development.
Cloud: Hosted deployment at app.all-hands.dev with free tier using Minimax model.
Enterprise: Self-hosted Kubernetes deployment with extended features including Slack/Jira/Linear integrations, multi-user support, RBAC, and collaboration tools.
Key Features
The agent can execute shell commands, browse the web via Playwright, interact with Jupyter notebooks, manage Git repositories, and read/write various document formats. It includes pre-commit hooks, linting, type checking, and comprehensive test suites. Enterprise deployments add authentication via Keycloak, database migrations with Alembic, billing through Stripe, and telemetry with PostHog.
Development
Built with FastAPI, React, Docker, and SQLAlchemy. Uses TanStack Query for frontend data fetching, Poetry for Python dependency management, and supports multiple runtime environments including local, Docker, and Kubernetes. The codebase enforces strict code quality standards with automated pre-commit hooks and CI/CD checks.
Primitives
Generates and modifies code autonomously
Debugs software issues
Executes shell commands and scripts
Browses web pages and documentation
Manages Git repositories
Interacts with Jupyter notebooks
Reads and writes various file formats (PDF, DOCX, PPTX)
Integrates with external APIs and services
Performs multi-step software engineering workflows
Runs tests and validates code changes
Outcomes
- 01Completed software features
- 02Resolved bugs and issues
- 03Generated documentation
- 04Automated development workflows
- 05Improved code quality
- 06Accelerated development cycles
Integrations
Autonomy & guardrails
- Requires LLM API configuration
- Human approval for enterprise deployments
- Manual intervention for fork PR cleanup
- Explicit user commands for code execution
- Sandbox environment for safe operation
Guardrails & requirements
Guardrails
- Pre-commit hooks for code quality
- Linting and type checking
- Test suite validation
- Git best practices enforcement
- Lockfile version preservation
- Security compliance checks
Requirements
- Python 3.12-3.13
- Node.js 22.x for frontend
- Docker (optional)
- Poetry for dependency management
- LLM API access (Claude, GPT, or others)
Technical specifications
Runtime
- Harness
- Custom
- Deployment
- Multiple deployment options: CLI, local GUI, cloud-hosted (app.all-hands.dev), self-hosted enterprise via Kubernetes
- Data residency
- Configurable; enterprise deployments support VPC isolation and self-hosting
- License
- MIT (core), Polyform Free Trial License (enterprise directory)
- Version
- v1.7.0
Models & tooling
- Models
- Claude (Anthropic)GPT (OpenAI)Gemini Pro (Google)MinimaxAny LiteLLM-supported model
- Tooling
- FastAPIReactDockerPlaywrightLiteLLMSQLAlchemyAlembicTanStack QueryJupytertmuxtree-sitter
Security & compliance
- Auth model
- OAuth via GitHub/GitLab for cloud; Keycloak integration for enterprise; JWT-based API authentication
- Compliance
- MIT licensed coreCVE tracking and patchingDependency pinning for security fixesPre-commit security checks
Architecture notes
Memory architecture
Conversation-based with persistent storage via PostgreSQL and Redis for session management
Context strategy
Multi-modal context handling with support for code files, documentation, web browsing, and Jupyter notebook execution
Evaluation
SWE-bench score of 77.6% for software engineering task completion