diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-16 15:23:41 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-16 15:23:41 +0200 |
| commit | f5da8d8ee2cb4ace1fa6841437b4798e7799c100 (patch) | |
| tree | 9a1d51d8e61782852de2779cc77bfa5d2ca94a65 /desktop/assistant/README.md | |
| parent | 13a10999f53802858f87883db381842d741eab69 (diff) | |
| download | quickshell-f5da8d8ee2cb4ace1fa6841437b4798e7799c100.tar.gz quickshell-f5da8d8ee2cb4ace1fa6841437b4798e7799c100.zip | |
feat(assistant): entry line, file state, staged files and a picker
The card has three states: an entry line, a file state for staged files with Chat about it, and the chat. SUPER+Home resumes a conversation active in the last 10 minutes and otherwise starts a new one. The paperclip opens a picker drawn in the card, since a system dialog would open beneath the overlay that holds the keyboard. Button gains a font alias for the paperclip glyph, and the canvas a socketPath property so a check can point it at a scratch daemon.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/assistant/README.md')
| -rw-r--r-- | desktop/assistant/README.md | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/desktop/assistant/README.md b/desktop/assistant/README.md index 8fc200b..aabce2d 100644 --- a/desktop/assistant/README.md +++ b/desktop/assistant/README.md @@ -17,10 +17,20 @@ what is typed. The protocol is specified in that repo, | `Message.qml` | one turn: question, thinking line, tool chips, reply | | `Segments.qml` | markdown with a copy button per code block | | `History.qml` | conversation list and full-text search | +| `Picker.qml` | the in-card file picker behind the paperclip | | `Md.js` | splits a message into prose and fenced code | +| `Files.js` | a path's kind, and a dropped URL to a path | -Keys: Enter sends, Shift+Enter is a newline, Escape closes the history -panel and then the card. Stop replaces Send while a reply streams. +Three states (`Assistant.qml`, `mode`): **entry**, one line, "How can I +help you?"; **file**, files staged and nothing asked yet, with what can be +done with them; **chat**, the transcript. SUPER+Home resumes a conversation +active in the last 10 minutes and otherwise starts a new one. A file +dropped on the island (`../island/`) starts a new one in the file state. +The paperclip opens a picker drawn in the card: a system dialog would open +beneath the overlay that holds the keyboard. + +Keys: Enter sends, Shift+Enter is a newline, Escape closes the picker, then +the history panel, then the card. Stop replaces Send while a reply streams. Notes: @@ -49,4 +59,11 @@ Notes: are stripped first, since a match inside a code span would show the markers literally. -Test the splitter: `node desktop/assistant/test_md.js`. +- **File kinds are decided twice.** `Files.js` decides what the card + offers; the daemon decides what chat accepts. The lists match, but the + daemon also takes any `text/*` file, which the card may show as "other". +- **`socketPath`** is a property so a check can point the canvas at a + scratch daemon; the desktop uses the default. + +Test the splitter and the kinds: `node desktop/assistant/test_md.js`, +`node desktop/assistant/test_files.js`. |
