MCPcopy Index your code
hub / github.com/elizaOS/eliza

github.com/elizaOS/eliza @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
160,815 symbols 717,464 edges 24,228 files 25,003 documented · 16%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

elizaOS

elizaOS

Your agentic operating system.

<a href="https://eliza.app">Homepage</a> ·
<a href="https://app.elizacloud.ai">Web app</a> ·
<a href="https://os.elizacloud.ai">Install the OS</a> ·
<a href="https://docs.elizaos.ai/">Docs</a> ·
<a href="https://plugins.elizacloud.ai">App catalog</a>

What is this?

elizaOS is an open-source, local-first operating system for AI agents. Two parts:

  • Eliza — the app. An AI assistant for desktop, mobile, and web: chat, voice, your messaging accounts, a personal-assistant brain, a non-custodial wallet, browser automation, and on-device models.
  • elizaOS — the runtime and the OS underneath it. The same runtime can take over the whole machine — boot a Linux desktop or run on Android as the system assistant.

The agent, your data, and the models all run on your device. Eliza Cloud is optional — add it for hosted inference, sync, and deploys.

Get Eliza

Platform How
Web Open app.elizacloud.ai
Desktop — macOS · Windows · Linux Download from GitHub Releases
iOS · Android App Store · Play · sideload

Run from source:

git clone --filter=blob:none https://github.com/elizaos/eliza.git
cd eliza
bun install
bun run dev          # API + the Eliza app UI

To run a whole device as elizaOS instead, see elizaOS — the operating system.

What Eliza does

The app ships with:

  • 💬 Chat — one inbox for your agent and your accounts (iMessage, Discord, Telegram, WhatsApp, Slack, Farcaster, X).
  • 🎙️ Voice — hands-free voice with on-device transcription and natural speech.
  • 📇 Phone · Messages · Contacts — telephony and SMS surfaces (native on Android).
  • 🧠 Personal assistant — calendar, reminders, inbox triage, tasks, daily brief, and owner-approved actions.
  • 🌐 Browser & computer use — the agent drives a real browser and desktop.
  • 👛 Wallet — non-custodial EVM + Solana: transfers, swaps, bridges, LP. Every spend needs your OK.
  • 📄 Documents — ask questions over your files (RAG).
  • 📷 Camera & vision — capture and reason over images.
  • ⚙️ Automations — schedule recurring work; pick models and routing.

Private by default

Eliza can run the whole pipeline on your device via Eliza-1, the on-device model family (Gemma-4):

  • Text generation and embeddings, from ~2B (phone) to ~27B (desktop).
  • Voice — local speech-to-text and text-to-speech; audio never leaves the device.
  • Vision & images — on-device description and generation.

Pick a model in Settings → Model Routing and it downloads and pins; from then on it works with no network.

Apps on elizaOS

elizaOS runs apps, not just an agent. An app is a plugin that adds a surface inside Eliza; the runtime installs, launches, and tracks it like real software, and it survives restarts.

elizaOS — the operating system

packages/os is the real, bootable distribution. Downloads and hardware are at os.elizacloud.ai.

  • Linux (packages/os/linux) — boots a full desktop with Eliza built in from a USB stick. amd64 · arm64 · riscv64.
  • Android (packages/os/android) — Eliza is the system launcher and assistant, on Pixel-class devices.

The OS is bootable today; full device certification and production update channels are in progress — see the per-target READMEs for status.

Eliza Cloud (optional)

Optional managed backend for going beyond one device. Never required — local-only is first-class. It adds:

  • Auth — accounts and sign-in (OAuth/SIWS).
  • Hosted inference — model routing across providers, billed per use.
  • Deploy — push an agent or app to a container with its own domain.
  • Sync & bridge — state across devices; drive a local agent from the cloud dashboard.
  • Monetization — metering and creator earnings for published apps, agents, and MCPs.

Build on elizaOS

The runtime is open source and yours to extend. Start with the CLI:

bun add -g elizaos@beta
elizaos create my-app --template project   # a deployable app workspace
elizaos create my-plugin -t plugin         # a runtime plugin (action/provider/service)

The runtime is model-agnostic (OpenAI, Anthropic, Gemini, Grok, Llama, local Eliza-1, …) and extended through a small set of primitives:

  • @elizaos/core (packages/core) — the agent loop, plugin model, and message/memory/state primitives.
  • @elizaos/agent (packages/agent) — AgentRuntime, the plugin loader, and the default plugin map.
  • @elizaos/app-core (packages/app-core) — the API + dashboard host that runs agents.
  • elizaos (packages/elizaos) — the CLI: create, info, upgrade.

A plugin exports a Plugin that registers actions (what the agent does), providers (prompt context), services (long-lived singletons), and evaluators (post-response work). Import @elizaos/core directly to use the runtime with no CLI or UI — see packages/examples and the evaluation suites in packages/benchmarks. Full guides: docs.elizaos.ai.

Working in the monorepo

bun install            # workspace install
bun run install:light  # skip the large artifact download when disk or time is tight
bun run dev            # API + Vite UI for apps/app
bun run build          # turbo build across the workspace
bun run test           # full test suite
bun run cloud:mock     # boot the local cloud backend stack with mocks

The repo is self-contained — runtime, CLI, dashboard, native OS forks, cloud backend, and first-party plugins all live here. Every package carries its own README.md; read it before working inside. Tree map: AGENTS.md.

Contributing

Contributions welcome. Open an issue before sending a non-trivial PR. Before opening a PR, read CONTRIBUTING.md and the evidence standard in AGENTS.md; frontend-testable changes need screenshots (JPG), an MP4 video walkthrough, logs, and any relevant real-LLM trajectories attached inline in the PR itself. Agents and maintainers working from a GitHub Project board use the coordination workflow in CONTRIBUTING.md before claiming kanban work. Active MVP work is coordinated on the LifeOps Personal Assistant MVP board and in Discussions; in-flight design docs live in packages/docs/ongoing-development/.

To report a security vulnerability, follow SECURITY.md; do not open a public issue.

License

MIT — see LICENSE.

Extension points exported contracts — how you extend this code

TypedTickSharedData (Interface)
Typed overloads when FeedSharedData has been augmented. [7 implementers]
packages/feed/packages/sim/core/types.ts
Eip1193Provider (Interface)
* Lightweight EIP-191 `personal_sign` helper for the in-app Approvals pane. * * This is the **wallet-signature gate** [28 …
packages/cloud-ui/src/approvals/lib/wallet-sign.ts
SubscribableBus (Interface)
Minimal structural view of the event bus we subscribe to. [18 implementers]
packages/agent/src/services/push/notification-push-service.ts
DiscordJsComponent (Interface)
* Discord.js component with toJSON method [7 implementers]
plugins/plugin-discord/utils.ts
SqliteDatabaseInstance (Interface)
* Minimal shape of `bun:sqlite`'s `Database` class we rely on. Declared * here so the rest of the module can stay stric [7 …
plugins/plugin-imessage/src/chatdb-reader.ts
WS1ArbiterLike (Interface)
* Minimal projection of the WS1 `MemoryArbiter` shape (from * `@elizaos/plugin-local-inference`) that the bridge below [12 …
plugins/plugin-vision/src/lifecycle.ts
AgentEventBus (Interface)
The slice of AgentEventService the actions use (real service satisfies it). [67 implementers]
plugins/plugin-local-inference/src/actions/transcription-control.ts
HandlerRegistry (Interface)
(no doc) [10 implementers]
packages/plugin-remote-manifest/src/worker-runtime/descriptor.ts

Core symbols most depended-on inside this repo

expect
called by 121843
packages/os/android/installer/scripts/validate-release-manifest.mjs
join
called by 20468
plugins/plugin-meetings/src/platforms/shared/strategy.ts
trim
called by 16114
plugins/plugin-vision/src/image/sharp-compat.ts
push
called by 11561
packages/core/src/types/streaming.ts
get
called by 11379
packages/vault/src/vault-types.ts
test
called by 11144
packages/benchmarks/OSWorld/run.py
filter
called by 10153
packages/benchmarks/interrupt-bench/src/trace.ts
log
called by 8890
packages/logger/src/logger.ts

Shape

Function 92,040
Method 40,314
Interface 19,018
Class 9,196
Route 130
Enum 115
Struct 2

Languages

TypeScript80%
Python17%
C1%
Kotlin1%
Java1%
C++1%

Modules by API surface

packages/cloud/sdk/src/public-routes.ts1,055 symbols
packages/core/src/runtime.ts432 symbols
plugins/plugin-personal-assistant/src/lifeops/repository.ts309 symbols
plugins/plugin-personal-assistant/src/lifeops/service.ts290 symbols
packages/ui/src/api/client-agent.ts276 symbols
plugins/plugin-health/src/contracts/lifeops.ts274 symbols
packages/benchmarks/terminal-bench/tasks/pytorch-model-cli/task-deps/lodepng.cpp263 symbols
packages/shared/src/contracts/personal-assistant.ts261 symbols
packages/core/src/services/message.ts233 symbols
plugins/plugin-sql/src/base.ts218 symbols
packages/app-core/scripts/run-mobile-build.mjs196 symbols
packages/core/src/types/runtime.ts195 symbols

Datastores touched

dbDatabase · 1 repos
db_app_xDatabase · 1 repos
postgresDatabase · 1 repos
feedDatabase · 1 repos
eliza_testDatabase · 1 repos
(mongodb)Database · 1 repos
(mysql)Database · 1 repos
elizaDatabase · 1 repos

For agents

$ claude mcp add eliza \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact