Openharness

by autonomous-ai· MIT license· ★ 1,378 on GitHub· updated Oct 27

The ultimate harness for coding agents and beyond. All your agents.

MCP serverFreeCoding

Overview

Claude Code, Codex, Cursor, OpenCode, Devin, Amp, Copilot and seven more.

Files included

  • README.md16.0 KB
Read README.md here
autonomous-ai/main1 file
README.md
Show the full text310 lines

Harness like a boss.

The ultimate harness for coding agents and beyond.
Claude Code at work. Codex at home. Hermes in the cloud. One command center.
Start with code. Then follow your curiosity and build across disciplines: CAD, circuits, robots, games and music.

Download · How it works · Beyond code · Harnesses · Device

Every agent, side by side

Claude Code, Codex, Cursor, OpenCode, Devin, Amp, Copilot and seven more.

Four agents working at once in one window: Claude Code and Codex on a MacBook, Cursor on an office desktop, OpenCode on a GPU box. Each pane shows its machine, project and branch.

Every machine, side by side

Your laptop, home server and GPU box in one window. Link each one with a password. No SSH keys. No Tailscale. No port forwarding.

A new GPU box runs four setup commands and comes online. The app links it with its password, then starts Claude Code there.

Keyboard first

⌘P finds any harness on any machine. ⇧⌘I jumps to the harness waiting on you. ⌘D splits. Every key remaps.

Keyboard only: open a harness by typing a few letters, zoom it, jump to the agent asking a question and answer it, then split a new pane below.

End-to-end encrypted

Code, keys and keystrokes are sealed on your machine. The relay forwards bytes it can't read.

On the left, an agent rotates a secret and redeploys. On the right, the same harness as the relay sees it: numbered frames of ciphertext.

Fast and light

A native app, not Electron. Close it and your agents keep working.

Idle measurements on an M2 Max:

  • ⌘N, ⌘O, ⌘T UI: 11–13 ms median, 15–18 ms p95.
  • Local terminal echo: 1.1 ms median, 7.2 ms p95, excluding UI rendering.
  • Desktop resources: ~0.1% of one CPU core and 304 MiB, including terminal rendering and scrollback; agent CLIs and the daemon are excluded.

Desktop results use a Release fixture with 16 terminals and 1,000 scrollback lines each. See the workflow and resource benchmarks and remote P2P, TURN and relay results for workloads, slow tails, connection failures and raw data.

Built the way developers work
  • Real terminals. Every agent runs in its own tmux pane. Scrollback, colors and keys just work.
  • Your CLIs, as they are. Harness never wraps an agent. It reads transcripts and uses the vendor's own hooks.
  • A worktree per harness. Start an agent on its own branch. Your working copy stays clean.
  • Remap every key. One JSONC file, reloaded on save. Chords up to four strokes.
  • Local models. Run open-weight models on your own machines with Grid, Ollama, MLX-LM and vLLM.
  • Bytes, not pixels. Remote terminals stream text peer to peer. No remote desktop.
  • Open source, all of it. App, CLI, daemon, relay and device, in this repo.

How it works

In the workspace, a harness is one running session of an agent such as Codex or Claude Code, with its own conversation and working context. A tab groups harnesses. Use New Harness to start one and New Tab to group work. Harnesses in the same tab can message each other with harness send: Agent Messages, an experiment of your account, off by default and turned on in Settings ▸ Experimental.

The Store offers harnesses with instructions, tools, and optional viewers for specific crafts. Install a harness, then start it in your workspace. See the Naming System for the complete naming rules.

One daemon per machine runs your agents in tmux. It dials out, so no machine opens a port.

flowchart LR
  subgraph laptop["Your laptop"]
    app["Harness app"] -- loopback --> d1["daemon"]
    d1 --> a1["tmux · Claude Code · Codex"]
  end
  subgraph box["Your GPU box"]
    d2["daemon"] --> a2["tmux · OpenCode · Hermes"]
  end
  device["Harness device"] -- USB --> d1
  d1 <-. "direct WebRTC" .-> d2
  d1 <-- "ciphertext" --> relay["Harness relay · no keys"]
  relay <-- "ciphertext" --> d2

Every path is sealed end to end: ChaCha20-Poly1305, X25519 session keys, pinned Ed25519 identities. Harness picks the best path on its own.

Direct. A WebRTC channel between your machines. No server in the path.

The Harness window connects straight to home-server, office-desktop, cloud-server and mac-mini over WebRTC, with no server in the path.

Through Cloudflare. When a firewall blocks the direct path, the same encrypted channel runs over Cloudflare's TURN network. Harness keeps trying for a direct path.

The encrypted WebRTC channel passes through the nearest Cloudflare edge when a firewall blocks the direct path.

Through our relay. A fallback while WebRTC negotiates. The relay holds no keys and forwards ciphertext.

The Harness relay keeps the harness reachable over its WebSocket while WebRTC negotiates. It holds no keys.

The architecture guide has the details.

Get started

Download the app for macOS or Linux.

Add a machine. Run this on it, then Machines → Link Machine in the app:

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

In a terminal: the same line installs hn — tmux's keys and your ~/.tmux.conf, with every harness on every machine (hn). The first time, hn signs in and connects the computer:

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

For agents: Claude Code and Codex can start, wait for and read other harnesses with the harness skill (harness.autonomous.ai/agents, which has the Codex lines too):

claude plugin marketplace add autonomous-ai/openharness --sparse .claude-plugin plugins
claude plugin install harness@openharness
Build from source

Needs 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. See the development guide.

Beyond code: Build across disciplines

“World-class entrepreneurs are polymaths.” — Peter Thiel

Coding agents can build far more than software. Give one a harness and it works with the real tools of a craft. You steer in a live viewer. Every clip below is a real session.

Beyond code: Design

Blender. Ask for a lamp and the sliders that matter. Turn them and Blender rebuilds the geometry. Keep the versions you love.

Shape Lab in Blender: dragging height and twist sliders rebuilds a ribbon lamp, and chosen designs are kept.

Beyond code: Circuits

CircuitJS. Build a filter. Change one resistor. Overlay the new trace, measure the difference and keep both.

Scope Lab in CircuitJS: an RC filter captured at 1 kΩ and 2 kΩ, traces overlaid and measured with cursors.

Beyond code: Robotics

MuJoCo. Pin a moment in a robot's run. Shove it with 100 N. Watch two futures split.

A Unitree Go2 in MuJoCo: the original and shoved futures play together with a height chart.

Beyond code: Games

Godogen. Your agent makes a playable game. Miss a jump, rewind, try again. Pin the moment so the agent sees what you mean.

Alpine Drift, a game made with Godogen: a run is rewound, retried and a moment is pinned with feedback.

Beyond code: Music

Strudel. The track is code you can perform. Bring voices in and out, mark the good parts, keep the WAV. Hear it.

A live Strudel performance: voice lanes play beside the code, and the take is kept with markers.

Beyond code: Chemistry

RDKit. Turn a bond and watch the molecule move. Follow the real energy curve. Keep the pose worth a closer look.

A bond scan in RDKit: the molecule rotates through sampled poses along an MMFF94 energy curve.

Beyond code: Documents

Typst. Your agent writes a real PDF. Circle a detail, quote a line, leave a note. The next draft answers it.

A Typst PDF under review: notes are pinned to an area and a sentence, then carried to the next draft.

Domain-specific harnesses (DSH)

Code is the common medium. Geometry scripts make parts. Netlists make boards. Animation code makes film.

A domain-specific harness turns a coding agent into a specialist. It brings the craft's instructions and skills, a pinned toolchain, a project template, checks and a live viewer. You chat on one side. The board, the part or the game takes shape on the other.

The agent does the reasoning. The harness supplies the tools and the view. It's a folder with a harness.json, so adding a craft never touches the app.

49 harnesses in the Store
Category Agents and harnesses
Coding Claude Code, Codex, Cursor, OpenCode, Pi, Hermes, Command Code, Devin, Muse Code, Amp, Antigravity, GitHub Copilot, Grok Build, Kilo Code, Machine Monitor, Trail of Bits Skills
Essentials Harness Monitor, Memories
Design Autonomous Workshop, Blender, Bonsai MCP, Creative Direction, Excalidraw, FreeCAD, Generative Art, OpenSCAD, text-to-cad
Engineering Autonomous Circuit, CircuitJS, Home Assistant, KiCad, Orca Slicer, Yosys
Media Comfy MCP, Manim, OpenMontage, Remotion
Music Ableton AI, JUCE Agent Toolkit, Music Studio, Score, Strudel
Productivity Marp, Typst
Science & Data autoresearch-mlx, Data Studio, Lab Bench, marimo, RDKit
Simulation DimOS, Drone Pilot, Foam-Agent, MuJoCo, SimSkill
Games Game Master, Godogen, Phaser, Voxel Worlds
Research Roundtable
Local AI MLX-LM, Model Manager, Ollama, vLLM

Upstream open-source tools and original workflows. 10 shared viewers install alongside the harnesses that need them. Unlisted experiments are not shown.

Build your own

The next harness is the one for your craft. Wrap a tool you love or your team's toolchain. It can live here or in your own repo. From this repo:

{
  "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" }
}
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 → Hello World and say hello. The authoring guide covers the rest.

Harness device

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

A finger taps the round Harness device, speaks a task to fix the login flow, and the device shows the agent deploying, then a summary of the shipped fix.

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.

Contribute

Make a harness for a tool you love. Improve terminals, engines, the daemon or the relay. Port the firmware. Start with the contribution guide.

Architecture · Product direction (proposal) · Development · Extending · CLI · Security · MIT license; upstream tools keep their own.

1<p align="center">
2 <img src="desktop/assets/app_icon.png" width="88" alt="">
3</p>
4 
5<h1 align="center">Harness like a boss.</h1>
6 
7<p align="center">
8 <b>The ultimate harness for coding agents and beyond.</b><br>
9 Claude Code at work. Codex at home. Hermes in the cloud. One command center.<br>
10 Start with code. Then follow your curiosity and build across disciplines: CAD, circuits, robots, games and music.
11</p>
12 
13<p align="center">
14 <a href="https://harness.autonomous.ai/desktop?utm_source=github&utm_medium=readme"><b>Download</b></a> ·
15 <a href="#how-it-works">How it works</a> ·
16 <a href="#beyond-code">Beyond code</a> ·
17 <a href="#domain-specific-harnesses-dsh">Harnesses</a> ·
18 <a href="#harness-device">Device</a>
19</p>
20 
21### Every agent, side by side
22 
23Claude Code, Codex, Cursor, OpenCode, Devin, Amp, Copilot and seven more.
24 
25<p align="center"><img src=".github/assets/readme/agents.gif" width="960" alt="Four agents working at once in one window: Claude Code and Codex on a MacBook, Cursor on an office desktop, OpenCode on a GPU box. Each pane shows its machine, project and branch."></p>
26 
27### Every machine, side by side
28 
29Your laptop, home server and GPU box in one window. Link each one with a password.
30No SSH keys. No Tailscale. No port forwarding.
31 
32<p align="center"><img src=".github/assets/readme/machines.gif" width="960" alt="A new GPU box runs four setup commands and comes online. The app links it with its password, then starts Claude Code there."></p>
33 
34### Keyboard first
35 
36⌘P finds any harness on any machine. ⇧⌘I jumps to the harness waiting on you. ⌘D splits. Every key remaps.
37 
38<p align="center"><img src=".github/assets/readme/keyboard.gif" width="960" alt="Keyboard only: open a harness by typing a few letters, zoom it, jump to the agent asking a question and answer it, then split a new pane below."></p>
39 
40### End-to-end encrypted
41 
42Code, keys and keystrokes are sealed on your machine. The relay forwards bytes it can't read.
43 
44<p align="center"><img src=".github/assets/readme/e2ee.gif" width="960" alt="On the left, an agent rotates a secret and redeploys. On the right, the same harness as the relay sees it: numbered frames of ciphertext."></p>
45 
46### Fast and light
47 
48A native app, not Electron. Close it and your agents keep working.
49 
50Idle measurements on an M2 Max:
51 
52- **⌘N, ⌘O, ⌘T UI:** 11–13 ms median, 15–18 ms p95.
53- **Local terminal echo:** 1.1 ms median, 7.2 ms p95, excluding UI rendering.
54- **Desktop resources:** ~0.1% of one CPU core and 304 MiB, including terminal rendering and scrollback; agent CLIs and the daemon are excluded.
55 
56Desktop results use a Release fixture with 16 terminals and 1,000 scrollback lines each.
57See the [workflow and resource benchmarks](docs/performance/2026-09-23-core-experiences.md)
58and [remote P2P, TURN and relay results](docs/performance/2026-09-23-transport-routes.md)
59for workloads, slow tails, connection failures and raw data.
60 
61### Built the way developers work
62 
63- **Real terminals.** Every agent runs in its own tmux pane. Scrollback, colors and keys just work.
64- **Your CLIs, as they are.** Harness never wraps an agent. It reads transcripts and uses the vendor's own hooks.
65- **A worktree per harness.** Start an agent on its own branch. Your working copy stays clean.
66- **Remap every key.** One JSONC file, reloaded on save. Chords up to four strokes.
67- **Local models.** Run open-weight models on your own machines with Grid, Ollama, MLX-LM and vLLM.
68- **Bytes, not pixels.** Remote terminals stream text peer to peer. No remote desktop.
69- **Open source, all of it.** App, CLI, daemon, relay and device, in this repo.
70 
71## How it works
72 
73In the workspace, a **harness** is one running session of an agent such as Codex
74or Claude Code, with its own conversation and working context. A **tab** groups
75harnesses. Use **New Harness** to start one and **New Tab** to group work.
76Harnesses in the same tab can message each other with `harness send`: **Agent Messages**,
77an experiment of your account, off by default and turned on in Settings ▸ Experimental.
78 
79The Store offers **harnesses** with instructions, tools, and optional viewers for
80specific crafts. Install a harness, then start it in your workspace. See the
81[Naming System](docs/naming-system.md) for the complete naming rules.
82 
83One daemon per machine runs your agents in tmux. It dials out, so no machine opens a port.
84 
85```mermaid
86flowchart LR
87 subgraph laptop["Your laptop"]
88 app["Harness app"] -- loopback --> d1["daemon"]
89 d1 --> a1["tmux · Claude Code · Codex"]
90 end
91 subgraph box["Your GPU box"]
92 d2["daemon"] --> a2["tmux · OpenCode · Hermes"]
93 end
94 device["Harness device"] -- USB --> d1
95 d1 <-. "direct WebRTC" .-> d2
96 d1 <-- "ciphertext" --> relay["Harness relay · no keys"]
97 relay <-- "ciphertext" --> d2
98```
99 
100Every path is sealed end to end: ChaCha20-Poly1305, X25519 session keys, pinned Ed25519 identities.
101Harness picks the best path on its own.
102 
103**Direct.** A WebRTC channel between your machines. No server in the path.
104 
105<p align="center"><img src=".github/assets/readme/connect/direct.gif" width="800" alt="The Harness window connects straight to home-server, office-desktop, cloud-server and mac-mini over WebRTC, with no server in the path."></p>
106 
107**Through Cloudflare.** When a firewall blocks the direct path, the same encrypted channel runs over
108Cloudflare's TURN network. Harness keeps trying for a direct path.
109 
110<p align="center"><img src=".github/assets/readme/connect/cloudflare.gif" width="800" alt="The encrypted WebRTC channel passes through the nearest Cloudflare edge when a firewall blocks the direct path."></p>
111 
112**Through our relay.** A fallback while WebRTC negotiates. The relay holds no keys and forwards ciphertext.
113 
114<p align="center"><img src=".github/assets/readme/connect/relay.gif" width="800" alt="The Harness relay keeps the harness reachable over its WebSocket while WebRTC negotiates. It holds no keys."></p>
115 
116The [architecture guide](docs/architecture.md) has the details.
117 
118<a id="run-it"></a>
119 
120## Get started
121 
122**[Download the app](https://harness.autonomous.ai/desktop?utm_source=github&utm_medium=readme)** for macOS or Linux.
123 
124Add a machine. Run this on it, then **Machines → Link Machine** in the app:
125 
126```bash
127curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
128harness login
129harness remote-password set
130harness start
131```
132 
133**In a terminal:** the same line installs `hn` — tmux's keys and your `~/.tmux.conf`, with every
134harness on every machine ([hn](tui/README.md)). The first time, `hn` signs in and connects the
135computer:
136 
137```bash
138curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
139hn
140```
141 
142**For agents:** Claude Code and Codex can start, wait for and read other harnesses with the `harness` skill
143([harness.autonomous.ai/agents](https://harness.autonomous.ai/agents), which has the Codex lines too):
144 
145```bash
146claude plugin marketplace add autonomous-ai/openharness --sparse .claude-plugin plugins
147claude plugin install harness@openharness
148```
149 
150<details>
151<summary><b>Build from source</b></summary>
152 
153Needs Node.js 20+, tmux, Xcode and Flutter 3.47+ / Dart 3.13+:
154 
155```bash
156git clone https://github.com/autonomous-ai/openharness.git
157cd openharness
158(cd cli && npm ci)
159make install-cli
160cd desktop
161flutter config --enable-swift-package-manager
162flutter pub get
163flutter run -d macos
164```
165 
166`make install-cli` installs this checkout's CLI and restarts the local daemon. See the
167[development guide](docs/development.md).
168 
169</details>
170 
171<a id="beyond-code"></a>
172 
173## Beyond code: Build across disciplines
174 
175> “World-class entrepreneurs are polymaths.” — [Peter Thiel](https://www.youtube.com/watch?v=h10kXgTdhNU&t=811s)
176 
177Coding agents can build far more than software. Give one a harness and it works with the real
178tools of a craft. You steer in a live viewer. Every clip below is a real session.
179 
180### Beyond code: Design
181 
182**[Blender](store/agents/blender/).** Ask for a lamp and the sliders that matter. Turn them and Blender rebuilds the geometry. Keep the versions you love.
183 
184<p align="center"><img src=".github/assets/readme/beyond/blender.gif" width="800" alt="Shape Lab in Blender: dragging height and twist sliders rebuilds a ribbon lamp, and chosen designs are kept."></p>
185 
186### Beyond code: Circuits
187 
188**[CircuitJS](store/agents/circuitjs/).** Build a filter. Change one resistor. Overlay the new trace, measure the difference and keep both.
189 
190<p align="center"><img src=".github/assets/readme/beyond/circuitjs.gif" width="800" alt="Scope Lab in CircuitJS: an RC filter captured at 1 kΩ and 2 kΩ, traces overlaid and measured with cursors."></p>
191 
192### Beyond code: Robotics
193 
194**[MuJoCo](store/agents/mujoco/).** Pin a moment in a robot's run. Shove it with 100 N. Watch two futures split.
195 
196<p align="center"><img src=".github/assets/readme/beyond/mujoco.gif" width="800" alt="A Unitree Go2 in MuJoCo: the original and shoved futures play together with a height chart."></p>
197 
198### Beyond code: Games
199 
200**[Godogen](store/agents/godogen/).** Your agent makes a playable game. Miss a jump, rewind, try again. Pin the moment so the agent sees what you mean.
201 
202<p align="center"><img src=".github/assets/readme/beyond/godogen.gif" width="800" alt="Alpine Drift, a game made with Godogen: a run is rewound, retried and a moment is pinned with feedback."></p>
203 
204### Beyond code: Music
205 
206**[Strudel](store/agents/strudel/).** The track is code you can perform. Bring voices in and out, mark the good parts, keep the WAV. [Hear it](https://github.com/user-attachments/assets/a3d4381b-5f55-406c-9d68-330cd8792fc5).
207 
208<p align="center"><img src=".github/assets/readme/beyond/strudel.gif" width="800" alt="A live Strudel performance: voice lanes play beside the code, and the take is kept with markers."></p>
209 
210### Beyond code: Chemistry
211 
212**[RDKit](store/agents/rdkit/).** Turn a bond and watch the molecule move. Follow the real energy curve. Keep the pose worth a closer look.
213 
214<p align="center"><img src=".github/assets/readme/beyond/rdkit.gif" width="800" alt="A bond scan in RDKit: the molecule rotates through sampled poses along an MMFF94 energy curve."></p>
215 
216### Beyond code: Documents
217 
218**[Typst](store/agents/typst/).** Your agent writes a real PDF. Circle a detail, quote a line, leave a note. The next draft answers it.
219 
220<p align="center"><img src=".github/assets/readme/beyond/typst.gif" width="800" alt="A Typst PDF under review: notes are pinned to an area and a sentence, then carried to the next draft."></p>
221 
222## Domain-specific harnesses (DSH)
223 
224Code is the common medium. Geometry scripts make parts. Netlists make boards. Animation code makes film.
225 
226A **domain-specific harness** turns a coding agent into a specialist. It brings the craft's
227instructions and skills, a pinned toolchain, a project template, checks and a **live viewer**.
228You chat on one side. The board, the part or the game takes shape on the other.
229 
230The agent does the reasoning. The harness supplies the tools and the view. It's a folder with a
231`harness.json`, so adding a craft never touches the app.
232 
233<!-- store-catalog:start -->
234### 49 harnesses in the Store
235 
236| Category | Agents and harnesses |
237|---|---|
238| **Coding** | [Claude Code, Codex, Cursor, OpenCode, Pi, Hermes, Command Code, Devin, Muse Code, Amp, Antigravity, GitHub Copilot, Grok Build, Kilo Code](docs/engines.md), [Machine Monitor](store/agents/machine-monitor/), [Trail of Bits Skills](store/agents/trailofbits-skills/) |
239| Essentials | [Harness Monitor](store/agents/harness-monitor/), [Memories](store/agents/memories/) |
240| Design | [Autonomous Workshop](store/agents/autonomous-workshop/), [Blender](store/agents/blender/), [Bonsai MCP](store/agents/bonsai-mcp/), [Creative Direction](store/agents/creative-direction/), [Excalidraw](store/agents/excalidraw/), [FreeCAD](store/agents/freecad/), [Generative Art](store/agents/generative-art/), [OpenSCAD](store/agents/openscad/), [text-to-cad](store/agents/text-to-cad/) |
241| Engineering | [Autonomous Circuit](store/agents/autonomous-circuit/), [CircuitJS](store/agents/circuitjs/), [Home Assistant](store/agents/home-assistant/), [KiCad](store/agents/kicad/), [Orca Slicer](store/agents/orca-slicer/), [Yosys](store/agents/yosys/) |
242| Media | [Comfy MCP](store/agents/comfy-mcp/), [Manim](store/agents/manim/), [OpenMontage](store/agents/openmontage/), [Remotion](store/agents/remotion/) |
243| Music | [Ableton AI](store/agents/ableton-ai/), [JUCE Agent Toolkit](store/agents/juce-agent-toolkit/), [Music Studio](store/agents/music-studio/), [Score](store/agents/score/), [Strudel](store/agents/strudel/) |
244| Productivity | [Marp](store/agents/marp/), [Typst](store/agents/typst/) |
245| Science & Data | [autoresearch-mlx](store/agents/autoresearch-mlx/), [Data Studio](store/agents/data-studio/), [Lab Bench](store/agents/lab-bench/), [marimo](store/agents/marimo/), [RDKit](store/agents/rdkit/) |
246| Simulation | [DimOS](store/agents/dimos/), [Drone Pilot](store/agents/drone-pilot/), [Foam-Agent](store/agents/foam-agent/), [MuJoCo](store/agents/mujoco/), [SimSkill](store/agents/simskill/) |
247| Games | [Game Master](store/agents/game-master/), [Godogen](store/agents/godogen/), [Phaser](store/agents/phaser/), [Voxel Worlds](store/agents/voxel-worlds/) |
248| Research | [Roundtable](store/agents/roundtable/) |
249| Local AI | [MLX-LM](store/agents/mlx-lm/), [Model Manager](store/agents/autonomous-grid/), [Ollama](store/agents/ollama/), [vLLM](store/agents/vllm/) |
250 
251Upstream open-source tools and original workflows. 10 [shared viewers](store/viewers/) install alongside
252the harnesses that need them. Unlisted experiments are not shown.
253<!-- store-catalog:end -->
254 
255### Build your own
256 
257The next harness is the one for your craft. Wrap a tool you love or your team's toolchain.
258It can live here or in your own repo. From this repo:
259 
260```json
261{
262 "spec": 1,
263 "id": "examples/hello-world",
264 "name": "Hello World",
265 "engine": "codex",
266 "workspace": { "template": "template", "marker": "index.html" },
267 "agent": { "instructions": "AGENTS.md" },
268 "viewer": { "use": "autonomous/web-viewer" }
269}
270```
271 
272```bash
273harness dsh install "$PWD/store/viewers/web-viewer" --link
274cp -R store/examples/hello-world ../my-harness
275harness dsh check ../my-harness
276harness dsh install ../my-harness --link
277```
278 
279Press **⌘N → Hello World** and say hello. The [authoring guide](store/README.md) covers the rest.
280 
281## Harness device
282 
283[**Get a Harness device**](https://www.autonomous.ai/harness-device), or build your own from the files below. The
284[firmware guide](devices/harness-device/firmware/README.md) lists the supported boards and build
285commands, and the [hardware guide](devices/harness-device/hardware/README.md) covers the design files.
286 
287<p align="center"><img src=".github/assets/readme/device.gif" width="960" alt="A finger taps the round Harness device, speaks a task to fix the login flow, and the device shows the agent deploying, then a summary of the shipped fix."></p>
288 
289The optional **Harness device** is a round, always-on display that sits beside
290your keyboard and shows your agents at a glance: what each one is doing, which one has finished, and
291which one is waiting on you. Read a question and answer it on the screen, or tap and speak a new task,
292without switching windows.
293 
294It is open hardware, all the way down. This repository has everything it takes to build one:
295 
296| Layer | What's here |
297|---|---|
298| [Firmware](devices/harness-device/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. |
299| [PCB](devices/harness-device/hardware/pcb/) | The EasyEDA Pro project, the schematic, Gerbers, the bill of materials, and pick-and-place data for assembly. |
300| [Enclosure](devices/harness-device/hardware/3d/) | STEP for editing and STL for printing: the housing, an iron counterweight base, the USB clamp, and the button. |
301 
302## Contribute
303 
304Make a harness for a tool you love. Improve terminals, engines, the daemon or the relay. Port the
305firmware. Start with the [contribution guide](CONTRIBUTING.md).
306 
307[Architecture](docs/architecture.md) · [Product direction (proposal)](docs/product-direction.md) ·
308[Development](docs/development.md) · [Extending](docs/extending.md) · [CLI](docs/cli.md) ·
309[Security](SECURITY.md) · [MIT license](LICENSE); upstream tools keep their own.
310 
View all files on GitHub →

Similar MCP servers

See all →
CI/CD and AutomationAutomates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.by addyosmani · ★ 98.7kVersion Bump & Release WorkflowAutomated semantic versioning and release workflow for Claude Code plugins. Handles version increments across package.json, marketplace.json, plugin.json manifests, build verification, git tagging, GitHub releases, and changelog generation. NPM publishing is the final human-required handoff because the maintainer raised npm security.by thedotmack · ★ 95.6kOrca CLIOperate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser through the `orca` CLI. Use when the user says "$orca-cli", "Orca worktree", "child worktree", "spawn codex/claude in a worktree", "read/wait/send Orca terminal", "handoff" / "handover" / "give this to another agent", "Orca browser", "orca artifacts", or "share skills". Prefer it over raw git worktree, ad hoc PTYs, or Computer Use when Orca state is involved. Use Computer Use only when a visible window needs GUI control that a CLI, filesystem, or API cannot do.by stablyai · ★ 84.5kOrca OrchestrationCoordinate supervised Orca workers: threaded messages, blocking ask/reply, task dispatch, worker_done/escalation waits, task DAGs, decision gates, coordinator loops, and decomposing work across agents. Use `orca-cli` for full ownership handoffs — "hand off", "handoff", "handover", "give this to another agent", "another worktree" — unless asked to supervise, monitor, or coordinate a DAG, and for terminal control, lightweight terminal prompts, shell commands, Orca worktree management, and reading or waiting on terminals.by stablyai · ★ 84.5kVercel deployDeploy applications and websites to Vercel. Use this skill when the user requests deployment actions such as "Deploy my app", "Deploy this to production", "Create a preview deployment", "Deploy and give me the link", or "Push this live". No authentication required - returns preview URL and claimable deployment link.by bytedance · ★ 83.5kOpen PROpen or update a pull request on pascalorg/editor from the current branch, describing only what the branch actually did. Use when the user asks to open/create a PR, push and PR, or ship a branch in the editor repo.by pascalorg · ★ 24.6k

Your agent, with every skill.

Connect once. Free when signed in.

Connect MCP