Skip to main content
RemoteAgent allows you to run agents that are hosted on a remote AgentOS instance. It provides the same interface as a local agent, making it easy to integrate remote agents into your applications or compose them into teams and workflows.

Installation

Basic Usage

Parameters

ParameterTypeDefaultDescription
base_urlstrRequiredBase URL of the remote server (e.g., "http://localhost:7777")
agent_idstrRequiredID of the remote agent to execute
protocolLiteral["agentos", "a2a"]"agentos"Protocol to use for communication
a2a_protocolLiteral["rest", "json-rpc"]"rest"A2A sub-protocol (only used when protocol="a2a")
timeoutfloat60.0Request timeout in seconds
config_ttlfloat300.0Time-to-live for cached configuration in seconds

Properties

id

Returns the agent ID.

name

Returns the agent’s name from the remote configuration.

description

Returns the agent’s description from the remote configuration.

role

Returns the agent’s role from the remote configuration.

tools

Returns the agent’s tools as a list of dictionaries.

db

Returns a RemoteDb instance if the agent has a database configured.

knowledge

Returns a RemoteKnowledge instance if the agent has knowledge configured.

Methods

arun

Execute the remote agent asynchronously.
Parameters:
ParameterTypeDefaultDescription
inputstr | List | Dict | Message | BaseModelRequiredThe input message for the agent
streamboolFalseWhether to stream the response
user_idOptional[str]NoneUser ID for the run
session_idOptional[str]NoneSession ID for context persistence
session_stateOptional[Dict]NoneSession state dictionary
imagesOptional[Sequence[Image]]NoneImages to include
audioOptional[Sequence[Audio]]NoneAudio to include
videosOptional[Sequence[Video]]NoneVideos to include
filesOptional[Sequence[File]]NoneFiles to include
stream_eventsOptional[bool]NoneWhether to stream events
retriesOptional[int]NoneNumber of retries
knowledge_filtersOptional[Dict]NoneFilters for knowledge search
add_history_to_contextOptional[bool]NoneAdd history to context
dependenciesOptional[Dict]NoneDependencies dictionary
metadataOptional[Dict]NoneMetadata dictionary
auth_tokenOptional[str]NoneJWT token for authentication
Returns:
  • RunOutput when stream=False
  • AsyncIterator[RunOutputEvent] when stream=True

acontinue_run

Continue a paused agent run with tool results.
Parameters:
ParameterTypeDefaultDescription
run_idstrRequiredID of the run to continue
updated_toolsList[ToolExecution]RequiredTool execution results
streamboolFalseWhether to stream the response
user_idOptional[str]NoneUser ID
session_idOptional[str]NoneSession ID
auth_tokenOptional[str]NoneJWT token for authentication
Returns:
  • RunOutput when stream=False
  • AsyncIterator[RunOutputEvent] when stream=True

cancel_run

Cancel a running agent execution.
Parameters:
ParameterTypeDefaultDescription
run_idstrRequiredID of the run to cancel
auth_tokenOptional[str]NoneJWT token for authentication
Returns: bool - True if successfully cancelled

get_agent_config

Get the agent configuration from the remote server (always fetches fresh).
Returns: AgentResponse

refresh_config

Force refresh the cached agent configuration.
Returns: AgentResponse

A2A Protocol Support

RemoteAgent can connect to any A2A-compatible server using the protocol="a2a" parameter:

Connecting to Agno A2A Servers

Connecting to Google ADK

Google ADK uses JSON-RPC mode. Set a2a_protocol="json-rpc":

Protocol Options

Protocola2a_protocolUse Case
"agentos"N/ADefault. Connect to Agno AgentOS REST API
"a2a""rest"Connect to A2A servers using REST endpoints
"a2a""json-rpc"Connect to Google ADK or pure JSON-RPC A2A servers

Using in AgentOS Gateway

Remote agents can be registered in a local AgentOS to create a gateway:
See AgentOS Gateway for more details.

Error Handling

Authentication

For authenticated AgentOS instances, pass the auth_token parameter: