sessionkit 0.3.1__tar.gz → 0.3.3__tar.gz

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.
@@ -1,3 +1,24 @@
1
+ Metadata-Version: 2.4
2
+ Name: sessionkit
3
+ Version: 0.3.3
4
+ Summary: Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install.
5
+ Author: Mike Bailey
6
+ Author-email: Mike Bailey <mike@sessionkit.ai>
7
+ License-Expression: AGPL-3.0-or-later
8
+ License-File: LICENSE
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Requires-Dist: click>=8.1
11
+ Requires-Dist: sessionmail>=0.3.3
12
+ Requires-Dist: sessiontools>=0.3.3
13
+ Requires-Dist: sessionphone[media]>=0.3.3
14
+ Requires-Dist: sessionview>=0.3.3
15
+ Requires-Dist: sessionvoice[capture]>=0.3.3
16
+ Requires-Dist: settled[kit]>=0.1.0
17
+ Requires-Python: >=3.11, <3.15
18
+ Project-URL: Homepage, https://github.com/sessionkit/sessionkit
19
+ Project-URL: Repository, https://github.com/sessionkit/sessionkit
20
+ Description-Content-Type: text/markdown
21
+
1
22
  # Session Kit
2
23
 
3
24
  Session Kit lets your Claude Code sessions mail each other, hear you and
@@ -46,11 +67,10 @@ You need:
46
67
  curl -LsSf https://astral.sh/uv/install.sh | sh
47
68
  ```
48
69
 
49
- - Then open a new terminal. Until you do, `uv` is not on your PATH. Or
50
- run:
70
+ - Then open a new terminal, so `uv` is on your PATH. Or run:
51
71
 
52
72
  ```bash
53
- source ~/.local/bin/env
73
+ source ~/.zshrc
54
74
  ```
55
75
 
56
76
  - For a call on a Mac: [Homebrew][brew], then ffmpeg from it. A call needs
@@ -64,6 +84,9 @@ You need:
64
84
  brew install ffmpeg
65
85
  ```
66
86
 
87
+ - Homebrew lists what ffmpeg needs, then asks
88
+ `Do you want to proceed with the installation? [y/n]`. Press `y`. It
89
+ goes on at once, with no Return.
67
90
  - Then the speech server, then link the phone: the phone bullets below.
68
91
  - A call without Homebrew is the workaround case. This guide does not
69
92
  cover it.
@@ -82,8 +105,13 @@ kit's plugin and the five family plugins it depends on.
82
105
  - **Keep `--python 3.14`.** Without it, uv takes the Python it finds: 3.15,
83
106
  where a voice library has no build yet and the install fails, or the
84
107
  Command Line Tools' 3.11. The kit is tested on 3.14.
85
- - **Upgrade with `uv tool upgrade sessionkit`.** It keeps the Python the
86
- install chose.
108
+ - To upgrade:
109
+
110
+ ```bash
111
+ uv tool upgrade sessionkit
112
+ ```
113
+
114
+ It keeps the Python the install chose.
87
115
  - To reinstall, give the pin again:
88
116
 
89
117
  ```bash
@@ -102,8 +130,7 @@ kit's plugin and the five family plugins it depends on.
102
130
  bot signs its mail to your Claude follows your mail carrier:
103
131
  [bot mail signing][phone-signing].
104
132
  - **The speech server comes before the phone.** A call hears you through
105
- it, so it is installed before you link your phone. Linking is
106
- `sessionphone setup`, in [sessionphone][pkg-phone]'s docs.
133
+ it, so it is installed before you link your phone.
107
134
  - No phone: nothing to run now. [Hearing and speaking][hearing]
108
135
  installs the speech server with the rest of the voice.
109
136
  - A phone: first Homebrew, then ffmpeg, as the call item under "You
@@ -113,6 +140,7 @@ kit's plugin and the five family plugins it depends on.
113
140
  brew install ffmpeg
114
141
  ```
115
142
 
143
+ - At Homebrew's `[y/n]`, press `y`.
116
144
  - Then install the speech server. It builds the server and fetches its
117
145
  weights, about 2.9 GB.
118
146
 
@@ -120,7 +148,22 @@ kit's plugin and the five family plugins it depends on.
120
148
  ears services install --only speech
121
149
  ```
122
150
 
123
- - Then link the phone.
151
+ - Then link the phone. This makes its account on a public relay and
152
+ prints the invite link. The name people see in their chat list goes in
153
+ place of NAME:
154
+
155
+ ```bash
156
+ sessionphone setup --name NAME
157
+ ```
158
+
159
+ A name with a space in it needs quotes, or the shell splits it in two
160
+ and setup refuses the second word:
161
+
162
+ ```bash
163
+ sessionphone setup --name "Ada Lovelace"
164
+ ```
165
+
166
+ - The rest of linking is in [sessionphone][pkg-phone]'s docs.
124
167
 
125
168
  - **Then quit Claude Code and start it again**, every window of it, before
126
169
  you run anything else.
@@ -129,8 +172,19 @@ A plugin installed from the shell loads only when Claude Code starts, so a
129
172
  session that was already open has no plugin commands on its PATH, and no
130
173
  plugin hooks.
131
174
 
132
- The three lines leave the ears without the model they listen with. Fetch it
133
- once:
175
+ Then set up mail. This makes the box `claude`, which your first session
176
+ needs to hear mail and calls:
177
+
178
+ ```bash
179
+ sessionkit setup
180
+ ```
181
+
182
+ - **On a fresh Mac it exits 4, and that is expected.** It leaves two
183
+ notmuch steps for later: [the manual install][setup] shows its last
184
+ lines.
185
+
186
+ The three install lines leave the ears without the model they listen
187
+ with. Fetch it once:
134
188
 
135
189
  ```bash
136
190
  ears install
@@ -144,51 +198,68 @@ starts them ([hearing and speaking][hearing]), refuses with
144
198
  `silero MISSING`. The Swift helper is built later, when those services start.
145
199
 
146
200
  - **The mail hooks start off.** They tell an agent about new mail between
147
- its tool calls. To turn them on, set `"hooks": true` in
148
- `~/.sessionkit/mail/settings/mail.json`. The plugin writes that file,
149
- with the hooks off, the first time a Claude Code session runs a tool,
150
- and it holds other settings too, so change only that key. Never write
151
- the file over: that deletes the other keys. This works whether the file
152
- is there yet or not, and whether it has a `hooks` key or not:
201
+ its tool calls. Turn them on with sessionmail's own command:
153
202
 
154
203
  ```bash
155
- f=~/.sessionkit/mail/settings/mail.json
156
- if [ -f "$f" ]; then
157
- perl -0777 -pi -e '
158
- if (/"hooks"\s*:/) { s/"hooks"\s*:\s*false/"hooks": true/ }
159
- elsif (/\A\s*\{\s*\}\s*\z/) { s/\{\s*\}/{"hooks": true}/ }
160
- else { s/\{(\s*)/"{$1" . q("hooks": true,) . ($1 || " ")/e }
161
- ' "$f"
162
- else
163
- mkdir -p ~/.sessionkit/mail/settings
164
- echo '{"version": 1, "hooks": true, "sendmail": "drop"}' > "$f"
165
- fi
204
+ pager settings hooks on
166
205
  ```
167
206
 
168
- A `"hooks": false` becomes `true`. A file with no `hooks` key gets
169
- `"hooks": true` as its first key, and its other keys stay as they were.
170
- If the file is not there yet, this writes what the plugin would have
171
- written, with the hooks on. The plugin never replaces a file that is
172
- already there.
207
+ - It sets only `"hooks": true` in
208
+ `~/.sessionkit/mail/settings/mail.json`, and keeps every other key in
209
+ that file. With no file yet, it makes one, with the hooks on.
210
+ - Each session's next hook reads it. A second run writes nothing.
211
+ - To turn them off again:
212
+
213
+ ```bash
214
+ pager settings hooks off
215
+ ```
216
+
217
+ - To see which they are, run it bare. It changes nothing, and exits 0
218
+ for on, 3 for off:
219
+
220
+ ```bash
221
+ pager settings hooks
222
+ ```
173
223
 
174
224
  Step by step, with every step that needs you marked: [the manual
175
225
  install][install].
176
226
 
227
+ To see what this Mac is still missing, run the kit's check. It installs
228
+ nothing. It prints one line for each thing the kit needs, and under each
229
+ missing one, the command that adds it:
230
+
231
+ ```bash
232
+ sessionkit doctor
233
+ ```
234
+
235
+ It exits 0 when nothing the kit needs is missing, and 1 when something is.
236
+ The phone bot and the session key are shown, but they never fail it.
237
+
238
+ - No kit yet, or `sessionkit` will not start? The installer runs the same
239
+ check. Its address is not live yet. From a clone of this repository,
240
+ run `bash install.sh --check`. Once the address is live:
241
+
242
+ ```bash
243
+ curl -fsSL https://sessionkit.ai/install.sh | bash -s -- --check
244
+ ```
245
+
177
246
  ## Quick start
178
247
 
179
248
  ```bash
180
249
  sessionkit --version
181
250
  ```
182
251
 
183
- It lists the kit and each family package, with its version:
252
+ It lists the kit, each family package and settled, the Settings app, each
253
+ with its version. Each `X.Y.Z` is the version you installed:
184
254
 
185
255
  ```text
186
- sessionkit, version 0.3.0
187
- sessionmail 0.3.0
188
- sessiontools 0.3.0
189
- sessionphone 0.3.0
190
- sessionview 0.3.0
191
- sessionvoice 0.3.0
256
+ sessionkit, version X.Y.Z
257
+ sessionmail X.Y.Z
258
+ sessiontools X.Y.Z
259
+ sessionphone X.Y.Z
260
+ sessionview X.Y.Z
261
+ sessionvoice X.Y.Z
262
+ settled X.Y.Z
192
263
  ```
193
264
 
194
265
  Start Claude in a project folder, not in your home folder, where a new
@@ -219,9 +290,9 @@ session start
219
290
 
220
291
  - **Never a bare `claude`.** Mail to your agent's box, your phone's
221
292
  included, reaches only a session started as that agent.
222
- - **`sessionkit setup` makes the box `claude` first:** [first
223
- checks][checks]. Without the box, the first session starts plain too,
224
- and its line names the repair:
293
+ - **Without the box `claude`, the first session starts plain too.** The
294
+ mail setup under Installation makes the box ([first checks][checks]).
295
+ The line names the repair:
225
296
 
226
297
  ```text
227
298
  session start: starting plain: box claude is missing, so this session will NOT hear Delta messages or calls; repair: message setup --box claude
@@ -255,6 +326,11 @@ mouth say "the build is green"
255
326
  `mouth devices` lists the others, and `--device DEVICE` picks one.
256
327
  - **To hear you**, the ears need a speech-to-text server: [hearing and
257
328
  speaking][hearing].
329
+ - **See the conversation in a browser.** Talk shows what the ears heard,
330
+ what the mouth said, and which seats heard it. Start it with
331
+ `ears services install --only talk`, then run `talk pair` in a terminal
332
+ on the same Mac and open the link it prints. Each browser pairs once
333
+ ([Talk][talk]).
258
334
  - **Your agent talks with the kit's mouth and ears.** sessionvoice's ears
259
335
  skill sets the default:
260
336
 
@@ -302,11 +378,16 @@ Session Kit installs these together:
302
378
  `session start <name>`. A plain `claude` session does not hear calls you
303
379
  make to it yet.
304
380
  - [sessionview][pkg-view]: a tmux sidebar of your projects and your agents.
381
+ `sessionview` (said "session view").
382
+
383
+ It also installs settled, the Settings app: `settled`. It is not one of the
384
+ five: it has its own version, and no Claude Code plugin.
305
385
 
306
386
  ## Components
307
387
 
308
388
  The commands, services and folders the install adds, and where each
309
- package logs: [components][components].
389
+ package logs: [components][components]. To see the services and restart
390
+ one: [sessionkit service][service].
310
391
 
311
392
  ## Configuration
312
393
 
@@ -334,7 +415,7 @@ The rules for changing the kit: [AGENTS.md][agents].
334
415
 
335
416
  ## Status
336
417
 
337
- Alpha, 0.3.1. Tested on macOS 27 on Apple silicon; Linux and Windows are
418
+ Alpha, 0.3.3. Tested on macOS 27 on Apple silicon; Linux and Windows are
338
419
  untested. What you may still hit: [known gaps][gaps].
339
420
 
340
421
  Licence: [AGPL-3.0][licence].
@@ -343,16 +424,19 @@ Licence: [AGPL-3.0][licence].
343
424
  [brew]: https://brew.sh
344
425
  [install]: INSTALL.md
345
426
  [prereqs]: INSTALL.md#1-prerequisites-human
427
+ [setup]: INSTALL.md#2-install-the-kit
346
428
  [checks]: INSTALL.md#4-first-checks
347
429
  [hearing]: INSTALL.md#5-hearing-and-speaking-it-hears-me-and-speaks
348
430
  [mail]: INSTALL.md#mail-between-agents
349
431
  [uninstall]: INSTALL.md#8-uninstall
350
432
  [gaps]: INSTALL.md#7-known-gaps-you-will-hit
351
433
  [components]: docs/components.md
434
+ [service]: docs/service.md
352
435
  [dependencies]: docs/dependencies.md
353
436
  [logs]: docs/components.md#logs
354
437
  [configuration]: docs/configuration.md
355
438
  [settings]: docs/settings.md
439
+ [talk]: docs/talk.md
356
440
  [troubleshooting]: docs/troubleshooting.md
357
441
  [agents]: AGENTS.md
358
442
  [licence]: LICENSE
@@ -1,23 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: sessionkit
3
- Version: 0.3.1
4
- Summary: Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install.
5
- Author: Mike Bailey
6
- Author-email: Mike Bailey <mike@sessionkit.ai>
7
- License-Expression: AGPL-3.0-or-later
8
- License-File: LICENSE
9
- Classifier: Development Status :: 3 - Alpha
10
- Requires-Dist: click>=8.1
11
- Requires-Dist: sessionmail>=0.3.1
12
- Requires-Dist: sessiontools>=0.3.1
13
- Requires-Dist: sessionphone[media]>=0.3.0
14
- Requires-Dist: sessionview>=0.3.0
15
- Requires-Dist: sessionvoice[capture]>=0.3.0
16
- Requires-Python: >=3.11, <3.15
17
- Project-URL: Homepage, https://github.com/sessionkit/sessionkit
18
- Project-URL: Repository, https://github.com/sessionkit/sessionkit
19
- Description-Content-Type: text/markdown
20
-
21
1
  # Session Kit
22
2
 
23
3
  Session Kit lets your Claude Code sessions mail each other, hear you and
@@ -66,11 +46,10 @@ You need:
66
46
  curl -LsSf https://astral.sh/uv/install.sh | sh
67
47
  ```
68
48
 
69
- - Then open a new terminal. Until you do, `uv` is not on your PATH. Or
70
- run:
49
+ - Then open a new terminal, so `uv` is on your PATH. Or run:
71
50
 
72
51
  ```bash
73
- source ~/.local/bin/env
52
+ source ~/.zshrc
74
53
  ```
75
54
 
76
55
  - For a call on a Mac: [Homebrew][brew], then ffmpeg from it. A call needs
@@ -84,6 +63,9 @@ You need:
84
63
  brew install ffmpeg
85
64
  ```
86
65
 
66
+ - Homebrew lists what ffmpeg needs, then asks
67
+ `Do you want to proceed with the installation? [y/n]`. Press `y`. It
68
+ goes on at once, with no Return.
87
69
  - Then the speech server, then link the phone: the phone bullets below.
88
70
  - A call without Homebrew is the workaround case. This guide does not
89
71
  cover it.
@@ -102,8 +84,13 @@ kit's plugin and the five family plugins it depends on.
102
84
  - **Keep `--python 3.14`.** Without it, uv takes the Python it finds: 3.15,
103
85
  where a voice library has no build yet and the install fails, or the
104
86
  Command Line Tools' 3.11. The kit is tested on 3.14.
105
- - **Upgrade with `uv tool upgrade sessionkit`.** It keeps the Python the
106
- install chose.
87
+ - To upgrade:
88
+
89
+ ```bash
90
+ uv tool upgrade sessionkit
91
+ ```
92
+
93
+ It keeps the Python the install chose.
107
94
  - To reinstall, give the pin again:
108
95
 
109
96
  ```bash
@@ -122,8 +109,7 @@ kit's plugin and the five family plugins it depends on.
122
109
  bot signs its mail to your Claude follows your mail carrier:
123
110
  [bot mail signing][phone-signing].
124
111
  - **The speech server comes before the phone.** A call hears you through
125
- it, so it is installed before you link your phone. Linking is
126
- `sessionphone setup`, in [sessionphone][pkg-phone]'s docs.
112
+ it, so it is installed before you link your phone.
127
113
  - No phone: nothing to run now. [Hearing and speaking][hearing]
128
114
  installs the speech server with the rest of the voice.
129
115
  - A phone: first Homebrew, then ffmpeg, as the call item under "You
@@ -133,6 +119,7 @@ kit's plugin and the five family plugins it depends on.
133
119
  brew install ffmpeg
134
120
  ```
135
121
 
122
+ - At Homebrew's `[y/n]`, press `y`.
136
123
  - Then install the speech server. It builds the server and fetches its
137
124
  weights, about 2.9 GB.
138
125
 
@@ -140,7 +127,22 @@ kit's plugin and the five family plugins it depends on.
140
127
  ears services install --only speech
141
128
  ```
142
129
 
143
- - Then link the phone.
130
+ - Then link the phone. This makes its account on a public relay and
131
+ prints the invite link. The name people see in their chat list goes in
132
+ place of NAME:
133
+
134
+ ```bash
135
+ sessionphone setup --name NAME
136
+ ```
137
+
138
+ A name with a space in it needs quotes, or the shell splits it in two
139
+ and setup refuses the second word:
140
+
141
+ ```bash
142
+ sessionphone setup --name "Ada Lovelace"
143
+ ```
144
+
145
+ - The rest of linking is in [sessionphone][pkg-phone]'s docs.
144
146
 
145
147
  - **Then quit Claude Code and start it again**, every window of it, before
146
148
  you run anything else.
@@ -149,8 +151,19 @@ A plugin installed from the shell loads only when Claude Code starts, so a
149
151
  session that was already open has no plugin commands on its PATH, and no
150
152
  plugin hooks.
151
153
 
152
- The three lines leave the ears without the model they listen with. Fetch it
153
- once:
154
+ Then set up mail. This makes the box `claude`, which your first session
155
+ needs to hear mail and calls:
156
+
157
+ ```bash
158
+ sessionkit setup
159
+ ```
160
+
161
+ - **On a fresh Mac it exits 4, and that is expected.** It leaves two
162
+ notmuch steps for later: [the manual install][setup] shows its last
163
+ lines.
164
+
165
+ The three install lines leave the ears without the model they listen
166
+ with. Fetch it once:
154
167
 
155
168
  ```bash
156
169
  ears install
@@ -164,51 +177,68 @@ starts them ([hearing and speaking][hearing]), refuses with
164
177
  `silero MISSING`. The Swift helper is built later, when those services start.
165
178
 
166
179
  - **The mail hooks start off.** They tell an agent about new mail between
167
- its tool calls. To turn them on, set `"hooks": true` in
168
- `~/.sessionkit/mail/settings/mail.json`. The plugin writes that file,
169
- with the hooks off, the first time a Claude Code session runs a tool,
170
- and it holds other settings too, so change only that key. Never write
171
- the file over: that deletes the other keys. This works whether the file
172
- is there yet or not, and whether it has a `hooks` key or not:
180
+ its tool calls. Turn them on with sessionmail's own command:
173
181
 
174
182
  ```bash
175
- f=~/.sessionkit/mail/settings/mail.json
176
- if [ -f "$f" ]; then
177
- perl -0777 -pi -e '
178
- if (/"hooks"\s*:/) { s/"hooks"\s*:\s*false/"hooks": true/ }
179
- elsif (/\A\s*\{\s*\}\s*\z/) { s/\{\s*\}/{"hooks": true}/ }
180
- else { s/\{(\s*)/"{$1" . q("hooks": true,) . ($1 || " ")/e }
181
- ' "$f"
182
- else
183
- mkdir -p ~/.sessionkit/mail/settings
184
- echo '{"version": 1, "hooks": true, "sendmail": "drop"}' > "$f"
185
- fi
183
+ pager settings hooks on
186
184
  ```
187
185
 
188
- A `"hooks": false` becomes `true`. A file with no `hooks` key gets
189
- `"hooks": true` as its first key, and its other keys stay as they were.
190
- If the file is not there yet, this writes what the plugin would have
191
- written, with the hooks on. The plugin never replaces a file that is
192
- already there.
186
+ - It sets only `"hooks": true` in
187
+ `~/.sessionkit/mail/settings/mail.json`, and keeps every other key in
188
+ that file. With no file yet, it makes one, with the hooks on.
189
+ - Each session's next hook reads it. A second run writes nothing.
190
+ - To turn them off again:
191
+
192
+ ```bash
193
+ pager settings hooks off
194
+ ```
195
+
196
+ - To see which they are, run it bare. It changes nothing, and exits 0
197
+ for on, 3 for off:
198
+
199
+ ```bash
200
+ pager settings hooks
201
+ ```
193
202
 
194
203
  Step by step, with every step that needs you marked: [the manual
195
204
  install][install].
196
205
 
206
+ To see what this Mac is still missing, run the kit's check. It installs
207
+ nothing. It prints one line for each thing the kit needs, and under each
208
+ missing one, the command that adds it:
209
+
210
+ ```bash
211
+ sessionkit doctor
212
+ ```
213
+
214
+ It exits 0 when nothing the kit needs is missing, and 1 when something is.
215
+ The phone bot and the session key are shown, but they never fail it.
216
+
217
+ - No kit yet, or `sessionkit` will not start? The installer runs the same
218
+ check. Its address is not live yet. From a clone of this repository,
219
+ run `bash install.sh --check`. Once the address is live:
220
+
221
+ ```bash
222
+ curl -fsSL https://sessionkit.ai/install.sh | bash -s -- --check
223
+ ```
224
+
197
225
  ## Quick start
198
226
 
199
227
  ```bash
200
228
  sessionkit --version
201
229
  ```
202
230
 
203
- It lists the kit and each family package, with its version:
231
+ It lists the kit, each family package and settled, the Settings app, each
232
+ with its version. Each `X.Y.Z` is the version you installed:
204
233
 
205
234
  ```text
206
- sessionkit, version 0.3.0
207
- sessionmail 0.3.0
208
- sessiontools 0.3.0
209
- sessionphone 0.3.0
210
- sessionview 0.3.0
211
- sessionvoice 0.3.0
235
+ sessionkit, version X.Y.Z
236
+ sessionmail X.Y.Z
237
+ sessiontools X.Y.Z
238
+ sessionphone X.Y.Z
239
+ sessionview X.Y.Z
240
+ sessionvoice X.Y.Z
241
+ settled X.Y.Z
212
242
  ```
213
243
 
214
244
  Start Claude in a project folder, not in your home folder, where a new
@@ -239,9 +269,9 @@ session start
239
269
 
240
270
  - **Never a bare `claude`.** Mail to your agent's box, your phone's
241
271
  included, reaches only a session started as that agent.
242
- - **`sessionkit setup` makes the box `claude` first:** [first
243
- checks][checks]. Without the box, the first session starts plain too,
244
- and its line names the repair:
272
+ - **Without the box `claude`, the first session starts plain too.** The
273
+ mail setup under Installation makes the box ([first checks][checks]).
274
+ The line names the repair:
245
275
 
246
276
  ```text
247
277
  session start: starting plain: box claude is missing, so this session will NOT hear Delta messages or calls; repair: message setup --box claude
@@ -275,6 +305,11 @@ mouth say "the build is green"
275
305
  `mouth devices` lists the others, and `--device DEVICE` picks one.
276
306
  - **To hear you**, the ears need a speech-to-text server: [hearing and
277
307
  speaking][hearing].
308
+ - **See the conversation in a browser.** Talk shows what the ears heard,
309
+ what the mouth said, and which seats heard it. Start it with
310
+ `ears services install --only talk`, then run `talk pair` in a terminal
311
+ on the same Mac and open the link it prints. Each browser pairs once
312
+ ([Talk][talk]).
278
313
  - **Your agent talks with the kit's mouth and ears.** sessionvoice's ears
279
314
  skill sets the default:
280
315
 
@@ -322,11 +357,16 @@ Session Kit installs these together:
322
357
  `session start <name>`. A plain `claude` session does not hear calls you
323
358
  make to it yet.
324
359
  - [sessionview][pkg-view]: a tmux sidebar of your projects and your agents.
360
+ `sessionview` (said "session view").
361
+
362
+ It also installs settled, the Settings app: `settled`. It is not one of the
363
+ five: it has its own version, and no Claude Code plugin.
325
364
 
326
365
  ## Components
327
366
 
328
367
  The commands, services and folders the install adds, and where each
329
- package logs: [components][components].
368
+ package logs: [components][components]. To see the services and restart
369
+ one: [sessionkit service][service].
330
370
 
331
371
  ## Configuration
332
372
 
@@ -354,7 +394,7 @@ The rules for changing the kit: [AGENTS.md][agents].
354
394
 
355
395
  ## Status
356
396
 
357
- Alpha, 0.3.1. Tested on macOS 27 on Apple silicon; Linux and Windows are
397
+ Alpha, 0.3.3. Tested on macOS 27 on Apple silicon; Linux and Windows are
358
398
  untested. What you may still hit: [known gaps][gaps].
359
399
 
360
400
  Licence: [AGPL-3.0][licence].
@@ -363,16 +403,19 @@ Licence: [AGPL-3.0][licence].
363
403
  [brew]: https://brew.sh
364
404
  [install]: INSTALL.md
365
405
  [prereqs]: INSTALL.md#1-prerequisites-human
406
+ [setup]: INSTALL.md#2-install-the-kit
366
407
  [checks]: INSTALL.md#4-first-checks
367
408
  [hearing]: INSTALL.md#5-hearing-and-speaking-it-hears-me-and-speaks
368
409
  [mail]: INSTALL.md#mail-between-agents
369
410
  [uninstall]: INSTALL.md#8-uninstall
370
411
  [gaps]: INSTALL.md#7-known-gaps-you-will-hit
371
412
  [components]: docs/components.md
413
+ [service]: docs/service.md
372
414
  [dependencies]: docs/dependencies.md
373
415
  [logs]: docs/components.md#logs
374
416
  [configuration]: docs/configuration.md
375
417
  [settings]: docs/settings.md
418
+ [talk]: docs/talk.md
376
419
  [troubleshooting]: docs/troubleshooting.md
377
420
  [agents]: AGENTS.md
378
421
  [licence]: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sessionkit"
3
- version = "0.3.1"
3
+ version = "0.3.3"
4
4
  description = "Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install."
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-or-later"
@@ -9,11 +9,12 @@ classifiers = ["Development Status :: 3 - Alpha"]
9
9
  requires-python = ">=3.11,<3.15"
10
10
  dependencies = [
11
11
  "click>=8.1",
12
- "sessionmail>=0.3.1",
13
- "sessiontools>=0.3.1",
14
- "sessionphone[media]>=0.3.0",
15
- "sessionview>=0.3.0",
16
- "sessionvoice[capture]>=0.3.0",
12
+ "sessionmail>=0.3.3",
13
+ "sessiontools>=0.3.3",
14
+ "sessionphone[media]>=0.3.3",
15
+ "sessionview>=0.3.3",
16
+ "sessionvoice[capture]>=0.3.3",
17
+ "settled[kit]>=0.1.0",
17
18
  ]
18
19
 
19
20
  [[project.authors]]
@@ -39,6 +40,7 @@ ears = "ears.cli:main"
39
40
  ears-serve = "ears.serve:main"
40
41
  mouth = "mouth.__main__:main"
41
42
  talk = "talk.cli:main"
43
+ settled = "settled.cli:main"
42
44
 
43
45
  [build-system]
44
46
  requires = ["uv_build>=0.11.9,<0.12.0"]
@@ -51,4 +53,7 @@ dev = [
51
53
  ]
52
54
 
53
55
  [tool.pytest.ini_options]
54
- testpaths = ["tests"]
56
+ testpaths = [
57
+ "tests",
58
+ "dark-launch/tests",
59
+ ]