AXME

April 11, 2026 · View on GitHub

Durable execution for AI agents and services - workflow orchestration with built-in human approval gates, agent crash recovery, and multi-agent orchestration. No cluster required.

Submit work once. AXME drives it to completion through crashes, retries, timeouts, and human-in-the-loop steps. A managed Temporal alternative with durable execution without cluster setup, an agent kill switch, and an agent monitoring dashboard out of the box.

Alpha License cloud.axme.ai

Quick Start · Docs · Examples · Spec


intent = client.send_intent({
    "intent_type": "intent.deployment.approval.v1",
    "to_agent": "agent://myorg/prod/deploy-checker",
    "payload": {"service": "api-gateway", "version": "3.2.1"},
})
result = client.wait_for(intent["id"])  # waits hours if needed. survives crashes.

AXME scenario demo


Why AXME?

  • Human approval gates that survive for hours - AI agents block forever waiting for human approval - no reminders, no escalation, session dies. AXME provides built-in human-in-the-loop task types that wait as long as needed.
  • AI agent crash recovery - agent crashes mid-task - state is gone, start over from scratch. AXME preserves intent state across restarts so work resumes, not restarts.
  • Webhook retry is everyone's problem - backoff, jitter, DLQ, HMAC, idempotency. AXME handles delivery guarantees so you don't.
  • Multi-agent orchestration across machines - most frameworks only work in one process. AXME provides an agent coordination protocol that works across services, languages, and clouds.
  • Temporal alternative without the overhead - Temporal is overkill for 80% of use cases - cluster, determinism constraints, no built-in HITL. AXME gives you durable execution without cluster setup.
  • Agent monitoring dashboard and kill switch - agents in production with zero visibility - no health checks, no cost tracking, no way to stop a misbehaving agent. AXME includes a real-time agent monitoring dashboard and an agent kill switch out of the box.

Before and After

Without AXME - polling, webhooks, Redis, and glue code:

resp = requests.post("https://api.vendor.com/generate", json=payload)
job_id = resp.json()["job_id"]

for _ in range(120):                          # poll loop
    status = requests.get(f".../jobs/{job_id}").json()
    if status["state"] in ("completed", "failed"):
        break
    time.sleep(5)

@app.post("/webhooks/vendor")                 # webhook endpoint
def handle_webhook(req):
    redis.set(f"job:{req.json['job_id']}", req.json["result"])

result = redis.get(f"job:{job_id}")           # fetch from cache

With AXME - submit once, get result later:

from axme import AxmeClient, AxmeClientConfig

client = AxmeClient(AxmeClientConfig(api_key="axme_sa_..."))
intent = client.send_intent("agent://myorg/prod/generator", payload)
result = client.wait_for(intent["id"])        # retries, timeouts, delivery - handled

No polling. No webhooks. No Redis. No glue code.


Quick Start

# Install CLI
curl -fsSL https://raw.githubusercontent.com/AxmeAI/axme-cli/main/install.sh | sh

# Authenticate
axme login

# Run your first example
axme examples run human/cli

Full walkthrough: cloud.axme.ai/alpha/cli


Agent Monitoring Dashboard - See and Control Your Agents

Every agent you deploy gets a real-time agent monitoring dashboard, policy enforcement, and an agent kill switch.

Open the live dashboard at mesh.axme.ai, or from your terminal:

axme mesh dashboard

Agent Mesh Dashboard

Dashboard - all agents on one screen with health, intents, and cost tracking (day/week/month).

Policies - restrict which intent types an agent can send or receive, set cost and rate limits, auto-block on breach.

Policies

Kill switch - isolate a misbehaving agent in one click. All intents blocked instantly. Reversible.

from axme import AxmeClient, AxmeClientConfig

client = AxmeClient(AxmeClientConfig(api_key="axme_sa_..."))
client.mesh.start_heartbeat()  # agent appears in dashboard with live health
client.mesh.report_metric(success=True, latency_ms=230, cost_usd=0.02)

AXME vs Temporal vs Inngest

DIY (webhooks + polling)TemporalInngestAXME
PollingYesNoNoNo
WebhooksYesNoYes (event-driven)No
Human approval gatesCustom buildPossible (heavy)NoBuilt-in (8 task types)
Workflow orchestrationManual state machineRequired (deterministic)Step functionsNot required
Agent monitoring dashboardCustom buildNoNoBuilt-in
Agent kill switchNoNoNoOne-click isolate
AI agent crash recoveryNoReplay-basedRetry-basedIntent-state durable
Multi-agent orchestrationNoPossible (complex)NoNative agent coordination protocol
Human in the loopNoExternalNo8 built-in task types
SetupLow (but fragile)High (cluster + workers)Medium (functions)None (managed)
Lines of code~200~80~404

What You Can Build

Backend teams - workflow orchestration for approval flows, long-running API coordination, replace polling and webhooks.

AI agent builders - human-in-the-loop approvals that wait hours not minutes, multi-agent orchestration with handoffs across services, AI agent crash recovery across restarts, framework-agnostic (LangGraph, CrewAI, AutoGen, raw Python).

Platform teams - one agent coordination protocol instead of webhook-polling-queue stack, a Temporal alternative that ships in minutes.


Intent Lifecycle
CREATED -> SUBMITTED -> DELIVERED -> ACKNOWLEDGED -> IN_PROGRESS -> WAITING -> COMPLETED
                                                                            \-> FAILED
                                                                            \-> CANCELLED
                                                                            \-> TIMED_OUT
Delivery Bindings

How intents reach agents and services:

BindingTransportUse Case
streamSSE (server-sent events)Real-time agent listeners
pollGET pollingServerless / cron-based consumers
httpWebhook POSTBackend services with an HTTP endpoint
inboxHuman inboxHuman-in-the-loop tasks
internalPlatform-internalBuilt-in platform steps (reminders, escalations)
Human Task Types
TypePurpose
approvalBinary yes/no decision gate
reviewContent review with comments and verdict
formStructured data collection
manual_actionPhysical or out-of-band action
overrideManual override of an automated decision
confirmationAcknowledge receipt before proceeding
assignmentRoute work to a specific person or team
clarificationRequest missing information

Three paths for human participation:

PathHow
CLIaxme tasks list then axme tasks approve <task_id>
EmailMagic link sent to assignee; click to approve/reject
FormCustom form submitted via API or embedded UI
Connecting an Agent
from axme import AxmeClient, AxmeClientConfig

client = AxmeClient(AxmeClientConfig(api_key="axme_sa_..."))

for delivery in client.listen("agent://myorg/myworkspace/my-agent"):
    intent = client.get_intent(delivery["intent_id"])
    result = process(intent["payload"])
    client.resume_intent(delivery["intent_id"], result)

Agent addressing: agent://org/workspace/name

ScenarioBundle

A JSON file that declares agents, human roles, workflow steps, and an intent - everything to run a coordination scenario:

{
  "scenario_id": "human.cli.v1",
  "agents": [
    { "role": "checker", "address": "deploy-readiness-checker", "delivery_mode": "stream", "create_if_missing": true }
  ],
  "humans": [
    { "role": "operator", "display_name": "Operations Team" }
  ],
  "workflow": {
    "steps": [
      { "step_id": "readiness_check", "assigned_to": "checker" },
      { "step_id": "ops_approval", "assigned_to": "operator", "requires_approval": true }
    ]
  },
  "intent": {
    "type": "intent.deployment.approval.v1",
    "payload": { "service": "api-gateway", "version": "3.2.1" }
  }
}
axme scenarios apply scenario.json --watch
MCP - AI Assistant Integration

AXME exposes an MCP server at mcp.cloud.axme.ai. AI assistants (Claude, ChatGPT, Gemini) can manage the platform through 48 tools.

POST https://mcp.cloud.axme.ai/mcp
Authorization: Bearer <account_session_token>

{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
 "params": {"name": "axme.intents_send", "arguments": {
   "to_agent": "agent://myorg/production/my-agent",
   "intent_type": "task.process.v1",
   "payload": {"data": "..."}
 }}}

Connector setup guides for Claude, ChatGPT, and Gemini.

AXP - the Intent Protocol

AXP is the open protocol behind AXME. It defines the intent envelope, lifecycle states, delivery semantics, and contract model. AXP can be implemented independently of AXME Cloud.

Protocol spec: axme-spec

SDKs

All SDKs implement the same AXP protocol surface. All are at v0.1.2 (Alpha).

SDKPackageInstall
Pythonaxmepip install axme
TypeScript@axme/axmenpm install @axme/axme
Gogithub.com/AxmeAI/axme-sdk-go/axmego get github.com/AxmeAI/axme-sdk-go@latest
Javaai.axme:axme-sdkMaven Central
.NETAxme.Sdkdotnet add package Axme.Sdk
Repository Map
RepositoryDescription
axmeThis repo - project overview and entry point
axme-docsAPI reference, integration guides, MCP connector setup
axme-examplesRunnable examples across all SDKs
axme-cliCLI - manage intents, agents, scenarios, tasks
axme-specAXP protocol specification
axme-conformanceConformance test suite
Contributing

See CONTRIBUTING.md · SECURITY.md · CODE_OF_CONDUCT.md


Topics

durable-execution workflow-orchestration temporal-alternative human-in-the-loop human-approval-gates ai-agent-crash-recovery agent-kill-switch agent-monitoring-dashboard multi-agent-orchestration agent-coordination-protocol durable-execution-without-cluster ai-agents hitl intent-protocol agentic-workflows


contact@axme.ai · @axme_ai · Security · License