openhands/sdk/workspace/
Core Responsibilities
The Workspace system has four primary responsibilities:- Execution Abstraction - Unified interface for command execution across environments
- File Operations - Upload, download, and manipulate files in workspace
- Resource Management - Context manager protocol for setup/teardown
- Environment Isolation - Separate agent execution from host system
Architecture
Key Components
Workspace Types
Local vs Remote Execution
Core Operations
Command Execution
Command Result Structure:File Operations
Resource Management
Workspaces use context manager for safe resource handling: Lifecycle Hooks:Remote Workspace Extensions
The SDK provides remote workspace implementations inopenhands-workspace package:
Implementation Comparison:
Source:
- DockerWorkspace:
openhands-workspace/openhands/workspace/docker - RemoteAPIWorkspace:
openhands-workspace/openhands/workspace/remote_api
Component Relationships
How Workspace Integrates
Relationship Characteristics:- Conversation → Workspace: Conversation factory uses workspace type to select LocalConversation or RemoteConversation
- Workspace → Agent Server: RemoteWorkspace delegates operations to agent-server API
- Tools Independence: Tools run in the same environment as workspace
See Also
- Conversation Architecture - How workspace type determines conversation implementation
- Agent Server - Remote execution API
- Tool System - Tools that use workspace for execution

