Remote agents run as gRPC servers implementing the AXAgentService interface defined in proto/ax.proto. The controller executes remote agents by calling their Connect RPC with bidirectional streaming.
See examples/remote_agent/main.go for a complete implementation.
Workflow:
- Remote agent starts as gRPC server on a port (e.g., :50051)
- Declare the remote agent in
ax.yamlunderregistry.remote_agents - Start the server:
ax serve - When the server executes, it calls the agent's
ConnectRPC - AX streams input content → Agent processes → Agent streams output back
See examples/remote_agent/main.go for a complete implementation.