deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

Terse open-sources Durable Actors, a self-hostable alternative to Cloudflare Durable Objects

A new MIT-licensed runtime called Durable Actors offers stateful serverless actors in TypeScript and Python, with durable state, serialized execution and self-hosting that avoids vendor lock-in.

Terse open-sources Durable Actors, a self-hostable alternative to Cloudflare Durable Objects

An open-source answer to Durable Objects

Terse has released Durable Actors, an open-source runtime for stateful serverless functions positioned as an alternative to Cloudflare's Durable Objects. The project reached Hacker News's front page on October 7, 2026, via a Show HN post advertising "configurable compute," and its code is published on GitHub under the MIT license.

According to the project's README, the pitch rests on three claims: no vendor lock-in, no memory limits, and observability built in. Cloudflare's Durable Objects run exclusively on Cloudflare's network; Durable Actors instead ships a runtime that developers can start locally with a single command and later self-host on Google Cloud Platform. The stated audience is anyone building real-time systems — chat products in the mold of ChatGPT or Codex, collaboration tools like Notion, and agent swarms like Devin.

How the actor model is applied

Durable Actors applies the actor pattern as a foundation for distributed state. An actor is a class whose state is durable, meaning data survives interruptions, errors and restarts, and whose execution is serialized, meaning concurrent callers can update it safely without racing each other.

The README illustrates both properties with concrete scenarios. A chat actor holding conversation history would keep that history intact through LLM flakiness and server crashes. A document actor could coordinate concurrent edits arriving from several people and agents at once — coordination that collaborative editors normally solve with CRDTs or locking schemes.

Mechanically, fields annotated with @Persisted are saved by the runtime, which loads actors on demand. A second annotation, @Interleave, lets other calls proceed while an actor awaits something slow; the README's chat example keeps accepting new connections while an LLM reply is still streaming.

The developer workflow

The quickstart runs npx durable-actors init followed by npx durable-actors dev to start a local server, and requires Node.js 22.19 or newer plus Bun 1.3.9 or newer. Actors live in a project's src/actors.ts, the default entrypoint the dev server loads.

The flagship example is a ChatHistory actor that calls OpenAI's gpt-5-mini through the AI SDK, appends each streamed chunk to the persisted message list, and broadcasts the updated transcript to every connected WebSocket client.

A separate command, npx durable-actors generate, produces fully type-safe clients for TypeScript and Python, the two languages currently supported. In the sample integration, an Express backend hands out WebSocket grants and a React frontend consumes them against the generated typed contract. The repository also ships complete example applications for AI chat, collaborative documents and a chatroom, and the README points to built-in observability for monitoring and debugging (referring to it, apparently in a typo, as "Durable Agents").

Why it matters

Cloudflare's Durable Objects popularized a genuinely useful primitive: a single, strongly consistent home for state inside a serverless environment. That unlocked patterns — WebSockets, rate limiters, collaborative documents, agent memory — that are awkward to build on stateless functions alone. The catch is that the primitive exists only on one provider's platform.

Durable Actors is an attempt to make that building block portable. For teams weighing agentic and real-time workloads, an MIT-licensed runtime with generated type-safe clients could soften the platform commitment that adopting the model usually requires. The caveats deserve plain statement: the project is new, self-hosting is documented for GCP specifically for now, and the claims of no memory limits and built-in observability come from the authors and await independent evaluation. Even so, as an indicator of where stateful serverless is heading — away from single-vendor primitives toward ones you can run yourself — it is a release worth watching.

  • #open-source
  • #serverless
  • #distributed-systems
  • #typescript
  • #real-time

Related posts