bots-garden/mini-mepublic Fork
⑂ feature/improve-init
Commits
⬇ Clone ▾
git clone https://git.rickub.com/bots-garden/mini-me.git
git clone ssh://git@rickub.com/bots-garden/mini-me.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP
🛟 Updated. 8d1c5cb · on feature/improve-init · k33g · yesterday
tui-keyboard-shortcuts.md · 120 lines · 6.6 KBmarkdown
Blame HistoryOpen raw

Keyboard shortcuts of the window (mm -tui)

Version française

Every key the window (mm -tui) understands, grouped by what you are doing. F1 shows a short version inside the window. The status bar at the bottom always shows F1 help · Ctrl-Y copy · F2 mouse · Ctrl-C quit.

The window in two parts

The window has two places that can take the keys: the box at the bottom, where you type, and the conversation above it. Tab moves the focus from one to the other. At start-up the focus is on the box. While the focus is on the conversation, letters do nothing: press Tab to type again.

Type and send

Key What it does
Enter Sends what is in the box. An empty box sends nothing.
Ctrl-J or Alt-Enter A new line in the box, without sending. Shift-Enter cannot be told apart from Enter by a terminal, so it sends.
← → Move the cursor; at the start or end of a line, go to the previous or next line.
↑ ↓ Move to the row above or below in the box — a long line wraps over several rows. On the first row, ↑ recalls your previous question (see below).
Home End Start or end of the line.
Backspace Delete Delete the character before or under the cursor. A collapsed paste ([Pasted #1 · …]) is deleted whole.
Esc When nothing is running: clears the box.

While the agent is working

Key What it does
Esc Stops the answer in progress (same as /abort) and says 🛑 Aborting…. Pressed again when the turn does not stop, it tells you to use Ctrl-C.
Ctrl-C Stops the answer in progress. If it has already been asked to stop and has not, Ctrl-C closes mm.
Enter Stops the answer in progress and sends what you typed once it has stopped: you can change your mind without waiting.

Recall an earlier question

Needs sessions.enabled: true in the agent's YAML.

Key What it does
↑ (first row of the box) Puts your previous question in the box; again for the one before — this session first, then the project's earlier sessions.
↓ (last row of the box) Goes back towards the newest question; past it, gives back what you were typing.
Esc Clears the recalled question, to type something else.

A recalled question can be edited before you send it. With nothing to recall, ↑ and ↓ scroll the conversation instead.

Move through the conversation

Key What it does
PgUp PgDn One page up or down, wherever the focus is.
↑ ↓ One line, when the focus is on the conversation (Tab).
Home End Top or bottom of the conversation, when the focus is on it. End also follows the answer again as it is written.
Mouse wheel Three lines up or down — only after F2 (see below).
Ctrl-L Clears the displayed conversation. What the agent remembers is not touched: /new does that.

Complete a command, a file or a skill

Typing / at the start of the box, @ or $ anywhere opens a list of choices above the box: commands, files and folders, skills.

Key What it does
↑ ↓ Move in the list.
Tab Completes with the highlighted choice.
Enter Sends when what you typed is already complete; otherwise completes, like Tab.
Esc Closes the list until you type something else.

Paste long text

Paste as usual with your terminal (Cmd-V, Ctrl-Shift-V, the right click…). A paste never sends anything, even when it holds line breaks. Longer than 3 lines or 200 characters, it shows as one token, [Pasted #1 · 42 lines · 1.2k chars]; the agent receives the whole text. Backspace or Delete removes the token, and the text with it.

Answer a permission

With yolo: false (or an MCP tool marked ask), the box is replaced by a question such as ? bash: rm -rf build. Only these keys work until you answer:

Key Answer
a Allow this call, once.
s Allow this tool for the rest of the session.
r or Esc Refuse this call.
n Never allow this tool in this session.

Answer the agent's questions

When the agent asks you something (its ask_user tool), a small form replaces the box. The line under the question reminds you of the keys.

Kind of question Keys
Pick one ↑ ↓ (or Tab) to move, Enter to choose — or 1 to 9 to choose directly.
Pick several ↑ ↓ to move, Space to tick or untick, Enter to send (at least one ticked).
Yes or no y (or o) yes, n no — or ← → then Enter.
Free text Type, Backspace to correct, Enter to send.
Any Esc declines to answer.

Copy, mouse, help, quit

Key What it does
Ctrl-Y Copies the last answer to the clipboard, as plain text (same as /copy; /copy 2 the one before, /copy all the whole conversation).
F2 Turns mouse capture on or off. Off (the default): select text with the mouse as in any terminal. On: the wheel scrolls the conversation, and Shift+drag selects. The status bar says which.
F1 The commands and the main keys, in the conversation (same as /help).
Ctrl-C Closes mm when nothing is running. /quit does the same.

The mm init window

mm init opens a window of its own, in the same style, to write a new agent.yaml (see Create an agent with mm init).

Key What it does
↑ ↓ Home End Move through the choices; the preview on the right follows the highlighted one.
Enter Answer and go to the next question; on the last screen, write the file.
y n Answer the yes-or-no question.
Esc Go back one question, taking its answer back.
PgUp PgDn Scroll the preview.
Tab On a screen narrower than 100 columns: show the preview in place of the question, and back.
Ctrl-U Clear a text answer (the name, the file).
Ctrl-C Quit without writing anything.

Good to know

  • Keys depend on the terminal. Alt-Enter, Home, End and the function keys depend on how the terminal reports them; on a Mac laptop, Fn is often needed for F1, F2, Home and End. Ctrl-J always works for a new line.
  • The window needs a real terminal. mm -tui | tee log.txt, or any run where the input or the output is not a terminal, falls back to the line mode, where none of these keys apply.

See also: How to use the window mode, Slash commands and keys (reference).

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Keyboard shortcuts of the window (`mm -tui`)

*[Version française](raccourcis-clavier-tui.md)*

> Every key the window (`mm -tui`) understands, grouped by what you are doing. **F1** shows a short version inside the window. The status bar at the bottom always shows `F1 help · Ctrl-Y copy · F2 mouse · Ctrl-C quit`.

## The window in two parts

The window has two places that can take the keys: the **box** at the bottom, where you type, and the **conversation** above it. **Tab** moves the focus from one to the other. At start-up the focus is on the box. While the focus is on the conversation, letters do nothing: press Tab to type again.

## Type and send

| Key | What it does |
|---|---|
| `Enter` | Sends what is in the box. An empty box sends nothing. |
| `Ctrl-J` or `Alt-Enter` | A new line in the box, without sending. `Shift-Enter` cannot be told apart from `Enter` by a terminal, so it sends. |
| `←` `→` | Move the cursor; at the start or end of a line, go to the previous or next line. |
| `↑` `↓` | Move to the row above or below in the box — a long line wraps over several rows. On the first row, `↑` recalls your previous question (see below). |
| `Home` `End` | Start or end of the line. |
| `Backspace` `Delete` | Delete the character before or under the cursor. A collapsed paste (`[Pasted #1 · …]`) is deleted whole. |
| `Esc` | When nothing is running: clears the box. |

## While the agent is working

| Key | What it does |
|---|---|
| `Esc` | Stops the answer in progress (same as `/abort`) and says `🛑 Aborting…`. Pressed again when the turn does not stop, it tells you to use Ctrl-C. |
| `Ctrl-C` | Stops the answer in progress. If it has already been asked to stop and has not, `Ctrl-C` closes mm. |
| `Enter` | Stops the answer in progress and sends what you typed once it has stopped: you can change your mind without waiting. |

## Recall an earlier question

Needs `sessions.enabled: true` in the agent's YAML.

| Key | What it does |
|---|---|
| `↑` (first row of the box) | Puts your previous question in the box; again for the one before — this session first, then the project's earlier sessions. |
| `↓` (last row of the box) | Goes back towards the newest question; past it, gives back what you were typing. |
| `Esc` | Clears the recalled question, to type something else. |

A recalled question can be edited before you send it. With nothing to recall, `↑` and `↓` scroll the conversation instead.

## Move through the conversation

| Key | What it does |
|---|---|
| `PgUp` `PgDn` | One page up or down, wherever the focus is. |
| `↑` `↓` | One line, when the focus is on the conversation (`Tab`). |
| `Home` `End` | Top or bottom of the conversation, when the focus is on it. `End` also follows the answer again as it is written. |
| Mouse wheel | Three lines up or down — only after `F2` (see below). |
| `Ctrl-L` | Clears the displayed conversation. What the agent remembers is not touched: `/new` does that. |

## Complete a command, a file or a skill

Typing `/` at the start of the box, `@` or `$` anywhere opens a list of choices above the box: commands, files and folders, skills.

| Key | What it does |
|---|---|
| `↑` `↓` | Move in the list. |
| `Tab` | Completes with the highlighted choice. |
| `Enter` | Sends when what you typed is already complete; otherwise completes, like `Tab`. |
| `Esc` | Closes the list until you type something else. |

## Paste long text

Paste as usual with your terminal (`Cmd-V`, `Ctrl-Shift-V`, the right click…). A paste never sends anything, even when it holds line breaks. Longer than 3 lines or 200 characters, it shows as one token, `[Pasted #1 · 42 lines · 1.2k chars]`; the agent receives the whole text. `Backspace` or `Delete` removes the token, and the text with it.

## Answer a permission

With `yolo: false` (or an MCP tool marked `ask`), the box is replaced by a question such as `? bash: rm -rf build`. Only these keys work until you answer:

| Key | Answer |
|---|---|
| `a` | Allow this call, once. |
| `s` | Allow this tool for the rest of the session. |
| `r` or `Esc` | Refuse this call. |
| `n` | Never allow this tool in this session. |

## Answer the agent's questions

When the agent asks you something (its `ask_user` tool), a small form replaces the box. The line under the question reminds you of the keys.

| Kind of question | Keys |
|---|---|
| Pick one | `↑` `↓` (or `Tab`) to move, `Enter` to choose — or `1` to `9` to choose directly. |
| Pick several | `↑` `↓` to move, `Space` to tick or untick, `Enter` to send (at least one ticked). |
| Yes or no | `y` (or `o`) yes, `n` no — or `←` `→` then `Enter`. |
| Free text | Type, `Backspace` to correct, `Enter` to send. |
| Any | `Esc` declines to answer. |

## Copy, mouse, help, quit

| Key | What it does |
|---|---|
| `Ctrl-Y` | Copies the last answer to the clipboard, as plain text (same as `/copy`; `/copy 2` the one before, `/copy all` the whole conversation). |
| `F2` | Turns mouse capture on or off. **Off** (the default): select text with the mouse as in any terminal. **On**: the wheel scrolls the conversation, and `Shift`+drag selects. The status bar says which. |
| `F1` | The commands and the main keys, in the conversation (same as `/help`). |
| `Ctrl-C` | Closes mm when nothing is running. `/quit` does the same. |

## The `mm init` window

`mm init` opens a window of its own, in the same style, to write a new agent.yaml (see [Create an agent with `mm init`](../docs/en/how-to/create-an-agent.md)).

| Key | What it does |
|---|---|
| `↑` `↓` `Home` `End` | Move through the choices; the preview on the right follows the highlighted one. |
| `Enter` | Answer and go to the next question; on the last screen, write the file. |
| `y` `n` | Answer the yes-or-no question. |
| `Esc` | Go back one question, taking its answer back. |
| `PgUp` `PgDn` | Scroll the preview. |
| `Tab` | On a screen narrower than 100 columns: show the preview in place of the question, and back. |
| `Ctrl-U` | Clear a text answer (the name, the file). |
| `Ctrl-C` | Quit without writing anything. |

## Good to know

- **Keys depend on the terminal.** `Alt-Enter`, `Home`, `End` and the function keys depend on how the terminal reports them; on a Mac laptop, `Fn` is often needed for `F1`, `F2`, `Home` and `End`. `Ctrl-J` always works for a new line.
- **The window needs a real terminal.** `mm -tui | tee log.txt`, or any run where the input or the output is not a terminal, falls back to the line mode, where none of these keys apply.

See also: [How to use the window mode](../docs/en/how-to/use-the-window-mode.md), [Slash commands and keys (reference)](../docs/en/reference/slash-commands.md).