بنقرة واحدة
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