Skip to content
Astromesh Logo

Astromesh

Multi-model, multi-pattern AI agent runtime with declarative YAML configuration.

The Astromesh ecosystem

One runtime,
13 shipped pieces around it.

Every component is versioned and released on its own cadence. They all meet at the core runtime — the engine that loads an agent and runs it. Pick a part of the stack to see what lives there.

Clockwise from the top: author an agent, choose how it executes, put it in front of people, ship it somewhere, operate it — and, upstream of all of it, make the models.

Four ways to write an agent — Python, browser, desktop, or plain English. All of them emit the same YAML.

What the core runs when a loop of tool calls is the wrong shape for the job.

The gateway between an agent and the person it is talking to, in both directions.

Where the runtime lives: a system service, a sealed appliance, or cloud infrastructure you did not have to write.

Day two. Who is running what, for which tenant, at what cost.

Upstream of everything: the foundry that trains and publishes the models the runtime routes to.

Define agents in YAML. Astromesh handles the rest — from input safety checks to model routing to tool execution.

Action language glyph-v0.1.2

The plan is a program

A ReAct loop asks the model what to do next, one tool at a time, and resends the whole prompt every turn. With pattern: glyph the model writes the plan once, as a program, and the runtime executes it — chaining locally and running independent statements at the same time.

parts-agent.glyph 5 constructs, no loops
1 v = search_parts(make="Toyota", year=2019) 3 oem = v | where(kind == "oem") | top(3, by=rating) 4 alt = v | where(stock > 0) | top(3, by=price) 6 if oem.empty: 7 eta = check_restock(sku=v.first.sku) 9 return {oem, alt, eta}

What the compiler derives

wave 1
search_parts
one call
wave 2
oem alt
independent — run together
wave 3
check_restock
only if oem came back empty
wave 4
return
result

Each name is bound exactly once, so reads and writes give an exact dependency graph. oem and alt never read each other, so nothing forces them into sequence.

Measured, against three models

Model writes the program on every run

+164% to +2839%

more expensive than ReAct, and slower in 16 of 17 runs. Output tokens cost roughly 4× input tokens, and this trades cheap input for expensive output — 81–99% of the bill is the model writing code.

Program reviewed once, pinned in spec.program

zero model calls

The model authors it, you review and parameterise it, the runtime executes it from then on. This is the mode Glyph is for, and the reason a fixed program that fails to compile stops the agent from loading instead of quietly falling back.

x = cap(arg=v) Call. Arguments are always by name.
x = c | where(a == 1) Filter a collection; conditions AND together.
x = c | top(3, by=f) Sort descending and truncate.
x = c | map({g: cap(id=id)}) One call per item, in parallel, capped at 16.
if / else The only branch. The same name may be bound in both arms.
return {x, y} {x} is shorthand for {"x": x}.
NEW adk-v0.3.0

Astromesh ADK

Agent Development Kit

Build AI agents in pure Python. Decorators, auto-generated schemas, multi-agent teams — powered by the same runtime engine under the hood.

my_agent.py
1from astromesh_adk import agent, tool
2 
3@tool(description="Search the web")
4async def search(query: str) -> str:
5 return await fetch_results(query)
6 
7@agent(
8 name="assistant",
9 model="openai/gpt-4o",
10 tools=[search],
11)
12async def assistant(ctx):
13 """You are a research assistant."""
14 return None
Decorators Python-first API
Auto Schema From type hints
6 Providers One string config
Multi-Agent 4 team patterns
CLI 5 commands
Local + Remote One codebase
$ pip install astromesh-adk
$ astromesh-adk run my_agent.py:assistant "What is quantum computing?"

Everything you need to build, deploy, and scale AI agents.

core

6 LLM Providers

Connect to any model, local or cloud

Details

Ollama, OpenAI-compatible, vLLM, llama.cpp, HuggingFace TGI, ONNX Runtime. Automatic failover with circuit breaker (3 failures → 60s cooldown).

core

7 Orchestration Patterns

From simple to multi-agent

Details

ReAct (think-act-observe), Plan & Execute, Parallel Fan-Out, Pipeline, Supervisor (delegate to workers), Swarm (agents hand off conversations), Glyph (the plan is a program, not a loop).

3 Memory Types Persistent context across conversations

Conversational (Redis/PG/SQLite), Semantic (pgvector/ChromaDB/Qdrant/FAISS), Episodic (PostgreSQL). Strategies: sliding window, summary, token budget.

RAG Pipeline Document ingestion to retrieval

4 chunking strategies (fixed, recursive, sentence, semantic), 3 embedding providers, 4 vector stores, 2 rerankers (cross-encoder, Cohere).

Mesh Discovery (Maia) Nodes find each other automatically

Gossip-based discovery, failure detection (alive→suspect→dead), leader election, least-connections routing. No manual peer configuration.

Rust Extensions 5-50x speedup on CPU-bound paths

Optional native Rust extensions via PyO3 for chunking, PII detection, tokenization, rate limiting. Pure Python fallback when not compiled.

Developer Experience

Your Toolkit

Three tools, one workflow. Define agents in YAML, run them instantly, debug with full traces — all wired together.

astromeshctl

Your command center

16 commands to scaffold, run, debug, monitor, and deploy agents — without ever leaving the terminal.

01
$ new agent Scaffold a YAML agent
02
$ run Execute instantly
03
$ traces Full execution trees
04
$ metrics Token & cost tracking
05
$ doctor Health diagnostics
06
$ ask AI copilot, inline
CLI Reference

Built-in AI Copilot

Answers that know your project

An AI assistant embedded in both CLI and VS Code that understands your agents, configs, and runtime — ask anything.

01
$ ask "Why is this slow?" Performance insights
02
$ ask "Add a RAG pipeline" Config generation
03
$ ask "Explain this trace" Debugging help
04
$ ask "Compare providers" Decision support
05
$ Copilot Chat panel Interactive in VS Code
06
$ Context-aware Reads your YAML files
Copilot Guide

VS Code Extension

Your editor becomes mission control

7 integrated features turn VS Code into a full agent development environment — from IntelliSense to live traces.

01
$ YAML IntelliSense Auto-complete & validation
02
$ ▶ Play Button Run agents from editor
03
$ Traces Panel Expandable span trees
04
$ Metrics Dashboard Real-time charts
05
$ Workflow Visualizer DAG visualization
06
$ Copilot Chat AI assistant panel
Extension Docs
Coming Soon

Connect to remote Astromesh clusters from VS Code — deploy, monitor, and orchestrate agents across production environments, all from your editor.

From a single command to a production Kubernetes cluster.

git clone https://github.com/monaccode/astromesh.git
cd astromesh
uv sync --extra all
astromeshctl init --dev
astromeshd --config ./config
NEW orbit-v0.4.1

Astromesh Orbit

Deploy to Any Cloud

One command to provision a production-ready Astromesh stack on GCP. Cloud-native managed services, declarative config, and an escape hatch to raw Terraform.

orbit.yaml
1apiVersion: astromesh/v1
2kind: OrbitDeployment
3metadata:
4 name: my-astromesh
5 environment: production
6spec:
7 provider:
8 name: gcp
9 project: my-project-123
10 region: us-central1
One Command orbit apply
Cloud-Native Managed services
Multi-Cloud GCP first, then AWS & Azure
Escape Hatch Eject to raw Terraform
Marketplace GCP Marketplace ready
Secure Defaults VPC, IAM, Auth Proxy

What gets provisioned:

Cloud Run Runtime
Cloud SQL PostgreSQL 16
Memorystore Redis
Secret Manager JWT / Provider Keys
$ pip install astromesh-orbit[gcp]
$ astromeshctl orbit apply --preset starter
NEW node-v0.1.2

Astromesh Node

Deploy as a Native System Service

Install Astromesh as a first-class OS service on Linux, macOS, and Windows. Platform packages, automatic restarts, CLI management, and 7 runtime profiles — no containers required.

Choose your platform:

Debian / Ubuntu sudo apt install ./astromesh_latest_amd64.deb
RHEL / Fedora sudo dnf install ./astromesh_latest_x86_64.rpm
macOS sudo ./install.sh
Windows .\install.ps1
System Service systemd, launchd, WinSvc
CLI Management astromeshctl
7 Profiles full, gateway, worker...
Cross-Platform Linux, macOS, Windows
Auto-Restart Restart on failure
Health Checks doctor + watchdog
$ sudo astromeshctl init --profile full
$ astromeshctl status
● Running v0.1.2 1 agent loaded 1 provider healthy

Astromesh is more than a runtime. Build agents visually, run them on a hardened appliance, orchestrate them across tenants in the cloud, put them in front of customers on WhatsApp, or spin one up in plain English.

NEW cortex-v0.19.0

Astromesh Cortex

Desktop IDE & Control Plane

A native desktop IDE for designing, testing, and shipping agents — with a managed local runtime, GCP provisioning via Orbit, and a Nexus cloud console in a single window.

.cortex/workspace.json
1 {
2 "name": "support-agents",
3 "connections": {
4 "runtime": [{ "type": "local", "url": ":8000" }],
5 "nexus": [{ "tenantId": "prod" }]
6 },
7 "environments": { "dev": { "vars": {…} } }
8 }
Desktop IDE Electron 41 · React 19
Visual Builder Drag-and-drop canvas
Local Runtime Managed venv on :8000
Deploy Anywhere Local · GCP · Nexus
Channels WhatsApp setup wizard
Dev Tunnel ngrok / cloudflared
$ npm install
$ npm run dev
NEW nexus-v0.11.0

Astromesh Nexus

Managed Multi-Tenant Control Plane

Publishes agents with versioning, dispatches runs to a shared runtime pool, and meters and bills what each one consumes. External clients call one REST API; Nexus resolves the tenant, applies its limits, and records the invocation.

run an agent
1 POST /api/v1/agents/soporte/run
2 X-API-Key: <tenant key>
3 {
4 "query": "¿Cuándo llega mi pedido?",
5 "session_id": "wa:+5491100000001"
6 }
7 → 200 { "answer": …, "usage": {
8 "credits": 412, "model": "kimi-k2" } }
Multi-Tenant The tenant comes from the credential
Versioned Registry Specs in Postgres, author + checksum
Metering & Billing Per run, per model, per tenant
Shared Runtime Pool Dispatch, not a node per tenant
Streaming Runs WebSocket, cancellable mid-flight
Per-Run Credentials One tenant, one capability, one run
$ kubectl apply -k deploy/overlays/mvp
$ curl -H "X-API-Key: $KEY" $NEXUS/api/v1/agents
New herald-v0.1.0

Astromesh Herald

The communications gateway

An inbound WhatsApp message reaches an agent, and an agent reaches a person back — through the same Postgres outbox, with the same retry budget. Herald never talks to the runtime: whether an agent exists and who may run it is Nexus's call, checked when a binding is created and again on every run.

One message, end to end
Inbound
  1. Person WhatsApp
  2. Webhook HMAC-SHA256 checked
  3. Route conversation or entry agent
  4. Nexus POST /agents/:name/run
Outbound
  1. Person delivered
  2. Channel API Graph API send
  3. Outbox 10 attempts, 30s × 2ⁿ

An agent calling send_message mid-run enters at the outbox too — same queue, same retries. A success means queued, never delivered.

The entry agent decides

When no conversation exists yet for a sender, the binding's entry agent gets the message and answers with a routing decision. That is how a courtesy refusal costs nothing: nothing is persisted, and the answer is still delivered.

{
  "answer": "Te ayudo con tu reclamo.",
  "data": {
    "route": {
      "start_session": true,
      "handoff_agent": "reclamos"
    }
  }
}

Channels

  • WhatsApp live Meta Cloud API — text, media, templates
  • Echo dev the whole pipeline with no provider account
  • Telegram reserved port implemented, returns ErrNotImplemented
  • Web chat reserved needs a WebSocket endpoint to activate
  • SMTP reserved outbound only, by design

Stubs are real port implementations that refuse work — the contract exists, the provider does not. Listing them as shipped would be a lie you would find out on a Friday.

APPLIANCE os-v0.10.1

Astromesh OS

Immutable Agent Appliance

A minimal, immutable, API-only Linux appliance built with mkosi on Debian trixie — a verified read-only root, A/B updates with automatic rollback, and the Astromesh runtime baked in at a pinned commit. Mature through Phase 4 + post-4: TPM-sealed secrets, mesh mTLS, OTel, and eBPF causal egress.

mkosi.conf
1 [Distribution]
2 Distribution=debian Release=trixie
3 [Content]
4 Bootloader=systemd-boot
5 UnifiedKernelImages=yes
6 SplitArtifacts=uki,partitions
7 # read-only root · dm-verity · A/B
8 # core image must stay ≤ 500 MB
Immutable Root dm-verity verified
A/B Updates sysupdate + rollback
API-Only No shell · no SSH
Tiny Footprint ≤ 500 MB ceiling
OCI Artifact Pulled via ORAS
Reproducible Pinned runtime ref
$ oras pull ghcr.io/monaccode/astromesh-os:v0.10.1
$ PHASE0_MODE=stub mkosi build
PLUGIN leia-v0.5.0

Astromesh Leia

Agents in Plain English

A Claude Code plugin that turns a business idea into a deployed WhatsApp agent on a Nexus cluster — no Kubernetes required. Named after Leia, a lemon beagle: approachable, loyal, friendly.

leia · session
1 /leia bootstrap local
2 ✓ Kind cluster ready · nexus @ :8080
3 /leia I need a WhatsApp bot for my café
4 ◆ interpreter → architect → preview
5 ✓ deployed: cafe-support (running)
6 /leia test cafe-support
7 > "What time do you open?"
8 ◇ "We open at 8am every day ☕"
Natural Language Plain-English ops
10 Commands create · deploy · test
5 Subagents interpreter → architect
6 Templates support · booking · …
Nexus-Native Kind or remote cluster
Smart Models Ollama + cloud fallback
$ claude plugins add ./astromesh-leia
$ /leia create a lead-qualifier bot

Create a YAML file, start the daemon, call the API.

config/agents/hello.agent.yaml
apiVersion: astromesh/v1
kind: Agent
metadata:
  name: hello-agent

spec:
  identity:
    description: A minimal test agent

  model:
    primary:
      provider: ollama
      model: llama3.1:8b
      endpoint: http://ollama:11434
      parameters:
        temperature: 0.7

  prompts:
    system: |
      You are a helpful assistant.
      Keep responses brief.

  orchestration:
    pattern: react
    max_iterations: 3
Terminal
curl -X POST http://localhost:8000/v1/agents/hello-agent/run \
  -H "Content-Type: application/json" \
  -d '{"query": "What is 2+2?", "session_id": "demo"}'
Response
{
  "agent": "hello-agent",
  "response": "2 + 2 = 4",
  "session_id": "demo",
  "tokens_used": 42,
  "provider": "ollama",
  "pattern": "react",
  "iterations": 1
}

Release ledger

Nothing here ships on the same clock

Each package carries its own version and its own changelog. A core release does not bump anything else, and a component that has not changed keeps its number. Latest movement 2026-08-10

  1. 2026-08-10 Astromesh ADK v0.3.0

    Bumped minimum `astromesh` dependency to `>=0.40.0` so the ADK stays in sync with the latest runtime.

  2. 2026-08-10 Glyph v0.1.2

    Release aligned with the rest of the suite; still no runtime dependencies and not yet published to PyPI.

  3. 2026-08-10 Astromesh Node v0.1.2

    Bumped minimum `astromesh` dependency to `>=0.40.0` and `astromesh-cli` to `>=0.3.0`.

  4. 2026-08-10 Astromesh Orbit v0.4.1

    Release aligned with the rest of the suite; no dependency changes.

  5. 2026-08-10 astromeshctl v0.3.0

    Bumped minimum `astromesh` dependency to `>=0.40.0` so the CLI matches the latest runtime.

  6. 2026-08-06 Core Runtime v0.40.0

    Builtin tool `send_message`: an agent can reach a person mid-run instead of only answering whoever wrote first.

  7. 2026-08-06 Astromesh Cortex v0.19.0

    The operator Admin panel can write: create a tariff, load a plan, assign it to a tenant — no more curl with an operator token.

  8. 2026-08-06 Astromesh Herald v0.1.0

    First release: WhatsApp Cloud API, two-way routing decided by an entry agent, a Postgres outbox with a retry budget, and an embedded operator console.

  9. 2026-08-06 Astromesh Nexus v0.11.0

    Per-run credentials — Nexus mints a short-lived token per invocation, so an agent can send a message without the shared pool holding any tenant secret.

  10. 2026-07-29 Astromesh Leia v0.5.0

    Knows agent chaining and structured output — including when a chain will silently do nothing, and how to say so.

  11. 2026-07-29 Astromesh OS v0.10.1

    A boot gate in CI: an image that imports but does not start never becomes a release.

  12. 2026-06-18 Astromesh Forge v0.24.0

    Canvas editor for multi-agent composition alongside the step-by-step wizard.

  13. 2026-06-09 Astromesh Nebula v0.1.0

    The Foundry pipeline and the GitOps catalog, with Centinela as the first model through it.

Status board

What is green, and what version it is

One row per repository, coloured by the slice of the stack it belongs to — the same taxonomy as the chart above.