OpenHands Agent Canvas
A self-hosted control center for coding agents — run OpenHands, Claude Code, Codex, or any ACP agent
Evidence shows: AGENTS.md details telemetry architecture, emphasizing user consent control (setTelemetryConsent) and hard disable (configureTelemetry(false)), and explicitly forbids components from directly calling opt_in/opt_out_capturing, reflecting least privilege. Data flow transparency is high, clearly listing telemetry data flow (PostHog) and event properties. Sensitive data handling: explicitly forbids placing device codes, API keys, etc. in X-OpenHands-Client headers, and limits credential exposure in live E2E. Dependency security: dependabot weekly updates and npm ci in CI, but no vulnerability scanning evidence. External effects: telemetry events and automation behavior are clear, but no user confirmation mechanism for external actions. Rollback: no configuration or state rollback mechanism mentioned. Source attribution: telemetry events attach immutable properties, but code source attribution not addressed. Deductions: rollback mechanism missing, external effects lack user confirmation.
Evidence shows: AGENTS.md is internally consistent, detailing runtime services, test frameworks, and telemetry architecture without contradictions. Dependency availability: runtime packages (sirv, httpxy) and build dependencies are listed, but no availability guarantees. Failure messages: live E2E runner explains missing credentials, but general error handling not covered. Deductions: dependency availability not guaranteed, failure messages limited.
Evidence shows: Audience is clearly developers and self-hosters, scenarios include local, Docker, cloud backends. Capability boundaries clear, distinguishing local vs cloud backends and live E2E vs mock-LLM tests. Trigger precision: live E2E runs only under specific conditions, but no user-trigger mechanism. Environment fit: supports multiple deployment methods (npm, Docker, source, Electron) and provides Windows guide. Deductions: trigger precision not user-interactive.
Evidence shows: Information architecture clear with README, docs, AGENTS.md. Install notes detailed for npm, Docker, source, Windows. Naming stability: version and changelog present, but no naming conventions. Examples and FAQ: quickstart and docs links, but no FAQ. Known limitations: README warns about no-sandbox risks, but not comprehensive. License MIT, clear. Versioning has changelog and release-please, but no detailed changelog. Maintenance responsibility: CI and dependabot, but maintainers not specified. Deductions: naming conventions not specified, FAQ missing, known limitations not comprehensive.
Evidence shows: Output usability: UI and CLI provided, but no output format specification. Marginal value: automation, multi-backend support, but not quantified. Cost-benefit: CI and tests, but no performance data. Deductions: output format not specified, marginal value and cost-benefit lack quantification.
Evidence shows: Claim traceability: AGENTS.md describes test frameworks and CI, but no specific test results. Cross-source corroboration: README and docs, but no independent verification. Fact-inference separation: AGENTS.md distinguishes descriptions and instructions, but inferences not explicitly labeled. Deductions: lack of test results and independent verification.
- The repository includes telemetry with a default PostHog key, which may send data externally; set VITE_DO_NOT_TRACK=1 or configure your own key when deploying.
- Running the agent-server without a sandbox gives the agent full filesystem access, posing a security risk.
- Live E2E tests require LLM credentials and may expose them in CI; ensure fork PRs are skipped.
What does this agent do, and when should you use it?
OpenHands was originally known as an autonomous software-engineering agent; this repository has since repositioned as Agent Canvas — a self-hosted developer control center for starting agent conversations and automating everyday tasks (like generating a report that publishes to Slack, or decomposing a GitHub issue into tasks). It can run agent backends locally, in Docker, remotely, or in the cloud, and lets you switch between the built-in OpenHands agent, Claude Code, Codex, or any other Agent-Client Protocol (ACP) compatible agent.
Provides a self-hosted console for starting conversations and configuring automation workflows; connects to agent backends running locally, in Docker containers, on VMs, or in the cloud, and integrates with third-party services like Slack, GitHub, Linear, and Notion, triggering automations on a schedule or via webhook events.
- Automatically decompose a GitHub issue into tasks and hand them to an agent
- Generate a recurring report and publish it to a Slack channel automatically
- Self-host on internal company infrastructure to manage multiple agent backends centrally
- Switch between the built-in OpenHands agent and third-party agents like Claude Code, Codex, or Gemini as needed
What are this agent's strengths and limitations?
- Not locked to a single agent — switch between local, Docker, remote, and cloud backends
- Built-in automation that integrates with common collaboration tools like Slack, GitHub, and Linear
- Large accumulated community (80k+ stars) with a rich ecosystem and discussion history
- Fully self-hostable, suiting teams with data-compliance requirements
- The repository is mid-migration, with source split across newer repos, making it a bit harder to find the current implementation right now
- Positioning has shifted from a single autonomous coding agent to a more general control center — if you just want an out-of-the-box coding assistant, this may not be the most direct choice
- Actual security and effectiveness depend heavily on the specific agent backend you connect; this repo is primarily an orchestration layer
How do you install or deploy this agent?
This repository is currently mid-migration: the console frontend source now lives in OpenHands/agent-canvas, and the agent/Agent Server source lives in OpenHands/software-agent-sdk. Follow the Self-Hosting section of the official docs (docs.openhands.dev) for current local/VM deployment steps rather than relying on this repo's older install instructions directly.
How do you use this agent?
Once deployed, start a conversation from the console, pick which agent backend to use (built-in OpenHands, Claude Code, Codex, etc.), describe the task, or configure an automation trigger (scheduled or webhook-based) for the console to dispatch to that backend.
How does this agent compare with similar options?
Unlike single-vendor terminal coding agents such as Claude Code or Codex CLI, OpenHands Agent Canvas positions itself as an "agent orchestration console" — it isn't an agent itself, but a self-hosted interface for managing and dispatching to multiple agent backends plus automation. If you just need a coding assistant you can run in a terminal, Codex CLI or opencode is more direct; if you need unified orchestration and automation across multiple agents and backends, Agent Canvas fits that use case better.