多语言后端框架,通过单一核心原语 Step 统一 API、后台任务、队列、工作流、流处理和 AI Agent,内置可观测性与状态管理。支持 TypeScript、Python、JavaScript,采用 Apache-2.0 许可证。
项目概述#
Motia 是一个创新的多语言后端框架,核心理念是将所有后端模式统一到单一原语 Step 上。每个 Step 是一个包含配置(config)和处理器(handler)的文件,Motia 自动发现并连接这些文件,无需手动注册和样板代码。
核心能力#
- HTTP APIs:带验证和路由的 REST 端点
- Background Jobs:带重试机制的异步消息处理
- Scheduled Tasks:基于 cron 的定时任务
- Reactive Workflows:响应式工作流
- AI Agents:支持流式输出和工具调用的代理式工作流
- State Management:内置键值存储,支持原子更新
- Real-Time Streaming:通过 WebSocket 推送实时更新
- Observability:开箱即用的结构化日志、分布式追踪和指标
触发器类型#
| 类型 | 说明 | 用例 |
|---|---|---|
http | HTTP 请求触发 | REST 端点 |
queue | 队列订阅触发 | 后台处理 |
cron | 定时调度触发 | 周期性任务 |
state | 状态变更触发 | 状态管理 |
stream | 流订阅触发 | 实时流处理 |
语言支持#
- JavaScript ✅ Stable
- TypeScript ✅ Stable
- Python ✅ Stable
- Ruby 🚧 Beta
- Go 🔄 Soon
运行时架构#
- iii 引擎(Rust 编写):管理队列、状态、流、cron、可观测性
- Node.js 18+:TypeScript/JavaScript Steps 必需
- Python 3:可选,用于 Python Steps
可靠性特性#
- Automatic Retries(自动重试)
- Queue Infra Abstracted(内置队列,无需外部消息代理)
- Event-driven Core(事件驱动核心)
- Shared State Handling(分布式工作流中的状态一致性)
- Atomic Execution(原子操作确保数据安全)
Step 文件约定#
Motia 自动发现以下文件后缀:
.step.ts(TypeScript).step.js(JavaScript).step.py(Python)
安装方式#
# 安装 iii 引擎
curl -fsSL https://install.iii.dev/iii/main/install.sh | sh
# Homebrew 安装 CLI
brew tap MotiaDev/tap
brew install motia-cli
# 创建项目
motia-cli create my-app
官方案例#
- ChessArena.ai:完整的国际象棋平台,LLM 性能基准测试
- AI Research Agent:网络研究与迭代分析
- Streaming Chatbot:实时 AI 响应
- Gmail Automation:智能邮件处理
- GitHub PR Manager:自动化 PR 工作流
- Finance Agent:实时市场分析
认可与收录#
- Vercel OSS 2025 收录项目
- JavaScript Rising Stars 2025 #1 Back-end/Full-stack 认可
设计理念#
- Code as Config:用代码定义基础设施和工作流
- Auto-discovery:自动发现 Step 文件,无需样板代码
- Single Primitive:所有后端模式统一到 Step 原语