agent-relay 2.1.5 → 2.1.7
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 +91 -234
- package/dist/index.cjs +153 -25
- package/dist/src/cli/commands/doctor.d.ts.map +1 -1
- package/dist/src/cli/commands/doctor.js +32 -7
- package/dist/src/cli/commands/doctor.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +260 -27
- package/dist/src/cli/index.js.map +1 -1
- package/install.sh +545 -34
- package/package.json +18 -18
- package/packages/api-types/package.json +1 -1
- package/packages/benchmark/package.json +4 -4
- package/packages/bridge/package.json +8 -8
- package/packages/cli-tester/package.json +1 -1
- package/packages/config/package.json +2 -2
- package/packages/continuity/package.json +2 -2
- package/packages/daemon/dist/server.d.ts +5 -0
- package/packages/daemon/dist/server.d.ts.map +1 -1
- package/packages/daemon/dist/server.js +76 -4
- package/packages/daemon/dist/server.js.map +1 -1
- package/packages/daemon/package.json +12 -12
- package/packages/daemon/src/server.ts +79 -4
- package/packages/hooks/package.json +4 -4
- package/packages/mcp/dist/bin.js +34 -3
- package/packages/mcp/dist/bin.js.map +1 -1
- package/packages/mcp/dist/cloud.d.ts +7 -114
- package/packages/mcp/dist/cloud.d.ts.map +1 -1
- package/packages/mcp/dist/cloud.js +21 -431
- package/packages/mcp/dist/cloud.js.map +1 -1
- package/packages/mcp/dist/errors.d.ts +4 -22
- package/packages/mcp/dist/errors.d.ts.map +1 -1
- package/packages/mcp/dist/errors.js +4 -43
- package/packages/mcp/dist/errors.js.map +1 -1
- package/packages/mcp/dist/hybrid-client.d.ts.map +1 -1
- package/packages/mcp/dist/hybrid-client.js +7 -1
- package/packages/mcp/dist/hybrid-client.js.map +1 -1
- package/packages/mcp/dist/install.d.ts.map +1 -1
- package/packages/mcp/dist/install.js +7 -8
- package/packages/mcp/dist/install.js.map +1 -1
- package/packages/mcp/package.json +4 -3
- package/packages/mcp/src/bin.ts +39 -3
- package/packages/mcp/src/cloud.ts +29 -511
- package/packages/mcp/src/errors.ts +12 -49
- package/packages/mcp/src/hybrid-client.ts +8 -1
- package/packages/mcp/src/install.ts +7 -8
- package/packages/mcp/tests/discover.test.ts +72 -11
- package/packages/memory/package.json +2 -2
- package/packages/policy/package.json +2 -2
- package/packages/protocol/dist/types.d.ts +17 -1
- package/packages/protocol/dist/types.d.ts.map +1 -1
- package/packages/protocol/package.json +1 -1
- package/packages/protocol/src/types.ts +23 -0
- package/packages/resiliency/package.json +1 -1
- package/packages/sdk/dist/browser-client.d.ts +212 -0
- package/packages/sdk/dist/browser-client.d.ts.map +1 -0
- package/packages/sdk/dist/browser-client.js +750 -0
- package/packages/sdk/dist/browser-client.js.map +1 -0
- package/packages/sdk/dist/browser-framing.d.ts +46 -0
- package/packages/sdk/dist/browser-framing.d.ts.map +1 -0
- package/packages/sdk/dist/browser-framing.js +122 -0
- package/packages/sdk/dist/browser-framing.js.map +1 -0
- package/packages/sdk/dist/client.d.ts +129 -2
- package/packages/sdk/dist/client.d.ts.map +1 -1
- package/packages/sdk/dist/client.js +312 -2
- package/packages/sdk/dist/client.js.map +1 -1
- package/packages/sdk/dist/discovery.d.ts +10 -0
- package/packages/sdk/dist/discovery.d.ts.map +1 -0
- package/packages/sdk/dist/discovery.js +22 -0
- package/packages/sdk/dist/discovery.js.map +1 -0
- package/packages/sdk/dist/errors.d.ts +9 -0
- package/packages/sdk/dist/errors.d.ts.map +1 -0
- package/packages/sdk/dist/errors.js +9 -0
- package/packages/sdk/dist/errors.js.map +1 -0
- package/packages/sdk/dist/index.d.ts +18 -2
- package/packages/sdk/dist/index.d.ts.map +1 -1
- package/packages/sdk/dist/index.js +27 -1
- package/packages/sdk/dist/index.js.map +1 -1
- package/packages/sdk/dist/transports/index.d.ts +92 -0
- package/packages/sdk/dist/transports/index.d.ts.map +1 -0
- package/packages/sdk/dist/transports/index.js +129 -0
- package/packages/sdk/dist/transports/index.js.map +1 -0
- package/packages/sdk/dist/transports/socket-transport.d.ts +30 -0
- package/packages/sdk/dist/transports/socket-transport.d.ts.map +1 -0
- package/packages/sdk/dist/transports/socket-transport.js +94 -0
- package/packages/sdk/dist/transports/socket-transport.js.map +1 -0
- package/packages/sdk/dist/transports/types.d.ts +69 -0
- package/packages/sdk/dist/transports/types.d.ts.map +1 -0
- package/packages/sdk/dist/transports/types.js +10 -0
- package/packages/sdk/dist/transports/types.js.map +1 -0
- package/packages/sdk/dist/transports/websocket-transport.d.ts +55 -0
- package/packages/sdk/dist/transports/websocket-transport.d.ts.map +1 -0
- package/packages/sdk/dist/transports/websocket-transport.js +180 -0
- package/packages/sdk/dist/transports/websocket-transport.js.map +1 -0
- package/packages/sdk/package.json +28 -4
- package/packages/sdk/src/browser-client.ts +985 -0
- package/packages/sdk/src/browser-framing.test.ts +115 -0
- package/packages/sdk/src/browser-framing.ts +150 -0
- package/packages/sdk/src/client.test.ts +425 -0
- package/packages/sdk/src/client.ts +397 -3
- package/packages/sdk/src/discovery.ts +38 -0
- package/packages/sdk/src/errors.ts +17 -0
- package/packages/sdk/src/index.ts +82 -1
- package/packages/sdk/src/transports/index.ts +197 -0
- package/packages/sdk/src/transports/socket-transport.ts +115 -0
- package/packages/sdk/src/transports/types.ts +77 -0
- package/packages/sdk/src/transports/websocket-transport.ts +245 -0
- package/packages/sdk/tsconfig.json +1 -1
- package/packages/spawner/package.json +1 -1
- package/packages/state/package.json +1 -1
- package/packages/storage/dist/sqlite-adapter.d.ts +1 -0
- package/packages/storage/dist/sqlite-adapter.d.ts.map +1 -1
- package/packages/storage/dist/sqlite-adapter.js +31 -3
- package/packages/storage/dist/sqlite-adapter.js.map +1 -1
- package/packages/storage/package.json +2 -2
- package/packages/storage/src/jsonl-adapter.test.ts +8 -3
- package/packages/storage/src/sqlite-adapter.ts +34 -6
- package/packages/telemetry/package.json +1 -1
- package/packages/trajectory/package.json +2 -2
- package/packages/user-directory/package.json +2 -2
- package/packages/utils/dist/cjs/discovery.js +328 -0
- package/packages/utils/dist/cjs/errors.js +81 -0
- package/packages/utils/dist/discovery.d.ts +123 -0
- package/packages/utils/dist/discovery.d.ts.map +1 -0
- package/packages/utils/dist/discovery.js +439 -0
- package/packages/utils/dist/discovery.js.map +1 -0
- package/packages/utils/dist/errors.d.ts +29 -0
- package/packages/utils/dist/errors.d.ts.map +1 -0
- package/packages/utils/dist/errors.js +50 -0
- package/packages/utils/dist/errors.js.map +1 -0
- package/packages/utils/package.json +15 -2
- package/packages/utils/src/consolidation.test.ts +125 -0
- package/packages/utils/src/discovery.test.ts +196 -0
- package/packages/utils/src/discovery.ts +524 -0
- package/packages/utils/src/errors.test.ts +83 -0
- package/packages/utils/src/errors.ts +56 -0
- package/packages/wrapper/dist/relay-pty-orchestrator.d.ts.map +1 -1
- package/packages/wrapper/dist/relay-pty-orchestrator.js +12 -0
- package/packages/wrapper/dist/relay-pty-orchestrator.js.map +1 -1
- package/packages/wrapper/package.json +6 -6
- package/packages/wrapper/src/relay-pty-orchestrator.ts +12 -0
package/README.md
CHANGED
|
@@ -1,178 +1,59 @@
|
|
|
1
1
|
# agent-relay
|
|
2
2
|
|
|
3
|
-
Real-time messaging between AI agents. Sub-5ms latency, any CLI, any language.
|
|
3
|
+
> Real-time messaging between AI agents. Sub-5ms latency, any CLI, any language.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/agent-relay)
|
|
6
|
+
[](LICENSE)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
npm install -g agent-relay
|
|
9
|
-
```
|
|
8
|
+
---
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
## Install
|
|
12
11
|
|
|
13
|
-
**
|
|
12
|
+
**Quick install (recommended - no Node.js required!):**
|
|
14
13
|
```bash
|
|
15
|
-
|
|
14
|
+
curl -fsSL https://raw.githubusercontent.com/AgentWorkforce/relay/main/install.sh | bash
|
|
16
15
|
```
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
| Platform | Status | Notes |
|
|
21
|
-
|----------|--------|-------|
|
|
22
|
-
| macOS Apple Silicon | **Full support** | Native relay-pty binary |
|
|
23
|
-
| macOS Intel | **Full support** | Native relay-pty binary |
|
|
24
|
-
| Linux x64 | **Full support** | Native relay-pty binary |
|
|
25
|
-
| Linux arm64 | Fallback | Uses tmux (install separately) |
|
|
26
|
-
| Windows | Fallback | Uses tmux via WSL |
|
|
27
|
-
|
|
28
|
-
## Storage Requirements
|
|
29
|
-
- Default adapter: SQLite (persistent, WAL enabled). Path defaults to `~/.agent-relay/relay.db`.
|
|
30
|
-
- Recommended: Node.js 22+ for prebuilt SQLite binaries; Node 20 requires native rebuilds.
|
|
31
|
-
- Configure via env: `AGENT_RELAY_STORAGE_TYPE=sqlite|sqlite-batched|jsonl|memory` and `AGENT_RELAY_STORAGE_PATH=/your/db/path`.
|
|
32
|
-
- Fallback chain: SQLite (better-sqlite3 → node:sqlite) → JSONL (append-only in `~/.agent-relay/messages/YYYY-MM-DD.jsonl`, sessions in `sessions.jsonl`) → Memory (non-persistent).
|
|
33
|
-
- Docs: `docs/architecture/storage.md` (architecture) and `docs/troubleshooting/storage.md` (troubleshooting + doctor output).
|
|
34
|
-
|
|
35
|
-
## Quick Fix (Storage)
|
|
36
|
-
- See adapter status: `agent-relay doctor`.
|
|
37
|
-
- Rebuild native deps after Node upgrades: `npm rebuild better-sqlite3`.
|
|
38
|
-
- Stuck in non-persistent mode: upgrade to Node 22+, rebuild, or force JSONL via `AGENT_RELAY_STORAGE_TYPE=jsonl`, then restart.
|
|
39
|
-
- Permissions: ensure the storage directory is writable or set `AGENT_RELAY_STORAGE_PATH` to a user-writable location.
|
|
40
|
-
- Full guide: `docs/troubleshooting/storage.md`.
|
|
41
|
-
|
|
42
|
-
## Quick Start
|
|
17
|
+
This downloads a standalone binary that works without any dependencies.
|
|
43
18
|
|
|
19
|
+
**Or via npm:**
|
|
44
20
|
```bash
|
|
45
|
-
|
|
46
|
-
agent-relay claude
|
|
47
|
-
|
|
48
|
-
# Or with other CLI tools
|
|
49
|
-
agent-relay codex
|
|
50
|
-
agent-relay opencode # OpenCode with HTTP API support
|
|
51
|
-
agent-relay gemini
|
|
52
|
-
agent-relay droid
|
|
21
|
+
npm install -g agent-relay
|
|
53
22
|
```
|
|
54
23
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Write message to outbox (AGENT_RELAY_OUTBOX is set automatically)
|
|
59
|
-
cat > $AGENT_RELAY_OUTBOX/msg << 'EOF'
|
|
60
|
-
TO: Bob
|
|
61
|
-
|
|
62
|
-
Hey, can you help with this task?
|
|
63
|
-
EOF
|
|
64
|
-
|
|
65
|
-
# Trigger send
|
|
66
|
-
echo "->relay-file:msg"
|
|
67
|
-
```
|
|
24
|
+
*The npm method requires Node.js 18+*
|
|
68
25
|
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
->relay:Bob [await] Please confirm
|
|
72
|
-
->relay:Bob [await:30s] Please confirm within 30 seconds
|
|
73
|
-
```
|
|
26
|
+
## Getting Started
|
|
74
27
|
|
|
75
|
-
Or broadcast to all:
|
|
76
28
|
```bash
|
|
77
|
-
|
|
78
|
-
TO: *
|
|
79
|
-
|
|
80
|
-
Message to all agents
|
|
81
|
-
EOF
|
|
82
|
-
echo "->relay-file:broadcast"
|
|
29
|
+
agent-relay up --dashboard
|
|
83
30
|
```
|
|
84
31
|
|
|
85
|
-
|
|
32
|
+
Navigate to **http://localhost:3888** to:
|
|
33
|
+
- 🤖 Spawn and chat with agents using your locally installed CLI tools
|
|
34
|
+
- 👀 View real-time agent presence and status
|
|
35
|
+
- 💬 Message history and threading
|
|
36
|
+
- 📜 Log streaming from all agents
|
|
37
|
+
|
|
38
|
+
---
|
|
86
39
|
|
|
87
40
|
## CLI Reference
|
|
88
41
|
|
|
89
42
|
| Command | Description |
|
|
90
43
|
|---------|-------------|
|
|
91
|
-
| `agent-relay
|
|
92
|
-
| `agent-relay codex` | Start daemon + coordinator with Codex |
|
|
93
|
-
| `agent-relay opencode` | Start daemon + coordinator with OpenCode |
|
|
94
|
-
| `agent-relay gemini` | Start daemon + coordinator with Gemini |
|
|
44
|
+
| `agent-relay <cli>` | Start daemon + coordinator (claude, codex, gemini, etc.) |
|
|
95
45
|
| `agent-relay up` | Start daemon + dashboard |
|
|
96
46
|
| `agent-relay down` | Stop daemon |
|
|
97
47
|
| `agent-relay status` | Check daemon status |
|
|
98
|
-
| `agent-relay create-agent -n Name <cmd>` | Create named agent |
|
|
99
|
-
| `agent-relay read <id>` | Read truncated message |
|
|
48
|
+
| `agent-relay create-agent -n Name <cmd>` | Create a named agent |
|
|
100
49
|
| `agent-relay bridge <projects...>` | Bridge multiple projects |
|
|
50
|
+
| `agent-relay doctor` | Diagnose issues |
|
|
101
51
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
┌─────────────┐ ┌─────────────┐
|
|
106
|
-
│ Agent Alice │ │ Agent Bob │
|
|
107
|
-
│ (relay-pty) │ │ (relay-pty) │
|
|
108
|
-
└──────┬──────┘ └──────┬──────┘
|
|
109
|
-
│ │
|
|
110
|
-
└─────────┬─────────┘
|
|
111
|
-
│
|
|
112
|
-
Unix Domain Socket
|
|
113
|
-
│
|
|
114
|
-
┌────────┴────────┐
|
|
115
|
-
│ relay daemon │
|
|
116
|
-
│ (<5ms P2P) │
|
|
117
|
-
└────────┬────────┘
|
|
118
|
-
│
|
|
119
|
-
┌────────┴────────┐
|
|
120
|
-
│ Dashboard │
|
|
121
|
-
│ (Protocol UI) │
|
|
122
|
-
└─────────────────┘
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**relay-pty** is a Rust binary that wraps your CLI tool, providing:
|
|
126
|
-
- Direct PTY writes for reliable message injection
|
|
127
|
-
- ~550ms injection latency (vs ~1700ms with tmux)
|
|
128
|
-
- File-based message parsing for robustness
|
|
129
|
-
|
|
130
|
-
The **Dashboard** is a reference implementation of the relay protocol, providing real-time visibility into agent communication, message history, and coordinator controls.
|
|
131
|
-
|
|
132
|
-
## Dashboard
|
|
133
|
-
|
|
134
|
-
The dashboard starts automatically with any command (`agent-relay claude`, `agent-relay up`, etc.) at http://localhost:3888
|
|
135
|
-
|
|
136
|
-
Features:
|
|
137
|
-
- Real-time agent presence and status
|
|
138
|
-
- Message history and threading
|
|
139
|
-
- Coordinator panel for multi-agent orchestration
|
|
140
|
-
- Log streaming from all agents
|
|
141
|
-
|
|
142
|
-
## Cloud
|
|
143
|
-
|
|
144
|
-
For maximum scale and team collaboration, use [**agent-relay cloud**](https://agent-relay.com):
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
# Link your machine to cloud
|
|
148
|
-
agent-relay cloud link
|
|
149
|
-
|
|
150
|
-
# Check cloud status
|
|
151
|
-
agent-relay cloud status
|
|
152
|
-
|
|
153
|
-
# List agents across all linked machines
|
|
154
|
-
agent-relay cloud agents
|
|
155
|
-
|
|
156
|
-
# Send message to agent on any machine
|
|
157
|
-
agent-relay cloud send AgentName "Your message"
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
Cloud features:
|
|
161
|
-
- **Persistent workspaces** - Agents survive disconnects
|
|
162
|
-
- **Team collaboration** - Share dashboards, view all agents
|
|
163
|
-
- **Cross-machine messaging** - Send to agents on any linked machine
|
|
164
|
-
- **Centralized monitoring** - See all daemons and agents in one place
|
|
165
|
-
|
|
166
|
-
## Testing
|
|
167
|
-
- Full test suite: `npm test`
|
|
168
|
-
- Storage doctor diagnostics only: `npx vitest run src/cli/commands/doctor.test.ts`
|
|
169
|
-
- CI storage matrix runs Node 18/20/22 on Linux and macOS via `.github/workflows/storage-testing.yml`; match those locally for platform-specific issues.
|
|
170
|
-
|
|
171
|
-
The cloud dashboard is the same protocol implementation, scaled for teams.
|
|
52
|
+
---
|
|
172
53
|
|
|
173
54
|
## Agent Roles
|
|
174
55
|
|
|
175
|
-
|
|
56
|
+
Define roles by adding markdown files to your project:
|
|
176
57
|
|
|
177
58
|
```
|
|
178
59
|
.claude/agents/
|
|
@@ -186,10 +67,23 @@ Names automatically match roles (case-insensitive):
|
|
|
186
67
|
```bash
|
|
187
68
|
agent-relay create-agent -n Lead claude # Uses lead.md
|
|
188
69
|
```
|
|
70
|
+
Agents spawned by that name in the dashboard automatically assume that role.
|
|
71
|
+
|
|
72
|
+
## MCP Server
|
|
73
|
+
|
|
74
|
+
Give AI agents native relay tools via [Model Context Protocol](https://modelcontextprotocol.io):
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npx @agent-relay/mcp install
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Supports Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, OpenCode, Gemini CLI, and Droid.
|
|
81
|
+
|
|
82
|
+
Once configured, agents get access to: `relay_send`, `relay_inbox`, `relay_who`, `relay_spawn`, `relay_release`, and `relay_status`.
|
|
189
83
|
|
|
190
84
|
## Multi-Project Bridge
|
|
191
85
|
|
|
192
|
-
Orchestrate agents across
|
|
86
|
+
Orchestrate agents across repositories:
|
|
193
87
|
|
|
194
88
|
```bash
|
|
195
89
|
# Start daemons in each project
|
|
@@ -200,137 +94,100 @@ cd ~/frontend && agent-relay up
|
|
|
200
94
|
agent-relay bridge ~/auth ~/frontend ~/api
|
|
201
95
|
```
|
|
202
96
|
|
|
203
|
-
Cross-project messaging uses `project:agent` format
|
|
97
|
+
Cross-project messaging uses `project:agent` format:
|
|
204
98
|
```bash
|
|
205
99
|
cat > $AGENT_RELAY_OUTBOX/msg << 'EOF'
|
|
206
100
|
TO: auth:Lead
|
|
207
101
|
|
|
208
102
|
Please review the token refresh logic
|
|
209
103
|
EOF
|
|
210
|
-
echo "->relay-file:msg"
|
|
211
104
|
```
|
|
105
|
+
Then output: `->relay-file:msg`
|
|
212
106
|
|
|
213
|
-
##
|
|
107
|
+
## Cloud
|
|
214
108
|
|
|
215
|
-
|
|
109
|
+
For team collaboration and cross-machine messaging, use [agent-relay cloud](https://agent-relay.com):
|
|
216
110
|
|
|
217
111
|
```bash
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
npx @agent-relay/mcp install --editor claude
|
|
112
|
+
agent-relay cloud link # Link your machine
|
|
113
|
+
agent-relay cloud status # Check cloud status
|
|
114
|
+
agent-relay cloud agents # List agents across machines
|
|
115
|
+
agent-relay cloud send AgentName "Your message"
|
|
223
116
|
```
|
|
224
117
|
|
|
225
|
-
|
|
226
|
-
- Claude Desktop
|
|
227
|
-
- Claude Code
|
|
228
|
-
- Cursor
|
|
229
|
-
- VS Code (with Continue extension)
|
|
230
|
-
- Windsurf
|
|
231
|
-
- Zed
|
|
232
|
-
- OpenCode
|
|
233
|
-
- Gemini CLI
|
|
234
|
-
- Droid (Factory)
|
|
118
|
+
Connect your CLI tool to your own private workspace and unlock agents working 24/7 against your GitHub repository in their own private sandbox.
|
|
235
119
|
|
|
236
|
-
|
|
237
|
-
- `relay_send` - Send messages to agents/channels
|
|
238
|
-
- `relay_inbox` - Check pending messages
|
|
239
|
-
- `relay_who` - List online agents
|
|
240
|
-
- `relay_spawn` - Spawn worker agents
|
|
241
|
-
- `relay_release` - Release workers
|
|
242
|
-
- `relay_status` - Check connection status
|
|
243
|
-
|
|
244
|
-
The MCP server auto-discovers your relay daemon and provides a seamless integration. Start your daemon first (`agent-relay up`), then use your AI editor normally - the relay tools will be available automatically.
|
|
120
|
+
## Teaching Agents
|
|
245
121
|
|
|
246
|
-
|
|
122
|
+
> **Note:** On `agent-relay up` initialization this step happens automatically. If there is already an existing `AGENTS.md`, `CLAUDE.md`, or `GEMINI.md`, it will append the protocol instructions to that file.
|
|
247
123
|
|
|
248
|
-
|
|
124
|
+
Install the messaging protocol snippet for your agents via [prpm](https://prpm.dev):
|
|
249
125
|
|
|
250
126
|
```bash
|
|
251
|
-
|
|
252
|
-
agent-relay opencode
|
|
127
|
+
npx prpm install @agent-relay/agent-relay-snippet
|
|
253
128
|
|
|
254
|
-
#
|
|
255
|
-
npx @agent-relay/
|
|
129
|
+
# for Claude
|
|
130
|
+
npx prpm install @agent-relay/agent-relay-snippet --location CLAUDE.md
|
|
256
131
|
```
|
|
257
132
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
- SSE event streaming for real-time output
|
|
262
|
-
- Auto-fallback to PTY mode if serve unavailable
|
|
263
|
-
|
|
264
|
-
**Configuration** (`~/.config/opencode/opencode.json`):
|
|
265
|
-
```json
|
|
266
|
-
{
|
|
267
|
-
"mcp": {
|
|
268
|
-
"agent-relay": {
|
|
269
|
-
"type": "local",
|
|
270
|
-
"command": ["npx", "@agent-relay/mcp", "serve"]
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
}
|
|
133
|
+
Prefer skills?
|
|
134
|
+
```bash
|
|
135
|
+
npx prpm install @agent-relay/using-agent-relay
|
|
274
136
|
```
|
|
275
137
|
|
|
276
|
-
|
|
277
|
-
- `OPENCODE_PORT` - HTTP API port (default: 4096)
|
|
278
|
-
- `OPENCODE_API_URL` - Full HTTP API URL (overrides port, e.g., `http://localhost:8080`)
|
|
279
|
-
- `OPENCODE_SERVER_PASSWORD` - HTTP API authentication (Basic auth)
|
|
280
|
-
- `OPENCODE_HTTP_MODE=1` - Force HTTP API mode even if serve check fails
|
|
138
|
+
View all packages on our [prpm organization page](https://prpm.dev/orgs?name=Agent%20Relay).
|
|
281
139
|
|
|
282
|
-
|
|
140
|
+
---
|
|
283
141
|
|
|
284
|
-
|
|
142
|
+
## For Agents
|
|
285
143
|
|
|
144
|
+
Paste this into your LLM agent session:
|
|
286
145
|
```bash
|
|
287
|
-
|
|
288
|
-
npx prpm install @agent-relay/agent-relay-snippet
|
|
289
|
-
|
|
290
|
-
# Install snippet for CLAUDE.md
|
|
291
|
-
npx prpm install @agent-relay/agent-relay-snippet --location CLAUDE.md
|
|
146
|
+
curl -s https://raw.githubusercontent.com/AgentWorkforce/relay/main/docs/guide/agent-setup.md
|
|
292
147
|
```
|
|
293
148
|
|
|
294
|
-
|
|
149
|
+
Or read the full [Agent Setup Guide](./docs/guide/agent-setup.md).
|
|
295
150
|
|
|
296
|
-
|
|
151
|
+
## Using the Agent Relay SDK
|
|
297
152
|
|
|
298
|
-
|
|
153
|
+
The easiest way to develop against relay:
|
|
299
154
|
|
|
300
155
|
```bash
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
156
|
+
# Install globally and start daemon
|
|
157
|
+
npm install -g agent-relay
|
|
158
|
+
agent-relay up
|
|
159
|
+
|
|
160
|
+
# In your project
|
|
161
|
+
npm install agent-relay
|
|
305
162
|
```
|
|
306
163
|
|
|
307
|
-
|
|
164
|
+
```typescript
|
|
165
|
+
import { RelayClient } from 'agent-relay';
|
|
308
166
|
|
|
309
|
-
|
|
167
|
+
const client = new RelayClient({ name: 'MyApp' });
|
|
168
|
+
await client.connect();
|
|
310
169
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
- Any orchestration system (your own, Beads, external)
|
|
314
|
-
- Any memory system (Mimir, vector DBs, files)
|
|
170
|
+
// Spawn a worker agent
|
|
171
|
+
await client.spawn({ name: 'Worker', cli: 'claude', task: 'Wait for instructions' });
|
|
315
172
|
|
|
173
|
+
// Send it a message
|
|
174
|
+
await client.send('Worker', 'Hello from my app');
|
|
316
175
|
```
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
└──────────────────────────────────────────┘
|
|
328
|
-
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Philosophy
|
|
180
|
+
|
|
181
|
+
> **Do one thing well:** Real-time agent messaging with sub-5ms latency.
|
|
182
|
+
|
|
183
|
+
agent-relay is a messaging layer, not a framework. It works with any CLI tool, any orchestration system, and any memory layer.
|
|
184
|
+
|
|
185
|
+
---
|
|
329
186
|
|
|
330
187
|
## License
|
|
331
188
|
|
|
332
|
-
Apache-2.0
|
|
189
|
+
Apache-2.0 — Copyright 2025 Agent Workforce Incorporated
|
|
333
190
|
|
|
334
191
|
---
|
|
335
192
|
|
|
336
|
-
**Links:** [Documentation](https://
|
|
193
|
+
**Links:** [Documentation](https://docs.agent-relay.com/) · [Issues](https://github.com/AgentWorkforce/relay/issues) · [Cloud](https://agent-relay.com)
|