From 056853313dd73975a8af52e151af5eed33253fc7 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 16 Oct 2026 15:12:06 +0200 Subject: Docs: attachments Co-Authored-By: Claude Opus 5.5 --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 61c2aa8..6a8c767 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ The voice version (push-to-talk, whisper, Kokoro) is the tag `voice-v1`. - a running `llama-server` with an OpenAI-compatible API, router mode - Python 3 (stdlib only; SQLite with FTS5) +- poppler (`pdftotext`, `pdftoppm`) for PDF attachments - `curl` and `jq` for the weather and search example tools, `python3-dateutil` for the calendar one @@ -42,7 +43,7 @@ first answers. JSON lines both ways on `$XDG_RUNTIME_DIR/desktop-assistant.sock` (mode 0600). Every connected client sees every event. -In: `ask {text}`, `stop`, `new`, `list`, `open {id}`, `search {q}`, +In: `ask {text, files}`, `stop`, `new`, `list`, `open {id}`, `search {q}`, `delete {id}`. Out: `hello` on connect (state, model, context use, the current @@ -54,6 +55,14 @@ conversation and any reply in flight), then `user`, `think`, `token`, Ids are integers; a malformed command or argument answers `error` and the connection stays open. +`files` is a list of absolute paths, at most 8. Text and code files and +PDFs are read and inlined, sharing half the free context (a PDF page with +no text goes as an image, at most 4, rendered no larger than 2048 px); +images go as image parts to a model that reports seeing them. History +keeps the text and, for images, the path and hash: a file that changed or +moved is reported as no longer available when the conversation is +reopened, and a model that cannot see images gets a note instead. + Try it by hand: ```sh -- cgit v1.2.3