dendrux
v0.2.0a1 · alphaGet started

Welcome to dendrux

Dendrux is a Python runtime for agents that pause and resume.

An agent built with dendrux can stop in the middle of a task to wait for a tool result from your browser, an answer from a person, or an approval, and pick up later. Even if the process that started the run has died and a different process is finishing the work, everything it needs to resume is on disk.

That's the whole library. The rest of these docs explain how it does that and how you use it.

What you get out of the box

  • An Agent you can call with await agent.run(input).
  • Pause and resume across processes. State lives in your database, not in memory.
  • Four governance layers (PII redaction, access control, guardrails, approval) that you turn on per agent, not per call.
  • A built-in dashboard for inspecting runs, steps, events, and pause data.
  • A FastAPI router (make_read_router) for read endpoints and Server-Sent Events. You write your own write endpoints; they're a few lines each.

What dendrux does not do

  • Run a server for you. You bring your own (FastAPI, anything async).
  • Manage workers, queues, schedulers, or process supervision.
  • Decide what your tools do. Tools are plain Python functions you write.

Dendrux is a library, not a hosted platform.

Is this for you?

The value is durable pause/resume. If your agent never needs to stop and wait for a human, a client-side tool, or to survive a restart mid-run, a thinner library will serve you better. Is dendrux for you? is a two-minute self-check.

Three capabilities worth knowing

Everything in dendrux serves one of these. Each has a front-door page:

Pause and resume: the differentiator. A run can stop for an approval, a human answer, or a client-side tool, persist to your database, and resume in a different process, by ID.

Governance: four protective layers (tool deny, human approval, advisory budgets, content guardrails with PII redaction) you turn on per agent as kwargs, not per call.

Evidence and observability: one stack: a fail-closed recorder, a fail-open notifier, OpenTelemetry, a dashboard, and a read API. Every LLM call, tool execution, and pause is recorded.

Where to go next

Quickstart: install dendrux and run your first pause/resume agent in five minutes. Start here.

Architecture: how dendrux works under the hood, once you've felt the loop.

Recipes: task-shaped guides for human-in-the-loop approval, browser-side tools, cancelling a run, mounting the read router, and per-thread chatbot observability.

Building a product? Read Your app DB vs the Dendrux DB: which data lives in your database vs Dendrux's, a minimal ChatGPT-style schema, and the request lifecycle for one chat turn.

The recommended order is Quickstart, then Architecture, then Recipes. Run the five-minute pause/resume demo first: dendrux's value is in how it persists and resumes, and the architecture pages land far better once you've seen it happen.