Multi-agent orchestration framework for Python — turn any agent setup into a CLI or server.
构建具有异步事件流、代理层次结构和内置MCP和A2A协议支持的多代理AI系统。
Orx命令行界面
转动任何 orx.yaml 代理设置为交互式终端代理。随附开箱即用的编码代理,或自行编写。
正在寻找功能齐全的编码代理? 结账 orxhestra代码 --基于orxhestra构建的增强型编码代理,具有权限、多文件编辑和项目感知上下文。
pip install orxhestra[cli,openai]
orx+-- orx - terminal coding agent ------------------------------------+
| model: gpt-5.4 workspace: ~/my-project /help for commands |
+-------------------------------------------------------------------+
orx> add error handling to the API routes
> read_file(src/api/routes.py)
> grep(pattern="raise", path=src/api/)
> write_todos(3 tasks)
Tasks
* Add try/except to all route handlers [in progress]
- Add custom error response model
- Write tests for error cases
> edit_file(src/api/routes.py)
> shell_exec(pytest tests/test_api.py)
4 passed
Done - added structured error handling to all 4 route handlers
with a custom ErrorResponse model. All tests pass.特性
- 29名法学硕士提供者 --OpenAI、Azure OpenAI、Anthropic、谷歌、Mistral、Cohere、Groq、DeepSeek、Ollama等20多家公司通过
--model - 流媒体 --Markdown格式的实时令牌渲染
- 工具批准 --破坏性操作(写入、编辑、shell)前的提示
- 任务规划 --终端中可见的结构化待办事项列表
- 次级代理人代表团 --为复杂的子任务生成隔离代理
- 自动记忆 --跨会话持久的每个项目记忆(4种类型:用户、反馈、项目、参考)
- 黑暗/光明主题 --自动检测终端,切换
/theme - 后台任务 --生成和监视异步子代理任务
- 智能文件读取 --带行号的偏移/限制分页,256KB大小保护
- 本地上下文注入 --自动检测语言、git状态、包管理器、项目树
- 上下文摘要 --自动压缩长对话,
/compact命令 - Orx YAML --运行任何orx.yaml代理团队:
orx my-agents.yaml
用法
orx # interactive REPL (default model)
orx --model claude-sonnet-4-6 # use a specific model
orx -c "fix the failing tests" # single-shot command
orx my-agents.yaml # run a custom orx file
orx --auto-approve # skip approval prompts
orx orx.yaml --serve -p 9000 # start as A2A server命令
| 命令 | 描述 |
|---|---|
/model | 会话中期切换模型 |
/clear | 重置对话 |
/compact | 将旧消息总结为自由上下文 |
/todos | 显示当前任务列表 |
/memory | 列出已保存的记忆 |
/theme | 切换暗/亮主题 |
/session | 会话信息(包括身份开启时的活动签名者DID) |
/undo | 移除最后一圈 |
/retry | 重新运行上一条消息 |
/copy | 复制上次响应 |
/help | 显示所有命令 |
/exit | 退出 |
orx identity --Ed25519签署
选择CLI生成的每个代理的身份。事件使用Ed25519签名,按分支链接,并(可选)由 AttestationProvider.
orx identity init # generate a keypair at ~/.orx/identity.key
orx identity show # print the DID + public-key multibase
orx identity did-web example.com agents # render a did.json for hosting
orx --identity ~/.orx/identity.key # attach identity to every agent
export ORX_IDENTITY=~/.orx/identity.key # or via env看 作曲家→ 身份、信任和证明 对于YAML等价物。
______________________________________________________________________
快速入门(SDK)
pip install orxhestra
# or
uv add orxhestrafrom orxhestra import LlmAgent, Runner, InMemorySessionService
agent = LlmAgent(
name="assistant",
model="gpt-5.4",
instructions="You are a helpful assistant.",
)
runner = Runner(agent=agent, session_service=InMemorySessionService())
response = await runner.run(user_id="user1", session_id="s1", new_message="Hello!")
for event in response:
print(event.content)\[!提示\] 对于持久数据库会话,请额外安装数据库: pip install orxhestra[database]\[!提示\] 有关完整的文档、指南和API参考资料,请访问 docs.orxhestra.com.
特性
- 特工合奏 -LLM、ReAct、顺序、并行和循环代理
- 29名法学硕士提供者 -OpenAI、Azure OpenAI、Anthropic、谷歌、Mistral、Cohere、Groq、DeepSeek、Ollama等20多家公司
- 事件流 -具有实时流的异步事件驱动架构
- 作曲家 -具有四个可插入注册表的声明性YAML:自定义代理类型、LLM提供程序、内置工具和工具类型解析器
- 工具 -功能工具、文件系统工具、代理即工具、shell、传输路由、长时间运行的工具,以及
register_tool_resolver适用于全新的工具类型 - 规划师 -使用PlanReAct和TaskPlanner策略编排任务执行
- 技能 -可重用、可组合的代理程序库(代理技能协议)
- 主控程序 -全规格模型上下文协议客户端(工具、资源、提示、采样、日志记录、进度、启发)以及将MCP提示转换为LangChain消息或工具的适配器
- A2A -完整的v1.0服务器+客户端,带Ed25519消息签名和
verification_method在代理卡上 - 身份/信任/证明(选择加入) -对每个事件进行签名,通过DID验证对等体,使用可插拔的哈希链审计日志
AttestationProvider--所有这些都可以从一个YAML块或单个orx --identity旗帜 - 自动记忆 -使用save_memory工具保存记忆(用户、反馈、项目、参考)
- 后台任务 -使用生成和监视异步子代理任务生命周期
- 弃用装饰器 -
@deprecated和@deprecated_param用于清洁API发展 - 追踪 -内置对Langfuse、LangSmith和自定义回调的支持
代理商一览
| 代理 | 描述 |
|---|---|
LlmAgent | 带有工具、说明和结构化输出的聊天模型代理 |
ReActAgent | 推理+动作循环,自动使用工具 |
SequentialAgent | 按顺序运行子代理 |
ParallelAgent | 同时运行子代理 |
LoopAgent | 重复子代理,直到退出条件 |
A2AAgent | 通过A2A协议连接到远程代理 |
作曲家
在单个YAML文件中定义整个代理管弦乐队——不需要Python连接。以声明方式组合LLM代理、循环、管道、工具和审查周期。下面的示例构建了一个编码代理,该代理在循环中计划、实现文件系统+shell访问和自我审查。身份签名+本地审计是可选的——删除最后两个块将其关闭。
defaults:
model:
provider: openai
name: gpt-5.4
tools:
exit:
builtin: "exit_loop"
filesystem:
builtin: "filesystem"
shell:
builtin: "shell"
agents:
planner:
type: llm
description: "Plans the implementation steps for the coder agent."
instructions: |
Output a numbered list of concrete steps the coder
should execute. Each step must be an actionable file
operation or shell command.
coder:
type: llm
description: "Implements code changes with filesystem and shell access."
instructions: |
Follow the plan from the previous step exactly.
Use filesystem tools to create files and shell to
run commands. Never ask the user to do anything.
tools:
- filesystem
- shell
reviewer:
type: llm
description: "Reviews changes and approves or requests fixes."
instructions: |
Check files exist and look correct. If done, call
exit_loop. Otherwise describe what needs fixing.
tools:
- exit
dev_loop:
type: loop
agents: [coder, reviewer]
max_iterations: 10
coordinator:
type: sequential
agents: [planner, dev_loop]
main_agent: coordinator
runner:
app_name: coding-agent
session_service: memory
# Optional: sign every event + write a hash-chained audit log.
identity:
signing_key: ./keys/agent.key # orx identity init --path ./keys/agent.key
did_method: key
attestation:
provider: local
path: ./audit将其作为交互式CLI运行或将其作为A2A服务器公开:
orx orx.yaml # interactive terminal agent
orx orx.yaml --serve -p 9000 # A2A server on port 9000# test the server
curl -X POST http://localhost:9000/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": "1",
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [{"text": "Hello!", "mediaType": "text/plain"}]
}
}
}'码头工人
docker run -e OPENAI_API_KEY=$OPENAI_API_KEY \
-v ./orx.yaml:/app/orx.yaml \
nicolaimtlassen/orxhestra文档
- 入门指南 --安装并运行您的第一个代理(YAML或Python)
- 作曲家概述 --基于YAML的代理组合(推荐起点)
- 编辑器模式参考 --每个字段的参考
orx.yaml块 - 扩展作曲家 --注册自定义代理类型、LLM提供程序、内置工具和工具解析器
- 代理 --代理类型和配置
- 工具 --内置和自定义工具
- 集成 --MCP和A2A设置
- 技能 --代码级CLI技能参考(代理工具、回调、计划器、流媒体等)
- orxhestra代码 --具有权限、多文件编辑和项目上下文的增强编码代理
______________________________________________________________________
致谢
该项目建立在几个杰出的开源项目和研究工作的基础上:
- LangChain
- 谷歌代理开发工具包(ADK)
- LangGraph
- 模型上下文协议(MCP)
- 代理对代理协议(A2A)
- 证明 --启发了orxhestra的身份/信任/证明层的形状(哈希链审计日志、Ed25519签名声明、基于DID的代理身份)。orxhestra不依赖于提供者
AttestationProvider协议;certeix作为外部实现插入。
特别感谢开源人工智能社区突破了代理框架的极限。
