openharness is a free, open source design & prototyping project written in C and released under MIT. It has 529 GitHub stars, 50 forks and 40 open issues, and was last pushed 7 hours ago. On this registry it ranks #37 of 38 tracked projects in Design & Prototyping, with 5 head-to-head comparisons available.

What is openharness?

OpenHarness is MIT-licensed open-source software and hardware, written in C, that gives people who build with coding agents one place to run those agents alongside domain tools and live viewers for work beyond software — CAD parts, circuit boards, data analysis, and video.

What it is

OpenHarness lives in the coding-agent and developer-tools ecosystem. It is a desktop application that hosts coding agents the user already runs, including Claude Code, Codex, Cursor, OpenCode, Pi, Hermes, Command Code, Devin, Muse Code, Amp, Antigravity, GitHub Copilot, Grok Build, and Kilo Code. Around those engines it adds domain-specific harnesses, a live viewer for what an agent produces, and sessions that persist across every machine the user owns. The desktop app can be used on its own, or paired with an optional Harness device that lets the user follow agents, answer their questions, and speak new tasks from a desk. The app, firmware, schematics, PCB layouts, and enclosure CAD files are all open source.

The problem it solves is the gap between the agent and the craft. Coding agents can write the geometry script that becomes a part, the netlist script that becomes a circuit board, and the animation code that becomes a film, but without domain tools and a way to see the result, that output has to be carried by hand into separate CAD, EDA, or video software. OpenHarness replaces that manual relay: the agent does the reasoning, the harness supplies the tools and the view, and the user chats on one side while the board, part, robot, or game takes shape on the other. It also replaces the loss of session state when moving between machines, since sessions persist everywhere the user works.

Key capabilities

  • Domain-specific harnesses (DSH) are plain folders containing a harness.json, so adding a new craft never requires a change to the app or the daemon.
  • Each DSH brings the domain's instructions and skills, a pinned toolchain, a project template, a verdict the app can read, and a live viewer for the work.
  • Forty-five domain-specific harnesses are available, and the user can start from any coding agent already in use.
  • The live viewer stays interactive after the agent finishes, so results can be inspected and steered rather than read as text.
  • Sessions persist across every machine the user owns, with the topic list including end-to-end encryption.
  • The optional Harness device ships as open hardware: firmware, schematics, PCB layouts, and enclosure CAD files.
  • Topic tags cover the range of crafts and hardware involved: 3d-modeling, cad, ai-agents, agent-framework, agent-harness, esp32, and domain-specific-harness.

Who uses it and how

  • Curious engineers who already build with code and want to reach CAD, circuit boards, games, video, and documents without mastering each craft first; the ideal-user guide is at docs/ideal-users.md.
  • Working rhythm described in the README: a feature on Monday, customer data on Tuesday, an enclosure for the prototype on Wednesday, and a launch video on Thursday.
  • Solo builders and creators who direct a specialist agent per craft, inspect what comes back, and steer the next iteration using their own taste and judgment.
  • Desk-based users who pair the desktop app with the Harness device to answer agent questions and speak new tasks without returning to the keyboard.

Getting started

Install the desktop app from https://www.autonomous.ai/harness and run it standalone, or add the optional Harness device for desk control. Architecture, engine, and user documentation live in docs/architecture.md, docs/engines.md, and docs/ideal-users.md.

How it compares

No list of paid products it replaces was supplied, so the honest framing is positional: OpenHarness is not a coding agent and does not compete with the engines named in its documentation — Claude Code, Codex, Cursor, and the rest remain the reasoning layer, and OpenHarness is the shell that gives them domain tools, verdicts, a live viewer, and persistent sessions. Its nearest neighbours in this registry are agent frameworks and developer tools, but the combination of DSH folders, open hardware, and cross-machine sessions is what distinguishes it.

When to use it — and when not

A self-hoster must install and operate the desktop app, then supply and maintain their own coding agent access; anyone authoring a custom DSH also takes on a harness.json, a project template, and a pinned toolchain they must keep working. The project carries 40 open issues and a modest 529 stars, so it suits people comfortable reading source and contributing fixes rather than waiting on vendor support. It is the wrong choice for anyone who wants a finished, turnkey CAD or EDA application, or who does not want to direct agents and judge their output.

project readme (upstream, from github) — read inline

Follow your curiosity. Build across disciplines.

OpenHarness is open-source software and hardware for building with coding agents. Use Claude Code, Codex, and others to make software, design parts and circuit boards, explore data, and create videos, with your agents, domain tools, and live viewers in one place and sessions that persist across every machine you own.

The old rule said ten thousand hours to a craft. That was the tax on curiosity, and most of us could only afford to pay it once, so we specialized and called the rest hobbies.

Coding agents become the specialists, given the tools of a craft and a way to see what they made: the geometry that becomes a part, the netlist that becomes a circuit board, the script that becomes a film. You bring the idea, the taste, and the judgment about what is worth making.

Use the desktop app on its own, or add the optional Harness device to follow your agents, answer their questions, and speak new tasks from your desk. The app, firmware, schematics, PCB layouts, and enclosure CAD files are all open source.

Who it's for · What you can make · Run it · Harness device · Architecture · Contribute

For polymaths in the making.

“I think that one kind of perspective for a lot of the world-class entrepreneurs is they’re not specialists. They’re something close to polymaths.”

Peter Thiel

Built for the curious engineer who wants to build beyond software. Get your hands on more of what you are making, from the physical product to the analysis and the launch video. Makers and creators with the same curiosity are welcome. You get there by directing a specialist in each craft and judging what comes back, not by mastering them all first.

Monday, a feature. Tuesday, the customer data. Wednesday, an enclosure for the prototype. Thursday, the launch video. You already know how to build with code, and Harness brings that way of working to CAD, circuit boards, games, videos, and documents, with agents and tools for each craft.

Your ideas can take you into unfamiliar crafts: an app, a physical product, a game, a film. This is a place to follow them. Give each job an agent with the right tools, inspect what it makes, and steer the next iteration. The code and project files are there to read, change, version, and build on.

From handoff to hands-on. You bring intent and judgment; your agents write and run code. Each harness supplies the tools and feedback for a different craft. You can get your hands on more of the product and the work of bringing it to customers.

Start with what you know and learn the next craft through the things you build. The ideal-user guide records who we're building for and how the app, community, and device serve them.

Domain-specific harnesses (DSH)

Coding agents can build far more than software. Code is the common medium: geometry scripts make parts, animation code makes videos, and analysis code turns data into charts and findings. That is what connects the dots between crafts, and a harness gives the agent the tools and feedback to work in each one.

harness

A domain-specific harness turns a coding agent into a specialist. It brings the domain's instructions and skills, a pinned toolchain, a project template, a verdict the app can read, and a live viewer for what the agent makes. You chat on one side; the board, the part, the robot or the game takes shape on the other, and stays interactive after the agent is done.

A DSH is a folder with a harness.json. The agent does the reasoning; the harness brings the tools and the view. Adding a domain never needs a change to the app or the daemon.

Coding and beyond

Start with a coding agent you already use. Explore 45 domain-specific harnesses when your next idea takes you further.

These are the 45 harnesses currently listed in the Store catalog. They combine upstream open-source tools and original workflows, with instructions, setup, checks, and live views for each craft.

The 10 shared viewers cover CAD, 3D models, documents, games, film, video, MuJoCo, web pages, isolated web previews, and studios. Viewer packages install alongside the harnesses that need them. Experimental packages marked unlisted are not included above.

The harness we'd love to see next is the one for your craft. Bring an open-source tool you use, a workflow you know well, or your own company's toolchain. A harness can live in this repository or in yours.

Six real outputs, one at a time. Each slide includes the harness and the original prompt. Still preview · Individual images and prompts below.

Read the prompts and open individual images

Autonomous Circuit · Open harness

Design a six-key USB macropad. Start with the schematic.

text-to-cad · Open harness

Design a 3D-printable planetary gear set: a 12-tooth sun, three 18-tooth planets and a 48-tooth ring gear with mounting lugs, module 1.5 and 8 mm thick, plus a carrier on steel pins. Give each part its own colour.

MuJoCo · Open harness

Make the Unitree G1 humanoid say hello: stand, raise its right hand and wave three times, then lower it and take a small bow. Record it.

Blender · Open harness

Make a cozy isometric reading nook: a cut-away corner of a room with an armchair, a floor lamp glowing warm, a bookshelf full of colourful books, a round rug and a monstera, with evening sun through the window and a cat asleep on the rug.

Godogen · Open harness

Make a synthwave hoverbike racer: ride down a neon grid canyon toward a striped setting sun, weave between glowing pylons, hop barriers and collect energy cores, with a boost and three shields.

Manim · Open harness

Draw a chess knight using nothing but spinning circles: a Fourier series of 120 epicycles, tip to tail, tracing its silhouette in gold.

Every picture is real output from the harness's own toolchain, and the prompt is the one that made it.

Coding agents, on every machine

Keep the agents doing that work together, wherever they run.

  • Real terminals that outlive the window. Every agent runs in a persistent tmux session. Close the app and the agents keep working; if tmux goes down with a reboot, the daemon brings the panes back and resumes the sessions.
  • Every engine, no wrappers. Claude Code, Codex, Cursor, OpenCode, Pi, Hermes, Command Code, Devin, Muse Code, Amp, Kilo, Grok Build, Antigravity and GitHub Copilot. OpenHarness reads the transcript each agent already writes and installs the vendor's own hooks. Your credentials stay in ~/.claude, ~/.codex and so on. See the engine list.
  • All your machines in one window. The laptop, the Mac mini at home, the server in the rack. Each runs a daemon with outbound connections only. Terminal traffic is end-to-end encrypted, the relay only forwards ciphertext, and it goes peer to peer over WebRTC when it can. No SSH server, VPN, or open port.
  • Built for many agents at once. Split panes, a keyboard-driven layout, fuzzy search across sessions and machines (⌘O), and one shortcut to the agents waiting on you (⇧⌘I). The workspace guide and keybindings cover the rest.

ezgif-3355e1eae4366c76

Run it

  1. Download the desktop app for macOS or Linux.
  2. Sign in to a coding agent you already use, with your own subscription, API key, or local model.
  3. Press ⌘N, pick an agent or a harness, a machine and a project, and start.

On another machine:

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

Then Machines → Link Machine in the app.

macOS is the primary tested platform. Linux builds exist and feature parity is in progress; Windows is work in progress. Embedded live viewers require macOS; remote viewers also need a current Harness CLI on both machines. The app and daemon still need a Harness account to start; account-free local use is tracked.

Build from source

For macOS, install 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. The development guide covers tests and isolated environments.

How it fits together

flowchart LR
  device["Harness device"] -- USB --> daemon
  app["Harness app<br/>(Flutter)"] -- loopback --> daemon["harness daemon<br/>(TypeScript)"]
  daemon --> tmux["tmux"] --> agents["Claude Code · Codex · OpenCode · …"]
  daemon --> dsh["DSH toolchain<br/>+ live viewer"]
  daemon <-- "E2EE · WebRTC" --> relay["Harness relay"]
  relay <--> remote["daemons on your<br/>other machines"]

The architecture guide covers the daemon, the session model, transport and encryption.

Your first DSH in ten minutes

The Hello World example is a Codex session that edits an HTML page shown in the shared Web Viewer:

hello-world/
  harness.json
  AGENTS.md             # instructions for the agent
  template/index.html   # copied into a new project

Its manifest connects the pieces:

{
  "spec": 1,
  "id": "examples/hello-world",
  "name": "Hello World",
  "engine": "codex",
  "workspace": {
    "template": "template",
    "marker": "index.html"
  },
  "agent": { "instructions": "AGENTS.md" },
  "viewer": { "use": "autonomous/web-viewer" }
}

The CLI and the package protocol call a harness a DSH, so the commands are harness dsh …. From this checkout, with the harness CLI installed:

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

Press ⌘N → Hello World, choose a new project, and ask it to “Say hello to Ada.” The agent edits index.html; the viewer reloads. Change AGENTS.md to try another workflow, then start a new session. --link keeps the package connected to your source directory; Store installs resolve viewer dependencies on their own.

The authoring guide covers the full manifest, toolchains, live progress, verdicts, store pages, and publishing; the package specification is the contract.

Piece Responsibility
Engine Runs the coding agent: Claude Code, Codex, OpenCode, and the rest
Harness (DSH) Packages a domain: engine, instructions, toolchain, workspace, and viewer
Viewer Shows and interacts with what the agent makes; shared across harnesses
Session One running agent, in one project, on one machine

Harness device

The optional Harness device is a round, always-on display that sits beside your keyboard and shows your agents at a glance: what each one is doing, which one has finished, and which one is waiting on you. Read a question and answer it on the screen, or tap and speak a new task, without switching windows.

It is open hardware, all the way down. This repository has everything it takes to build one:

Layer What's here
Firmware ESP32-S3, ESP-IDF, a 466 × 466 round AMOLED with touch, microphones and audio. Connects to the host's daemon over USB — no Wi-Fi setup, no account on the device.
PCB The EasyEDA Pro project, the schematic, Gerbers, the bill of materials, and pick-and-place data for assembly.
Enclosure STEP for editing and STL for printing: the housing, an iron counterweight base, the USB clamp, and the button.

Get a Harness device, or build your own from these files. The firmware guide lists the supported boards and build commands, and the hardware guide covers the design files.

https://github.com/user-attachments/assets/97848065-61c6-40df-be66-a8247f69aa4c

Contributing

There are three ways in, one for each layer of the stack.

  • Make a DSH for a tool you use. Start from Hello World, make one workflow work end to end, pin the toolchain, credit the upstream project, and show something worth looking at in the viewer.
  • Improve the coding workspace. Terminal behavior, engine support, the daemon, the relay, Linux and Windows.
  • Hack the hardware. Port the firmware to another board, remix the enclosure, add a feature to the device.

Small fixes and notes about something that didn't work are welcome too. The contribution guide walks through each path.

Repository map

desktop/    Flutter app and terminal workspace
cli/        TypeScript CLI, daemon, engine adapters, and package runtime
backend/    Relay and control plane
store/      Domain-specific harnesses, shared viewers, registry, examples, and package spec
provider/   Provider API contract, implementations, and conformance tests
devices/    Harness device firmware, PCB, and enclosure

The repository is MIT licensed unless a folder says otherwise. Upstream tools, models, and assets keep their own licenses.

Frequently asked questions

Is openharness free to use?

openharness is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does openharness do?

Follow your curiosity. Build across disciplines. Open-source software and hardware for polymaths in the making.

What is openharness written in?

openharness is primarily written in C. Its source is publicly available at https://github.com/autonomous-ai/openharness, and it has 529 GitHub stars.