← All reportsPublic report

openhands/openhands

🙌 OpenHands: AI-Driven Development

85k stars TypeScript View on GitHubprofiled 14d ago
Try GitZoid
265PRs this week
54Contributors
1447Deps scanned
0Issues found
01 · Repo overview

How openhands is put together

OpenHands 'Agent Canvas' is a self-hosted developer control center for running coding agents (OpenHands, Claude Code, Codex, Gemini, any ACP-compatible agent) across local, remote, and cloud backends. The primary artifact is a TypeScript React 19 single-page app built with React Router 7 (SSR disabled) and Vite, which talks to the externally-implemented OpenHands Agent Server REST/WebSocket API exclusively through the typed @openhands/typescript-client. A Node.js CLI entrypoint (bin/agent-canvas.mjs) orchestrates the full local stack: a Python agent-server launched via uvx, an automation backend via uvx, and a static frontend served through an ingress proxy that unifies /api/automation/*, /api/*, /sockets, and static assets on a single port. The same codebase ships as an npm package (@openhands/agent-canvas), a Docker all-in-one image, a Helm chart, and an Electron desktop app.

Languages

TypeScriptJavaScriptPythonCSS

Frameworks

React 19React Router 7Vite 8Tailwind CSS 4HeroUIZustandTanStack Querysocket.io-clienti18nextElectronMonaco Editorxterm.js

Datastores

SQLite automations.db (owned by the external automation backend, path configured by this repo)

Infrastructure

Docker (docker/Dockerfile, docker/entrypoint.sh)Helm chart (helm/agent-canvas)Vercel deployment preset (@vercel/react-router, vercel.json)GitHub Actions CI (ci.yml)Electron desktop packaging (electron-builder)uvx-launched Python agent-server and automation backend

Major components

Frontend SPA (src/)

React Router 7 SPA providing conversation UI, settings, terminal (xterm), file editing (Monaco), and markdown rendering of agent output.

API service layer (src/api/)

Typed adapters over the Agent Server API (agent-server-adapter, compatibility checks, secrets/skills/plugins services, device flow auth, LLM balance/subscription services).

Local stack orchestrator (bin/agent-canvas.mjs + scripts/)

CLI that launches the agent-server and automation backend via uvx, serves the built frontend via static-server.mjs, and runs an ingress proxy unifying all routes on one port.

State & realtime layer (src/hooks/, src/contexts/)

Zustand stores, TanStack Query hooks, and WebSocket contexts (conversation-websocket-context, websocket-provider-wrapper) for live agent events.

Desktop shell (electron/)

Electron main process, preload bridge, and builder config for packaged desktop distributions.

Container/Helm delivery (docker/, helm/agent-canvas/)

All-in-one Docker image (agent-server + automation + static frontend + ingress) and Kubernetes Helm chart with values.yaml.

i18n system (src/i18n, scripts/make-i18n-translations.cjs)

Generated translation declarations plus lint-enforced prohibition of hard-coded user-facing strings.

Test harnesses (tests/e2e, playwright.*.config.ts, vitest, Stryker)

Four-tier E2E (mock, mock-LLM, mock-LLM-Docker, live) with Python mock LLM server, plus unit tests, coverage, and mutation testing.

Over the past month the OpenHands project shipped a steady stream of user-facing polish alongside bigger structural additions: a context-window usage meter with manual compaction, conversation archiving and tagging, an automations dashboard with run tracking and cost reporting, and LLM provider-connection management. The desktop app was rebranded to 'Agent Canvas' with proper installers for Windows, macOS, and Linux, while releases rolled out rapidly (1.9 through 1.15). Later weeks shifted toward quality-of-life fixes — sidebar pinning, skill allow-lists, settings toggles, and process cleanup — plus heavy investment in CI reliability and documentation of repository boundaries.

Week by week

2026-08-24A quieter week focused on small but useful refinements: sidebar customization, automation visibility, and settings controls.latest6 changes

Feature

Pin a favorite sidebar page as your home screen

You can now choose which page opens by default when you launch OpenHands.

Feature

Skills moved to an explicit allow-list

Instead of every skill being on by default, users now explicitly choose which skills are enabled.

Feature

Automations show their live phase

Running automations now display what stage they're currently in, so you can follow progress in real time.

Feature

LLM-switching toggle exposed in Agent settings

Users can control whether the agent can switch between language models directly from the settings page.

Fix

Chat file paths link to the Files drawer

Clicking a file path mentioned in chat now jumps straight to that file in the Files panel.

Fix

Automation history and sidebar polling kept under control

Run-history loading was capped and sidebar background polling paused to prevent slowdowns from runaway requests.

2026-08-17The busiest week of the month: version 1.15.0 shipped along with a Linux installer, provider-connections UI, and a unified commits drawer.6 changes

Feature

Linux desktop installer added

OpenHands can now be installed as a .deb package on Linux, joining Windows and macOS support.

Feature

Conversation overview panel and unified commits drawer

A new overview view lets you see everything happening in a conversation, including all code changes in one place.

Feature

LLM provider-connections UI for local setups

Self-hosted users got a visual interface for connecting language-model providers instead of editing config files.

Fix

Events socket stays alive across refreshes

The live connection that streams agent activity no longer drops when data is refetched, and stuck handshakes are cut off cleanly.

Fix

Provider lists now load past the first page

Cloud-based model providers beyond the default page size are now surfaced so nothing is hidden.

Chore

Release 1.15.0

A new stable version was published bundling the week's features and fixes.

2026-08-10Big usability wins landed: a context-window usage meter with manual compaction, client-side conversation archiving, and inline markdown previews.6 changes

Feature

Context window usage meter and manual compaction

A visual ring shows how much of the AI's memory is used, and you can manually compress the conversation when it fills up.

Feature

Client-side conversation archive

You can archive old conversations yourself to keep the list tidy without deleting anything.

Feature

Inline markdown artifact previews in chat

Formatted content like tables and code blocks generated by the agent now renders right inside the chat.

Feature

LLM pre-flight validation

Misconfigured AI profiles are caught before saving, preventing broken setups.

Fix

Basic LLM provider list no longer truncated at 100 entries

All available providers now appear even when there are more than one hundred options.

Chore

Release 1.13.0

A new stable version was published mid-week with these improvements included.

2026-08-03The desktop app was renamed to 'Agent Canvas' and gained an automations dashboard, per-run cost tracking, and activity log exports across four rapid releases.6 changes

Fix

Desktop app renamed to OpenHands Agent Canvas

The standalone app got a clearer name plus properly sized icons for Windows and macOS.

Feature

Featured automations landing dashboard

A polished dashboard now showcases ready-to-use automations when you open the app.

Feature

Per-run LLM cost shown in Activity Log and exports

You can see exactly how much each automation run cost in AI usage, both on screen and in exported logs.

Feature

Activity log export

Records of what the agent did can be downloaded for review or record-keeping.

Feature

Conversation tags and automation tag filtering

Conversations can be labeled with tags, and automations can be filtered by those tags for easier organization.

Chore

Four releases shipped (1.9.0–1.12.0)

An unusually fast release cadence delivered all of this week's work in quick succession.

2026-07-27Foundation week: live agent activity in chat, persistent agent memory toggle, WebSocket security hardening, and mutation testing were introduced.6 changes

Feature

Live agent activity shown in chat

You can now watch what the agent is doing in real time as it works, rather than waiting for final output.

Feature

Persistent agent memory toggle

A setting lets you decide whether the agent remembers context across sessions.

Fix

WebSockets authenticated outside URLs

Live connections are now verified securely without putting credentials in web addresses, closing a security gap.

Chore

Stryker mutation testing added

Automated checks were introduced that deliberately break code to verify the test suite actually catches bugs.

Feature

Enable/disable installed MCP servers from their card

Connected tool integrations can be switched on or off directly from their listing card.

Chore

Rapid releases 1.7.0 through 1.8.0

Four versions shipped this week as the team iterated quickly on fixes and features.

03 · Security check

Dependencies and code review

1447 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 1447 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required