aibroker 0.61.1 → 0.61.2

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 CHANGED
@@ -4,63 +4,13 @@ Claude Code is locked inside your terminal. You can only talk to it by typing. A
4
4
 
5
5
  Install AIBroker and your Claude Code sessions become reachable from anywhere. Ask Claude to check on your build while you're away from the desk. Send a screenshot request from WhatsApp. Switch between Claude sessions from your phone. It all routes through one daemon that owns the plumbing — TTS, transcription, image generation, screenshots, session management — so the adapters stay thin and the experience stays consistent.
6
6
 
7
- ---
8
-
9
- ## What You Can Do
10
-
11
- ### Talk to Claude from Your Phone
12
-
13
- - **WhatsApp** — Send a text or voice note. Claude gets it, processes it, replies back. Voice in → voice out.
14
- - **Telegram** — Same experience, different app. Text and voice both work.
15
- - **PAILot** (iOS app) — Native companion app with session switching, voice messages, typing indicators, and message history.
16
-
17
- ### Delegate Work from Todoist
18
-
19
- File a task in Todoist — from your phone, your watch, or the web — and the AI
20
- session that owns that project picks it up, does the work, and answers in the
21
- comments. Reply from the comments and it goes back to the same session.
22
-
23
- No new app, no new habit: you delegate to it the way you delegate to a
24
- colleague, and because the work happens on a task you can see what it is doing,
25
- what it decided, and say no before anything happens.
26
-
27
- [What it feels like](docs/task-manager-as-interface.md) · [Setup and security model](docs/todoist.md)
28
-
29
- ### Manage Sessions Remotely
30
-
31
- - "Show me all sessions" — see every running Claude Code session
32
- - "Switch to session 2" — route your messages to a different session
33
- - "Start a new session for ~/projects/api" — launch a fresh Claude session from your phone
34
- - "Screenshot" — capture what Claude is showing in iTerm right now
35
- - "What's the status?" — see which sessions are busy, idle, or waiting
36
-
37
- ### Voice and Media
38
-
39
- - **Voice notes** — Send a voice note from WhatsApp or Telegram. Whisper transcribes it, Claude processes it, Kokoro speaks the reply back as a voice note.
40
- - **Image generation** — "Send me an image of a sunset over mountains" — Flux generates it, delivers it to your chat.
41
- - **Screenshots** — Capture any iTerm session and receive the image on your phone.
42
- - **Video analysis** — Send a video, Gemini analyzes it, Claude discusses the results.
43
-
44
- ### Slash Commands from Anywhere
45
-
46
- Type these in any channel — WhatsApp, Telegram, PAILot, or terminal:
47
-
48
- | Command | What it does |
49
- |---------|-------------|
50
- | `/s` | List all sessions |
51
- | `/n ~/project` | Start a new visual session |
52
- | `/ss` | Screenshot the active session |
53
- | `/status` | Show all session statuses |
54
- | `/image a cat in space` | Generate and deliver an image |
55
- | `/e 3` | End session 3 |
56
- | `/aibp` | AIBP protocol status — plugins, channels, commands |
57
- | `/aibp plugins` | Detailed plugin list with capabilities |
58
- | `/aibp commands` | All registered commands by owner |
59
- | `/aibp help` | List all `/aibp` subcommands |
7
+ - Talk to Claude from WhatsApp, Telegram or the PAILot app, by text or voice
8
+ - Delegate work from Todoist and manage sessions remotely
9
+ - Generate images, transcribe voice notes, screenshot a session
60
10
 
61
11
  ---
62
12
 
63
- ## Quick Start
13
+ ## Install
64
14
 
65
15
  ```bash
66
16
  npm install -g aibroker
@@ -68,432 +18,89 @@ aibroker setup # service + MCP registration + Claude Code hooks + ~/.aibrok
68
18
  aibroker doctor # every check green, or it says exactly what to fix
69
19
  ```
70
20
 
71
- `aibroker setup` is idempotent and prints what it did per step; `--dry-run` shows the plan and writes nothing, `--no-service`, `--no-mcp` and `--no-hooks` skip a step. `aibroker uninstall` removes the service, the MCP entry and the hooks it added, and keeps `~/.aibroker` unless you pass `--purge`.
72
-
73
- The hub owns the IPC socket at `/tmp/aibroker.sock` and the PAILot WebSocket gateway on port 8765.
74
-
75
- | | macOS | Linux |
76
- |---|---|---|
77
- | Service | LaunchAgent `com.aibroker.daemon` (an existing plist is left alone unless `--force`) | `systemd --user` unit `aibroker.service`; run `sudo loginctl enable-linger $USER` once so it survives logout |
78
- | Session host | iTerm2 (tmux optional) | tmux |
79
- | Prerequisites | Node.js 22+, iTerm2, ffmpeg | Node.js 22+, tmux, ffmpeg |
80
- | Guide | [docs/macos.md](docs/macos.md) | [docs/linux.md](docs/linux.md) — no macOS needed anywhere |
81
-
82
- From a source checkout instead: `git clone https://github.com/mnott/AIBroker && cd AIBroker && npm install && npm run build && node dist/daemon/cli.js setup`.
83
-
84
- ### 4. Session backup across reboots (optional)
85
-
86
- ```bash
87
- aibroker sessions install
88
- ```
89
-
90
- Installs a LaunchAgent (`com.aibroker.sessions-snapshot`, macOS) that records your open Claude sessions (name + directory) every 5 minutes. Around a reboot:
91
-
92
- ```bash
93
- aibroker sessions checkpoint # before: tells each open session to persist its state
94
- # reboot
95
- aibroker sessions restore # after: reopens every session in its own iTerm2 tab
96
- ```
97
-
98
- `checkpoint` waits for each session to actually finish saving and prints a per-session result, so a session that never reacted is reported instead of silently skipped. Retry just those with `--only NAME`; raise `--timeout SECONDS` for slow ones.
99
-
100
- `restore` relaunches a fresh named session per entry (which `go`s to pick up that project's saved state) — it does not rely on `claude --resume`.
101
-
102
- The manifest (`~/.aibroker/session-restore.json`) is a **registry, not a mirror**: snapshots merge into it, so closing a session — or shutting everything down before a reboot — never removes anything. Entries leave only via `aibroker sessions forget NAME` or `aibroker sessions prune --older-than DAYS`, and every write keeps a `.bak`. See `aibroker sessions help` for the rest.
103
-
104
- ### 5. Dispatch work to a project's session
105
-
106
- ```bash
107
- aibroker dispatch <project> --stdin --json [--no-spawn]
108
- ```
109
-
110
- Resolves a project to its running Claude session and delivers a message, launching the session if none is running. One atomic call: a caller doing list → launch → send itself races, because a session can start or die between the check and the send.
111
-
112
- The body comes in over **stdin** — task bodies are multi-line and carry quotes and backticks, which argv mangles. Messages arrive prefixed `[Task]`, meaning *act on it, do not reply* (unlike `[Session:NAME]`, there is no sender left to reply to).
113
-
114
- Outcomes are results, not errors — all exit 0, so a batch keeps going:
115
-
116
- | outcome | meaning |
117
- |---|---|
118
- | `delivered` | a live session accepted it |
119
- | `spawned` | none was running; one was launched and accepted it |
120
- | `unlaunchable` | no curated alias — run `pai project name <identifier> <shortname>` |
121
- | `unreachable` | tab opened but the session never accepted input |
122
- | `skipped` | no live session and `--no-spawn` was set |
123
-
124
- Resolution uses the **curated** alias list only, never `pai project names --all`: the full set has no aliases and real ambiguity (several registry rows share a display name at different paths), so widening it dispatches work to the wrong directory silently. Bus participation is opt-in by design.
125
-
126
- `spawned` means *confirmed submitted*, not *tab opened* — delivery is verified by watching the message leave the input box and land in the transcript, which works whether the session is idle or busy.
127
-
128
- `--timeout SECONDS` is a **total budget for the whole dispatch**, not a per-stage cap: the readiness wait and the delivery share it, retries included. Callers that wrap this in their own kill timer should set it below theirs — then AIBroker always times out first and returns a reason, instead of being killed and surfacing as the caller's own timeout with the cause lost.
129
-
130
- The logic lives in the daemon (`dispatch` IPC), so MCP, PAILot and adapters can route work without shelling out; the CLI is a thin, versioned wrapper for shell callers.
131
-
132
- ### 6. Ask a session whether it is still alive
133
-
134
- ```bash
135
- aibroker ask <project> --stdin --timeout 60 --json
136
- ```
137
-
138
- For callers with no session and no mailbox — a launchd poller checking whether the session it handed work to is still going. **Never spawns**: a probe that creates the thing it is probing turns a dead session into a fresh one and reports health.
139
-
140
- | state | meaning |
141
- |---|---|
142
- | `replied` | it answered; `reply` holds its words |
143
- | `busy` | mid-turn and still producing output. **Alive** — nothing was sent |
144
- | `silent` | idle, took the question, never answered. Genuinely suspicious |
145
- | `absent` | no live session for that project |
146
-
147
- **`busy` is positive evidence of life and must not count toward a stuck threshold.** Claude Code queues typed input while mid-turn and only reads it when the turn ends, so a session busy doing exactly the work it was given cannot answer — and a short timeout would report it as silent. Since a scheduler probes precisely when a task has overrun, that false positive would fire constantly. Liveness is therefore decided *before* any question is sent, which also means a working session pays no token cost for being probed.
148
-
149
- Every probe of an idle session does inject a message that stays in that session's context, so keep the text short and probe rarely.
150
-
151
- ### 7. File work from your phone or watch (optional)
152
-
153
- ```bash
154
- tailscale funnel --bg --https=443 --set-path=/todoist http://127.0.0.1:8766/todoist
155
- ```
156
-
157
- > **Port 443, and no port in the callback URL.** Todoist *silently* refuses any
158
- > webhook URL carrying a port: the form accepts it, activation appears to do
159
- > nothing, and the status stays *Not configured* forever with no error anywhere.
160
- > `--https=8443` will look like it worked and never deliver a single event.
161
-
162
- Add a task in Todoist and it reaches the session that owns it — no polling, because Todoist pushes. Set a **reminder** rather than a due date to schedule work: `reminder:fired` is a webhook event, a task merely becoming due is not.
163
-
164
- This is an execution ingress, so it is narrow by construction: every request must carry a valid HMAC signature, only explicitly allowlisted projects can reach a session, and an empty allowlist accepts nothing rather than everything. Todoist's Inbox cannot be shared, which is what makes quick capture from a watch safe.
165
-
166
- What it feels like to use: **[docs/task-manager-as-interface.md](docs/task-manager-as-interface.md)**.
167
- Full setup, routing rules and the security model: **[docs/todoist.md](docs/todoist.md)**.
168
-
169
- ### 8. Audit what one session did to another
170
-
171
- ```bash
172
- aibroker audit # recent cross-session activity
173
- aibroker audit --session Youdrill # everything touching one session
174
- aibroker audit --trace <id> # follow one causation chain
175
- aibroker audit --bodies # full message bodies
176
- aibroker audit --json # raw JSONL, for piping
177
- ```
178
-
179
- Every daemon-mediated cross-session action — `send`, `dispatch`, `ask`, `launch`, and refusals — is appended to `~/.aibroker/audit.jsonl`, one JSON object per line, **before and independently of whatever the acting agent later reports**.
180
-
181
- That distinction is the point. Sessions can now message each other, dispatch work, spawn new sessions and probe for liveness, and chains form that nobody designed: an observation in one project reaching a second session which relays it to a third. Without a record, the only account of any of it is each participant's own — a session that acts and does not mention it leaves no trace, and a session that ends takes its side of the story with it.
182
-
183
- Bodies are stored in full, because a summary of a message is exactly the self-report this replaces. Refusals are stored too: "the hub declined to type this into a shell" is part of the history.
184
-
185
- `--trace` walks a chain in both directions — what led to an event, and what it led to. Causation is inferred from the last message an actor received, which reconstructs `A→B→C` correctly in the ordinary case but is a heuristic, not proof: an agent may act for reasons of its own.
186
-
187
- The format is deliberately plain JSONL: greppable with the tools already on the machine, appendable by any other tool that wants to contribute events, and a torn final line costs one record rather than the file. Set `AIBROKER_AUDIT_FILE` to relocate it.
188
-
189
- ### 9. Connect an adapter
190
-
191
- ```bash
192
- # WhatsApp
193
- npm install -g whazaa
194
- whazaa setup # pair the phone (QR code), once
195
- whazaa service start # run the watcher as a service (LaunchAgent on macOS, systemd user unit on Linux)
196
-
197
- # Telegram
198
- npm install -g @tekmidian/telex
199
- telex setup # log in to Telegram, once
200
- telex service start
201
- ```
202
-
203
- `<bin> service start|stop|status|unit` manages the background service; see [macos.md](docs/macos.md) and [linux.md](docs/linux.md). Once connected, messages from your phone route to Claude and replies come back automatically.
21
+ Then connect an adapter: `npm install -g whazaa && whazaa setup` (WhatsApp) or `npm install -g @tekmidian/telex && telex setup` (Telegram). Platform guides: [macOS](docs/macos.md), [Linux](docs/linux.md). Flags, source checkout and the adapter service commands: [docs/install.md](docs/install.md).
204
22
 
205
23
  ---
206
24
 
207
- ## Architecture
25
+ ## What You Can Do
208
26
 
209
- ```
210
- Your Phone AIBroker Daemon Claude Code
211
- ────────── ─────────────── ──────────
212
- WhatsApp ───► Whazaa ──┐ ┌──► Session 1 (iTerm)
213
- Telegram ───► Telex ──┤ Hub (IPC + AIBP routing) ├──► Session 2 (iTerm)
214
- PAILot ───► WS:8765 ──┤ TTS · STT · Screenshots ├──► Session 3 (iTerm)
215
- Your App ───► Adapter ──┘ Image Gen · Session Mgmt └──► Headless (API)
216
- ```
27
+ Text and voice from WhatsApp, Telegram and PAILot; delegating from Todoist; listing, switching, launching and screenshotting sessions; voice notes, image generation, video analysis; slash commands such as `/s`, `/n`, `/ss`, `/status`, `/image` from any channel.
217
28
 
218
- **AIBroker is the runtime.** Adapters are thin transport plugins — they handle the network connection and nothing else. All intelligence lives in the hub: command parsing, message routing, media pipelines, session orchestration.
29
+ → [docs/what-you-can-do.md](docs/what-you-can-do.md)
219
30
 
220
- ### AIBP Protocol
31
+ ## Session Backup and Dispatch
221
32
 
222
- Internally, all messages flow through AIBP (AIBroker Protocol) — an IRC-inspired routing layer with explicit source/destination addressing, typed channels, and plugin registration.
33
+ `aibroker sessions` records your open sessions and restores them after a reboot. `aibroker dispatch` delivers a message to a project's session, launching it if needed; `aibroker ask` probes whether a session is still alive without ever spawning one.
223
34
 
224
- ```
225
- Plugin A ──message──► #session:abc ──fan-out──► Plugin B, Plugin C, Plugin D
226
- ```
35
+ → [docs/session-backup.md](docs/session-backup.md) · [docs/dispatch.md](docs/dispatch.md)
227
36
 
228
- Every plugin declares its type and capabilities:
37
+ ## Todoist
229
38
 
230
- | Plugin Type | Examples | Capabilities |
231
- |------------|----------|-------------|
232
- | `transport` | Whazaa, Telex | TEXT, VOICE, IMAGE, FILE |
233
- | `terminal` | iTerm2 | TEXT, COMMAND |
234
- | `mobile` | PAILot | TEXT, VOICE, IMAGE, TYPING, STATUS |
235
- | `mcp` | Claude Code sessions | TEXT, VOICE, IMAGE, COMMAND |
236
- | `bridge` | Remote hubs | TEXT, VOICE, IMAGE, COMMAND, FILE |
39
+ File a task from your phone or watch and the session that owns that project picks it up. Todoist pushes, so there is no polling; the ingress is narrow by construction (HMAC, allowlisted projects).
237
40
 
238
- Messages carry explicit `src` and `dst` addresses — no guessing which session should receive what. Cross-session messaging, mesh networking between machines, and channel fan-out all work through the same protocol.
41
+ → [docs/todoist.md](docs/todoist.md) · [docs/task-manager-as-interface.md](docs/task-manager-as-interface.md)
239
42
 
240
- ### Inspecting the Protocol
43
+ ## Audit
241
44
 
242
- Use `/aibp` from any channel (WhatsApp, Telegram, PAILot) or the `aibroker_aibp_status` MCP tool from Claude Code to see the live state of the routing infrastructure:
45
+ Every daemon-mediated cross-session action, refusals included, is appended to `~/.aibroker/audit.jsonl` before and independently of what the acting agent reports. `aibroker audit` reads it.
243
46
 
244
- ```
245
- /aibp → combined overview (sessions, plugins, channels, peers)
246
- /aibp plugins → registered plugins with type, status, capabilities
247
- /aibp channels → active channels with members and activity
248
- /aibp commands → all commands grouped by owning plugin
249
- /aibp peers → mesh network peers
250
- ```
47
+ → [docs/audit.md](docs/audit.md)
251
48
 
252
- `/status` and `/st` are shortcuts for `/aibp status`.
49
+ ## Architecture and AIBP Protocol
253
50
 
254
- For the full protocol spec, see [docs/protocol.md](docs/protocol.md).
51
+ The hub is the runtime; adapters are thin transport plugins. Internally every message flows through AIBP, an IRC-inspired routing layer with explicit source and destination addresses, typed channels and plugin registration. `/aibp` inspects the live state.
255
52
 
256
- ---
53
+ → [docs/architecture.md](docs/architecture.md) · [docs/protocol.md](docs/protocol.md)
257
54
 
258
55
  ## MCP Tools
259
56
 
260
- AIBroker exposes 42 MCP tools through a single unified server. Claude uses these automatically based on message routing rules — you don't need to call them manually.
261
-
262
- ### Message Routing
57
+ One unified MCP server exposes 42 tools (`whatsapp_*`, `telegram_*`, `pailot_*`, `aibroker_*`). Message prefixes such as `[Whazaa:voice]` tell Claude which channel to reply through.
263
58
 
264
- When a message arrives with a prefix, Claude knows where it came from and replies through the matching channel:
265
-
266
- | Prefix | Source | Claude replies with |
267
- |--------|--------|-------------------|
268
- | `[Whazaa]` | WhatsApp text | `whatsapp_send` |
269
- | `[Whazaa:voice]` | WhatsApp voice note | `whatsapp_tts` |
270
- | `[Telex]` | Telegram text | `telegram_send` |
271
- | `[Telex:voice]` | Telegram voice note | `telegram_tts` |
272
- | `[PAILot]` | PAILot app text | `pailot_send` |
273
- | `[PAILot:voice]` | PAILot app voice | `pailot_tts` |
274
- | _(no prefix)_ | Terminal keyboard | Terminal only |
275
-
276
- ### Tool Categories
277
-
278
- | Category | Tools | What they do |
279
- |----------|-------|-------------|
280
- | `whatsapp_*` | send, tts, contacts, chats, history, login, status | WhatsApp messaging and management |
281
- | `telegram_*` | send, tts, contacts, chats, history, login, status | Telegram messaging and management |
282
- | `pailot_*` | send, tts, receive | PAILot app communication |
283
- | `aibroker_*` | status, sessions, switch, discover, speak, dictate, generate_image, ... | Hub-level operations |
284
-
285
- For the complete reference, see [docs/mcp-tools.md](docs/mcp-tools.md).
286
-
287
- ---
59
+ → [docs/mcp-tools.md](docs/mcp-tools.md)
288
60
 
289
61
  ## Bring Your Own Messenger
290
62
 
291
- AIBroker adapters are standalone npm packages. A scaffold generator handles all the IPC wiring, MCP registration, and hub integration. You implement two things: how to connect and how to send.
292
-
293
- ```bash
294
- aibroker create-adapter my-signal
295
- cd my-signal
296
- npm install
297
- ```
298
-
299
- Full guide: [docs/adapters.md](docs/adapters.md)
63
+ Adapters are standalone npm packages. `aibroker create-adapter my-signal` scaffolds the IPC wiring, MCP registration and hub integration; you implement how to connect and how to send.
300
64
 
301
- ---
65
+ → [docs/adapters.md](docs/adapters.md)
302
66
 
303
67
  ## Media Pipelines
304
68
 
305
- All media processing is centralized in the hub — adapters never touch TTS, transcription, or image generation directly.
306
-
307
- | Pipeline | Technology | What happens |
308
- |----------|-----------|-------------|
309
- | **Text-to-Speech** | Kokoro (local) | Text → WAV → OGG Opus → delivered as voice note |
310
- | **Speech-to-Text** | Whisper (local) | Voice note → transcription → delivered as text to Claude |
311
- | **Image Generation** | Pluggable (see below) | Prompt → image → delivered to chat |
312
- | **Image Analysis** | Claude Vision | Image → description → text response (no extra API cost on Max plan) |
313
- | **Video Analysis** | Gemini 2.0 Flash | Video → analysis → text response (free tier: 15 RPM) |
314
- | **Screenshots** | iTerm2 AppleScript | Capture terminal → PNG → delivered to chat |
315
-
316
- ### Image Generation — Works Out of the Box
317
-
318
- Image generation uses [Pollinations.ai](https://pollinations.ai) by default — free, unlimited, no API key, no signup. Just ask Claude to generate an image and it works.
319
-
320
- Want faster results? Upgrade to a paid provider by setting a single environment variable in `~/.aibroker/env`:
321
-
322
- | Provider | Setup | Speed | Cost |
323
- |----------|-------|-------|------|
324
- | **Pollinations** _(default)_ | Nothing — works immediately | ~20s | Free |
325
- | **Replicate** | `REPLICATE_API_TOKEN=r8_...` | 2-4s | ~$0.003/image |
326
- | **Cloudflare Workers AI** | `CLOUDFLARE_AI_TOKEN=...` + `CLOUDFLARE_ACCOUNT_ID=...` | 3-5s | Free (~100/day) |
327
- | **Hugging Face** | `HF_API_TOKEN=hf_...` | 5-15s | Free (rate-limited) |
328
-
329
- AIBroker auto-detects which token is set and uses that provider. No config file needed.
330
-
331
- **Pin a specific provider** with `~/.aibroker/image-gen.json`:
332
-
333
- ```json
334
- {
335
- "provider": "replicate"
336
- }
337
- ```
338
-
339
- **Bring your own provider** — point to any Node.js module that implements the `ImageProvider` interface:
340
-
341
- ```json
342
- {
343
- "provider": "custom",
344
- "modulePath": "/path/to/my-provider.js",
345
- "options": { "apiKey": "...", "endpoint": "https://my-api.com" }
346
- }
347
- ```
348
-
349
- Your module exports one function:
350
-
351
- ```typescript
352
- import type { ImageProvider, ImageProviderConfig } from "aibroker";
353
-
354
- export function createProvider(config: ImageProviderConfig): ImageProvider {
355
- return {
356
- name: "my-provider",
357
- async generate(opts) {
358
- const res = await fetch(config.options.endpoint, { /* ... */ });
359
- return {
360
- images: [Buffer.from(await res.arrayBuffer())],
361
- model: "my-model",
362
- durationMs: 0,
363
- };
364
- },
365
- };
366
- }
367
- ```
368
-
369
- All built-in providers use FLUX.1 Schnell by default. Override with `"model": "your-model-id"` in the config.
370
-
371
- ### Iterative Refinement
69
+ TTS (Kokoro), STT (Whisper), image generation (Pollinations by default, Replicate, Cloudflare, Hugging Face or your own provider), image and video analysis, screenshots. Image generation is conversational and refines on follow-ups.
372
70
 
373
- Image generation is conversational. Generate an image, then refine it with follow-up messages:
374
-
375
- ```
376
- You: "Send me an image of a fish sitting on a chair"
377
- Claude: [image]
378
- You: "Put a tie on it"
379
- Claude: [refined image — fish on chair, now wearing a tie]
380
- You: "Make it watercolor style"
381
- Claude: [refined image — watercolor fish with tie on chair]
382
- ```
383
-
384
- AIBroker detects refinement intent from modification verbs ("put", "add", "make"), image references ("it", "the image"), style keywords ("watercolor", "cartoon"), and prepositional modifiers ("with a hat", "without the chair"). Messages that don't reference the image pass through to Claude normally — no manual "stop" needed.
385
-
386
- Image context is scoped per source, recipient, and session, so multiple users or devices never interfere. Context expires after 30 minutes of inactivity. Say "new image" or "start over" to reset explicitly.
387
-
388
- ---
71
+ → [docs/media.md](docs/media.md)
389
72
 
390
73
  ## PAILot Companion App
391
74
 
392
- PAILot is a native iOS app that connects to AIBroker over WebSocket. It provides:
393
-
394
- - **Session management** — switch between Claude sessions, start new ones, end old ones
395
- - **Voice messages** — record and send, receive voice replies with chain playback
396
- - **Typing indicators** — see when Claude is processing
397
- - **Message history** — persistent chat with text and voice
398
- - **Offline queuing** — messages buffer on the server when you're disconnected, drain on reconnect
399
- - **Session isolation** — the gateway tracks which session each client is viewing and only delivers matching messages, preventing cross-session content bleed
400
-
401
- PAILot connects to `ws://your-mac:8765`. See [docs/pailot.md](docs/pailot.md).
75
+ A native iOS app that connects to AIBroker over WebSocket: session management, voice messages, typing indicators, message history, offline queuing and session isolation.
402
76
 
403
- ---
77
+ → [docs/pailot.md](docs/pailot.md)
404
78
 
405
79
  ## Pair Programming, for Agents
406
80
 
407
- Two Claude sessions can work the same repository overnight while a third supervises them. Not a swarm — a **pair**, with a manager keeping both pointed at the work.
408
-
409
- ```
410
- you ──► manager session ──┬──► worker A (owns Sources/, drives the screen)
411
- (asleep) └──► worker B (owns tools/, its own git worktree)
412
- ```
413
-
414
- The manager is an ordinary Claude session with the `manage` CLI. It does four things the workers cannot do for themselves.
415
-
416
- **It holds the objective.** `manage <session> set "<objective>"` stores a standing goal; the manager re-types it into the pane whenever the session stops. A session that finishes a task and would otherwise idle gets pointed at the next one. `manage <session> add` appends a rule to every future arming, so a correction made once survives every restart.
417
-
418
- **It refuses to let a session stand down.** Workers ask to be released when they judge themselves done. The manager declines and re-arms — the objective says who ends it, and it is not the worker.
419
-
420
- **It watches the context wall.** At 82% it asks for a handover into a named file; the session writes what a compaction would destroy and carries on working. Sessions routinely reached 99% and compacted with the record already on disk.
421
-
422
- **It arbitrates the split.** Each worker owns a set of directories and a separate git worktree, and anything across the line is asked for by name. This is not tidiness: two sessions in one tree destroyed each other's uncommitted work twice in one night, once through a directory-wide `git add` and once through `git checkout --`.
81
+ Two Claude sessions work the same repository overnight while a manager session keeps both pointed at the work: it holds the objective, refuses to let a session stand down, watches the context wall and arbitrates the split.
423
82
 
424
- Exactly one session may drive the screen. The pointer grant is machine-wide, so exclusivity is a coordination rule rather than a lock: the worker without it sends precise requests — what to open, what to do, what to read back — to the one that has it.
425
-
426
- ```bash
427
- aibroker manage worker-a "objective, in one line" # store it
428
- aibroker manage worker-a hands on for 8 hours # grant the screen, expires by itself
429
- aibroker manage worker-a now # arm it immediately
430
- aibroker manage worker-a handover Notes/handover.md # where it writes before compacting
431
- aibroker manage worker-a status # what it is doing, and what the manager has done
432
- ```
433
-
434
- What makes this work is not autonomy but **refusal**. The instructive failures were all instruments reporting success while measuring nothing: a guard that exempted the case it existed to stop, a mutation test whose mutation never applied, a screenshot of the previous build, a message delivered to the wrong session, a session timestamping eight hours of work from a clock it carried in context rather than one it read. Every one of them looked like progress. The manager's job is to be a second reader who asks what was actually measured.
435
-
436
- See [docs/managed-sessions.md](docs/managed-sessions.md) and [docs/session-watchdog.md](docs/session-watchdog.md).
437
-
438
- ---
83
+ → [docs/pair-programming.md](docs/pair-programming.md) · [docs/managed-sessions.md](docs/managed-sessions.md) · [docs/session-watchdog.md](docs/session-watchdog.md)
439
84
 
440
85
  ## Mesh Networking
441
86
 
442
- Two AIBroker instances on different machines can exchange messages through AIBP bridge plugins. A message from PAILot on Machine A can reach a Claude session on Machine B:
87
+ Two AIBroker instances on different machines exchange messages through AIBP bridge plugins; `hub:machine-b/session:abc` routes through the bridge to the remote hub.
443
88
 
444
- ```
445
- Machine A Machine B
446
- ───────── ─────────
447
- PAILot ──► Hub A ──bridge──► Hub B ──► Claude Session
448
- ```
449
-
450
- Addressing is explicit: `hub:machine-b/session:abc` routes through the bridge to the remote hub. See [docs/mesh.md](docs/mesh.md).
451
-
452
- ---
89
+ → [docs/mesh.md](docs/mesh.md)
453
90
 
454
91
  ## Documentation
455
92
 
456
- | Document | What it covers |
457
- |----------|---------------|
458
- | [architecture.md](docs/architecture.md) | System design, component interactions, data flow |
459
- | [protocol.md](docs/protocol.md) | AIBP protocol specification |
460
- | [plugins.md](docs/plugins.md) | Plugin types, registration, capabilities |
461
- | [routing.md](docs/routing.md) | Message routing logic and channel system |
462
- | [macos.md](docs/macos.md) | macOS: LaunchAgent, iTerm2 + tmux, permissions, troubleshooting |
463
- | [linux.md](docs/linux.md) | Linux: install to daily use with tmux and systemd, PAI (SQLite or Postgres in Docker), messengers, Tailscale, testing, what stays macOS-only |
464
- | [sessions.md](docs/sessions.md) | Session management and lifecycle |
465
- | [commands.md](docs/commands.md) | Slash command reference |
466
- | [agentish.md](docs/agentish.md) | AG2: the wire format sessions use to talk to each other |
467
- | [a2a-agentish-extension.md](docs/a2a-agentish-extension.md) | AG2 declared as an A2A protocol extension (definition + helpers, no transport) |
468
- | [a2a.md](docs/a2a.md) | A2A v0.3.0 transport: expose sessions as skills for outside agents to task, and task outside agents from a session |
469
- | [mcp-tools.md](docs/mcp-tools.md) | All 42 MCP tools with parameters |
470
- | [adapters.md](docs/adapters.md) | Adapter development guide |
471
- | [pailot.md](docs/pailot.md) | PAILot iOS app integration |
472
- | [task-manager-as-interface.md](docs/task-manager-as-interface.md) | Todoist as the front door to AI: what it feels like, what it will not do |
473
- | [todoist.md](docs/todoist.md) | Todoist inbound channel: webhook setup, routing, security model, the comment mirror |
474
- | [channels.md](docs/channels.md) | The model every inbound path shares — read first for anything inbound |
475
- | [inbound.md](docs/inbound.md) | Generic `POST /hook/<route>` endpoint, and subscribing a session to a repository's issues |
476
- | [outbound.md](docs/outbound.md) | Acting in external systems through a platform's own actions |
477
- | [mailbox.md](docs/mailbox.md) | Durable per-session queue and confirmed delivery |
478
- | [session-watchdog.md](docs/session-watchdog.md) | Keeping a long autonomous session running: one goal at a time, context rollover, and the failures that shaped it |
479
- | [audit.md](docs/audit.md) | What is recorded, and how to read it |
480
- | [mesh.md](docs/mesh.md) | Multi-machine mesh networking |
481
- | [ipc.md](docs/ipc.md) | IPC protocol and message format |
482
- | [tts-stt.md](docs/tts-stt.md) | Voice pipeline details |
483
- | [use-cases.md](docs/use-cases.md) | End-to-end message flow diagrams |
484
- | [protocol-landscape.md](docs/protocol-landscape.md) | How AIBP relates to A2A, MCP, and other standards |
485
- | [configuration.md](docs/configuration.md) | Configuration reference |
486
- | [development.md](docs/development.md) | Development setup and testing |
93
+ The full page index, including configuration, IPC, voice pipeline, use cases and development.
487
94
 
488
- ---
95
+ → [docs/README.md](docs/README.md)
489
96
 
490
- ## Hard Rule
97
+ ---
491
98
 
492
- AIBroker never imports `@whiskeysockets/baileys`, `telegram`/`gramjs`, `better-sqlite3`, `qrcode`, or any transport-specific SDK. Platform-specific dependencies belong in the adapter packages.
99
+ ## Credits
493
100
 
494
- ---
101
+ AIBroker never imports `@whiskeysockets/baileys`, `telegram`/`gramjs`, `better-sqlite3`, `qrcode`, or any transport-specific SDK. Platform-specific dependencies belong in the adapter packages ([docs/development.md](docs/development.md)).
495
102
 
496
- ## Companion Projects
103
+ Companion projects:
497
104
 
498
105
  | Package | What it does | Repo |
499
106
  |---------|-------------|------|
@@ -503,8 +110,6 @@ AIBroker never imports `@whiskeysockets/baileys`, `telegram`/`gramjs`, `better-s
503
110
  | **[Coogle](https://github.com/mnott/Coogle)** | Google Workspace MCP — Gmail, Calendar, Drive multiplexing | [github.com/mnott/Coogle](https://github.com/mnott/Coogle) |
504
111
  | **[DEVONthink MCP](https://github.com/mnott/devonthink-mcp)** | DEVONthink integration — document search and archival | [github.com/mnott/devonthink-mcp](https://github.com/mnott/devonthink-mcp) |
505
112
 
506
- ---
507
-
508
113
  ## License
509
114
 
510
115
  MIT — Matthias Nott
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/daemon/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,mCAAmC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,wBAAgB,OAAO,IAAI,GAAG,CAoB7B;AAID,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAC5C,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,eAAO,MAAM,QAAQ,GAAI,GAAG,GAAG,WAA0D,CAAC;AAC1F,eAAO,MAAM,SAAS,GAAI,GAAG,GAAG,WAAoE,CAAC;AACrG,eAAO,MAAM,WAAW,GAAI,GAAG,GAAG,WAAqC,CAAC;AACxE,eAAO,MAAM,aAAa,GAAI,GAAG,GAAG,WAA4C,CAAC;AACjF,eAAO,MAAM,cAAc,GAAI,GAAG,GAAG,WAAiC,CAAC;AACvE,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,WAA6C,CAAC;AACjF,eAAO,MAAM,KAAK,GAAI,GAAG,GAAG,WAAgD,CAAC;AAC7E,eAAO,MAAM,KAAK,GAAI,GAAG,GAAG,WAA+C,CAAC;AAC5E,eAAO,MAAM,QAAQ,GAAI,GAAG,GAAG,WAA6B,CAAC;AAI7D,MAAM,WAAW,QAAQ;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAE3E;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,EAM/B,CAAC;AAKF,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAUhC,wBAAgB,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAWzG;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAgBxF;AAID,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAMxE;AAwBD,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAQzC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAsB1C;AAED,eAAO,MAAM,YAAY,+MAMxB,CAAC;AAIF,MAAM,WAAW,IAAI;IAAG,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAEzH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAS9C;AAED,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAiLlC,0CAA0C;AAC1C,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAE,GAAiB,GAAG,MAAM,CAexE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAE,GAAiB,GAAG,MAAM,CAsB5E;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/daemon/setup.ts"],"names":[],"mappings":"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"}
@@ -283,8 +283,11 @@ function serviceLinux(a, opts) {
283
283
  a.run("systemctl", ["--user", "restart", UNIT_NAME]);
284
284
  if (!s.which("loginctl"))
285
285
  return;
286
- const linger = s.run("loginctl", ["show-user", s.user, "-p", "Linger"]);
287
- if (/Linger=yes/.test(linger.out))
286
+ const lingerOn = () => /Linger=yes/.test(s.run("loginctl", ["show-user", s.user, "-p", "Linger"]).out);
287
+ // polkit lets a user enable linger for their own account; never sudo, never prompt
288
+ if (!lingerOn())
289
+ a.run("loginctl", ["--no-ask-password", "enable-linger", s.user]);
290
+ if (lingerOn())
288
291
  a.say(" linger: on (service survives logout)");
289
292
  else
290
293
  a.say(` linger: OFF, the service stops at logout. Run once: sudo loginctl enable-linger ${s.user}`);
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/daemon/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/daemon/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aibroker",
3
- "version": "0.61.1",
3
+ "version": "0.61.2",
4
4
  "description": "Platform-agnostic AI message broker — routes between user channels and AI backends",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",