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 工程栈:构建 → 操控 → 部署。