Navigating Cells
Uses a cell selection system akin to a Jupyter notebook.
- ↑ / ↓, click: Change selected cell
- Shift + ↑ / ↓: Move cell up/down
- Alt + ↑ / ↓: Collapse/uncollapse cell
- Enter, double-click: Edit cell
- Escape, click outside: Stop editing cell
- Space: Toggle cell as enabled/disabled (determines inclusion in chat completions)
- Shift+space: Condense/uncondense large cell
- Backspace: Delete cell
- 0-9: Quicksave to slot 0-9
- Shift+0-9: Quickload from slot 0-9
- Ctrl+0-9: Delete quicksave in slot 0-9
- Ctrl-z: Undo last operation (usually doesn't work)
- Tab: Show/hide this sidebar
Adding and modifying roles
- a: Add assistant message
- s: Add system message
- d, u: Add user message
- c: Add comment
- f: Add last output as assistant message
- Left, right, click on role: cycle message role
Generating text
- \: Generate chat completion
- |: Generate text completion
Other functions
- Certain text models (GPT-3.5-turbo, DeepSeek v3) offer Fill-In-Middle (FIM) support, which predicts the text that lies after a prompt and before a suffix. To use this, place the prompt and suffix in two consecutive cells, then select the first cell to enable the button.
- Certain chat models (Claude 3.x, DeepSeek v3) allow you to prefill the assistant's response, or select a prefix that it must start with. To use this, put an assistant block with the desired prefix at the end of the chat before generating a chat completion.
- Certain chat models, including many offered through OpenRouter, offer completions through their completions endpoint. The "Text w/ Chat Model" button allows you to try sending the selected message for a text completion with the given model. You can see a (likely-outdated) list of which models will respond appropriately here.
- If you don't want to see a certain provider's models in the model selector, set their API key to 'hide'. Doing this for Exa will hide the 'Similar Sites' and 'Exa Search' buttons.
- Any instance of `{{url}}` in a message block, where `url` is a valid URL (e.g. `https://example.com`), will be silently replaced by the contents of that URL. Jina or Exa will be used to parse the contents if available and enabled in the settings, else its raw HTML will be fetched.
-
The max tokens boxes accept not just integers ('4096'), but also percentages ('20%') of the model's max output length; in addition, the arguments 'max', 'auto', and '' (the empty string) will be treated as '100%'.
Using something like 80% instead of 100% is a good idea, since some providers throw errors if your max_tokens + input length exceeds the model's context window. - Multiple message blocks can occupy the same row, and moved up or down together. They will be read in comic book order. Use shift+left and shift+right to move a block to the end of the previous row or start of the next row, or to move blocks within a row. If "generate completion in new block" is enabled, consecutive triggers will be placed in the same row.
Notes
- Don't use Ctrl-C + Ctrl-V to copy/paste, as this will pick up formatting. Use Ctrl-Shift-C and Ctrl-Shift-V instead. Or paste into your address bar to remove formatting and then copy from there.