Persistent AI Agent
Most AI coding tools forget you the moment you close the tab. VibeKit gives every app its own agent that keeps running: an always-on agent gateway, real memory, and work that survives across days. Start a task, walk away, come back to a deploy.
Stateless vs. persistent agents
| Stateless agent (typical) | VibeKit persistent agent | |
|---|---|---|
| Closing your client | Cancels the run | Run continues |
| Memory across sessions | Empty, re-derive from prompt | Conversation, decisions, in-progress work |
| Cold start latency | 2-10s every time | No boot: the agent gateway is always on |
| Scheduled / autonomous work | You have to be there | Schedules you ask for, plus webhook triggers |
| When a deploy fails | You dig through logs | Agent reports the failing log line |
What "persistent" actually means here
- An agent that is always on. Each app's agent runs on VibeKit's always-on agent gateway with its workspace on EFS, so there is no container to boot. Your app itself runs in its own Fargate container.
- Conversation history persisted. Each app keeps one ongoing session that never expires on a timer; if a very long one gets trimmed, MEMORY.md carries what matters.
- MEMORY.md memory. Architecture decisions, gotchas, and constraints get written into the workspace's
MEMORY.md, which the agent reads and searches for real work, context that compounds across weeks. - Schedules for autonomous work. Ask for recurring work like "check the event pages every morning" and the agent runs it on schedule, then reports back.
What persistence enables
This isn't a marketing word. These are concrete things that only work because the agent doesn't forget:
- Long refactors split across days. "We're migrating from Pages Router to App Router; pick up where we left off."
- The agent remembers your style decisions ("use kebab-case for routes; never inline styles") and stops re-asking.
- You can give the agent multi-step goals ("ship feature X then start on Y") and it works through them in order.
- It remembers the bug it just fixed, so it doesn't re-introduce it three commits later.
How VibeKit's persistence is architected
Agent gateway (always on)
├── agent process ← OpenClaw, one ongoing session per app
└── workspace/ ← EFS-mounted, survives restarts
├── MEMORY.md ← long-term memory
└── ...your code
Fargate task (per app) ← runs your app at yourname.vibekit.bot
FAQ
What's a persistent AI agent?
An agent whose state survives between conversations. Most AI chat tools start every session from zero, no memory of what was decided last time, no awareness of past tasks. A persistent agent runs on always-on infrastructure, holds onto context (conversation history, file state, decisions), and is reachable across closing your IDE, restarting your phone, or coming back days later.
Do AI coding agents really run 24/7?
VibeKit's do. Each app's agent runs on an always-on agent gateway, with its workspace and memory on persistent storage, while the app itself runs in its own Fargate container. A follow-up task needs no container boot. The agent also runs scheduled or webhook-triggered work: a recurring check you asked for, or processing an inbound webhook.
How does an AI agent actually remember?
Persistence comes from three layers: the app's ongoing conversation session, which never expires on a timer, a MEMORY.md file in the workspace where the agent records architecture decisions and gotchas it should never re-litigate, and the workspace's persistent filesystem, which keeps in-progress work between turns. None of this lives only in the model context window, that's what fails when you switch sessions.
What happens to a long-running task if I close my client?
The agent keeps running. Your client (iOS app, web dashboard) is just a remote, the agent itself lives on VibeKit's servers. Disconnecting the client doesn't cancel the run. When the task finishes, the result is delivered via push notification or shows up next time you open the dashboard.
Can the agent fix problems without me asking?
Optionally yes. Ask for a schedule ("every morning, check the site and fix anything broken") and the agent runs it on its own as a fresh turn, then reports what changed. Webhooks can trigger it too. Nothing runs unless you ask, and each schedule can be paused or deleted, per app.