惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CERT Recently Published Vulnerability Notes
U
Unit 42
T
The Blog of Author Tim Ferriss
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Securelist
L
Lohrmann on Cybersecurity
Blog — PlanetScale
Blog — PlanetScale
Recorded Future
Recorded Future
D
DataBreaches.Net
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
I
Intezer
P
Palo Alto Networks Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
I
InfoQ
宝玉的分享
宝玉的分享
Security Latest
Security Latest
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threatpost
Cisco Talos Blog
Cisco Talos Blog
P
Proofpoint News Feed
博客园 - 司徒正美
H
Hacker News: Front Page
Y
Y Combinator Blog
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
NISL@THU
NISL@THU
月光博客
月光博客
有赞技术团队
有赞技术团队
Cloudbric
Cloudbric
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
A
Arctic Wolf
博客园 - 【当耐特】
W
WeLiveSecurity
V
Visual Studio Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
V2EX
C
Cyber Attacks, Cyber Crime and Cyber Security
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog

Show HN

GitHub - steveking-gh/firmion: Firmion is DSL and engine for firmware image generation. GitHub - villagesql/villagesql-skills: Agent skills for VillageSQL - gemini-cli-extension; claude-code-plugin GitHub - flightdeckhq/flightdeck: Observability and control plane for AI agents. CSP Radar GitHub - Light-Heart-Labs/DreamServer: Turn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. GitHub - Diplomat-ai/diplomat-agent-ts: What can your TypeScript AI agent do to the real world? Scan your code. See which tool calls have zero checks Code Block Selector - Visual Studio Marketplace Prometheus dependency graph — interactive showcase | Riftmap Show HN: I made a vi-like modal keyboard plugin for Figma GitHub - run-llama/liteparse: A fast, helpful, and open-source document parser GitHub - dalemyers/Roar: A macOS CLI tool for notifications GitHub - district-solutions/open-agent-tools-coder: Enables small-to-large self-hosted ai models to use local source code when running tool-calling agentic workloads. We actively data mine 20,900+ (2+ TB) popular github repos using large and small ai models to create reuseable: json, markdown and parquet files for local-first tool-calling models. GitHub - progapandist/stripeek: A local TUI proxy for real-time Stripe API debugging, built for navigating complex payloads fast. GitHub - sir1st/hermes-desktop: All-in-one cross-platform desktop app for Hermes Agent — bundles Python + hermes-agent + hermes-web-ui GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach GitHub - nixys/nxs-universal-chart: The Helm chart you can use to install any of your applications into Kubernetes/OpenShift Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code. GitHub - tamerh/enju: Coordinating Humans, AI Agents, and Compute as Peers on a Shared Workflow Graph Show HN: Continuity-auth – Respect-weighted rate limits for the open web GitHub - luml-ai/luml: AI lifecycle platform where engineers and agents track experiments, train models, and ship to production. GitHub - mrdanielcasper/CoreTex: A UNIX-inspired, biomimetic, flat-file AI harness and knowledge engine. GitHub - clemg/pierre-github: Pierre's diffs.com and trees.software for Github GitHub - lyriks-io/unspaghettit: Behavior-driven AI development without prompt spaghetti. GitHub - sofumel/claude-handoff-revive: Resume Claude Code work after rate/usage/context limits without replaying the prior transcript. Auto-saves at 90%/95% usage. Plugin-installable, 10 languages. GitHub - dotexorg/saferpc: Typed, end-to-end encrypted RPC over any bidirectional channel. GitHub - BeeZeeAgent/beezee: Agent harness orchestration Legato Next.js Boilerplate for Internal Tools · CoreUI GitHub - clark-labs-inc/clark-hash: Clark Hash, 32x smaller searchable sketches for embeddings GitHub - ZeroPointRepo/youtube-mcp: The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free. Typing Mastery — climb toward 100+ WPM, deliberately GitHub - Andebugulin/Awareen GitHub - fayzan123/claude-workflow-composer: Visual desktop app for composing multi-agent coding workflows. Drag agents, attach skills and MCPs, wire handoffs, export to .claude/ GitHub - harshaneel/humanize: Best static AI text humanizer. Two research-grounded skills that work in any LLM (Claude, ChatGPT, Gemini, Codex): humanize beats perplexity-based detectors, ai-check produces forensic scoring with evidence-quoted flags. Nine levers, 50+ peer-reviewed sources, 2024-2026 detection literature. GitHub - StackOneHQ/stack-nudge GitHub - nodes-app/swift-markdown-engine: A native AppKit Markdown editor for macOS, built on TextKit 2 and bridged to SwiftUI. We hardened an LLM agent. Each defense we added made it more exploitable. GitHub - alkait/WhatsKept: Agent-queryable WhatsApp history from an iOS backup — a single Go binary. GitHub - octelium/cordium: Open-source, general-purpose sandbox platform for devs and AI agents that provides identity-based secure access to infrastructure without credentials. WAR.GOV/UFO Microfilm5 GitHub - scosman/videowright: Build animated explainer videos with your coding agent GitHub - dipankar/dscode: The code editor you can take apart. GitHub - zoharbabin/web-researcher-mcp: MCP server (Go) for AI assistants: web search, content extraction, academic/patent/news research. Multi-provider routing, 4-tier scraping, search lenses. Works with Claude, Cursor, and any MCP client. GitHub - ruvnet/RuView: π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video. GitHub - scanaislop/aislop: Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 7 languages (TypeScript, JavaScript, Python, Go, Rust, Ruby, PHP). Sub-second, deterministic, no LLM at runtime. MIT-licensed. GitHub - kouhxp/cheap-im: CPU-only voice agent approximating Thinking Machines' Interaction Models demo GitHub - unprovable/OrchidMantis: Orchid Mantis — standalone framework for Zero-Knowledge Proofs of eXploit (ZKPoX). GitHub - MarcellM01/TinySearch: Shrink the web for your local LLMs! GitHub - TangibleResearch/Halgorithem: A Algo designed to detect AI Hallucitions GitHub - DO-SAY-GO/freelang: I love freelang GitHub - CarpseDeam/Aura-IDE: An AI coding harness that shaped itself - Planner/Worker agents, repo awareness, surgical edits, validation, recovery, and safe diff approvals. GitHub - chojs23/concord: A feature-rich TUI client for Discord GitHub - tommyjepsen/awesome-ux-skills: UX & AI Product designs skills you can use today in Claude Code GitHub - aerf-spec/aerf: Agent Evidence Receipt Format (AERF) — an open specification for tamper-evident, independently verifiable records of AI agent actions. GitHub - kklimuk/docx-cli: CLI for AI agents (Claude, Codex) to read, edit, and comment on .docx files with full format fidelity. GitHub - Jwrede/tokentoll: Catch LLM cost changes in code review. Infracost for LLM spend. GitHub - samchon/ttsc: A `typescript-go` toolchain for compiler-powered plugins and type-safe execution + 500x faster lint integrated into compiler GitHub - Higangssh/homebutler: 🏠 Manage your homelab from chat. Single binary, zero dependencies. GitHub - olalie/tapmap: See where your computer connects and what stands out on a live world map. GitHub - Diplomat-ai/diplomat-agent: What can your AI agent do to the real world? Scan your code. See which tool calls have zero checks GitHub - Bajusz15/beacon: Open-source agent for secure remote access, monitoring, and deploys across home-lab and self-hosted machines like Raspberry Pi, N100, or any Linux server. Open web based TTY or tunnel Home Assistant and other local services securely without opening ports. BigTech AI News - Chrome 应用商店 GitHub - vinhnx/VTCode: VT Code is an open-source coding agent with LLM-native code understanding and robust shell safety. Supports multiple LLM providers with automatic failover and efficient context management. GitHub - michaelaz774/decision-engine: A decision operating system for startup founders, powered by Claude Code. Synthesizes wisdom from 25+ legendary founders and investors into interactive AI-driven decision frameworks. GitHub - Chrilleweb/dotenv-diff: Validate environment variable usage in your codebase GitHub - Lumen-Labs/brainapi2: BrainAPI is a knowledge graph–powered AI memory layer that transforms unstructured data into structured knowledge, enabling intelligent search, recommendations, and contextual memory for AI agents and applications. GitHub - familiar-software/familiar: Let AI watch you work. Familiar lets your AI update its memory, skills, and knowledge by watching your screen. GitHub - skorotkiewicz/rudo: A small, elegant dock for Wayland GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. make sidebar/address bar rounded corner toggleable
Build A Harness — Visual Canvas for AI Agent Harnesses
3IVIS · 2026-06-24 · via Show HN

OPEN SOURCE · VISUAL CANVAS · APACHE 2.0

Design, test, and deploy
AI agent harnesses.

Pick the nodes your agent needs. Draw the graph. Run on any framework.

A workflow routes prompts. A harness governs what your agent believes, what it's allowed to do, and how it recovers. Build one on a canvas, compile to any framework, trace every decision with Langfuse, and deploy as a REST endpoint, MCP tool, or A2A agent.

LangGraph CrewAI Mastra MS Agent Framework

Diagram: a simple agent loop (input → LLM call → tool call → output) compared with a full Build A Harness — an 11-layer architecture across 22 nodes that adds caller state, a world model, reasoning, a 5-tier control layer, planning, execution, 9-layer verification, recovery, memory, optional learning, and an output reviewer pass.

Simple Agent Loop

Input / Caller

LLM Call

Tool Call↺ loop

Output

prompt in → answer out
no world model · no control state · no verification

Full Harness — Implemented

Caller Stateconstraints · clarification · propagation

World Modelbeliefs · contradictions · generation_id

Reasoningevidence · hypotheses (4 sources) · VOI

Control5-tier resolver · deadlock detectkey

Planningtask graph (6-state) · parallel concurrency

ExecutionVOI · review gate

Verification9 layers

Recovery6 strategies

Memorycompression · journal

Learningexperience store · warm start (optional)

Output & Reviewer Passcontract · 3-lens review

22 nodes · 11 layers · world model + 5-tier control · 9-layer verification

WHY A HARNESS, NOT JUST A WORKFLOW

A harness does what a workflow can't.

A workflow routes prompts from node to node. A harness governs what the AI believes, what it's allowed to do, how it catches its own mistakes, and what it learns for next time. Use three nodes or eleven — the same FlowSpec runs either.

Reasoning, not just prompting

Add a world_model node and your agent tracks typed beliefs, detects contradictions, and evaluates hypotheses from four generation sources before acting — instead of just asking the LLM and hoping.

Control that holds

Drop in a control_state node and your agent gains a five-tier resolver that governs every action — NORMAL → CAUTIOUS → BLOCKED. Diagnostic health vectors drive it; deadlock detection stops it escalating forever.

Verification with teeth

A verify_gate runs nine checks before every action. Pair it with reviewer_pass for adversarial review and contract validation before every return. Trust, but verify — and actually enforce it.

Recovery and learning

Add recovery for six named strategies, typed failure detection, and local vs global replanning. Attach exp_store and your agent reuses successful decompositions across future runs.

27 node types · 14 execution + 13 harness · 4 framework adapters · Langfuse observability

HARNESS NODE LIBRARY

Every layer you need. Use one or all.

27 node types — 14 execution, 13 harness. Use what your agent needs: a minimal harness might be three nodes, the full stack runs to eleven layers. Both are valid FlowSpec.

Diagram: the same node types compose into different harness graphs — a minimal harness (input → llm_call → verify_gate → recovery → output) and a full 11-layer harness — both valid FlowSpec that compile to LangGraph, CrewAI, Mastra, or Microsoft Agent Framework.

Same bricks. Different graphs. · Compose exactly the harness your agent needs — minimal or full.

Minimal · just verification + recovery

input

llm_call

verify_gate9 layers

recovery6 strategies

output

Full Harness · all 11 layers

caller_stateconstraints · escalation

world_modelbeliefs · contradictions

reasoninghypotheses · VOI

control_state5-tier resolver

task_graph6-state planning

learningoptional

reviewer_pass3-lens · adversarial

outputcontract validated

verify_gate and recovery appear in both graphs — same brick, any config · draw on the canvas · FlowSpec compiles to LangGraph, CrewAI, Mastra, or MAF

Execution layer · 14 node types

Mix and match — any subset of nodes is valid FlowSpec

4 framework adapters — same spec, any runtime

Langfuse observability — harness traces, all 4 runtimes

HITL pause/resume · REST/MCP/A2A deploy

FlowSpec v0.2.0 — open, portable JSON format

Process concepts — pre-seeded task graph scaffolds

Harness layer · 13 node types

World model · typed beliefs · contradiction detection

5-tier control state resolver · deadlock detection

Pre-execution review gate · 9-layer verification

6 named recovery strategies · typed failure library

Experience store — cross-run structural reuse

Adversarial reviewer pass · output contract validation

22 nodes · 11 layers · 379 tests passing

Foundation State Architecture

Evidence & Reasoning

World Model & Contradiction

Diagnostics & Control State

Planning & Task Graph

Execution & Verification

Recovery & Memory

Caller State & Escalation

Experience Store

Reviewer Pass & Output Contract

Canvas Integration

E2E Integration & Testing

Start with state and reasoning

world_model, hypothesis_set, evidence_store, control_state, and a six-state task_graph — the infrastructure for an agent that thinks before it acts.

Add verification and recovery

verify_gate with nine layers, pre-execution review gate, six named recovery strategies via recovery, context compression, exp_store for cross-run reuse, and adversarial reviewer_pass.

Draw, compile, and deploy

Thirteen harness node types on the canvas, Langfuse tracing with harness-specific spans, framework adapters for all four runtimes, and end-to-end tests across every combination.

GET STARTED

Up and running in two commands.

Build A Harness runs entirely on your machine via Docker. No cloud account, no sign-up — clone the repo, run two commands, and you're drawing harnesses in minutes.

terminal

# 1. Generate secrets and configure your environment
./scripts/setup-env.sh

# 2. Start all services
docker compose up

What starts up

Canvas — localhost:3000

The visual harness editor. Design with 27 node types — 14 execution nodes and 13 harness nodes including world model, control state, verify gate, and recovery.

API — localhost:8000

Compiles FlowSpec to LangGraph, CrewAI, Mastra, or Microsoft Agent Framework and runs your harnesses. Publishes each harness simultaneously as a REST endpoint, MCP tool, and A2A agent.

Langfuse — localhost:3001

Harness-aware observability dashboard. Every run traced automatically across all 4 frameworks — including world model transitions, control state changes, and recovery strategy activations.

Nine services in total. scripts/setup-env.sh handles all the secrets and configuration automatically — you only need to provide your LLM API key (or skip it and use a free local model instead).

AI MODELS

Use OpenAI, Claude, or run completely free locally.

Build A Harness routes all AI calls through LiteLLM — a proxy that works with any model provider. You pick the model in your workflow; the rest is handled automatically.

OpenAI

Add your OPENAI_API_KEY and use gpt-4o or gpt-4o-mini in any flow.

Anthropic

Add your ANTHROPIC_API_KEY and use claude-sonnet, claude-haiku, or claude-opus.

Ollama — free & local

Run mistral, qwen3, or qwen2.5-coder locally. No API key, no cost, no data leaving your machine.

Any custom model

Edit one config file to add any OpenAI-compatible model or endpoint — including self-hosted or fine-tuned models.

Want to try it without an API key? Install Ollama, pull a model (ollama pull mistral), and run ./scripts/setup-ollama.sh — it tests all four frameworks end-to-end with no paid account needed.

HOW IT WORKS

Draw your harness once. Run it on any engine.

Build A Harness stores every harness in FlowSpec — an open JSON format you own. Draw on the canvas and the spec is written for you. The same file compiles to LangGraph, CrewAI, Mastra, or MAF. Add harness nodes like verify_gate, world_model, or recovery and they compile too — no rewriting, no lock-in.

support-triage.flow.json

{
  "workflow": "support-triage",

  "nodes": [
    {
      "type": "llm_call",
      "prompt": "Classify severity"
    },
    {
      "type": "condition",
      "route": "high_priority"
    },
    {
      "type": "human_review"
    }
  ],

  "telemetry": {
    "provider": "langfuse"
  }
}

What you can build

Composable harness graphs

A minimal harness is just input → llm_call → output. Add verify_gate and recovery when you want them. Every combination is valid FlowSpec.

Safe by construction

Guardrails, retry logic, and HITL approval checkpoints are first-class node types — not wrappers you bolt on afterwards.

Shareable and portable

Your harness is a JSON file. Check it in, share it, load it on any canvas, or import into your CI pipeline.

Observable by default

Langfuse traces every step across all four frameworks — prompts, tool calls, harness transitions, failures, and costs — without any setup.

node taxonomy · execution layer14 types

agents

agent_roleagent_debate

flow control

conditionparallel_forkparallel_join

memory

memory_readmemory_write

composition

subgraphtransform

Harness node palette — 13 node types

world_model hypothesis_set control_state task_graph verify_gate recovery evidence_store exp_store reviewer_pass gather_evidence apply_tool_rel update_wm process_concept

SUPPORTED FRAMEWORKS

Use the AI framework your team already knows.

Every other visual canvas is tied to one runtime. Build A Harness separates harness design from execution via FlowSpec — so you can experiment, migrate, or compare runtimes without rebuilding your architecture each time.

LangGraph

Python · JS · MIT

The production standard for stateful agent orchestration. LangGraph's graph model maps cleanly to FlowSpec — conditional edges compile without rewriting, and harness nodes like world_model, control_state, and verify_gate slot in as standard graph nodes with no translation layer.

  • Checkpoint to Postgres or Redis — resume from any node after failure
  • Full token and graph-update streaming
  • Best fit: RAG agents, complex multi-step stateful flows

CrewAI

Python · MIT

The largest community for role-based multi-agent patterns. agent_role nodes map directly to CrewAI Crew, Agent, and Task — your canvas design becomes a crew without translation. parallel_fork for fan-out, memory_read for vector retrieval, and native vector store support included.

  • Role-based agents compile natively — no wrapping needed
  • Full memory (vector) support with top-k and threshold
  • Best fit: specialist agent teams, research crews, parallel review

Mastra

TypeScript · Apache 2.0

The only TypeScript-native orchestrator with first-class harness support. Full HITL pause and resume, full streaming (tokens and graph updates), and native vector memory — all from the same FlowSpec that also runs on LangGraph or CrewAI if you switch later.

  • Full HITL — pause, inspect state, resume from the canvas
  • Full streaming and native vector memory
  • Best fit: TypeScript / Node.js teams, JS-native stacks

Microsoft Agent Framework

C# · Python · Java · MIT

The merger of Semantic Kernel and AutoGen in one SDK, covering enterprise .NET, Python, and Java teams in a single adapter. agent_role and agent_debate map natively to AgentGroupChat; HITL runs via the _HitlPause exception pattern; durable state checkpoints via Dapr or Orleans.

  • AgentGroupChat native — debate and role patterns compile directly
  • Durable execution via Dapr or Orleans
  • Best fit: enterprise .NET, Java, or Python teams
Feature LangGraph CrewAI Mastra MS Agent Framework

llm_call · structured output

Prompt templates, model overrides, validators.

fullfullfullfull

agent_role · agent_debate

Named personas, multi-agent loops. MAF maps natively to AgentGroupChat.

via synthesisrole nativevia synthesisAgentGroupChat native

condition · parallel_fork / join

Branching, fan-out, configurable join reducers.

fullfullfullfull

hitl_breakpoint

Pause, inspect, edit state, resume.

fullpartialfull_HitlPause exception

memory · semantic (vector)

Embeddings, top-k, similarity threshold.

via pluginfullfullfull

streaming · tokens / updates

Token streaming and graph-update events.

fullpartialfullvia adapter

checkpoint · Postgres / Redis

Durable execution, resume from any node.

fullvia pluginfullvia Dapr / Orleans

EXAMPLE HARNESSES

Five ready-made harnesses to fork and build on.

The repo ships with five real, working harnesses. Each demonstrates a different composition of node types — open them in the canvas, run them, and modify them for your use case.

Flow Best framework What it shows

RAG Agent

Search a knowledge base, retrieve the most relevant chunks, and generate a grounded answer.

LangGraph Memory read, semantic search, caching

Content Moderation + Human Review

Classify content, auto-approve low-risk items, and pause for a human to review anything flagged as high risk.

Mastra Human-in-the-loop, structured output

Parallel Risk Assessment

Three specialist AI agents review a document simultaneously, then their findings are merged into one report.

CrewAI Parallel agents, fan-out/merge

Research Crew

A team of AI agents collaborate on a research task, with human approval required before any external tool is used.

CrewAI Multi-agent, tool approval

Debate Agent

Multiple AI agents argue different sides of a question until they reach a conclusion — then the flow is also exposed as an A2A agent other systems can call.

MS Agent Framework Multi-agent debate, A2A protocol

LANGFUSE OBSERVABILITY

Know exactly what your AI did — and why it did it.

Langfuse is the open-source observability platform built into Build A Harness. Every run is traced automatically across all four runtimes — no configuration required. One dashboard covers every prompt, tool call, decision, failure, and recovery action.

Build A Harness extends Langfuse with harness-specific spans that no standard tracing library produces:

Standard — every AI framework

llm_call prompt, model, tokens, latency, cost

tool_invoke name, inputs, outputs, duration

error failure type, node, stack, retry count

hitl pause time, who resumed, state diff

memory retrieval query, top-k results, scores

Harness-specific — Build A Harness only

world_model belief delta, generation_id, contradictions

control_state tier transition · NORMAL → CAUTIOUS → BLOCKED

verify_gate which of 9 layers fired, verdict, score

recovery strategy selected, failure type, replanning scope

reviewer_pass 3-lens score, contract verdict, findings

Run the same FlowSpec on LangGraph and Mastra and compare traces side by side. Langfuse runs locally at localhost:3001 — no data leaves your machine.

DEPLOY & INTEGRATE

One click to publish your harness as an API, a Claude tool, or an agent.

One API call publishes your harness three ways at once — a REST endpoint, an MCP tool, and an A2A agent — so whatever system needs it can call it the way that makes sense.

REST endpoint

Any app can trigger your flow with a standard HTTP POST. No special SDK needed — a curl command or a fetch call is all it takes to run the full harness.

MCP tool

The Model Context Protocol (MCP) lets AI assistants call external tools during inference. Publishing as an MCP server means Claude Desktop, Cursor, and any MCP client can invoke the full harness — including its 11-layer control architecture — directly from a prompt, with no extra code.

A2A agent

The Agent-to-Agent (A2A) protocol is an open standard for AI agent interoperability. Publishing as an A2A agent means other agents — built on Google ADK, OpenAI Agents SDK, Claude Agent SDK, or any A2A runtime — can discover your harness via its Agent Card and delegate tasks to it without a custom adapter.

Embeddable canvas

Drop the visual editor into your own app with the @buildaharness/canvas npm package.

MCP · Model Context Protocol

MCP is Anthropic's open standard that lets AI assistants call tools and read context during inference. When Build A Harness publishes a harness as an MCP server, each harness is exposed as a callable tool with a typed input and output schema. Any MCP client — Claude Desktop, Cursor, the Claude Agent SDK — can discover and invoke it with no additional setup.

What this means in practice: a user in Claude Desktop types "summarise this contract and flag unusual clauses" and Claude automatically calls your content-moderation harness — complete with HITL controls, verify_gate, and Langfuse tracing — as if it were a local tool.

A2A · Agent-to-Agent Protocol

A2A is Google's open protocol for AI agent interoperability. An A2A agent publishes an Agent Card — a machine-readable description of its capabilities, inputs, and outputs. Other agents, regardless of their framework, can discover the card and invoke the agent over a standard HTTP interface without needing to know its internal architecture.

What this means in practice: a research agent built on Google ADK can delegate a "parallel risk assessment" subtask to your Build A Harness flow and receive a structured result — with neither agent needing a custom adapter. Compatible with Google ADK, OpenAI Agents SDK, Claude Agent SDK, and any A2A runtime.

PUBLIC ALPHA · v0.8.0

Build A Harness is in public alpha.
Build with it.

The canvas, framework adapters, observability layer, and the full harness node library are working and ready to use. Your real harnesses, bug reports, and contributions shape what gets fixed and what gets prioritised next.

Public alpha — current and planned work is in the open

The canvas-and-adapters layer is stable but alpha — APIs may shift, Docker Compose behaviour may vary, and edge cases in less-common node combinations aren't fully covered yet. The full harness reasoning and control architecture is implemented and tested. Run it, break it, and tell us what you need. Every report shapes what gets prioritised.

track A · run & report

Run it against real flows

One docker compose up starts all nine services. Point it at a real flow — your actual use case, not a toy example. When something breaks, crashes silently, or produces wrong output, open a bug report with your FlowSpec JSON, the runtime you used, and the full error. The more specific, the faster it gets fixed.

Report a bug →

track B · shape the roadmap

Tell us what you need

Missing a node type? A harness feature that would change how you build? A runtime behaviour that doesn't map cleanly? Open a feature request. Describe what you're building and where Build A Harness falls short — concrete use cases carry far more weight than abstract asks. Phase priority is influenced by community demand.

Request a feature →

track C · build with it

Build a node pack or contribute a phase

FlowSpec v0.2.0 is stable for third-party node packs (@buildaharness/nodes/…). The full harness implementation is public and open for community contribution. The spec, adapter interface, and canvas package are all stable enough to build on today.

FAQ

Questions, answered.

What is Build A Harness?

Build A Harness is an open-source (Apache 2.0) visual canvas for designing, testing, and deploying production AI agent harnesses. Draw the full architecture using 27 node types — 14 execution nodes plus 13 harness nodes that implement the complete 11-layer control architecture: world model, 5-tier control state, 9-layer verification, 6 recovery strategies, and cross-run learning. A single FlowSpec export compiles the same design to LangGraph, CrewAI, Mastra, or Microsoft Agent Framework without rewriting. Every run is traced automatically via Langfuse, HITL controls let humans pause and resume any flow, and one API call publishes the harness simultaneously as a REST endpoint, an MCP tool, and an A2A agent. Everything runs locally via Docker — no cloud account required.

What's the difference between a harness and a workflow?

A workflow routes prompts from node to node. A harness governs what the agent believes, what it's allowed to do, how it catches its own mistakes, and what it learns for next time. The 5-tier control state knows when to slow down or stop; nine verification layers check outputs before they land; recovery strategies handle failures systematically instead of crashing.

What is FlowSpec?

FlowSpec is Build A Harness's open, runtime-neutral JSON format for describing AI agent workflows. It is the intermediate representation that sits between the visual canvas and any execution runtime. A single FlowSpec file compiles to LangGraph, CrewAI, Mastra, or Microsoft Agent Framework without rewriting. FlowSpec v0.2.0 is stable and open for third-party node packs (@buildaharness/nodes/…).

Why a runtime-neutral FlowSpec?

It decouples the canvas from any single runtime. Adding a new runtime is one adapter file, and canvas features — HITL, observability, versioning — stay independent of your runtime choice. One flow runs across all four supported runtimes without rewriting.

Why these four frameworks?

LangGraph is the production standard for stateful agents. CrewAI has the largest audience for multi-agent team patterns. Mastra is the only TypeScript-native orchestrator with first-class support. Microsoft Agent Framework merged Semantic Kernel and AutoGen, covering enterprise .NET and Python users.

Is it open source?

Yes — Apache 2.0. The canvas, adapters, FlowSpec, and the full harness implementation are all open.

Does it require a cloud account?

No. Everything runs locally via Docker — ./scripts/setup-env.sh && docker compose up. You only need an LLM API key, or skip it and run a free local model with Ollama.