esp32.diy

OpenHarness: One Command Center for Agents, Robots and Circuits

Oct 11, 2026 · 6 min read

Advanced 1.2k stars 102 forks TypeScript MIT Updated 2026-10-11
TL;DR OpenHarness puts every AI coding agent and every machine into one keyboard-driven window, then extends them into robotics simulation, circuit design, CAD and more through domain-specific harnesses. An ESP32-based Harness device connects via USB to tie physical hardware directly into the workflow.
What you need
  • Harness device (ESP32)
BoardHarness device (ESP32)
LanguageTypeScript
Desktop FrameworkFlutter 3.47+ / Dart 3.13+
LicenseMIT
Latest Releasev1.2.63_desktop (2026-10-09)
DifficultyAdvanced

What You Will Build

OpenHarness is a native desktop command center that puts multiple AI coding agents — Claude Code, Codex, OpenCode, Devin, Amp, GitHub Copilot and more — side by side in one window, each running in its own tmux pane on any of your machines. Beyond managing code, it extends into physical disciplines through domain-specific harnesses (DSH): robotics simulation via MuJoCo, circuit design via CircuitJS and KiCad, 3D modeling via Blender and OpenSCAD, and many more. An ESP32-based Harness device connects to your laptop over USB and integrates directly with the daemon, bridging the gap between software agents and real hardware. Everything — code, keys and keystrokes — is sealed end-to-end before it leaves your machine. If you want a single place to go from writing firmware to simulating a robot arm to designing a PCB, OpenHarness is built for exactly that workflow.

What You Need

Hardware

Software — build from source

Or just download

No SSH keys, no Tailscale and no port forwarding are needed to link machines — each daemon dials out and machines are linked with a password you set.

Typical use cases

Robot Simulation

Run the MuJoCo harness to simulate a robot, pin a moment in its motion, apply a force and watch two diverging futures play back side by side — all steered by an AI agent.

PCB and Circuit Design

Use the KiCad or CircuitJS harness to let an agent lay out a board or tune a filter while you watch the schematic or scope trace update live in the viewer.

Multi-Machine Agent Orchestration

Link a laptop, a GPU box and a cloud server with a password each, then run different agents on each machine from one keyboard-driven window — no SSH keys or VPN needed.

ESP32 Hardware Integration

Plug the Harness device (ESP32) into USB and bring physical hardware into the same command center that manages your code agents, simulations and PCB tools.

How It Works

A harness is one running agent session with its own conversation, working branch and tmux pane. A tab groups harnesses. One daemon per machine runs those sessions in tmux; it dials out so no machine opens an inbound port.

The desktop app, CLI, daemon, relay and device are all open source in the same repository. Machines connect through three paths, chosen automatically:

Every path uses ChaCha20-Poly1305 encryption, X25519 session keys and pinned Ed25519 identities. Remote terminals stream text peer to peer — no remote desktop, no pixel forwarding.

A domain-specific harness is just a folder with a harness.json. It supplies craft-specific instructions, a pinned toolchain, project templates and a live viewer. The agent reasons; the harness supplies the tools and the view. Adding a new discipline never touches the app itself.

The Harness device (ESP32) connects over USB to the daemon on your laptop, appearing in the architecture alongside your remote machines as a first-class node.

Idle resource use on an M2 Max with 16 terminals and 1,000 scrollback lines each: roughly 0.1 % of one CPU core and 304 MiB for the desktop app; agent CLIs and the daemon are counted separately.

Build and Flash Steps

Option A — Install the prebuilt app and CLI (fastest)

Download the desktop app for macOS or Linux from the homepage, then run the installer on each machine you want to link:

curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
harness login
harness remote-password set
harness start

In the app choose Machines → Link Machine and enter the password. Repeat on every machine. Plug the Harness device into USB — the daemon picks it up automatically.

For a terminal-first workflow, the same installer drops the hn TUI. The first run signs in and connects the machine:

curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
hn

Option B — Build from source

Clone the repo and follow the build steps. You need Node.js 20+, tmux, Xcode and Flutter 3.47+ / Dart 3.13+:

git clone https://github.com/autonomous-ai/openharness.git
cd openharness
(cd cli && npm ci)
make install-cli
cd desktop
flutter config --enable-swift-package-manager
flutter pub get
flutter run -d macos

make install-cli installs this checkout's CLI and restarts the local daemon, so you are always running the version you just built.

Install and start a robotics harness

Once the app is running, open the Store and install a harness such as MuJoCo or Drone Pilot. To author your own, copy the hello-world example and point the installer at your folder:

harness dsh install "$PWD/store/viewers/web-viewer" --link
cp -R store/examples/hello-world ../my-harness
harness dsh check ../my-harness
harness dsh install ../my-harness --link

Press ⌘N, type the harness name and the agent session opens with its own branch, instructions and viewer ready.

Robotics and Circuit Harnesses in Practice

The Store ships 49 harnesses across 11 categories. For makers and roboticists the most relevant are:

Simulation

Engineering

Design / CAD

Each harness is a folder with a harness.json, so you can wrap any tool your team already uses and host it in your own repo or contribute it upstream.

Extending It and Known Limitations

Ways to go further

Limitations to keep in mind

Verdict

OpenHarness is a mature, actively maintained platform — v1.2.63 shipped two days before this writing — that genuinely unifies AI coding agents, remote machines, robotics simulation, circuit design and physical ESP32 hardware in one open-source tool. The architecture is thoughtful (real terminals, per-harness git branches, end-to-end encryption, no pixels over the wire) and the 49-harness Store covers an impressive range of maker disciplines. The main barrier to entry is the build toolchain — Flutter, Dart, Xcode and Node.js together make the source build Advanced-level — but the prebuilt installer gets most makers running in a few minutes.

Sources

github.comautonomous-ai/openharness — repository & README autonomous.aiOfficial website

Facts in this article come from the project's public README and GitHub metadata at the time of writing. Images belong to their respective owners and link back to the original source.