自托管服务
elizaOS/eliza avatar
elizaOS/eliza

elizaOS/eliza:一个把 Agent 变成操作系统的 TypeScript 单体仓库

开源代理操作系统。 elizaOS 上的应用程序 elizaOS 运行应用程序,而不仅仅是代理。

19,341 个 Star5,731 个 ForkTypeScriptMIT

秒懂

它是什么?
elizaOS 把自主 AI Agent 从单一聊天机器人扩展成一套可引导设备、可安装插件的运行时。本文基于其 README 与仓库结构,拆解它的分层设计、本地推理路径和真实边界。
适合谁用?
适合需要把 Agent 能力嵌入桌面、移动或整机系统的开发者,尤其是愿意接受 TypeScript 生态和插件契约的人。不适合只想快速跑一个聊天机器人、又不愿处理 Bun 版本锁定和子模块准备的团队。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的不是聊天,而是 Agent 的宿主问题

大多数开源 Agent 项目给你一个对话循环和一个模型接入层。elizaOS 把范围拉大了一整圈。README 开篇就说这是「agentic operating system」,强调「runs apps, not just an agent」。这意味着它不只想让 Agent 说话,还想让 Agent 操作日历、摄像头、短信、钱包,甚至让整个设备以 elizaOS 为系统启动。目标用户是两类人:一类要构建跨平台个人助理应用,另一类想在自己设备上跑一个常驻 Agent 环境。单体仓库里同时存在核心运行时、应用外壳、CLI、云服务和原生桥接,这决定了它不是一个轻量库,而是一套需要按模块理解的产品栈。

从 AgentRuntime 到插件契约:层级怎么分

仓库把职责拆成几个包。`@elizaos/core` 定义 `AgentRuntime`、消息循环、内存和状态原语,以及插件契约。`@elizaos/agent` 负责把核心运行时组装成独立 Agent 和 HTTP 后端。`@elizaos/app-core` 提供应用托管和平台编排,`@elizaos/ui` 是共享 React 界面。最上层是 `elizaos` CLI,负责项目脚手架、升级和部署。插件是核心扩展单位,一个 `Plugin` 对象可以注册动作、提供者、评估器、服务、模型处理器、路由、事件、测试和应用视图。这种分层把模型无关性落实到了包边界上:你想只嵌运行时,就引 `@elizaos/core`;想要完整应用,就走 `@elizaos/app-core`。

Bun 起步:版本锁定与子模块准备

从源码跑起来有明确步骤。仓库在 `package.json` 里锁定了 Bun 和 Node 版本,你需要先安装对应版本。然后依次执行 `git clone --filter=blob:none`、`cd eliza`、`bun install`、`bun run dev`。`bun install` 会顺带准备子模块和补丁。注意一个细节:legacy archive 产物包不会隐式拉取,需要时得显式运行 `bun run fetch:archive-artifacts`。常用命令包括 `bun run build`(Turbo 构建)、`bun run verify`(包一致性、依赖、类型、lint、审计)、`bun run test` 和 `bun run test:e2e`。还有 `bun run cloud:mock` 可以在本地起一个带 mock 的 Eliza Cloud 栈。这套命令体系把构建、验证、测试分开,适合 CI 集成。

本地推理:Eliza-1 的离线路径与硬件门槛

`@elizaos/plugin-local-inference` 提供 Eliza-1 的端侧推理。当前注册表里有 2B、4B、9B、27B 四个文本档位,都基于 Gemma 4,另有本地嵌入、语音、视觉和图像生成资产。硬件检测和模型路由会选支持的 backend,资产下载完成后,符合条件的操作可以离线运行。README 明确说本地推理不会在硬件不支持的机器上硬跑,每条模型能力都可以路由到本地、直接供应商或 Eliza Cloud。这个设计务实,但也意味着你要自己确认目标设备的算力是否落在支持列表里。对资源受限的设备,27B 档位基本是摆设,实际可用的大概率只有 2B 或 4B。

Eliza Cloud 是可选层,不是必需项

Eliza Cloud 提供账户认证、托管模型路由、应用部署、远程连接和跨设备服务。README 特意强调它是可选的,本地运行时和直接配置模型供应商仍然是第一等路径。这个定位对自托管用户很重要:你不欠云服务任何东西。但要注意,云服务提供的某些跨设备功能,比如远程连接,本地路径未必有等价实现。如果你需要多设备同步或托管推理,就得把 Eliza Cloud 纳入架构考量。它的存在让 elizaOS 同时覆盖了「单机运行」和「云托管」两种部署形态,但这也增加了理解成本,你得先决定自己走哪条路。

操作系统级野心:elizaOS/os 与原生桥接

真正的操作系统发行版不在这个仓库里。README 指出,可引导的 Linux 和 Android(AOSP)发行版、安装器、发布清单和 OS 工具链都在独立的 `elizaOS/os` 仓库。本仓库只保留桌面、iOS、Android 和设备集成用的 Eliza 应用外壳与原生运行时桥。这个拆分合理,但也埋了一个坑:如果你要的是「整机跑 elizaOS」,你必须同时跟踪两个仓库的发布节奏。本仓库的 releases 列表显示近期主要是 PR 证据相关的内部版本,例如 `pr-evidence-11`,这说明主分支的发布流与 CI 证据绑定得很紧,外部使用者需要留意哪些 tag 是真正面向用户的稳定版。

已知边界:插件生态、文档密度与版本策略

README 反复强调「可用性取决于操作系统、已装插件、授予的权限和配置的模型或服务提供商」。这句话是免责声明,也是真实约束。插件不是装了就能用,每个包自己的 README 才写具体支持范围。仓库里有一批第一方插件,覆盖模型、连接器、领域应用和设备桥,但第三方生态的成熟度从 README 看不出来。另外,CLI 目前是 beta,发布用的是 `elizaos@beta` 这个 unscoped 包名,这意味着 API 可能变动。贡献流程要求先开 issue,再向 `develop` 分支提 PR,且需要人工可验证的证据,这保证了质量,但也会拖慢功能落地速度。

对比:与单体 Agent 框架的路线差异

一个真实的替代方案是只使用 `@elizaos/core` 而不碰应用层和 CLI。这样你得到的是一个模型无关的运行时和插件契约,相当于一个 Agent 库,而非操作系统。差异在于:完整 elizaOS 提供应用外壳、设备桥接和云服务,而裸核心只给你消息循环和状态管理,UI、连接器、原生能力都得自己搭。另一类替代是 LangChain 或 CrewAI 这类编排框架,它们更偏任务编排和工具调用,不承诺设备级集成。elizaOS 的路线是把 Agent 放进一个可引导的系统里,这个选择让它在桌面和移动场景有天然优势,但也让它的学习曲线比纯编排库陡得多。

编辑结论

适合需要把 Agent 能力嵌入桌面、移动或整机系统的开发者,尤其是愿意接受 TypeScript 生态和插件契约的人。不适合只想快速跑一个聊天机器人、又不愿处理 Bun 版本锁定和子模块准备的团队。采用前先验证三件事:你目标平台的插件是否齐全,本地推理的模型资产下载体积是否符合你的网络条件,以及你的模型供应商是否在插件列表内。elizaOS 的定位是操作系统而非单一 Agent,这个承诺意味着你需要按它的包边界来规划自己的代码。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记