From 89228719b59d4e93e71b2a54294c5af39b9f0885 Mon Sep 17 00:00:00 2001 From: Ryan Westfall Date: Tue, 20 Oct 2026 06:13:42 -0700 Subject: [PATCH] Vision: attach an image with a prompt and have the model read it (#129) ## Summary - Closes #128. - Chat composer accepts PNG, JPEG, WebP, and GIF along with existing documents. - Selected image shows a thumbnail before send. Filename stays hidden for images. Documents still show the filename. - User turn keeps the image after reload, from the prompt `image` field the backend returns. - Oversized or unsupported images show the websocket error on the assistant bubble. - Landing copy and `llms.txt` no longer list vision as roadmap-only. Needs the matching `chat_backend` branch `feat/128-vision-image-prompt` so the model actually reads the image. ## Test plan - [ ] Attach a PNG with a prompt that asks to read text in the image. Answer uses the picture. - [ ] Thumbnail shows before send, with no filename. - [ ] Reload the conversation. The image is still on the user turn. - [ ] CSV/PDF attach still works. - [ ] Text-only prompt unchanged. - [ ] A BMP or an image over 8 MB shows an error instead of a silent failure. Reviewed-on: https://git.aimloperations.com/ai_ml_operations/chat_web_app/pulls/129 --- llm-fe/public/index.html | 2 +- llm-fe/public/llms.txt | 2 +- .../ConversationDetailCard.tsx | 15 +++++ llm-fe/src/llm-fe/contexts/MessageContext.tsx | 19 ++++++ llm-fe/src/llm-fe/data.ts | 6 ++ .../pages/AsyncDashboard2/AsyncDashboard2.tsx | 65 +++++++++++++++---- .../llm-fe/pages/Landing/LandingPage.test.tsx | 2 +- llm-fe/src/llm-fe/publicCrawlerFiles.test.ts | 6 +- llm-fe/src/llm-fe/utils/pageProse.js | 2 +- .../src/llm-fe/utils/visionAttachment.test.ts | 21 ++++++ llm-fe/src/llm-fe/utils/visionAttachment.ts | 20 ++++++ 11 files changed, 142 insertions(+), 18 deletions(-) create mode 100644 llm-fe/src/llm-fe/utils/visionAttachment.test.ts create mode 100644 llm-fe/src/llm-fe/utils/visionAttachment.ts diff --git a/llm-fe/public/index.html b/llm-fe/public/index.html index a7fee6f..98f530c 100644 --- a/llm-fe/public/index.html +++ b/llm-fe/public/index.html @@ -83,7 +83,7 @@ -

Hesychia is a calm AI assistant.

Quiet, focused AI chat — private by default — is how this Hesychia product is built.

It remembers what you told it and your documents, so you never start over, and conversation memory is a setting you control.

We store your account, your conversations, and the documents you upload.

We do not sell your data, and we do not use advertising cookies.

Canceling does not delete documents, and they stay until you delete them or delete the account, and account deletion is a soft-delete.

It remembers what you told it and your documents, so you never start over.

Your documents stay stored and searchable, and answers are grounded in your own files.

Business accounts are simple management for your team, and company managers can manage team accounts.

Early adopters pay $10 per month, locked for the lifetime of the account, and that price never goes up.

Image generation is on the roadmap, so a prompt can create a picture inside Hesychia.

Vision is on the roadmap, so you can ask questions about an image you upload.

+

Hesychia is a calm AI assistant.

Quiet, focused AI chat — private by default — is how this Hesychia product is built.

It remembers what you told it and your documents, so you never start over, and conversation memory is a setting you control.

We store your account, your conversations, and the documents you upload.

We do not sell your data, and we do not use advertising cookies.

Canceling does not delete documents, and they stay until you delete them or delete the account, and account deletion is a soft-delete.

It remembers what you told it and your documents, so you never start over.

Your documents stay stored and searchable, and answers are grounded in your own files.

Business accounts are simple management for your team, and company managers can manage team accounts.

Early adopters pay $10 per month, locked for the lifetime of the account, and that price never goes up.

Image generation is on the roadmap, so a prompt can create a picture inside Hesychia.

Upload an image with your prompt and Hesychia reads the picture, so you can ask about what is in it.