detached 6aea65e

change readme

commit
6aea65ea028ea2d953226700ff2d7d591d95f968
author
patriceckhart · · 2026-04-18 08:35 UTC
parent
6324668
signature
unsigned
1 file · +13 -4
M README.md +13 -4
@@ -143,6 +143,8 @@ shows previous sessions for the current working directory, newest first, with ti
143143
144144 sends the current transcript through the model with a structured summarization prompt. the returned summary replaces the transcript as one synthetic user message, with the last few exchanges kept verbatim for continuity. status bar's `ctx N/M (P%)` meter resets. use it when the context meter creeps past ~80%.
145145
146+zot also auto-compacts in the background: after any turn that leaves context usage ≥ **85%** of the model's window, the agent kicks off a condense pass on its own. you'll see `condensing history… (esc to cancel)` above the status bar and an `(auto)` tag next to the context percentage; esc aborts it without touching the transcript.
147+
146148 ### `/lock`
147149
148150 enforces a sandbox rooted at the cwd shown in the status bar. `read` / `write` / `edit` resolve their target path (including through symlinks) and refuse anything outside the sandbox. `bash` refuses obvious escape patterns: `sudo`, `rm -rf /`, leading `cd /` / `cd ..` / `cd ~`, `chmod -R`, `dd of=/`, etc. status bar shows `· locked · ~/your/cwd` while active.
@@ -176,19 +178,26 @@ when a tool returns an image (e.g. `read` on a png), zot renders it inline on te
176178
177179 frames containing images are full-repainted (no differential diff) to prevent stale image pixels from lingering through scroll. that costs one terminal flash per image-containing frame; set `ZOT_INLINE_IMAGES=off` if that bothers you.
178180
181+## queued messages
182+
183+you can keep typing while the agent is working. pressing enter during a turn queues the message instead of interrupting: it shows up above the status bar as `▸ sliding in: <text>` and is delivered as the next user turn the moment the current one finishes. queue as many as you want; they run in order. esc / ctrl+c cancels the active turn and drops the queue so a runaway turn doesn't flood you with stale follow-ups.
184+
185+slash commands still require an idle state — typing `/something` during a turn prints `cancel the current turn (esc) before running a slash command`.
186+
179187 ## keys (interactive mode)
180188
181189 ### input
182190
183191 | key | action |
184192 |---|---|
185-| `enter` | submit |
193+| `enter` | submit (queued if the agent is busy) |
186194 | `alt+enter` | newline |
187195 | `tab` | complete the selected slash command |
188196 | `esc` | cancel the current turn (while busy); clear input (while idle) |
189197 | `ctrl+c` | exit when idle; cancel the current turn while busy |
190198 | `ctrl+d` | exit on empty input |
191199 | `ctrl+l` | redraw the screen |
200+| `ctrl+o` | expand / collapse long tool results |
192201
193202 ### editor line navigation
194203
@@ -229,13 +238,13 @@ the background flavor writes the child's pid to `$ZOT_HOME/bot.pid` and redirect
229238 setup flow:
230239
231240 1. talk to [@BotFather](https://t.me/BotFather) on telegram, run `/newbot`, copy the token it gives you.
232-2. run `zot bot setup` and paste the token when prompted.
233-3. run `zot bot run` in the directory you want the agent to operate in.
241+2. run `zot telegram-bot setup` and paste the token when prompted.
242+3. run `zot telegram-bot run` in the directory you want the agent to operate in.
234243 4. open your bot on telegram, send `/start`. the first user to do this claims the bridge (stored as `allowed_user_id`); every other user is rejected.
235244
236245 from then on, any dm you send is forwarded to the agent as a user prompt. attached photos or image/* documents are downloaded and passed to vision-capable models. in-bot telegram commands: `/help`, `/status`, `/stop` (cancel the current turn). config lives in `$ZOT_HOME/bot.json` (mode 0600).
237246
238-bot mode respects the usual zot flags — `--provider`, `--model`, `--cwd`, `--reasoning`, `--continue`, `--no-session`, `--no-tools`, etc. run `zot bot run -c --model claude-opus-4-1` to resume the latest session on opus, for example.
247+bot mode respects the usual zot flags — `--provider`, `--model`, `--cwd`, `--reasoning`, `--continue`, `--no-session`, `--no-tools`, etc. run `zot tg run -c --model claude-opus-4-1` to resume the latest session on opus, for example.
239248
240249 ## development
241250
@@ -143,6 +143,8 @@ shows previous sessions for the current working directory, newest first, with ti
143 143
144 sends the current transcript through the model with a structured summarization prompt. the returned summary replaces the transcript as one synthetic user message, with the last few exchanges kept verbatim for continuity. status bar's `ctx N/M (P%)` meter resets. use it when the context meter creeps past ~80%.144 sends the current transcript through the model with a structured summarization prompt. the returned summary replaces the transcript as one synthetic user message, with the last few exchanges kept verbatim for continuity. status bar's `ctx N/M (P%)` meter resets. use it when the context meter creeps past ~80%.
145 145
146+zot also auto-compacts in the background: after any turn that leaves context usage ≥ **85%** of the model's window, the agent kicks off a condense pass on its own. you'll see `condensing history… (esc to cancel)` above the status bar and an `(auto)` tag next to the context percentage; esc aborts it without touching the transcript.
147+
146 ### `/lock`148 ### `/lock`
147 149
148 enforces a sandbox rooted at the cwd shown in the status bar. `read` / `write` / `edit` resolve their target path (including through symlinks) and refuse anything outside the sandbox. `bash` refuses obvious escape patterns: `sudo`, `rm -rf /`, leading `cd /` / `cd ..` / `cd ~`, `chmod -R`, `dd of=/`, etc. status bar shows `· locked · ~/your/cwd` while active.150 enforces a sandbox rooted at the cwd shown in the status bar. `read` / `write` / `edit` resolve their target path (including through symlinks) and refuse anything outside the sandbox. `bash` refuses obvious escape patterns: `sudo`, `rm -rf /`, leading `cd /` / `cd ..` / `cd ~`, `chmod -R`, `dd of=/`, etc. status bar shows `· locked · ~/your/cwd` while active.
@@ -176,19 +178,26 @@ when a tool returns an image (e.g. `read` on a png), zot renders it inline on te
176 178
177 frames containing images are full-repainted (no differential diff) to prevent stale image pixels from lingering through scroll. that costs one terminal flash per image-containing frame; set `ZOT_INLINE_IMAGES=off` if that bothers you.179 frames containing images are full-repainted (no differential diff) to prevent stale image pixels from lingering through scroll. that costs one terminal flash per image-containing frame; set `ZOT_INLINE_IMAGES=off` if that bothers you.
178 180
181+## queued messages
182+
183+you can keep typing while the agent is working. pressing enter during a turn queues the message instead of interrupting: it shows up above the status bar as `▸ sliding in: <text>` and is delivered as the next user turn the moment the current one finishes. queue as many as you want; they run in order. esc / ctrl+c cancels the active turn and drops the queue so a runaway turn doesn't flood you with stale follow-ups.
184+
185+slash commands still require an idle state — typing `/something` during a turn prints `cancel the current turn (esc) before running a slash command`.
186+
179 ## keys (interactive mode)187 ## keys (interactive mode)
180 188
181 ### input189 ### input
182 190
183 | key | action |191 | key | action |
184 |---|---|192 |---|---|
185-| `enter` | submit |193+| `enter` | submit (queued if the agent is busy) |
186 | `alt+enter` | newline |194 | `alt+enter` | newline |
187 | `tab` | complete the selected slash command |195 | `tab` | complete the selected slash command |
188 | `esc` | cancel the current turn (while busy); clear input (while idle) |196 | `esc` | cancel the current turn (while busy); clear input (while idle) |
189 | `ctrl+c` | exit when idle; cancel the current turn while busy |197 | `ctrl+c` | exit when idle; cancel the current turn while busy |
190 | `ctrl+d` | exit on empty input |198 | `ctrl+d` | exit on empty input |
191 | `ctrl+l` | redraw the screen |199 | `ctrl+l` | redraw the screen |
200+| `ctrl+o` | expand / collapse long tool results |
192 201
193 ### editor line navigation202 ### editor line navigation
194 203
@@ -229,13 +238,13 @@ the background flavor writes the child's pid to `$ZOT_HOME/bot.pid` and redirect
229 setup flow:238 setup flow:
230 239
231 1. talk to [@BotFather](https://t.me/BotFather) on telegram, run `/newbot`, copy the token it gives you.240 1. talk to [@BotFather](https://t.me/BotFather) on telegram, run `/newbot`, copy the token it gives you.
232-2. run `zot bot setup` and paste the token when prompted.241+2. run `zot telegram-bot setup` and paste the token when prompted.
233-3. run `zot bot run` in the directory you want the agent to operate in.242+3. run `zot telegram-bot run` in the directory you want the agent to operate in.
234 4. open your bot on telegram, send `/start`. the first user to do this claims the bridge (stored as `allowed_user_id`); every other user is rejected.243 4. open your bot on telegram, send `/start`. the first user to do this claims the bridge (stored as `allowed_user_id`); every other user is rejected.
235 244
236 from then on, any dm you send is forwarded to the agent as a user prompt. attached photos or image/* documents are downloaded and passed to vision-capable models. in-bot telegram commands: `/help`, `/status`, `/stop` (cancel the current turn). config lives in `$ZOT_HOME/bot.json` (mode 0600).245 from then on, any dm you send is forwarded to the agent as a user prompt. attached photos or image/* documents are downloaded and passed to vision-capable models. in-bot telegram commands: `/help`, `/status`, `/stop` (cancel the current turn). config lives in `$ZOT_HOME/bot.json` (mode 0600).
237 246
238-bot mode respects the usual zot flags — `--provider`, `--model`, `--cwd`, `--reasoning`, `--continue`, `--no-session`, `--no-tools`, etc. run `zot bot run -c --model claude-opus-4-1` to resume the latest session on opus, for example.247+bot mode respects the usual zot flags — `--provider`, `--model`, `--cwd`, `--reasoning`, `--continue`, `--no-session`, `--no-tools`, etc. run `zot tg run -c --model claude-opus-4-1` to resume the latest session on opus, for example.
239 248
240 ## development249 ## development
241 250

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 477

↑↓ moveenter openesc close