THE CLOUD WHERE AI AGENTS LIVE
Write an agent.
We run it forever.
Memory, database, compute, LLM, durability, and traces. One file. Zero infra. Your agent sleeps when idle, wakes in 200ms, and never loses work.
TEMPLATES
Deploy a 24/7 agent in under 3 minutes. Bring your API key, we handle the rest.
THE PROBLEM
Building an AI agent today means wiring together a server, a database, a queue, a cache, an LLM proxy, a secret store, and a monitoring stack before writing a single line of agent logic.
oncell replaces all of that with one object: Agent. You write TypeScript. We handle compute, state, durability, LLM routing, and traces.
BUILT INTO EVERY AGENT
+ agent.askHuman() · agent.schedule() · agent.onWebhook() · agent.spawn() · agent.once() · oncell trace · see all →
ONE AGENT, MULTIPLE MODELS
Design with claude-opus. Code with kimi-k3. Automatically.
// Skills declare WHAT to do and WHICH model to use
skills: {
design: { when: "architecture needed",
model: "claude-opus", // strong thinker
guide: "Think step by step..." },
code: { when: "writing code",
// uses default (kimi-k3) — fast coder
guide: "Write clean code..." },
}
// The loop auto-detects the active skill and switches:
// Turn 1 (kimi-k3): [SKILL:design] → switch to opus
// Turn 2 (claude-opus): designs architecture
// Turn 3 (claude-opus): [SKILL:code] → switch to k3
// Turn 4 (kimi-k3): writes code, runs testsAGENTS THAT NEVER LOSE WORK
Every awaitis a checkpoint. Kill the process, redeploy, approve three days later — the run completes.
agent.task("refund", async ({ orderId, amount }) => {
const order = await agent.db.sql`SELECT * FROM orders WHERE id = ${orderId}`;
// Parks here. Can wait days for a human.
const ok = await agent.askHuman({ question: `Refund $${amount}?` });
if (ok.approved) await agent.llm("Process the refund");
// Sleep 30 days, then follow up. $0 while sleeping.
await agent.sleep({ days: 30 });
await agent.llm("Check if customer is satisfied");
});USE FROM YOUR APP
import { OnCell } from "@oncell/sdk";
const oncell = new OnCell({ apiKey: "oncell_sk_..." });
// Run a task
const result = await oncell.agent("engineer").run("build", {
prompt: "Add dark mode to the settings page",
});
// Stream events
for await (const event of oncell.agent("engineer").stream("build", { prompt })) {
console.log(event.type, event.data);
}WHY ONCELL
Build your first agent.
npm install oncell · write agent.ts · oncell deploy