Reactive Agents

Frameworks & SDKs 💻 TypeScript ⚖️ MIT 🟢 Actively maintained
25 stars

Reactive Agents is a TypeScript framework for building agent loops that are transparent, reliable across model tiers, composable, and accountable. It solves the problems of opaque execution, model lock-in, and unverifiable outputs by providing a deterministic 12-phase harness with hooks, model-adaptive profiles, and signed receipts. It is for developers who need fine-grained control over AI agent behavior and want to run the same code on local and cloud models.

Reactive Agents demo
🎞️ Demo from the project README

✨ Key features

  • 12-phase execution engine with before/after/error hooks
  • 8 LLM providers including local Ollama and cloud APIs
  • 8 reasoning strategies: ReAct, Reflexion, Plan-Execute, etc.
  • Opt-in layers via .with() builder for memory, guardrails, cost routing
  • Signed receipt with claim-evidence record and verdict per run
  • Durable crash-resume with on-disk checkpoints

🎯 Use cases

  • Build a research agent that investigates incidents and calls tools
  • Create multi-step agents that survive process crashes mid-run
  • Deploy the same agent code on local 4B models and frontier APIs
  • Implement guardrails and cost controls for production LLM apps
  • Run agent pipelines with functional combinators like parallel and race

📦 Installation

🧰 Requirements: Requires Bun runtime (for bun:sqlite and bun test). No API keys needed for local models, but cloud providers require their own keys.

bun add @reactive-agents/core

(Assuming Bun is installed. See README for full setup.)

🚀 Usage

import { ReactiveAgents } from '@reactive-agents/core';

const agent = ReactiveAgents.quick(); // resolves provider/model from env
const result = await agent.run('Investigate the incident and recommend a fix.');
console.log(result.receipt); // signed claim-evidence record

⚠️ Good to know

Some features are experimental or opt-in (e.g., Code-Action strategy, .withAdaptiveHarness()) and not yet validated for default-on; the README notes that certain features are not yet lift-gated.

❓ FAQ

What runtimes are supported?

The framework is built on Effect-TS and uses bun:sqlite, so it requires Bun as the runtime.

Can I use local models like Ollama?

Yes, Ollama is one of the 8 supported providers, and the same code works on local 4B models and cloud models.

How do I enable extra features like memory or guardrails?

Features are opt-in via the builder pattern; you add them with .with*() calls, e.g., .withMemory() or .withGuardrails().

What is the receipt?

Every run returns a signed receipt containing a claim-evidence record with a verdict and confidence, providing accountability for the agent's output.

📊 Repository

Stars★ 25
Forks🍴 4
Open issues🐛 24
Last commit🕒 Aug 26, 2026
Created📅 Feb 2026
Language💻 TypeScript
License⚖️ MIT

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.