|
1 | 1 | # BeeAI A2A Proxy |
2 | 2 |
|
3 | | -A proxy server for [BeeAI](https://docs.beeai.dev/introduction/welcome) A2A (Agent-to-Agent) communication that intercepts and modifies agent card endpoints to enable seamless integration with the BeeAI platform. You can literally take existing A2A agent and plug it into BeeAI without changing code of your A2A agent. |
| 3 | +A zero-configuration bridge that connects any A2A agent to the BeeAI platform—no code changes required. |
4 | 4 |
|
5 | | -## Main Goal |
| 5 | +## What It Does |
6 | 6 |
|
7 | | -The primary purpose of this proxy is to create a bridge between any A2A client and the BeeAI platform by: |
| 7 | +This proxy lets you plug an existing A2A agent into the BeeAI Platform instantly by: |
8 | 8 |
|
9 | | -- **Intercepting agent card requests**: The proxy captures `/.well-known/agent-card.json` requests from any A2A client |
10 | | -- **Adding AgentDetail extension**: It automatically injects the necessary [AgentDetail](https://docs.beeai.dev/build-agents/agent-details) extension data that enables the agent to be used within the BeeAI ecosystem. The extension is populated with sensible defaults, but can be customized by providing a custom JSON file |
11 | | -- **Auto-registration**: The proxy automatically registers the modified agent with the BeeAI platform, making it immediately available for use |
| 9 | +1. **Intercepting agent card requests** – Captures calls to `/.well-known/agent-card.json` |
| 10 | +2. **Injecting BeeAI metadata** – Adds the [Agent Details extension](https://docs.beeai.dev/build-agents/agent-details) required by the BeeAI Platform |
| 11 | +3. **Auto-registering your agent** – Makes it immediately available in the BeeAI Platform interface |
12 | 12 |
|
13 | | -This allows any A2A-compliant agent to seamlessly work with BeeAI without requiring modifications to the original agent implementation. |
| 13 | +**Result**: Your A2A agent works in BeeAI Platform without touching your agent's code. |
14 | 14 |
|
15 | | -## Installation |
| 15 | +## Quickstart |
16 | 16 |
|
17 | | -```bash |
18 | | -npx tomkis/beeai-a2a-proxy |
19 | | -``` |
20 | | - |
21 | | -## Usage |
22 | | - |
23 | | -### Step-by-step process |
| 17 | +### Prerequisites |
24 | 18 |
|
25 | | -1. **Start your A2A agent** and note its URL (e.g., `http://localhost:8080`) |
26 | | -2. **Start the proxy** pointing to your agent: |
27 | | - ```bash |
28 | | - npx tomkis/beeai-a2a-proxy start http://localhost:8080 |
29 | | - ``` |
| 19 | +- A running A2A agent (e.g., at `http://localhost:8080`) |
| 20 | +- Node.js installed |
| 21 | +- BeeAI Platform running (default: `http://127.0.0.1:8333`) |
30 | 22 |
|
31 | | -### Examples |
| 23 | +### Connect Your Agent |
32 | 24 |
|
33 | | -**Basic usage:** |
| 25 | +1. Start your A2A agent and note its URL (e.g., `http://localhost:8080`) |
| 26 | +2. Run the proxy pointing to your agent: |
34 | 27 | ```bash |
35 | 28 | npx tomkis/beeai-a2a-proxy start http://localhost:8080 |
36 | 29 | ``` |
37 | 30 |
|
38 | | -**With custom proxy port:** |
| 31 | +Your agent is now live in BeeAI Platform at `http://127.0.0.1:8333` 🎉 |
| 32 | + |
| 33 | +## Optional Configuration |
| 34 | + |
| 35 | +**Use a different proxy port:** |
39 | 36 | ```bash |
40 | 37 | npx tomkis/beeai-a2a-proxy start http://localhost:8080 --port 4000 |
41 | 38 | ``` |
42 | 39 |
|
43 | | -**Disable auto-registration:** |
| 40 | +**Point to a custom BeeAI platform URL:** |
44 | 41 | ```bash |
45 | | -npx tomkis/beeai-a2a-proxy start http://localhost:8080 --auto-register false |
| 42 | +npx tomkis/beeai-a2a-proxy start http://localhost:8080 --platform-url http://localhost:9000 |
46 | 43 | ``` |
47 | 44 |
|
48 | | -**With custom platform URL:** |
| 45 | +**Skip auto-registration (manual registration only):** |
49 | 46 | ```bash |
50 | | -npx tomkis/beeai-a2a-proxy start http://localhost:8080 --platform-url http://localhost:9000 |
| 47 | +npx tomkis/beeai-a2a-proxy start http://localhost:8080 --auto-register false |
51 | 48 | ``` |
52 | 49 |
|
53 | | -**With custom agent detail data:** |
| 50 | +**Provide custom agent metadata:** |
54 | 51 | ```bash |
55 | 52 | npx tomkis/beeai-a2a-proxy start http://localhost:8080 --custom-data ./my-agent-details.json |
56 | 53 | ``` |
57 | 54 |
|
58 | | -### Available options |
59 | | -- `--port, -p`: Port to run the proxy server on (default: 8000) |
60 | | -- `--auto-register, -a`: Enable/disable auto-registration with the BeeAI platform (default: true) |
61 | | -- `--platform-url, -P`: Platform URL to register with (default: http://127.0.0.1:8333) |
62 | | -- `--custom-data, -c`: Path to custom agent detail JSON file |
| 55 | +### All Options |
| 56 | + |
| 57 | +| Option | Alias | Description | Default | |
| 58 | +|--------|-------|-------------|---------| |
| 59 | +| `--port` | `-p` | Proxy server port | `8000` | |
| 60 | +| `--auto-register` | `-a` | Auto-register with BeeAI | `true` | |
| 61 | +| `--platform-url` | `-P` | BeeAI platform URL | `http://127.0.0.1:8333` | |
| 62 | +| `--custom-data` | `-c` | Custom AgentDetail JSON file | (uses defaults) | |
| 63 | + |
| 64 | +## Limitations |
| 65 | + |
| 66 | +- **Development only** – The proxy is for local testing. For production, add the AgentDetail extension directly to your agent's code. |
| 67 | +- **Supported protocols** – Works with `jsonrpc` and `http_json` transport protocols. |
0 commit comments