Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

424 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metis

CI License: Apache 2.0 PRs Welcome

Self-host a team of AI agents that don't just chat — they work: in a sandbox, on your stack, with your own LLM provider.

Metis is an open, self-hostable agent platform. A real agent with shell and coding tools, reaching your systems through connectors — sandboxed, multi-user, on the provider you choose. Coding is one capability, not the boundary.

Run board Chat UI
Run board — every team's work in flight Live streaming chat with the agent

Why Metis

  • Agents that act, not just answer. Shell, file tools, and connectors (GitHub, Google, Linear, Metabase, …) — the agent reads, runs, edits, and hands back artifacts, sandboxed by default.
  • Multi-user from day one. Every resource belongs to a team, and the agent acts as the right person against the right systems — credentials per team and per member. A personal account is just a team of one.
  • Your provider, your infrastructure. Anthropic, OpenAI, Google, or whatever comes next, picked per conversation. No Metis-hosted inference, no per-user key vault.
  • Build your own tools, and share them. Author skills in the UI (or have the agent write them) and share them across your devices and your team.

What people do with it

Not hypothetical: Metis's sibling, Themis, runs daily in three languages at a company managing 1,000+ properties — one platform, every role:

  • Engineering — review a PR for the landmines green tests sail past (a locking migration, a hardcoded credential, a fee missing from the total), then file it as a Linear ticket.
  • Operations — run the rental operation across countries: OTA cancellations and calendar sync, pricing schedules, utilities and tax.
  • Customer service — draft discount emails, chase a booking anomaly, check whether an inbound email is genuine.
  • Leadership — audit dashboard metrics, pull KPI rankings, prep the team-meeting agenda.

Themis is Claude-only (Claude Agent SDK); Metis is the open, provider-agnostic form of the same shape, built on pi, a fast, open agent harness. The lessons come along; the lock-in does not.

pi runs on your laptop. Metis runs pi for everyone you work with — in a sandbox, on your stack, with your provider.

Stack

  • Rails 8.1, Ruby 4.0.5, PostgreSQL
  • pi agent harness, driven via the pi-agent-rb gem
  • Any LLM provider pi supports, chosen per conversation
  • Hotwire (Turbo + Stimulus, importmap) and Tailwind for the live chat UI
  • Devise for auth; Solid Queue / Cache / Cable for jobs, cache, and Action Cable

Runtimes

Where the agent runs is a deployment choice (METIS_AGENT_RUNTIME), not a code change — same agent, pick the isolation tier:

  • local — pi as a host subprocess. Dev only; not a security boundary.
  • docker — a disposable container over a persistent workspace; runs under gVisor in production.
  • e2b / daytona — cloud microVM sandboxes, paused or stopped between turns and resumed by id.
  • microsandbox — self-hosted libkrun microVMs: VM-grade isolation without a cloud vendor.

See docs/coding-runtime.md and docs/session-persistence.md.

Local bridge

Workflow steps marked run: local are delegated to your own machine: a stdlib-only Go daemon (clients/metis/) polls the deployment, claims the step, runs pi, Claude Code, or Codex headless in a git worktree, and reports the result back. Metis never drives your machine — the daemon pulls. See docs/local-bridge.md.

Learn more

Quickstart

One line — clones the repo, asks for a provider key, and boots the whole stack (Rails, Postgres, pi) in containers:

curl -fsSL https://metiser.com/setup | bash

Then open http://localhost:3000 and sign in with the seeded dev login (admin@metis.local / password). Uses Docker if you have it; on Apple silicon (macOS 26+), Apple's native container runtime (brew install container) works with no Docker at all.

The same by hand, from a checkout:

cp .env.example .env        # set ANTHROPIC_API_KEY (or another provider)
docker compose up --build   # Docker (--build on first run / Gemfile change)…
bin/container-dev           # …or Apple's container runtime, no Docker

Undo it all (containers, volumes, locally built images — the checkout stays) with … | bash -s uninstall.

See docs/configuration.md for runtimes, providers, and every variable.

Development

bin/rails test   # full Minitest suite
bin/rubocop      # lint (rubocop-rails-omakase)
bin/ci           # rubocop, security scans, and tests

See docs/architecture.md and CLAUDE.md for architecture and conventions.

About

Metis is an open, self-hostable agent platform based on Pi harness

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages