smithersai/smithers

Smithers is an agentic workflow framework for defining workflows in simple TypeScript configuration files and executing them quickly, durably, and reliably

What it solves

Smithers provides a way to build "durable" agent workflows that can survive process crashes. In standard software, if a process dies mid-execution, the state is lost; Smithers ensures that when a new process starts, it can read a journal of previous side effects and resume exactly where the previous run stopped.

How it works

It is a durable-execution engine built on the Effect framework. It records every side effect of a typed program into a journal. If a failure occurs, the engine replays the journal to restore the state. It uses content-addressed step keys (based on canonical JSON) rather than activity names to ensure that renaming a step doesn't corrupt the replay process. It supports various storage backends, with local SQLite being the primary durable option in the current release candidate.

Who it’s for

Developers building AI agents or complex automated workflows that require high reliability, long-running processes, or the ability to handle interruptions and retries without losing progress.

Highlights

  • Fault Tolerance: Workflows survive process deaths and can be resumed from a durable state.
  • Time Travel: Supports replaying, forking, and rewinding runs to earlier frames.
  • Strict Identity: Uses content-addressing for steps and caller-chosen execution IDs to prevent silent collisions.
  • Type Safety: Features schema-typed payloads, successes, and errors.
  • Agent Tooling: Includes a production agent loop with session management and model protocols.

Related

  • Project
  • Project
  • Project
  • Project
  • Project