@kybernesis/arp-cloud-bridge
v0.3.1
Published
External bridge: connects ARP cloud-gateway to a locally running agent framework (KyberBot, OpenClaw, Hermes) via that framework's existing native API. No code changes to the agent framework.
Readme
@kybernesis/arp-cloud-bridge
External bridge that connects an ARP-provisioned agent (handoff JSON from cloud.arp.run) to a locally running agent framework (KyberBot, OpenClaw, Hermes, generic HTTP). The agent framework is never modified — the bridge speaks each framework's existing native API.
Quick start (KyberBot)
npx @kybernesis/arp-cloud-bridge \
--handoff ~/atlas/arp-handoff.json \
--target kyberbot \
--kyberbot-root ~/atlasThe bridge:
- Opens a WebSocket to the cloud-gateway (URL embedded in the handoff).
- Authenticates with the agent's private key.
- Receives inbound DIDComm envelopes pushed down the WS.
- Calls
POST /api/web/chaton the running KyberBot agent (the same endpoint its web UI uses), reads the SSE stream for the assistant's reply. - Signs the reply as a DIDComm response and sends it back through the WS.
No tunnel. No public port. No code changes to KyberBot.
Generic HTTP (any framework)
If your agent has any HTTP endpoint that accepts { prompt, sessionId }
and returns a reply, point the bridge at it:
npx @kybernesis/arp-cloud-bridge \
--handoff ./handoff.json \
--target generic-http \
--url http://127.0.0.1:9090/arp \
--token sk-...Programmatic API
import { startBridge, createKyberBotAdapter } from '@kybernesis/arp-cloud-bridge';
await startBridge({
handoffPath: '/Users/me/atlas/arp-handoff.json',
adapter: createKyberBotAdapter({ root: '/Users/me/atlas' }),
});See src/types.ts for the Adapter interface — write your own to plug
in any framework that doesn't fit the KyberBot or generic-HTTP patterns.
