feat(chat): view context — tell the assistant what you're looking at
Nightly Build / build (push) Successful in 7m51s

An eye next to the paperclip shares what the user has open with their next
message: the page, the folder being browsed, the file open in the viewer and
any highlighted passage (line numbers where a source view exists), plus which
entity a detail page is about. The bag is client-authored {label, value} pairs
in English — the backend only clamps (chars, never bytes), neutralizes the
harness tag and renders one <system-extra> block per message, deduped
consecutively so it appears exactly when the view changed. On by default,
per-device toggle, hover/tap to preview, a chip on every sent message;
docs/view-context.md for users, an updated harness.md clause for the model.
This commit is contained in:
Daniele
2026-08-23 20:53:30 +01:00
parent 488c702517
commit 505f2e95c1
42 changed files with 2096 additions and 122 deletions
+16
View File
@@ -16,6 +16,20 @@ release PR may merge — and a section is closed at the commit that bumps it.
or delete wherever you have write access; the read-only places say so. Your memory
notes are readable here for the first time (changing them still goes through the
assistant).
- The assistant can be told what you are looking at: the eye next to the paperclip sends
what you have open along with your next message, so "what is this?" needs no explaining.
It names the page you are on; the folder you are browsing in Files or in a project; the
file open in the viewer and any passage you highlighted in it — line numbers included
where you are looking at the source — so "what is in here?" and "rewrite this sentence"
work without naming anything; and, on a detail page, which project (and which of its
tabs), member, connector, plugin, conversation, tool call or LLM request you opened.
The active section follows you in Tasks, Models, Background agents, the Marketplace
search and the mobile app. Like an attachment, what the eye sends goes to the AI
provider together with your message — hover it (or tap it) to read exactly what would
go out, click it to stop sharing; the choice is remembered on this device, and every
message shows a chip with what it carried. Very long highlights are trimmed, with a
note saying how much was left out — the assistant can still read the whole file itself.
On by default.
- Several conversations per source: open extra chats with `+`, and the tab bar you left
open is restored at your next login, on any device.
- A background task now reports back into the chat that started it instead of only the
@@ -68,6 +82,8 @@ release PR may merge — and a section is closed at the commit that bumps it.
- The re-login dialog no longer hijacks the login screen, the new-chat `+` menu is visible
and clickable, and the session-detail page stays live instead of freezing on a snapshot.
- A silently dead agent WebSocket is detected and redialled.
- Opening Files, Plugins, Shared folders or a plugin's own page from a link no longer
covers it with the full-screen chat: the chat docks to the side, as on every other page.
- A generated image lands in your own workspace instead of a server folder nobody could
reach, so the assistant can finally send it to you on Telegram, open it in the viewer,
or work on it with a command. It still shows inline in the web chat, its file is named