jido

用 Elixir 构建分布式自主智能体,事件驱动编排动态工作流。

Jido 是一个基于 Elixir 的自主智能体框架,专为构建分布式、自主行为和动态工作流而设计。它利用 Erlang 虚拟机(BEAM)的并发与容错特性,提供事件驱动的架构,使开发者能够以声明式方式编排复杂的智能体流程。Jido 解决的核心问题是:在分布式系统中,如何让多个智能体协同工作,并根据实时事件动态调整行为。其核心能力包括:智能体定义与生命周期管理、基于事件的工作流编排、动态任务分配与状态管理,以及与其他 Elixir/OTP 生态的无缝集成。Jido 强调运行时的高可用性和可扩展性,适合构建需要长期运行、自适应决策的自动化系统,如运维自动化、实时数据处理和复杂业务规则引擎。

开源 free 智能体
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1864
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类智能体
开发团队agentjido
所属国家
官网地址https://jido.run
定价模式free
价格说明开源框架,Apache-2.0 许可证,完全免费,无付费版本。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Elixir
技术栈/模型agent-framework,ai-agents,core,elixir,elixir-package,event-driven-architecture,jido,orchestration,workflow
GitHub 星标★ 1864
30天Star增速
HF 下载量
上线时间2024-12-16 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • 已安装 Elixir 与 Erlang/OTP 环境(需 mix 构建工具)
  • 可访问 Hex.pm 拉取依赖
  • 项目使用 Mix 构建(mix.exs 管理依赖)

安装与启动步骤

  1. 1准备 Elixir 项目

    Jido 是 Elixir 库,需先有可编译的 Mix 工程。README 未给出创建工程的命令,可用现成项目或自行初始化。

  2. 2添加 jido 依赖

    在项目 mix.exs 的 deps 列表中加入 jido,版本约束为 ~> 2.0(Hex.pm 上的正式包)。

    def deps do
      [
        {:jido, "~> 2.0"}
      ]
    end
  3. 3安装依赖

    执行 Mix 标准依赖拉取,从 Hex.pm 下载并编译 jido 及其依赖。

    mix deps.get
  4. 4定义 Jido 实例

    README 要求定义一个 Jido 实例模块,并把它加入应用的监督树,用于承载 AgentServer 与信号路由。具体代码块在 README 中被截断,完整写法见官网。

  5. 5定义智能体模块

    使用 use Jido.Agent 声明名称、描述与 schema。agent 是不可变数据结构,状态字段通过 schema 定义默认值。

    defmodule MyAgent do
      use Jido.Agent,
        name: "my_agent",
        description: "My custom agent",
        schema: [
          count: [type: :integer, default: 0]
        ]
    end
  6. 6调用 cmd/2 与查看

    用 MyAgent.cmd(agent, action) 处理动作,返回新的 agent 与 directives;再用实例的 list_agents() 列出运行中的智能体。

    {agent, directives} = MyAgent.cmd(agent, action)
    agents = MyApp.Jido.list_agents()
  7. 7运行测试验证

    在项目根目录执行测试套件,确认依赖、编译与运行时均正常。

    mix test

关键配置

配置项必填说明示例
:jido 依赖是在 mix.exs 中声明 Jido 框架依赖及版本{:jido, "~> 2.0"}
name是智能体名称,在 use Jido.Agent 时声明"my_agent"
description否智能体描述文本"My custom agent"
schema否智能体状态字段及类型、默认值定义[count: [type: :integer, default: 0]]

如何确认成功

在项目根目录执行 mix test 并全部通过,说明依赖安装与编译运行正常;运行时可用 MyApp.Jido.list_agents() 看到已启动的智能体。

常见问题

Q:如何安装 Jido?

A:Jido 发布在 Hex.pm,在 mix.exs 的 deps 中加入 {:jido, "~> 2.0"},再执行 mix deps.get 即可。演示与示例见 jido.run。

Q:如何创建一个智能体?

A:用 defmodule 配合 use Jido.Agent 声明 name、description 和 schema,然后通过 MyAgent.cmd(agent, action) 处理动作并拿到新的 agent 与 directives。

Q:生产环境怎么运行智能体?

A:使用基于 GenServer 的 AgentServer 进行生产部署,支持父子智能体层级与生命周期管理、可配置的信号路由策略,以及实例级监督与逻辑分区。

Q:必须接入大模型吗?

A:不必须。AI 是可选项,核心包只提供智能体架构与运行时,需要模型集成时再引入 jido_ai 等配套包。

注意事项

  • README 的 Quick Start 与监督树代码块被截断,完整可运行示例请参考 jido.run 与 hexdocs.pm/jido 上的 API 文档。
  • AI 能力不在核心包内,如需模型调用要额外引入 jido_ai 等配套包。
  • 多租户场景可结合实例级监督与逻辑分区使用,生产环境建议使用 AgentServer 而非直接跑裸 Agent。

核心亮点

  • 基于 BEAM 虚拟机,天然支持高并发、分布式和容错,适合大规模智能体部署
  • 事件驱动架构,支持动态工作流编排,智能体行为可实时调整
  • 与 Elixir/OTP 生态深度集成,复用成熟库,开发效率高

不足之处

  • Elixir 社区规模相对较小,学习资料和第三方集成不如 Python/JS 丰富
  • 文档和示例尚在完善中,新手上手门槛较高

适用场景

  • 构建分布式自动化运维系统,实现故障自愈和资源调度
  • 开发实时数据处理流水线,智能体按事件触发动态处理
  • 实现复杂业务规则引擎,支持多智能体协作决策

替代项目

LangChain、AutoGen、CrewAI

项目介绍

jido 是智能体领域的开源项目,由 agentjido 开发,2024 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,864)位列前 30%,在智能体分类中处于中上游。

近 42 天,它的 GitHub 星标从 1,803 增加到 1,864,净增 61。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。Apache-2.0 许可证,完全免费,无付费版本。从国内网络环境看,可直接访问。

它主要面向的使用场景是:构建分布式自动化运维系统,实现故障自愈和资源调度。同类可对比的替代方案包括 LangChain、AutoGen、CrewAI。

上一篇:yomo

下一篇:full-stack-ai-agent-template

同类项目推荐

xinchao-dynamic-mind 开源

给 AI 装上疲惫和欲望,让交互更真实

独立、可自托管的 AI 动态心智状态引擎:驱动力、念头池、疲惫、睡眠与意图。

★ 199 2026-08-09
deepseek-harness 开源

把 AI 能力拆成乐高积木,拼出你的专属智能体。

DeepSeek Harness: Everything is a Plugin.

★ 233327 2026-08-15
AutoGPT 开源

开箱即用的 AI 员工,交代任务就自己干完

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mis···

★ 187492 2026-08-09
EvoAgentX 开源

让 AI 智能体自己迭代变强,越用越聪明

EvoAgentX: Building a Self-Evolving Ecosystem of AI Agents

★ 3351 2026-09-12