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.
Files changed (3) hide show
  1. package/README.md +67 -0
  2. package/dist/index.js +1433 -0
  3. 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