engineering / agent

fusion-harness

A Pi coding agent extension for multi-model opinions, fusion, debate and coordinated builds.

At a glance

Purpose
A Pi coding agent extension for multi-model opinions, fusion, debate and coordinated builds.
Runs in
Local agent with shell
Operating systems
Not stated
Needs
Runtime: just, Bun, jq and uv; Needs internet: Not stated; Needs accounts or API keys beyond your agent: Not stated
Files and data
Reads files: Yes; Writes files: Yes; Sends data to other services: Not stated
Tool type
Agent
Delivery
From GitHub
Version
Latest on the main branch
Access
Code on GitHub
Compatibility
According to the README: it is an extension for the Pi coding agent. The manual route installs Pi with npm and the repository's dependencies with npm install, and it needs just, bun, jq and uv. The .env file takes ANTHROPIC, GEMINI, FIREWORKS, OPENAI and OPENROUTER API keys, and the README says pi reads GEMINI_API_KEY for the google provider. The agentic install command /install can be run in Claude Code, Pi or another agentic coding tool. The README's manual steps use npm and brew. It names no operating systems.
External costs
According to the README, you add API keys for the providers in your model stack to a .env file: ANTHROPIC, GEMINI, FIREWORKS, OPENAI and OPENROUTER. The README states no prices. It says the opt-in model bar shows speed, cost and context for each slot. Your coding agent or model provider may charge for usage.
Permissions
The README's manual route globally installs Pi with npm, installs just, jq and uv with Homebrew, installs repository dependencies with npm and uses provider API keys in .env. The README also describes an agentic /install command for toolchain checks, dependencies, .env verification and a live launch check. The README places stack YAMLs in .pi/fusion-harness/ or ~/.pi/fusion-harness/ for launching elsewhere. The README says /fh-opinion and /fh-debate use read-only tools, while /fh-fusion gives full tools to a temporary writer that may modify the working directory. The README says /fh-auto-validate writes an acceptance gate to disk before the main builder starts. The README describes a writer token for /fh-collaborate and a working-directory-scoped lease between harness processes. The README says child agents run as separate Pi processes and each run writes artifacts under /tmp/fusion-harness-*.
Usage terms
MIT License, as stated in the repository. See its LICENSE file for the exact terms.

Code on GitHub

disler/fusion-harness

MIT

TypeScript597 stars118 forksLast pushed 23 Aug 2026 UTC

Combine Your Compute

Public GitHub data fetched · 0 days old

View on GitHub ↗

What it does

According to the README, fusion-harness is a Pi coding-agent extension with an architect, a primary builder and up to three secondary builders. The README describes opinions, fusion, debate, coordinated implementation, direct routing, model selection and gate-first validation.

The README says /fh-opinion collects independent read-only answers, /fh-fusion combines read-only research through a temporary writer, and /fh-debate runs read-only debate without a judge. The README says /fh-collaborate plans a dependency graph and runs tasks as dependencies clear, with a writer token for write-enabled tasks. The README describes /fh-auto-validate as writing and running an acceptance gate before the main build.

The README provides just launch recipes and explicit YAML model-stack configuration.

Who it is for

Developers who use the Pi coding agent and want to run several models on the same coding problem.

Example tasks

Ask every configured model the same question with /fh-opinion inside Pi.
Run a read-only debate between your models with /fh-debate inside Pi.
Have your models research a task and merge the result through one writer with /fh-fusion inside Pi.
Plan and run a coordinated build across your models with /fh-collaborate inside Pi.
Launch the default three-model stack from a terminal with just fusion.

Getting started

The README gives an agentic route and a manual one. For the agentic route, run the /install command, which lives at .claude/commands/install.md, in Claude Code, Pi or another agentic coding tool. For the manual route, the prerequisites are pi, just, bun, jq and uv. Then run npm install -g @earendil-works/pi-coding-agent, brew install just jq uv, npm install and cp .env.example .env, and fill in the API keys. The README also lists npm test. Launch with just fusion. The README has the exact commands.

Limitations

According to the README, it needs the Pi coding agent, just, bun, jq and uv, and API keys in a .env file. The model stack is an explicit YAML list of 2 to 5 slots with exactly one architect and exactly one non-architect primary. Models must be fully qualified provider/id names with configured authentication. The README says invalid or unavailable stacks fail startup, that models registered only by another extension are rejected, and that there is no config auto-discovery. It says the architect and secondary builders keep one session per slot for the life of the app run, and quitting Pi discards every slot's context. The repository can change at any time; check its README before you install.

Data practices

The README does not say what the model providers do with your prompts and code, and it does not mention telemetry. What is sent where depends on the model providers you configure. The README says the same problem goes to every model in the stack, and that /fh-fusion sends the complete fused result to every slot. It says each run writes a /tmp/fusion-harness-* folder with the prompt, per-slot artifacts and summaries. It says the sessions of the architect and the secondary builders last for the app run, and quitting Pi discards them.

Community experience

Not rated yet

Sign in to share your experience.

Comments 0

No comments yet.

Sign in to comment

Report a listing concern