Expand description
The chat: one screen where the person writes, the reply streams in, and the actions the model asks for are done, or shown and asked about first.
A turn goes round like this. What the person wrote joins the conversation and a request goes out on a task, which hands the reply back piece by piece. When the reply asks for tools, each call is taken in order: reading, listing and searching are done at once; an edit or a command is shown on a card and waits for the person. When every call has its result the results go back to the model in the next request, until it ends its turn. Esc stops whatever is going on and every call still waiting is answered as stopped, so the conversation stays one the API accepts.
Structs§
- Provider
Form - The form’s values while it is open, with what the last save found wrong in the framework’s own
FormErrors, named after the controls the problems belong to. - QCli
- The application.
Enums§
- Form
Field - The fields of the form.
- Live
- A piece of the reply as it streams in.
- Msg
- Everything that can happen.
- Notice
- Something the screen says under the conversation until the next turn.
- Phase
- What the chat is doing.
Constants§
- KEYMAP
- The keys of the application, layered over the framework’s.
- MAX_
ROUNDS - How many requests one turn may make before it stops and says so. A model that keeps asking for tools would otherwise go on spending the person’s money without an end.
- QUIET
- How long a card stands in front of the person, with no key pressed and no click, before it takes an answer. A card can come up while the person is typing their next message, and the letter that allows it or the space and Enter that press a button would otherwise answer an edit or a command they never saw.
Functions§
- run
- Opens qcli in the folder it was started in.