ARW

Agent Hub (ARW)

[![CI](https://github.com/t3hw00t/ARW/actions/workflows/ci.yml/badge.svg)](https://github.com/t3hw00t/ARW/actions/workflows/ci.yml) [![Docs Check](https://github.com/t3hw00t/ARW/actions/workflows/docs-check.yml/badge.svg)](https://github.com/t3hw00t/ARW/actions/workflows/docs-check.yml) [![Docs](https://img.shields.io/badge/docs-material%20for%20mkdocs-blue)](https://t3hw00t.github.io/ARW/) [![Container](https://img.shields.io/badge/ghcr-arw--server-blue?logo=docker)](https://ghcr.io/t3hw00t/arw-server) [![License](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-informational)](#licensing) [![Release](https://img.shields.io/github/v/release/t3hw00t/ARW?display_name=tag)](https://github.com/t3hw00t/ARW/releases) [![Windows x64 MSI](https://img.shields.io/badge/Windows%20x64-MSI-blue?logo=windows)](https://github.com/t3hw00t/ARW/releases/latest/download/arw-launcher-x64.msi) [![Windows ARM64 MSI](https://img.shields.io/badge/Windows%20ARM64-MSI-blue?logo=windows)](https://github.com/t3hw00t/ARW/releases/latest/download/arw-launcher-arm64.msi)

Your private AI control room that can scale and share when you choose.

In plain terms: Agent Hub (ARW) lets you run your own team of AI “helpers” on your computer to research, plan, write, and build—while you stay in charge. It is local‑first and privacy‑first by default, with the option to securely pool computing power with trusted peers when a project needs more muscle.

Restructure update: arw-server is the new unified API surface (headless-first). The legacy arw-svc remains available with scripts/start.{sh,ps1} --legacy while the debug UI and launcher are ported. Docs below call out when a command targets the legacy stack.

Full documentation → https://t3hw00t.github.io/ARW/

Feature Matrix → https://t3hw00t.github.io/ARW/reference/feature_matrix/ (living, generated from interfaces/features.json). Universal Feature Catalog → https://t3hw00t.github.io/ARW/reference/feature_catalog/ (experience-first map generated from interfaces/feature_catalog.json).

General direction: a unified object graph + a single live event stream (SSE). Every surface—Project Hub, Chat, Training Park, and Managers (Agents/Models/Hardware/Permissions/Containers/Plugins)—is just a different lens on the same shared objects, driven by the same live events. This keeps the system coherent, inspectable, and easy to extend.

Staying minimal: Start with the Core kernel defaults and stay entirely local. Anything tagged as an Opt-in pack, a Remote collaborator pack, or a Future pack is optional and stays disabled until you flip it on.

Feature Tiers

Kernel defaults (Core)

These ship with arw-server out of the box and keep working even when you stay on the minimal, local-only profile.

Why It’s Different

Safety & Control

What You Can Do

Core kernel

Opt-in packs

Remote collaborator packs

Remote collaboration packs

These unlock when you choose to collaborate or federate resources.

Scaling & Sharing

Future packs (Roadmap)

The packs and expansions we’re hardening next.

Improves Over Time

Who It’s For

Invitation

If you want AI that is useful, private, and accountable—and that can team up across machines when it matters—Agent Hub is your control room. Start local. Share only when you choose. Stay in the loop the whole time.

Under the Hood

The details that make ARW practical in real workflows.

Try ARW in 2 Minutes

Windows (headless unified server)

powershell -ExecutionPolicy Bypass -File scripts/setup.ps1
powershell -ExecutionPolicy Bypass -File scripts/start.ps1 -WaitHealth

Linux / macOS (headless unified server)

bash scripts/setup.sh
# Option A: new unified server
bash scripts/start.sh --service-only --wait-health
# Option B: legacy UI
bash scripts/start.sh --legacy --wait-health

The unified server is API-first. Point your client or integration to:

curl -sS http://127.0.0.1:8091/healthz
curl -sS http://127.0.0.1:8091/about | jq
curl -sS -X POST http://127.0.0.1:8091/actions \
  -H 'content-type: application/json' \
  -d '{"kind":"demo.echo","input":{"msg":"hi"}}'

Legacy UI surfaces (debug panels, launcher menus) still require arw-svc for the moment; run the legacy option above when you need them and watch /events + /state/* evolve in the new stack.

Docker (amd64/arm64) — unified server

docker run --rm -p 8091:8091 ghcr.io/t3hw00t/arw-server:latest

Verify endpoints

curl -sS http://127.0.0.1:8091/healthz
curl -sS http://127.0.0.1:8091/about | jq

Debug & Audit Helpers

Quick wrappers exist for common flows:

# Linux/macOS — quick debug run (legacy UI)
bash scripts/debug.sh --interactive --legacy

# Linux/macOS — supply-chain audit (cargo-audit + cargo-deny)
bash scripts/audit.sh --interactive
# Windows — quick debug run (legacy UI)
scripts/debug.ps1 -Interactive -Legacy

# Windows — supply-chain audit
scripts/audit.ps1 -Interactive

Download

Note: MSI bundles currently ship the legacy arw-svc service while the launcher UI migrates. After installation, run scripts/start.ps1 without -Legacy (or scripts/start.sh --service-only) to switch to the unified server.

Architecture at a Glance

                         Surfaces / Clients
┌────────────────────────────────────────────────────────────────────┐
│  ┌─────────────┐   ┌─────────────┐   ┌──────────────┐             │
│  │ Debug UI    │   │ Launcher UI │   │  arw-cli      │             │
│  │ (Browser)   │   │  (Tauri)    │   │  automations  │             │
│  └─────▲───────┘   └─────▲───────┘   └─────▲────────┘             │
│        │ HTTP/SSE           │ HTTP/SSE        │ REST/gRPC         │
└────────┼────────────────────┼─────────────────┼───────────────────┘
         │                    │                 │
         ▼                    ▼                 ▼
┌────────────────────────────────────────────────────────────────────┐
│                   arw-server Runtime (Unified)                     │
│ ┌──────────────┐  ┌──────────────────┐  ┌────────────────────────┐ │
│ │ HTTP Router  │  │ Live Event Bus   │  │ Policy & Gatekeeper    │ │
│ │ + Middleware │◀▶│ (SSE fan-out)    │◀▶│ (Gating, RPU, admin)   │ │
│ └─────┬────────┘  └─────────┬────────┘  └────────┬──────────────┘ │
│       │                     │                    │                │
│ ┌─────▼────────┐   ┌────────▼────────┐  ┌────────▼──────────────┐ │
│ │ Unified      │   │ Resource Pools  │  │ Journal & Kernel      │ │
│ │ Object Graph │   │ (models, memory │  │ (CAS, SQLite, replay) │ │
│ │ + Readmodels │   │  hierarchy)     │  │                      │ │
│ └─────┬────────┘   └────────┬────────┘  └────────┬──────────────┘ │
│       │                     │                    │                │
│ ┌─────▼────────┐   ┌────────▼────────┐  ┌────────▼──────────────┐ │
│ │ Logic Units  │   │ Orchestrator    │  │ Observability & Stats │ │
│ │ + Recipes    │   │ (local + NATS)  │  │ (OTel, budgets, audit)│ │
│ └─────┬────────┘   └────────┬────────┘  └────────┬──────────────┘ │
└───────┼─────────────────────┴─────────────────────────────────────┘
        │                        Event / Task Fabric
        ▼
┌───────────────────────┬──────────────────────────┬────────────────┐
│ Local Task Workers    │ Optional Peer Workers    │ Sandboxed      │
│ & Tool Runners        │ (federation / clusters)  │ Plugins (MCP,  │
│                       │                          │ WASM, Logic)   │
└───────────────────────┴──────────────────────────┴────────────────┘

Screenshot: legacy debug UI at /debug (start with --legacy and add ARW_DEBUG=1).

Screenshots → https://t3hw00t.github.io/ARW/guide/screenshots/

Docker Quickstart

# Build locally
docker build -f apps/arw-server/Dockerfile -t arw-server:dev .

# Run (dev): binds on localhost unless ARW_BIND set
docker run --rm -p 8091:8091 \
  -e ARW_PORT=8091 -e ARW_BIND=0.0.0.0 \
  -e ARW_ADMIN_TOKEN=dev-admin \
  arw-server:dev

# Verify
curl -sS http://127.0.0.1:8091/healthz

Pull from GHCR (on releases): ghcr.io/t3hw00t/arw-server:latest. Need the legacy UI image? Use ghcr.io/t3hw00t/arw-svc:latest until the new UI lands. See the Docker guide for compose and hardening.

Event Topics (Canonical)

During the restructure these constants still live in the legacy service crate; the unified server publishes the same dot.case topics via arw-events.

What’s Inside

Three primary perspectives

Logic Units (config‑first strategy packs)

Context Working Set (Never‑Out‑Of‑Context)

Universal sidecar (always on)

Next Steps

Commons Kit (what we ship on top)

Developers

Assisted, Iterative Coding

If you use an AI pair‑programmer, start here:

90‑day plan (high‑level)

Containers

Contributing

See CONTRIBUTING.md. Please open issues/PRs and discussions on GitHub.

Conventions

Who Is It For?

Non‑Goals

API and Schemas

Licensing

ARW is dual‑licensed under MIT or Apache‑2.0. See LICENSE-MIT and LICENSE-APACHE.