Support agents
Your agent picks up each customer where the last session left off, with open issues, prior fixes and SLA status in one bundle.
Support agent workflow →Persistent memory for your agents, with a signed receipt for every answer. Runs on your Postgres.
npx @statewavedev/statewaveSetup, deployment, privacy or compiler questions. Every answer comes from the docs memory pack and cites its source. When something isn't covered, the agent says so.
Without a memory runtime, an AI agent starts every session from zero, and when it gets an answer wrong, nobody can say what it was told.
Statewave is a memory runtime with three API calls: record episodes, compile them into typed memories, and retrieve a token-bounded context bundle with an optional signed receipt.
Statewave ships the controls a memory layer needs before it touches production data: sensitivity labels, declarative policies, signed receipts, provenance, tenant isolation and subject-level erasure.
Memories carry sensitivity labels such as pii, financial and secret. Heuristic detectors suggest labels at compile time and an operator promotes them. YAML policies deny or redact per caller and tenant, with log_only mode before you enforce.
Statewave provides AI agent memory for support desks, coding assistants, multi-agent systems and personal assistants, each keyed to the subject it serves.
Your agent picks up each customer where the last session left off, with open issues, prior fixes and SLA status in one bundle.
Support agent workflow →Your assistant recalls architecture decisions and team conventions across sessions.
Coding agent memory →Agents share one memory per subject, and policies decide what each caller sees.
Read the policy docs →Preferences and profile facts carry across sessions, and validity windows let stale facts expire.
See the domain model →Statewave runs an MCP server for coding assistants and ships connectors that turn GitHub, Slack, Zendesk and other sources into episodes.
Claude Code, Claude Desktop, Cursor, VS Code Copilot and Codex CLI are wired automatically by the quickstart. Windsurf, Cline, Continue, Zed, Aider, Goose and any other MCP client connect to the same server.
Set up the MCP server →GitHub, Slack, Zendesk, Jira, Notion, Intercom, Gmail and Discord on the outer ring.
All connectors →Statewave sits between your agent and your Postgres, with no telemetry path back to us. What leaves your network depends on the compiler you choose; the default one is fully local. See the data flow →
from statewave import StatewaveClient
with StatewaveClient("http://localhost:8100") as sw:
sw.create_episode(
subject_id="account:northwind",
source="chat",
type="conversation",
payload={"messages": [
{"role": "user", "content": "We moved our renewal to the 14th."},
]},
)
sw.compile_memories("account:northwind")
bundle = sw.get_context(
subject_id="account:northwind",
task="When does our plan renew?",
max_tokens=2000,
emit_receipt=True,
)
print(bundle.assembled_context)
print(bundle.receipt_id)npx @statewavedev/statewavecurl -fsSL https://www.statewave.ai/install | shdocker compose up -dSync and async clients, Pydantic models, retry with backoff.
pip install statewaveFetch-based client with full type definitions.
npm install @statewavedev/sdkSupport agent, coding agent, LLM loop, eval suite, plus LangChain, CrewAI and AutoGen quickstarts.
statewave-examples →Operator console for subjects, memories, labels and receipts. Ships with the quickstart.
Give OpenRouter calls persistent memory: change the base URL, add one header.
OpenRouter proxy →Statewave's memory runtime scored on LoCoMo and LongMemEval with a fork of Mem0's harness, judge and scoring code unchanged.
Axis zoomed to 0.80–1.00 so the real separation is visible.
Example receipt, signed.
$ npx @statewavedev/statewaveEverything you need to know about Statewave.
Statewave is an open-source memory runtime for AI agents. It records raw events as immutable episodes, compiles them into typed semantic and episodic memories with provenance, and returns ranked, token-bounded context bundles that LLM applications can drop straight into a prompt.
An AI memory runtime — sometimes called memory infrastructure — is the persistence layer between an LLM application and the long history of users, projects, and decisions it interacts with. Instead of bolting a vector database to a chat history, a memory runtime stores structured memories with confidence scores, validity windows, and provenance, then assembles them into deterministic context bundles for each new question.
Your application sends raw events (conversations, tool calls, decisions) to Statewave as episodes scoped to a subject — a user, account, agent, or project. A pluggable compiler turns those episodes into typed memories. When the agent needs to answer a new question, it asks Statewave for context; Statewave ranks the relevant memories and episodes by recency, similarity, kind priority, and temporal validity, then returns a ranked, token-bounded bundle ready for the LLM.
A vector database stores embeddings and returns nearest neighbours. Statewave is a memory runtime that uses a vector store (pgvector) underneath, but adds typed semantic and episodic memories, deterministic ranking with explainable signals, idempotent compilation, provenance back to source episodes, temporal validity windows, conflict resolution, and a token-bounded context-assembly step. It also persists raw episodes append-only so memory can be recompiled.
Episodic memories capture what happened — append-only event records of a conversation, tool call, or decision at a specific time. Semantic memories are typed facts compiled from episodes — profile facts, preferences, procedures, and episode summaries — with confidence scores and validity windows. Statewave returns both in the same context bundle so the agent has long-term knowledge and the recent timeline.