From 5c41da8b4df65a8085c70f85780843f485234139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20Bene=C5=A1?= Date: Tue, 3 Nov 2026 14:48:00 +0000 Subject: [PATCH] CHANGELOG and README: one approval, the files and show routes, the gate Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 23 +++++++++++++++++------ README.md | 14 ++++++++------ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8f5b99..58a0b66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,9 +19,15 @@ LLeMbas 2.0 server. - **Agent chats first.** The sidebar opens on agent chats, those on this computer above those on your other devices; a new agent chat is started on this computer, in one of the agent's folders, with its mode and model. Chats on the server are the second tab. -- **The app signs in on its own**, with the server's device login for one permission: to read and - write your chats, as the web interface does. The approval opens in your browser. Linking this - computer for the agent stays a separate step, and its approval opens in the browser too. +- **One approval signs the app in and links this computer.** The app asks the server's device + login for its own token (your chats, as the web interface reads and writes them, and dictation) + and, in the same approval, for the agent's; the approval opens in your browser. The agent's + token goes straight to the built-in LLeMbas CLI on its standard input (`lembas login + --token-stdin`), which keeps it in its own configuration as `lembas login` does; the app never + stores it. A computer linked already keeps its link, and **Link again** under Settings is still + there. A server that cannot give both tokens from one approval gets the old two steps. +- The app's own token is not a device: the server lists it under *Apps*, and only the agent's + link is among the devices an agent chat can start on. - The look is still the server's: its design tokens, now copied from the 2.0 server, and its CodeMirror build for code (`scripts/fetch-vendor.sh`, pinned in `vendor.lock.json`). The window takes the account's theme. @@ -32,14 +38,19 @@ LLeMbas 2.0 server. ### Added - **Two explorers, kept apart**: this computer's -- the open agent chat's folder, or one of the - agent's folders -- read only inside the agent's folders, and the server's files. + agent's folders -- read only inside the agent's folders, and the server's files, through + `/api/v2/files` with your own access. A server file that is not text, or too large, says so in + your language instead of failing. - **A viewer** beside the chat: Markdown drawn, code highlighted (read-only CodeMirror), text, and HTML in a sealed frame on its own address, with no access to the app, no network and no way - to navigate. A file the agent shows (`show`) opens in it. + to navigate. A file the agent shows (`show`) opens in it: from this computer for an agent chat + running here, otherwise as the server keeps it (`/api/v2/chats/…/show`), checked against the + chat's access when it is opened. A file that is gone, too large or not text says so. - **Native notifications** when a reply or an agent chat finishes while you are elsewhere (on by default; Settings, Notifications). - **A server older than LLeMbas 2.0 is refused** with a message saying which side to update, and so - is a server whose app interface is newer than this app knows. + is a server whose app interface is newer than this app knows. What counts is the link protocol + (3) and the app interface (`app_api` 2), not the server's version number. - **Settings in the app**: the server and the sign-in, the agent and its folders, notifications and updates. There are no admin pages. - When the app cannot start, it says why in `desktop.log` in its log directory, not only on a diff --git a/README.md b/README.md index 075cc95..d2d428b 100644 --- a/README.md +++ b/README.md @@ -49,13 +49,15 @@ built into the app before anything is installed. Betas are not offered as update ## Use 1. Start LLeMbas and enter your server's address. **Sign in**: the approval page opens in your - browser, where you are signed in already; approve the code shown in the app. This sign-in lets - the app read and write your chats, as the web interface does. -2. Under **Settings**, **Link this computer**: a second approval, which makes this computer a - device the agent runs on. The agent starts. -3. Choose the folders the agent may work in (Settings, *Add folder…*); a new computer allows none + browser, where you are signed in already; approve the code shown in the app. This one approval + lets the app read and write your chats, as the web interface does, and links this computer as + the device the agent runs on: the app hands the agent's token to its LLeMbas CLI, which keeps it + in its own configuration. The agent starts. (A computer linked already keeps its link; on a + server that cannot give both from one approval, **Link this computer** under **Settings** is a + second one.) +2. Choose the folders the agent may work in (Settings, *Add folder…*); a new computer allows none until you do. -4. **New agent chat**: pick one of those folders, a mode and a model, and write. +3. **New agent chat**: pick one of those folders, a mode and a model, and write. The agent is the LLeMbas CLI's `lembas service`, using the CLI's own configuration (`~/.config/lembas`). The app's copy of the CLI lives in its own directory