aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/assistant/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/assistant/README.md')
-rw-r--r--desktop/assistant/README.md23
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`.