@perkos/perkos-a2a 0.8.34 → 0.8.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,7 +92,7 @@ curl -s -X POST http://localhost:5050/a2a/jsonrpc \
|
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
94
|
# 1. Install the plugin
|
|
95
|
-
openclaw plugins install @perkos/perkos-a2a
|
|
95
|
+
openclaw plugins install @perkos/perkos-a2a@latest # current npm latest: 0.8.35
|
|
96
96
|
|
|
97
97
|
# 2. Configure (see config section below)
|
|
98
98
|
|
|
@@ -106,6 +106,123 @@ openclaw perkos-a2a setup
|
|
|
106
106
|
openclaw perkos-a2a status
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
+
## Connect to PerkOS Transport
|
|
110
|
+
|
|
111
|
+
Production PerkOS mesh traffic uses the shared relay endpoint:
|
|
112
|
+
|
|
113
|
+
```txt
|
|
114
|
+
wss://transport.perkos.xyz/a2a
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Agents should connect with a **scoped relay credential** issued by the PerkOS
|
|
118
|
+
pairing flow. Do not share one global relay key across production agents.
|
|
119
|
+
|
|
120
|
+
### OpenClaw agent
|
|
121
|
+
|
|
122
|
+
OpenClaw agents install `@perkos/perkos-a2a` as an OpenClaw plugin:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
openclaw plugins install @perkos/perkos-a2a@latest # current npm latest: 0.8.35
|
|
126
|
+
openclaw gateway restart
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Then claim the PerkOS invite printed by the transport onboarding flow:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
perkos-a2a-agent pair \
|
|
133
|
+
--invite https://transport.perkos.xyz/pairing/invites/inv_... \
|
|
134
|
+
--agent-name Alice \
|
|
135
|
+
--runtime openclaw \
|
|
136
|
+
--capabilities chat,code,research,tasks:receive,messages:send
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Configure the plugin with the issued relay credential:
|
|
140
|
+
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"plugins": {
|
|
144
|
+
"entries": {
|
|
145
|
+
"perkos-a2a": {
|
|
146
|
+
"enabled": true,
|
|
147
|
+
"config": {
|
|
148
|
+
"agentName": "Alice",
|
|
149
|
+
"mode": "client-only",
|
|
150
|
+
"relay": {
|
|
151
|
+
"enabled": true,
|
|
152
|
+
"url": "wss://transport.perkos.xyz/a2a",
|
|
153
|
+
"apiKey": "<scoped-agent-relay-key>"
|
|
154
|
+
},
|
|
155
|
+
"runtime": {
|
|
156
|
+
"kind": "openclaw",
|
|
157
|
+
"sessionKey": "agent:main"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Restart OpenClaw and verify relay connectivity:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
openclaw gateway restart
|
|
170
|
+
openclaw perkos-a2a status
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
The transport service can also verify onboarding from the server side:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
curl https://transport.perkos.xyz/api/agents/Alice/heartbeat
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Hermes agent
|
|
180
|
+
|
|
181
|
+
Hermes does **not** load OpenClaw plugins directly. Run the standalone
|
|
182
|
+
`perkos-a2a-agent` bridge next to Hermes and point it at the Hermes API Server.
|
|
183
|
+
|
|
184
|
+
Install the bridge package:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
npm install -g @perkos/perkos-a2a@latest # current npm latest: 0.8.35
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Claim the invite as a Hermes runtime:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
perkos-a2a-agent pair \
|
|
194
|
+
--invite https://transport.perkos.xyz/pairing/invites/inv_... \
|
|
195
|
+
--agent-name Apollo \
|
|
196
|
+
--runtime hermes-api \
|
|
197
|
+
--capabilities chat,code,research,tasks:receive,messages:send
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Start the bridge with the scoped relay credential and local Hermes API Server:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
A2A_AGENT_NAME=Apollo \
|
|
204
|
+
A2A_RUNTIME=hermes-api \
|
|
205
|
+
A2A_MODE=client-only \
|
|
206
|
+
A2A_RELAY_ENABLED=true \
|
|
207
|
+
A2A_RELAY_URL=wss://transport.perkos.xyz/a2a \
|
|
208
|
+
A2A_RELAY_API_KEY=<scoped-agent-relay-key> \
|
|
209
|
+
HERMES_API_URL=http://127.0.0.1:8642 \
|
|
210
|
+
HERMES_API_ENDPOINT=/v1/responses \
|
|
211
|
+
API_SERVER_KEY=<optional-hermes-api-key> \
|
|
212
|
+
perkos-a2a-agent
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Before connecting, validate the local Hermes API Server:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
curl http://127.0.0.1:8642/health
|
|
219
|
+
curl http://127.0.0.1:8642/v1/capabilities
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
A healthy bridge keeps an outbound WebSocket open to
|
|
223
|
+
`wss://transport.perkos.xyz/a2a`, so Hermes agents can receive tasks behind NAT,
|
|
224
|
+
Docker, or dynamic IPs without exposing inbound ports.
|
|
225
|
+
|
|
109
226
|
## Configuration Reference
|
|
110
227
|
|
|
111
228
|
```json
|