Open source, MIT licensed, in early development
One agent engine. Embed it, or run a fleet.
Run agents inside your Python, Node.js or Go app, or deploy them as a fleet that scales to zero, wakes on demand and survives crashes.
$ curl -fsSL https://prjvvl.github.io/agen/install.sh | shPS> irm https://prjvvl.github.io/agen/install.ps1 | iexInstalls agen and agen-host into ~/.agen/bin. Install options
Two ways to use it
Same engine, from a script to a fleet
Run a fleet
A Hub and a Nest on your machine, an example agent deployed and answering in four commands. Then the same on many machines or Kubernetes.
$ agen up
agen is up: hub http://127.0.0.1:7070
web UI: http://127.0.0.1:7070/
$ agen init
wrote the hello template to hello
$ agen deploy hello --replicas 1
deployed default/hello definition 3f1c0d2a7b9e desired 1
$ agen run hello "hi"
Hello! Nice to meet you.Embed in your app
The SDKs run the engine in your process: tools are plain functions in your language, no Hub or Nest needed. Python, Node.js and Go.
from agen import Agent, openrouter, tool
@tool(read_only=True)
def lookup_order(order_id: str) -> dict:
"""Look up an order by id."""
return {"status": "shipped", "carrier": "UPS"}
agent = Agent("order-desk",
instructions="Answer order questions using lookup_order.",
model="deepseek/deepseek-v4-flash",
provider=openrouter(),
tools=[lookup_order])
with agent:
print(agent.run("Where is my order A-1001?").output)What you get
Built for agents that run for real
Embed it
Run an agent inside your Python, Node.js or Go app with the same engine the fleet uses.
Run a fleet
Deploy agents that scale to zero, wake on demand and survive crashes, on one machine, many, or Kubernetes.
Connect everything
MCP servers as tools, agents calling agents over A2A, cron and webhook triggers, and an MCP endpoint for your assistant.
Stay in control
Permissions and approvals, budgets per run and per day, redacted secrets, and a trace of every call.
Explore the docs
Start here
How-to guides