airloom 0.1.0
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 +67 -0
- package/dist/index.js +1433 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Airloom
|
|
2
|
+
|
|
3
|
+
Run AI on your computer, control it from your phone. End-to-end encrypted.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
Phone (Viewer) <--E2E encrypted--> Relay <--E2E encrypted--> Computer (Host)
|
|
7
|
+
(WS or Ably)
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Quick Start
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx airloom
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
A QR code and pairing code will appear in your terminal. Scan it with the Airloom viewer on your phone to connect.
|
|
17
|
+
|
|
18
|
+
Airloom ships with a built-in community relay via Ably — no server to run, no API keys to configure.
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g airloom
|
|
24
|
+
airloom
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or run directly with npx:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx airloom
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Configuration
|
|
34
|
+
|
|
35
|
+
All configuration is via environment variables:
|
|
36
|
+
|
|
37
|
+
| Variable | Default | Description |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| `RELAY_URL` | — | WebSocket relay URL. When set, disables Ably and uses self-hosted relay |
|
|
40
|
+
| `ABLY_API_KEY` | built-in community key | Your own Ably key. Overrides the shared community relay |
|
|
41
|
+
| `ABLY_TOKEN_TTL` | `86400000` (24h) | Viewer token lifetime in ms |
|
|
42
|
+
| `HOST_PORT` | `3000` | Local web UI port |
|
|
43
|
+
| `ANTHROPIC_API_KEY` | — | Anthropic API key for Claude |
|
|
44
|
+
| `OPENAI_API_KEY` | — | OpenAI API key for GPT |
|
|
45
|
+
| `AIRLOOM_CLI_COMMAND` | — | Shell command for CLI adapter |
|
|
46
|
+
| `AI_ADAPTER` | — | Adapter type: `anthropic`, `openai`, or `cli` |
|
|
47
|
+
| `AI_MODEL` | — | Model name override |
|
|
48
|
+
|
|
49
|
+
## Self-Hosted Relay
|
|
50
|
+
|
|
51
|
+
The community relay uses a shared Ably quota. For heavier use, set `ABLY_API_KEY` with your own key (free at https://ably.com), or use a self-hosted WebSocket relay:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
RELAY_URL=ws://your-relay:4500 airloom
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Security
|
|
58
|
+
|
|
59
|
+
All messages between host and viewer are end-to-end encrypted with ChaCha20-Poly1305. The relay (whether self-hosted WebSocket or Ably) only sees opaque ciphertext. The encryption key is derived from the pairing code using HKDF-SHA256 — it never leaves the two endpoints.
|
|
60
|
+
|
|
61
|
+
## Requirements
|
|
62
|
+
|
|
63
|
+
- Node.js >= 18
|
|
64
|
+
|
|
65
|
+
## License
|
|
66
|
+
|
|
67
|
+
MIT
|