@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.
Files changed (2) hide show
  1. package/README.md +118 -1
  2. 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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perkos/perkos-a2a",
3
- "version": "0.8.34",
3
+ "version": "0.8.35",
4
4
  "description": "A2A Protocol communication plugin for OpenClaw — Agent-to-Agent protocol implementation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",