The ultimate harness for coding agents and beyond. All your agents. All your machines. One command center. Start with code, then follow your curiosity and build across disciplines: CAD, circuits, robots, games and music.
Loading README and project media…
An open-source workshop for technical founders who build across disciplines.
Use Claude Code, Codex, and other coding agents to build software, design parts and circuit boards, explore data, and make videos. OpenHarness brings your agents, domain tools, and live viewers into one workspace, with persistent agent sessions across your machines.
Use the desktop app on its own, or add the optional open-hardware Harness device to follow your agents, answer their questions, and speak new tasks from your desk.
Who it's for · What you can make · Run it · Harness device · Architecture · Contribute
The ideal user is a technical founder who is also a polymath: someone with an engineering or coding background whose curiosity and responsibilities span product, design, analysis, and marketing. You already know how to build with code. Harness brings that way of working to CAD, circuit boards, games, videos, and documents, with agents and tools for each craft.
You might prototype a feature, explore customer data, design an enclosure, and make a launch video. 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.
Engineers, makers, and creators who share that approach are welcome too. The ideal-user guide records who we're building for and how the app, community, and device serve them.
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. A harness gives the agent the tools and feedback to work in that domain.
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.
| Domain | Harnesses |
|---|---|
| CAD | Autonomous Workshop, text-to-cad |
| 3D | Blender |
| Electronics | Autonomous Circuit, CircuitJS, Yosys |
| Games | Godogen, Phaser |
| Documents and diagrams | Marp, Typst, Excalidraw |
| Video and music | OpenMontage, Remotion, Manim, Strudel |
| Simulation and analysis | MuJoCo, , |
Each one wraps an open-source project under its own name, credits it, pins its toolchain, and installs on a fresh machine from the Harness Store. Eight shared viewers (CAD, 3D models, documents, games, film, video, MuJoCo, web) mean a new harness rarely needs to write its own.
The harness we'd love to see next is the one for the tool you use. KiCad, FreeCAD, OpenSCAD, Godot, Jupyter, QGIS, Home Assistant, LilyPond, Inkscape — or your own company's toolchain. A harness can live in this repository or in yours.
Every picture is real output from the harness's own toolchain, and the prompt is the one that made it.
Keep the agents doing that work together, wherever they run.
~/.claude, ~/.codex and
so on. See the engine list.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.
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.
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.
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 |
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
There are three ways in, one for each layer of the stack.
Small fixes and notes about something that didn't work are welcome too. The contribution guide walks through each path.
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.