The OpenHands Software Agent SDK: A Composable and Extensible Foundation for Production Agents
Abstract
Building production-ready software engineering agents requires balancing fast research iteration with operational stability, secure deployment, and reproducible execution across diverse environments. \textbf{OpenHands V0}—an open-source agent system with 64k+ GitHub stars—validated community demand but revealed four key tensions: rigid sandboxing, scattered mutable configuration, blurred core–application boundaries, and limited extensibility. We present the \textbf{OpenHands Software Agent SDK}—the core of \textbf{OpenHands V1}—a complete architectural redesign that \emph{separates agent core from downstream applications}. The SDK embodies four principles: (i) \emph{optional isolation} (local-first, sandbox-on-demand); (ii) \emph{stateless components} with immutable configuration and event-sourced state; (iii) \emph{strict separation of concerns} between core and applications; and (iv) \emph{two-layer composability} enabling modular deployment across four packages (SDK, Tools, Workspace, Server) and extensibility through typed, swappable components. Built on these foundations, the SDK delivers \emph{seamless local-to-remote execution portability}, integrated REST/WebSocket services, and visual workspaces (VS Code, VNC, browser) for human-agent collaboration. Compared with existing SDKs from OpenAI, Claude and Google, OpenHands uniquely integrates native sandboxed execution, lifecycle control, model-agnostic multi-LLM routing, and built-in QA and security analysis. Empirical results on SWE-Bench Verified and GAIA benchmarks demonstrate strong performance. By codifying lessons from V0, the OpenHands Agent SDK provides a practical foundation for prototyping, unlocking new classes of custom applications, \emph{and} reliably deploying agents at scale.