Open source · MIT or Apache 2.0

Run Construct. On your hardware. With your keys.

A single Rust binary with an embedded React dashboard, a Python Operator MCP for orchestration, and Kumiho as the persistent memory backbone. Install in one command, BYO any of 14+ providers, and start shipping multi-agent workflows.

Construct dashboard hero

Install in one command

Pipe the installer straight from GitHub. It handles toolchain, sidecars, onboard, and the dashboard at http://127.0.0.1:42617 — no clone needed.

macOS / Linux / WSL
# One-line install (macOS / Linux / WSL)
curl -fsSL raw.githubusercontent.com/KumihoIO/construct-os/main/install.sh | bash

# then
construct gateway     # start the HTTP gateway + dashboard
construct agent -m "Hello"
construct status
Windows · PowerShell
# One-line install (Windows · PowerShell)
curl.exe -sSfL raw.githubusercontent.com/KumihoIO/construct-os/main/setup.ps1 -o "$env:TEMP\construct-setup.ps1"; & "$env:TEMP\construct-setup.ps1" -Mode Prebuilt

# then
construct gateway
construct agent -m "Hello"
construct status
The Windows installer downloads a prebuilt binary by default — no Rust toolchain required. Drop -Mode Prebuilt to compile from source instead.
The installer does the following:
  • Auto-installs Rust via rustup if missing (source mode)
  • Or fetches a prebuilt construct binary (default on Windows)
  • Installs Kumiho + Operator Python MCP sidecars under ~/.construct/
  • Runs construct onboard for interactive provider + API-key setup
  • Opens the dashboard at http://127.0.0.1:42617
construct onboard

First run — construct onboard

After install, the onboard wizard configures your workspace: pick a default provider, paste your API key (or sign in via OAuth where supported), set the Kumiho endpoint, and choose channels. Re-run any time to add or rotate providers.

  • Interactive picks: provider, model, Kumiho endpoint, channels
  • OAuth where supported: Anthropic, OpenAI, Google, GitHub
  • API-key paste for everything else — keys never leave the host
  • Writes ~/.construct/config.toml; safe to re-run
  • --quick mode skips prompts with sensible defaults
construct onboard
# Interactive wizard — pick provider, paste keys, set defaults
construct onboard

# Or skip the prompts: minimal config, sensible defaults
construct onboard --quick

Prerequisites

Rust stable (1.87+)

install.sh / setup.bat installs it via rustup if missing.

Python 3.11+

Required for the Kumiho and Operator Python MCP sidecars.

Kumiho endpoint

Defaults to api.kumiho.cloud (free 5,000 nodes). Self-host on Enterprise.

Disk / RAM

Source build needs ~6 GB disk and ~2 GB RAM. Prebuilt binary is ~200 MB.

config.toml

Point Construct at Kumiho

Construct talks to Kumiho over HTTP via [kumiho].api_url. Without a reachable endpoint Construct degrades to stateless single-agent operation — useful for demos, but cross-session memory and provenance live in the graph.

# ~/.construct/config.toml
default_provider = "anthropic"
api_key = "sk-ant-..."

[kumiho]
enabled = true
mcp_path = "~/.construct/kumiho/run_kumiho_mcp.py"
space_prefix = "Construct"
api_url = "https://api.kumiho.cloud"   # or your self-hosted URL

[operator]
enabled = true
mcp_path = "~/.construct/operator_mcp/run_operator_mcp.py"

Workflow DSL — 17 step types

Workflows are YAML artifacts attached to Kumiho revisions. Every save is a new revision with full diff history; promotion is a tag. Multi-agent patterns are first-class.

Canonical step types
agentshelloutputa2aconditionalparallelgotohuman_approvalhuman_inputmap_reducesupervisorgroup_chathandofffor_eachresolvetagdeprecate
Reactive graph triggers

Tagging a Kumiho revision fires every workflow with a matching triggers: block. The graph is the event bus.

# A reactive workflow that fires when any
# qs-arc-plan revision is tagged "ready" in Kumiho
triggers:
  - on_kind: "qs-arc-plan"
    on_tag: "ready"
    input_map:
      arc_kref: "${trigger.entity_kref}"
      arc_name: "${trigger.metadata.arc_name}"

CLI commands

Top-level construct subcommands.

$construct onboard
Initialize workspace and configuration (interactive or --quick).
$construct agent
Interactive loop or single-shot with -m, provider/model override.
$construct gateway
Start / restart / inspect the HTTP + WebSocket gateway.
$construct daemon
Long-running runtime: gateway + channels + heartbeat + scheduler.
$construct doctor
Diagnose config, sidecar, and channel issues.
$construct cron
Manage scheduled tasks (cron / at / every / once).
$construct memory
Manage agent memory entries (list, get, stats, clear).
$construct estop
Engage / resume emergency stop (network-kill, domain-block, tool-freeze).
$construct channel
Manage channels (list, add, remove, send, doctor, bind).
$construct auth
Provider subscription auth profiles.
$construct plugin
Manage WASM plugins (feature: plugins-wasm).
$construct desktop
Launch or --install the companion Tauri desktop app.
Live workflow execution view with DAG and event panel

Embedded web dashboard

18 routed views built with React, TypeScript, Tailwind, and Vite — then baked into the Rust binary at compile time via rust-embed. One binary. One entry point.

Orchestration
  • Dashboard
  • Workflows
  • Workflow Runs
  • Agents
  • Canvas
  • Teams
Operations
  • Assets
  • Skills
  • Tools
  • Integrations
  • Cron
  • Pairing
  • Config
  • Cost
Inspection
  • Memory
  • Logs
  • Audit
  • Doctor

Protocols

Construct speaks the modern agent protocols out of the box.

A2A (Agent-to-Agent)

JSON-RPC 2.0 task lifecycle, agent-card discovery at /.well-known/agent-card.json, retry with backoff.

MCP (Model Context Protocol)

In-process MCP server with session registry, progress wrapping, and skills-as-tools.

ACP (over stdio)

JSON-RPC 2.0 over stdio for IDE / tool integration via construct acp.

Security and trust

Merkle hash-chain audit

Tamper-evident event log with cryptographic verification at /api/audit/verify.

Trust scoring

Every execution scored. Trust scores recorded under Construct/AgentTrust/ in Kumiho.

Human approval gateway

Pause workflows for yes/no confirmation via dashboard, Slack, or Discord.

E-Stop

Emergency stop with engagement levels: network-kill, domain-block, tool-freeze.

Related

Open source. Yours to run.

Construct is dual-licensed under MIT or Apache 2.0. The Kumiho free tier is 5,000 nodes — real evaluation territory, not a demo cap. The 30-day Studio trial unlocks the moment Construct stores its first memory.

Install Construct — Open-Source Rust Multi-Agent Runtime, YAML Workflows, MCP & A2A on Kumiho | Kumiho