claude-relay 2.19.0 → 2.20.0-beta.1
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 +51 -91
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="media/logo/icon-full-banded-256-transparent.png" alt="Clay" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
<h3 align="center">
|
|
5
|
+
<h3 align="center">Your AI dev team. Not another coding agent.</h3>
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/clay-server) [](https://www.npmjs.com/package/clay-server) [](https://github.com/chadbyte/clay) [](https://github.com/chadbyte/clay/blob/main/LICENSE)
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
AI teammates who remember your decisions, challenge your thinking, and grow with your codebase. Runs on your machine.
|
|
8
10
|
|
|
9
11
|
```bash
|
|
10
12
|
npx clay-server
|
|
@@ -15,78 +17,64 @@ npx clay-server
|
|
|
15
17
|
|
|
16
18
|
## What you get
|
|
17
19
|
|
|
18
|
-
###
|
|
19
|
-
|
|
20
|
-
Your CLI sessions, your CLAUDE.md rules, your MCP servers. **All of it works in Clay as-is.** Pick up a CLI session in the browser, or continue a browser session in the CLI. Same SDK, same tools, same results.
|
|
21
|
-
|
|
22
|
-
<p align="center">
|
|
23
|
-
<img src="media/split.gif" alt="split-screen workflow" width="700">
|
|
24
|
-
</p>
|
|
25
|
-
|
|
26
|
-
### Everything the CLI doesn't
|
|
20
|
+
### Debate before you decide
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
<!-- TODO: debate.gif -->
|
|
29
23
|
|
|
30
|
-
|
|
24
|
+
Let your Mates challenge each other. Set up a debate. Pick a moderator and panelists, give them a topic, and let them go. You can raise your hand to interject.
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
<img src="media/phone.gif" alt="Clay on phone" width="280">
|
|
34
|
-
</p>
|
|
26
|
+
"REST vs GraphQL for the new API?" "Monorepo or separate repos?" "This architecture won't scale past 10k users. Here's why." Get opposing perspectives before you commit.
|
|
35
27
|
|
|
36
|
-
###
|
|
28
|
+
### Build your team with Mates
|
|
37
29
|
|
|
38
|
-
|
|
30
|
+
<!-- TODO: mates.gif -->
|
|
39
31
|
|
|
40
|
-
|
|
32
|
+
Mates are AI teammates shaped through real conversation, built to hold their own perspective. Give them a name, avatar, expertise, and working style. **They don't flatter you. They push back.**
|
|
41
33
|
|
|
42
|
-
|
|
34
|
+
@mention them in any project session, DM them directly, or bring multiple into the same conversation. Each Mate builds persistent knowledge over time, remembering past decisions, project context, and how you work together.
|
|
43
35
|
|
|
44
|
-
|
|
36
|
+
### Drop-in replacement
|
|
45
37
|
|
|
46
|
-
|
|
38
|
+
Your existing agent setup works as-is. CLI sessions, CLAUDE.md rules, MCP servers. **No migration needed.** Pick up a CLI session in the browser, or continue a browser session in the CLI.
|
|
47
39
|
|
|
48
|
-
|
|
40
|
+
### Your machine, your server
|
|
49
41
|
|
|
50
|
-
|
|
42
|
+
Clay runs as a daemon on your machine. **No cloud relay, no intermediary service.** Schedule agents with cron, get push notifications on your phone, close your laptop. Sessions keep running.
|
|
51
43
|
|
|
52
|
-
|
|
44
|
+
### Bring your whole team
|
|
53
45
|
|
|
54
|
-
|
|
46
|
+
**One API key runs the whole workspace.** Invite teammates, set permissions per person, per project, per session. If someone gets stuck, **jump into their session** to help in real time.
|
|
55
47
|
|
|
56
|
-
|
|
48
|
+
### Before vs Clay
|
|
57
49
|
|
|
58
|
-
|
|
50
|
+
| Before | With Clay |
|
|
51
|
+
|---|---|
|
|
52
|
+
| One CLI session at a time | Multiple agents across projects, persistent |
|
|
53
|
+
| No shared context across teammates | Shared workspace with roles and permissions |
|
|
54
|
+
| No memory between decisions | AI that remembers past decisions and challenges new ones |
|
|
55
|
+
| No teammates, just prompts | Mates with names, knowledge, and opinions |
|
|
59
56
|
|
|
60
|
-
|
|
57
|
+
### Why not just use Claude Code directly?
|
|
61
58
|
|
|
62
|
-
|
|
59
|
+
Claude Code is excellent for solo coding. Clay is for when you need more than a single agent session. A team that debates your architecture decisions. AI colleagues who remember what you decided last month. A workspace where your human teammates and AI teammates sit side by side.
|
|
63
60
|
|
|
64
|
-
|
|
65
|
-
Designer finds a bug → writes up a ticket on Asana → dev asks clarifying questions → PM prioritizes → dev opens terminal, fixes it → shares a preview → QA checks → deploy
|
|
66
|
-
<br>*7 steps. 3 people. 2 days.*
|
|
61
|
+
If Claude Code is a solo instrument, Clay is the band.
|
|
67
62
|
|
|
68
|
-
|
|
69
|
-
Designer opens Clay in the browser, describes the bug in plain language → senior joins the same session, reviews the fix together → merge
|
|
70
|
-
<br>*2 steps. 2 people. Minutes. The designer never touched a terminal.*
|
|
63
|
+
## Who is Clay for
|
|
71
64
|
|
|
72
|
-
|
|
65
|
+
- **Solo dev juggling multiple roles.** You need a code reviewer, a marketing lead, a writing partner, but it's just you. Build them as Mates.
|
|
66
|
+
- **Small team sharing one AI workflow.** One API key, everyone in the browser, no terminal knowledge required.
|
|
67
|
+
- **Founder doing dev + product + ops.** Run agents overnight, get notified on your phone, review in the morning.
|
|
73
68
|
|
|
74
|
-
##
|
|
69
|
+
## Why I built Clay
|
|
75
70
|
|
|
76
|
-
|
|
71
|
+
I wanted AI teammates, not just a coding agent. The underlying agent is the best foundation for a personal AI I've found. I wanted to turn it into my own AI assistant, one that knows my context, remembers my decisions, and works the way I work.
|
|
77
72
|
|
|
78
|
-
|
|
79
|
-
|---|---|---|---|---|
|
|
80
|
-
| Multi-user with roles | – | – | Platform-dependent | **Accounts + RBAC** |
|
|
81
|
-
| AI teammates (Mates + Debates) | – | – | – | **Yes** |
|
|
82
|
-
| Join teammate's session | – | – | – | **Yes** |
|
|
83
|
-
| Persistent daemon | – | Session-based | – | **Yes** |
|
|
84
|
-
| Native mobile app | – | **Yes** | **Platform app** | PWA |
|
|
85
|
-
| Official support | **Anthropic** | **Anthropic** | **Anthropic** | Community |
|
|
73
|
+
That started as a browser interface so I could access it from anywhere. Then I added multi-user so my team could use it too. Then I started building the AI teammates themselves.
|
|
86
74
|
|
|
87
|
-
|
|
75
|
+
Most AI agent projects go for full autonomy. Let the AI loose, give it all the permissions, let it run. I wanted the opposite: **AI that works as part of a team.** Visible, controllable, accountable. Your teammates can see what the agent is doing, jump in when it needs help, and set the rules it operates under.
|
|
88
76
|
|
|
89
|
-
|
|
77
|
+
That's Clay now. A workspace where AI teammates have names, persistent memory, and their own perspective. Not "act like an expert" prompting. Actual teammates that push back, remember last week, and sit in your sidebar next to your human colleagues.
|
|
90
78
|
|
|
91
79
|
## Getting Started
|
|
92
80
|
|
|
@@ -96,21 +84,25 @@ Clay is a community project, not affiliated with Anthropic. Official tools recei
|
|
|
96
84
|
npx clay-server
|
|
97
85
|
```
|
|
98
86
|
|
|
99
|
-
On first run, it
|
|
87
|
+
On first run, it asks for a port number and whether you're using it solo or with a team.
|
|
100
88
|
Scan the QR code to connect from your phone instantly.
|
|
101
89
|
|
|
102
90
|
For remote access, use a VPN like Tailscale.
|
|
103
91
|
|
|
104
|
-
|
|
105
|
-
<img src="media/start.gif" alt="Clay starting from CLI" width="600">
|
|
106
|
-
</p>
|
|
92
|
+
## Philosophy
|
|
107
93
|
|
|
108
|
-
|
|
94
|
+
**AI is a teammate, not a tool.** A tool gets used once and forgotten. A teammate accumulates your history, your decisions, your working style. Give them a specialty, let them build context over time, and bring them into any project as a colleague.
|
|
95
|
+
|
|
96
|
+
**AI should understand you first.** When you create a Mate, set up a scheduled task, or start a Ralph Loop, Clay interviews you. Not to save time, but to use AI's capability to understand what you actually want. "Just do it for me" is a trap. The better AI understands you, the better the output.
|
|
97
|
+
|
|
98
|
+
**Your data is yours.** Sessions are JSONL files. Settings are JSON. Knowledge is Markdown. Everything lives on your machine in formats you can read, move, and back up. No proprietary database, no cloud lock-in. If you stop using Clay tomorrow, your data doesn't disappear.
|
|
99
|
+
|
|
100
|
+
**Friction is a feature.** The goal of AI is not to remove all friction. It's to free you to focus on the friction that matters. Reviewing a critical decision, shaping the direction, catching what the agent missed. Clay keeps those moments in, on purpose.
|
|
109
101
|
|
|
110
102
|
## FAQ
|
|
111
103
|
|
|
112
104
|
**"Is this just a terminal wrapper?"**
|
|
113
|
-
No. Clay
|
|
105
|
+
No. Clay is a team workspace that happens to use Claude as its engine. It manages AI teammates, persistent knowledge, and structured debates. The agent runtime is an implementation detail.
|
|
114
106
|
|
|
115
107
|
**"Does my code leave my machine?"**
|
|
116
108
|
The Clay server runs locally. Files stay local. Only Claude API calls go out, which is the same as using the CLI.
|
|
@@ -127,36 +119,8 @@ No. Teammates share the Claude Code session logged in on the server. You can als
|
|
|
127
119
|
**"Does it work with MCP servers?"**
|
|
128
120
|
Yes. MCP configurations from the CLI carry over as-is.
|
|
129
121
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
## HTTPS
|
|
133
|
-
|
|
134
|
-
HTTPS is enabled by default using a builtin wildcard certificate for `*.d.clay.studio`. No setup required. Available from `v2.17.0-beta.2`. Your browser connects to a URL like:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
https://192-168-1-50.d.clay.studio:2633
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
The domain resolves to your local IP. All traffic stays on your network. See [clay-dns](clay-dns/) for details on how this works.
|
|
141
|
-
|
|
142
|
-
Push notifications require HTTPS, so they work out of the box with this setup. Install Clay as a PWA on your device to receive them.
|
|
143
|
-
|
|
144
|
-
<details>
|
|
145
|
-
<summary><strong>Alternative: local certificate with mkcert</strong></summary>
|
|
146
|
-
|
|
147
|
-
If you prefer to use a locally generated certificate (e.g. air-gapped environments where DNS is unavailable):
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
brew install mkcert
|
|
151
|
-
mkcert -install
|
|
152
|
-
npx clay-server --local-cert
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
This generates a self-signed certificate trusted by your machine. The setup wizard will guide you through installing the CA on other devices.
|
|
156
|
-
|
|
157
|
-
</details>
|
|
158
|
-
|
|
159
|
-
---
|
|
122
|
+
**"What is d.clay.studio in my browser URL?"**
|
|
123
|
+
It's a DNS-only service that resolves to your local IP for HTTPS certificate validation. No data passes through it. All traffic stays between your browser and your machine. See [clay-dns](clay-dns/) for details.
|
|
160
124
|
|
|
161
125
|
## CLI Options
|
|
162
126
|
|
|
@@ -180,11 +144,9 @@ npx clay-server --dangerously-skip-permissions
|
|
|
180
144
|
npx clay-server --dev # Dev mode (foreground, auto-restart on lib/ changes, port 2635)
|
|
181
145
|
```
|
|
182
146
|
|
|
183
|
-
---
|
|
184
|
-
|
|
185
147
|
## Architecture
|
|
186
148
|
|
|
187
|
-
Clay drives
|
|
149
|
+
Clay drives agent execution through the [Claude Agent SDK](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk) and streams it to the browser over WebSocket.
|
|
188
150
|
|
|
189
151
|
```mermaid
|
|
190
152
|
graph LR
|
|
@@ -207,8 +169,6 @@ graph LR
|
|
|
207
169
|
|
|
208
170
|
For detailed sequence diagrams, daemon architecture, and design decisions, see [docs/architecture.md](docs/architecture.md).
|
|
209
171
|
|
|
210
|
-
---
|
|
211
|
-
|
|
212
172
|
## Contributors
|
|
213
173
|
|
|
214
174
|
<a href="https://github.com/chadbyte/clay/graphs/contributors">
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-relay",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.20.0-beta.1",
|
|
4
4
|
"description": "Alias for clay-server — Web UI for Claude Code.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"claude-relay": "./bin/cli.js"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"clay-server": "2.
|
|
9
|
+
"clay-server": "2.20.0-beta.1"
|
|
10
10
|
},
|
|
11
11
|
"keywords": [
|
|
12
12
|
"claude",
|