Aetheris wraps long-running agents in durable execution semantics — crash recovery, at-most-once side effects, replayable audit trails — without forcing you to rewrite your stack.
Happy-path code runs fine in demos. In production, workers crash mid-run, retries duplicate payments, and nobody can prove what the agent actually did.
Aetheris sits between your agent and the outside world. You submit work via HTTP or Go SDK; the runtime handles durability, scheduling, and side-effect safety.
Aetheris is built around a small set of guarantees that compose correctly. Each one has a formal definition in the runtime spec.
When a worker dies, the scheduler's lease fencing detects the timeout and assigns the job to the next available worker, which resumes from the last committed checkpoint. Zero manual intervention required.
Every tool invocation is recorded in an immutable ledger before execution. On retry, the runtime checks the ledger — if the call already happened, the recorded result is returned without re-executing.
Every state transition is appended to a durable event log with full causality. Any job can be replayed step-by-step for debugging, compliance review, or post-incident root cause analysis.
Clone, start the embedded runtime, and submit your first durable job. No cloud account, no Kubernetes, no configuration files required.
git clone https://github.com/Colin4k1024/Aetheris.git
cd Aetheris
make run-embedded
curl http://localhost:8080/api/health
curl -X POST http://localhost:8080/api/agents/default/message \
-H "Content-Type: application/json" \
-d '{"content": "Summarize the top 3 HN stories"}'
# agents.yaml
agents:
- id: my-agent
type: external_http
endpoint: http://localhost:9000/run
timeout: 30s
# Python example (any HTTP server works)
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/run', methods=['POST'])
def run():
goal = request.json['goal']
return jsonify({'answer': f'Done: {goal}'})
curl -X POST http://localhost:8080/api/agents/my-agent/message \
-H "Content-Type: application/json" \
-d '{"content": "your goal here"}'
pip install aetheris-sdk
from aetheris import Client
client = Client("http://localhost:8080")
job = client.submit(
agent="default",
message="Summarize the report",
)
print(job.id, job.status)
trace = client.trace(job.id)
for step in trace.steps:
print(step.name, step.status, step.duration_ms)
Bring your existing agent written in any language. The external HTTP boundary means Aetheris is language-agnostic by design.
This page is being served by a running Aetheris instance. These shortcuts reach it directly.
From the five-minute quickstart to formal execution semantics — the full picture is in the docs.