Help assistant
The help assistant is a chat that answers questions about Marginalia from its manual. An administrator chooses which model it uses and gives the permission Help assistant to the users who can ask it, in their permissions (administrators always can); they need no model of their own. Users that existed when the permissions were introduced got it if the assistant was on at the time; new users have none.
Once a user can use it, they see a round robot button in the bottom right corner of the window. It opens the chat; the
panel says which model answers and warns when the user's limit applies (see
The button appears when a user opens Marginalia, and the model and the limit warning are read each time the panel is opened; if you take the permission away or remove the model, users who already have the page open lose the button when they reload it (or when they open the panel).
Settings
Open Admin → Help assistant:
Two settings depend on the user and are in their Help assistant permission (open it with the key button in Admin → Users; both are off by default):
An administrator who has no such permission is answered with both off.
The settings are saved with Save. The assistant asks the model without a protocol, so the settings of the model itself apply. It stops working by itself when the model is deleted, or when its owner is no longer an administrator, so a model that belongs to an ordinary user is never handed to everybody.
What the assistant sees of the screen
The model can look at what the user is doing right now (it is told to when a question is about "here" or "this"): which section, tab or dialog is open, as a short description for each part of the screen - for example the title of the open book and its open tab, or the title of an open dialog. The tabs that are not open are only listed, and it reads them only when the question needs it. For a form that is open it also gets what is wrong with it right now: the fields that the form marks as invalid with the message it shows, the required fields that are empty, and what the form checks across fields (for a model: the response must be smaller than the context). Only the names of the fields, never what is typed in them. It never gets the text of a story, a lorebook entry, an API key or a password.
Your books
The panel of the assistant has the check box Let the assistant look at my books, off by default and set by each user for themselves (it is kept in their settings). A notice under it says what it means: the assistant reads folder names, titles, descriptions and the writing settings of the books and searches their text, never reads the text of a story, and what it reads is sent to the AI that answers - which is the model you chose above, so say so to the users if it is a service outside your control.
When it is on, the model gets three functions, all read-only and only for the books of the user who asks:
It can not change, move or create anything. The lists are cut (a hundred entries, twenty matches) and the descriptions shortened.
When something goes wrong
When a user says that something failed ("I get an error", "it does not save", "the model does not answer"), the assistant can read what Marginalia showed them: the last errors, the failed requests to the model provider (wrong key, no such model, limit reached, timeout...), the warnings and the messages of forms that could not be saved, newest first and with how long ago each happened. It explains what the message means and what to fix, and for a form that is open it says which fields to change.
What is written down, and where:
-
everything a user is shown as an error or a warning in a notification, and the message of a failed validation, is kept for the session (the last 20);
-
unexpected failures (the ones with a stack trace dialog) and failed requests to a provider are also kept by the browser tab (the last three, in its session storage), so they are still there after the page is reloaded or the session expired.
The assistant gets the text the user saw and, for a failure, the names and messages of the exceptions, without the stack trace.
Each text is cut at 400 characters and what looks like a key, a token or a password is removed, but the text of a message
can still contain a part of what a provider or the system said, for example the answer of a provider to a request. The model that answers is the one you chose, which may
be an external provider: keep that in mind when you
Showing the way
With Allow navigating the interface on in the permission of the user, the assistant can do a few things in the window itself when a user asks it ("show me where the lorebooks are", "take me to the backups", "how do I add a model?"): open a section (Books, Lorebooks, Settings, ...), the Admin page (only administrators have it), select a tab of the Settings, of the Admin page or of the story editor, or press the button that opens the dialog to add a book, a model or a protocol (the dialog only opens, nothing is created until the user fills it in and confirms; it is not offered while another dialog is open). It tells the user what it did. It can do nothing else: it does not press other buttons, type, save, delete, generate, close a dialog or log out, and a user who cannot open something cannot have the assistant open it for them. It does not move on its own initiative, only when asked. Where the navigation is locked (the open section has unsaved changes, a book is being generated) it can not move.
Allowing it also tells the model the names of the elements on the screen and what they offer; that is the same kind of
information as in
Administration data
With Allow reading administration data on, the assistant can read the data of the Admin page for an administrator who asks it ("why does Side Query not work?", "when was the last backup?"), and for nobody else; an ordinary user never gets it, whatever the setting says, and it is checked again every time it is read.
It is read only: the assistant cannot start, stop or remove anything there. Keep in mind that all of it is sent to the model that answers, which may be an external provider, and that the log of an extension can contain text the extension wrote (a log line is cut at 400 characters and keys, tokens and passwords are removed, but nothing more is done to it). That is why the setting is off until you turn it on.
Prompts
There are two prompts: one for administrators (who may ask about the Admin page) and one for everybody else (who are told that administration is for administrators). Both are filled in with the defaults; change the text and save, Reset to default puts the default back. A prompt that is empty or equal to the default is stored as "the default", so it improves with a new version of Marginalia, one you changed is yours to keep up to date.
`` in a prompt is replaced by the list of the manual's pages (path, title and what the page is about), which is how the model knows what it can read. Leave it out and the model only finds pages by searching. Keep the instructions to look things up in the manual and to say so when it does not cover a question, otherwise the answers get less reliable. The rules for the tools that read errors, move through the interface and read the administration data are added to the prompt by Marginalia (you do not have to keep them in it), and only for the tools that are allowed.
Who pays
The users never see the model or its API key; their questions go through the application.
Your own questions count in the same way, for you the model is just another model.