Skip to content

Declare your agents. Milieu runs them.

An AI agent ecosystem for the enterprise

Milieu runs AI agents inside your organisation. They reach your systems through a gateway that keeps the credentials, work in a sandbox with only the access you grant, and log every action to a tamper-evident audit trail.

01

Connect agents to your systems

Agents call your APIs, databases, internal tools, and MCP servers, but only through named routes that you approve.

Learn how it works

Agents

  • miraassociate
  • arunadministrator
  • veraauditor

Trusted zone

  • Approved routes
  • Credential broker
  • Audit log

Credentials are kept here

Your systems

  • APIs
  • Databases
  • Internal tools
  • MCP servers
02

Describe your agents in one manifest

The manifest lists your agents, their roles, what they can use, and what they know. Validate it, preview the change, then apply it. The same file works on a server, in your cloud, or on Kubernetes.

Learn how it works
milieu.yaml
  1. apiVersion: milieu.dev/v1
  2. kind: Agent
  3. metadata: { name: mira }
  4. spec:
  5. role: associate1
  6. permissions:2
  7. - "knowledge(search:*)"2
  8. - "memory(save:*)"2
  9. ---
  10. apiVersion: milieu.dev/v1
  11. kind: Project
  12. metadata: { name: acme }
  13. spec:
  14. members: [mira, arun]1
  15. knowledge:3
  16. - source: ./projects/acme3
  17. ---
  18. apiVersion: milieu.dev/v1
  19. kind: Knowledge3
  20. metadata: { name: policies }
  21. spec:
  22. layer: global3
  23. sources: [./global/knowledge]3
  1. 1

    Roles and teamwork

    Each agent has a role, such as associate, administrator, or auditor. Agents hand work to each other and run recurring tasks on a schedule.

  2. 2

    Per-agent permissions

    Each agent gets an explicit list of tools, such as knowledge(search:*). Milieu refuses any call that isn’t on it.

  3. 3

    Layered knowledge and memory

    Agents draw on company-wide, team, and project knowledge, and remember past conversations. Search works by keyword and, optionally, by meaning.

03

Audit every action

Milieu appends every command and tool call to a hash-chained audit log. If anyone edits, reorders, or deletes an entry, the chain breaks and Milieu reports it.

Learn how it works
  • Session transcripts

    Read exactly what an agent was asked and what it did, and resume the conversation later.

  • Verified in your pipeline

    Run milieu audit verify on demand or in continuous integration (CI) to show the log hasn’t been altered.

  • Your own audit key

    Key the chain with an HMAC key kept outside the installation, so someone who can edit the log can’t forge entries that still verify.

  • Signed messages

    Each agent signs what it sends, and Milieu refuses delivery of a message whose signature doesn’t verify.

04

Run it in production

One installation serves one team or tenant. It runs as a single node with its state in SQLite, so you scale by adding installations rather than replicas.

Learn how it works
  • Policies and approvals

    Write access rules as Cedar policies. Run them in shadow mode beside Milieu’s own checks, then enforce them. A policy can make a call wait for a person’s approval.

  • A signed supply chain

    The OCI image is built from digest-pinned base images, scanned, signed with Sigstore, and published with a software bill of materials (SBOM) and build provenance.

  • OpenTelemetry

    Traces and metrics cover model calls, skill runs, and tool calls, so agents show up in the monitoring you already run.

  • Upgrades in place

    Each database records its schema version. A new release upgrades it step by step, and an older release refuses a schema it doesn’t know.

  • One turn at a time

    A conversation takes one turn at a time, whether it arrives over the CLI, REST, MCP, A2A, or the portal. Milieu asks a second caller to retry, so turns never interleave in the transcript.

  • Clean restarts

    On shutdown, a server first fails its readiness check, then gives in-flight requests a grace period. A request that can’t finish gets a 503 response, not a dropped connection.

  • Drift detection

    milieu apply drift reports anything changed outside the manifest since the last apply, and exits non-zero so CI can catch it.

  • Known limits, written down

    Per-host network filtering covers only proxy-aware HTTPS, and an audit log cut short at the end needs an external anchor to detect it. The security guide lists every known limitation.

Try the support team example

The getting-started guide builds a customer support team end to end: three agents, a knowledge base, memory, and an audit trail. milieu setup asks a few questions and writes the manifest for you.

$ make build
$ ./milieu setup

Agents, declared and managed the Kubernetes way

Many agent platforms are toolkits, where developers build each agent in code from blocks and modules. Milieu works the way Kubernetes does: you declare the agents you want in a manifest, and Milieu creates them and keeps them in that state.