一键导入
a2a-integration
Expose orxhestra agents as A2A protocol endpoints or connect to remote A2A agents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Expose orxhestra agents as A2A protocol endpoints or connect to remote A2A agents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Build orxhestra agent trees from declarative YAML orx files. Covers full schema, models, tools, agents, runner, and server.
Add callbacks to orxhestra agents for logging, monitoring, and error handling. Covers model and tool callbacks.
Add planners to orxhestra agents for structured reasoning. Covers BasePlanner, PlanReActPlanner, and TaskPlanner.
Add dynamic skills to orxhestra agents. Covers Skill, InMemorySkillStore, and skill discovery/loading tools.
Stream events from orxhestra agents including token-by-token output, sub-agent events via AgentTool, and Runner streaming.
Create and use tools with orxhestra agents. Covers function_tool, AgentTool, transfer tools, exit_loop, MCP tools, and CallContext.
| name | a2a-integration |
| description | Expose orxhestra agents as A2A protocol endpoints or connect to remote A2A agents. |
from orxhestra import LlmAgent, InMemorySessionService
from orxhestra.a2a import A2AServer, AgentSkill
agent = LlmAgent(name="MyAgent", model=model, tools=[...])
server = A2AServer(
agent=agent,
session_service=InMemorySessionService(),
app_name="my-agent-service",
skills=[
AgentSkill(
id="qa", name="Q&A",
description="Answers general questions.",
tags=["general"],
),
],
)
app = server.as_fastapi_app()
# uvicorn my_module:app --host 0.0.0.0 --port 8000
| Method | Endpoint | Description |
|---|---|---|
GET | /.well-known/agent.json | Agent Card discovery |
POST | / | JSON-RPC 2.0 dispatch |
| Method | Description |
|---|---|
message/send | Send message, receive completed Task |
message/stream | Send message, receive SSE stream |
tasks/get | Retrieve task by ID |
tasks/cancel | Cancel a running task |
from orxhestra.agents.a2a_agent import A2AAgent
remote = A2AAgent(
name="RemoteAgent",
description="A remote research agent.",
url="http://localhost:9000",
)
async for event in remote.astream("What is quantum computing?"):
print(event.text)
agents:
remote_researcher:
type: a2a
description: "Remote research agent"
url: "http://localhost:9000"
orchestrator:
type: llm
tools:
- agent: remote_researcher
main_agent: orchestrator