Yoke.sh

Yoke Documentation

The complete guide to building always-on, event-driven agentic systems with Yoke.

Yoke is an always-on runtime you embed in your own product. Coding harnesses, personal assistants, research pipelines — those are products you build. Yoke is the event-driven kernel that runs inside your server. It is not an LLM framework and not the thing your users log into. Agents are ordinary actors that react to events, call models when needed, and persist state in SQLite.

What makes Yoke different

PrincipleWhat it means
Stream is the spineAll communication goes through one global event log. No direct actor channels.
No targetsPublishers emit typed events. Consumers self-select via filters.
Definitions fixed, instances dynamicActor types are registered at build time. Instances are created at runtime.
Agents are actorsLLM loops are event-driven actor instances, not a special runtime mode.
Forum + monologuePublic chat and private agent reasoning share one conversation store.

Stack at a glance

Your product (CLI / web / API)
    ↓
Your server
    embeds yoke-runtime (Rust)
        → Postgres (stream, queues, instances, conversations)
        → SQLite per actor (state, indexes, custom tables)
        → Deno worker
            → your package (yoke.ts, @yoke/sdk)

Portal HTTP and the control-plane port are private to your process. Public ingress is whatever your server exposes.

Who this documentation is for

  • Product builders embedding Yoke in their own server (coding harnesses, assistants, ops systems)
  • Package authors writing the TypeScript actors your server loads
  • Platform engineers operating single-tenant or multi-tenant deployments

Where to start

Read Embed Yoke in your product — how your server hosts the runtime and loads your package.

Complete Installation — Postgres, Rust toolchain, Deno 2, and environment variables.

Follow Quick start to run a minimal package locally and watch stream fan-out.

Read Your first package to structure yoke.ts, actors, and portals.

On this page