Motus 是什么
LithosAI 的开源 agent-serving 项目,Apache 2.0 协议,203 stars。
口号:Higher capability. Lower cost. Faster agents.
一条命令本地 serve,一条命令部署到云,同一套代码,任何规模。
核心理念:No-framework
Motus 不取代任何 agent 构建框架。它工作在 agent 底下,提供:
- 调度
- 并行执行
- 容错(retries、timeout)
- 可观测性(tracing)
- 缓存
支持的 agent 构建方式:
- Motus 原生 ReActAgent
- OpenAI Agents SDK
- Anthropic SDK
- Google ADK
- 纯 Python
核心功能
ReActAgent runtime
内置 ReAct 推理循环、工具分发、多轮记忆、结构化输出(Pydantic)、输入/输出 guardrails。10 行代码跑起一个可用 agent。
@agent_task 工作流引擎
用 @agent_task 装饰器把任意 Python 函数变成 DAG 节点,Motus 自动从数据流推断依赖图,并行执行。
article = fetch(url)
summary = summarize(article) # 和 extract 并行
hashtags = extract(article) # 和 summarize 并行
post = publish(summary, hashtags) # 等两者完成
不需要写 DAG,只要写 Python function。
多 provider 模型切换
统一客户端支持 OpenAI、Anthropic、Gemini、OpenRouter。本地模型(Ollama、vLLM、SGLang)通过 base_url 接入。换 provider 改一行,agent 逻辑不变。
MCP 集成
get_mcp() 连接任意 MCP 兼容服务器(本地 stdio、远程 HTTP 或 Docker 容器)。可以 filter/rename/blocklist 工具,加 guardrails。
Human-in-the-loop
内置支持在 agent 执行过程中暂停、请求人工确认或反馈、然后继续。本地 serving 和云端部署都支持。
可观测性
每个 LLM 调用、工具调用、任务依赖自动 tracing。交互式 HTML viewer、Jaeger 导出、云端 dashboard,一个 env var 开启。
部署方式
# 本地 serve
motus serve start myapp:agent --port 8000
# 部署到 Motus Cloud
motus deploy --name myapp myapp:agent
# 之后访问 https://myapp.lithosai.com
和 Claude Code Desktop / Warp 的关系
今天其他文章讲的是人类怎么操控 agent 或 agent 怎么连接本地工具。Motus 讲的是:agent 写好了之后怎么持久地对外服务。三件事合在一起才是完整的 agent 工程栈:构建 → 操控 → 部署。
Motus 的 no-framework 理念很清晰:它不做 agent 构建层,它做 agent 服务层。这个分层思路和 Sam 之前提的「中间件」逻辑一致——你可以在任何 agent 框架上跑,Motus 提供的是调度、并行、容错、可观测性这些基础设施能力。开源第一天 203 stars 说明需求是真的:很多人有 agent 但不知道怎么把它变成一个可持续对外服务的系统。