Open source · self-hosted runtime

The runtime for agentic systems.One binary. Self-hosted.

A production backend you (or your agent) compose from typed Lua and shared modules.

Get started → ★ Star on GitHub
$git clone github.com/wippyai/app
Open source · MPL-2.0· Self-hosted· One binary· Typed Lua + WASM· Multi-node

The whole stack, built in.

wippy · one binary MPL-2.0 · self-hosted
Cluster
multi-node · gossip + Raft
Processes
supervised · isolated
Workflows
durable · DAG · Temporal
Registry
typed · versioned · rollback
Storage
SQL · vector · S3 · files
Real-time
WebSocket · SSE · queues
Security
capability-scoped
Observability
tracing · OpenTelemetry
Lua + WASM
typed · LSP · tests
Networking
per-process overlays
LLMs & agents
memory · tools · RAG · MCP
Live edit
change it running · roll back
·   typed lua

A flow is just a function.

Typed Lua, resolved by name.

The same flow runs on one node or across the cluster, and steps can be durable.

Types catch mistakes early; errors come back as values you handle.

local funcs = require("funcs")

-- flow: read → chunk → index
local function ingest(path: string): (table, error?)
    local text, err = funcs.call("storage:read", path)
    if err then return nil, err end

    local chunks = funcs.call("rag:chunk", text)
    return funcs.call("rag:index", chunks)
end
·   distribution

Run it as a cluster.

Address a process by name; the runtime routes it.

One node or many, the same code.

Gossip tracks membership with no coordinator, and a bounded Raft core agrees on the few names that need one source of truth.

send by name → routed to the owner noderaft proc noderaft proc node proc · · · · gossip membership · · · ·
add a node, it joins · gossip membership · same code near or far

Built to hold together.

Isolated

No shared state

A change here can't break code elsewhere.

Uniform

One kind of entry

Config, code, and data in one versioned store.

Scoped

Least privilege

Each part gets only the access you grant it.

Versioned

Reversible by design

Change it while it runs; roll back in a call.

A solid place to run agents.

Point Claude Code or Codex at it. It edits the running app live.

It works against a scoped surface: sandboxed eval, typed Lua, and every change reversible.

wippy · build session

Your control plane.

Keeper dashboard
keeper · dashboard
Keeper system monitor
keeper · system monitor
Dataflow replay
keeper · dataflow replay

Start from a working app.

Clone it, run the binary, scale out when you need to.