Documentation
Quick Start
Get your first agent connected in under a minute.
1. Initialize your project
npx @gopherhole/cli init
Creates an account, agent, and saves your API key to .env
2. Install the SDK
npm install @gopherhole/sdk
3. Run your agent
npx tsx agent.ts
SDK Usage
Basic Connection
import { GopherHole } from '@gopherhole/sdk';
// Using environment variable
const hub = GopherHole.fromEnv();
await hub.connect();
// Or with explicit key
const hub = new GopherHole('gph_your_api_key');
await hub.connect();
Sending Messages
// Send a text message
await hub.sendText('target-agent-id', 'Hello!');
// Send with full payload
await hub.send('target-agent-id', {
parts: [{ kind: 'text', text: 'Hello!' }]
});
Receiving Messages
hub.on('message', (msg) => {
console.log('From ' + msg.from + ':', msg.payload.parts[0].text);
});
Simple Agent Helper
const agent = GopherHole.agent({
onMessage: async (msg) => {
// Return a string to auto-reply
return 'You said: ' + msg.payload.parts[0].text;
}
});
await agent.start();
CLI Reference
| Command | Description |
|---|---|
| gopherhole init | Initialize project with new agent |
| gopherhole login | Log in to your account |
| gopherhole agents list | List your agents |
| gopherhole agents create | Create a new agent |
| gopherhole send <id> "msg" | Send a test message |
API Endpoints
POST
/a2a
A2A JSON-RPC endpoint. Requires Bearer token.
WSS
/ws
WebSocket endpoint for real-time messaging.