Build agents you can see, steer, and trust.
AgentMuru is a Python-native runtime and Workspace for observable, human-governed AI applications. Agents, tools, events, sessions, approvals, artifacts, workflows, and traces are the application. Muru Workspace is their replayable operator projection.
python -m pip install agentmuru==0.2.0
muru doctor
muru init my-agent --name "My Agent"
cd my-agent
muru run app:applicationOpen http://127.0.0.1:8000. The scaffold uses FakeModel, so the first run is local and
credential-free.
from agentmuru import Agent, Application, FakeModel, Runtime, SQLitePersistence
persistence = SQLitePersistence("agentmuru.db")
application = Application(
agent=Agent(
name="customer-intelligence",
instructions="Investigate customer questions using governed tools.",
model=FakeModel.responses("The customer is active."),
),
session_store=persistence.sessions,
artifact_store=persistence.artifacts,
)
runtime = Runtime(application, approvals=persistence.approval_service())SQLitePersistence uses the standard library and stores sessions, messages, runs, ordered
events, artifacts, approvals, and idempotency keys in one file. It enables foreign keys and
WAL, uses atomic event counters, retries bounded lock contention, and marks nonterminal
runs process_interrupted after restart. Operate one active Runtime process per file.
- Provider-neutral streaming model events and a deterministic local provider.
- Ordered, replayable Runtime events with reconnect cursors.
- Typed tools with deny-by-default permissions, risk, approval, and redaction.
- Durable sessions, artifacts, approval audit records, and idempotency.
- Explicit workflows and agent handoffs with stable run identities.
- FastAPI HTTP/WebSocket protocol and an accessible React Workspace.
- Optional Databricks adapters outside the core dependency direction.
- 124 Python tests across Runtime, storage, security, server, integrations, workflows, CLI, examples, packaging, and docs contracts.
- 9 frontend state/component tests and 3 Chromium flows, including a real server restart.
- Ruff, MyPy, frontend lint/type/build/bundle gates, and strict MkDocs.
- An isolated wheel install with user-site and
PYTHONPATHdisabled, including CLI, scaffold, server health, durable reopen, approvals, handoff, workflow, and Databricks optional imports.
See the qualification evidence and integration status. Credential-backed Databricks calls are recorded separately and are not claimed by the offline contract gate. Production model providers and PostgreSQL are planned follow-ons.
Tool permissions are deny-by-default when declared but not granted. Risky actions pause for approval. Sensitive arguments are redacted from public events. Deployments must add authentication, explicit trusted hosts/origins, TLS, database path permissions, backup, and sandboxing for untrusted tools. Built-in SQLite is not encrypted and is intended for one Runtime process with modest write concurrency.
git clone https://github.com/AjayAJ2000/AgentMuru.git
cd AgentMuru
python -m pip install -e ".[dev,docs]"
python -m pytest -q
python -m mkdocs build --strictDocumentation: https://ajayaj2000.github.io/AgentMuru/
License: MIT.