diff --git a/CHANGELOG.md b/CHANGELOG.md index 95ca67d..6b8194e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,49 @@ one of them changed. An entry says which artefact and which version, so `web 0.1 Every version published to a channel appears here. Nothing is written from memory afterwards: a build cannot be published without its entry. +## 2026-10-09 — Quick Assist: help someone whose PC Jarvis does not manage `agent 0.48.0` `api 0.130.0` `web 0.160.0` + +**Quick Assist** is a new page in the sidebar. It lets an operator see and control the screen of +somebody on a Windows PC that is not enrolled in Jarvis: a customer's laptop, a new employee's +computer, anyone who calls for help. Nothing is installed on their PC, and nothing stays on it when +the call ends. + +**On the operator's side.** Press **New session**. Jarvis gives you a code such as `7K3M-9QXA` and a +link to your own instance, `/help/7K3M-9QXA`. Send the link by chat or email, or read out the short +address and the code on the phone. When the person opens the helper, their user name, computer, +Windows version and address appear on the page. **Connect** opens their screen in a tab of its own, +with the same viewer as an enrolled machine; **End assistance** ends the call for both of you. + +**On the person's side.** The link opens a page, with no account needed, that first names who is +helping them and from which organization. They download `JarvisQuickAssist.exe` and open it; the file +already knows your instance and the code, so they type nothing. A Jarvis window then appears in the +bottom-right corner of their screen, says who is helping, and has a **Stop** button. When you connect, +they are asked, as on a workstation, and the usual notice stays on their screen for the whole session. +The page and the window speak English, French or German. + +**What it can and cannot do.** + +- It shows only the Windows session of the person who opened the helper, and it answers nothing but + the screen: no terminal, no files, no commands. +- It runs with the person's own rights. A UAC prompt or the lock screen is not shown to you, and your + keyboard and mouse do not reach windows running as administrator. +- A code works once, for 10 minutes. Wrong codes are limited per network and across the instance, and + checking a code on the join page counts as trying it. A session lasts at most 4 hours, and an + operator can have at most 5 codes waiting. +- The helper is not signed yet. The first time, Windows SmartScreen says "Windows protected your PC"; + the person clicks **More info**, then **Run anyway**. The join page tells them so. +- Each operator sees only the sessions they started. Starting, using and ending a session is in the + audit log. + +Quick Assist needs the remote desktop permission and follows the instance's remote desktop switch: with +remote desktop turned off, it is unavailable. + +Update the API, the web image and the agent release image together. The API applies an additive schema +update (a new table for Quick Assist sessions, and a desktop session can now name a Quick Assist +session instead of a machine). The download needs the Windows 64-bit build from the agent release +image. The helper connects on `/api/agents/ws/assist` and `/api/agents/ws/assist/desktop`, which your +reverse proxy already forwards if it forwards `/api/agents/ws` by prefix, as required. + ## 2026-10-08 — Hear the remote machine from the remote-desktop viewer `agent 0.47.0` `api 0.129.0` `web 0.159.0` The remote-desktop toolbar has a new speaker button. It turns on the sound of the machine you are diff --git a/README.md b/README.md index 40af0f9..2e0c0e5 100644 --- a/README.md +++ b/README.md @@ -299,7 +299,8 @@ All three are the kind that produce confusing symptoms rather than clean errors. - **Forward the WebSocket upgrade.** Three separate sockets ride `JARVIS_PORT`: the chat, on `/socket.io/`; enrolled agents, on `/api/agents/ws`; and, for remote desktop only, one media - connection per live session on `/api/agents/ws/desktop`. None falls back to plain HTTP. Without + connection per live session on `/api/agents/ws/desktop` (and, for Quick Assist, the helper's + `/api/agents/ws/assist` and `/api/agents/ws/assist/desktop`). None falls back to plain HTTP. Without the upgrade the chat does not lose streaming — it never connects at all, and since the prompt itself travels over that socket, nothing sends. Presence and in-chat approvals go with it, no agent can connect, and no screen can be watched. A proxy that forwards `/api/agents/ws` by exact @@ -480,6 +481,15 @@ which ends active sessions. What the banner guarantees is that watching is never secret. It does not guarantee consent once it has started, and under the banner policy it is not asking for any. +**Quick Assist, for a PC Jarvis does not manage.** An operator with the remote desktop permission +starts a session under **Quick Assist**, gets a single-use code that lasts 10 minutes, and sends the +person a link to `/help/` on your instance. That public page names the operator and the +organization, then hands over `JarvisQuickAssist.exe`: the Windows agent, carrying your address and +the code. The person opens it, a Jarvis window shows who is helping, and the screen is shared only +after they accept, with the notice on their screen throughout. It installs nothing and keeps no key on +disk; it shows the person's own session only, with their own rights, and answers nothing but the +screen. The download needs the agent release image, like enrolment does. + ## Things worth knowing before you trust it with production These are deliberate and documented rather than surprises waiting to be found.