The assistant

The assistant answers questions about AutoFileSync in plain words and can take work off your hands: it proposes new synchronisations, finds out why something did not work, and runs commands from the menu on request. It runs entirely on this computer – nothing is sent to the internet, and no account or key is needed.

Using the assistant

  1. Assistant → Chat… opens the chat window.
  2. Type the question or the request into the lower field, the way you would say it to a person.
  3. Click Send or press Ctrl+Enter (on the Mac Cmd+Enter). Enter on its own starts a new line.
  4. The answer appears in the conversation above, word by word, while it is being written. Meanwhile the window shows The assistant is answering….

Depending on the computer, an answer takes a few seconds to a few minutes; the very first one a little longer, because the model has to be loaded first. The program stays usable in the meantime, and the chat window may be closed: the answer is in the conversation the next time it is opened.

The assistant knows the conversation so far, so it understands follow-up questions such as “and how do I undo that?”. The conversation is kept until AutoFileSync is closed. New conversation starts over – useful when the topic shifts, because then the old conversation no longer distracts it.

The assistant answers in the language it is asked in.

What the assistant can do

Answer questions about using the program It picks the matching section of this help, answers from it and names the help page that has more.
“How do I synchronise over SSH?”
Tell you about your own synchronisations It knows every synchronisation set up, with source, target, type and the options switched on, the SSH connections (without passwords), when the last pass ran, whether source or target were reachable – and whether the synchronisation is meant to warn in that case – and the first error of the last run.
“How many synchronisations do I have?”, “Why is my USB stick not up to date?”
Report the current state It knows whether the program is synchronising right now and whether the background service is running.
“Is a synchronisation running at the moment?”
Evaluate the log If the question contains the word log or logfile, it reads the latest entries of the log and explains them.
“What is in the log?”, “Are there errors in the logfile?”
Propose a new synchronisation Name source and target as paths, and it proposes a ready synchronisation.
“Sync /home/anna/Photos to /media/usb/Photos”
Propose removing a synchronisation Name a synchronisation that is set up, and it proposes to remove it.
“Remove the synchronisation Photos”
Run commands from the menu Synchronise once, Preview, Start synchronisation, Stop synchronisation, Start the background service, Stop the background service and Show log file.
“Sync everything once now”, “Show me the log file”

Confirming proposals

The assistant never changes anything by itself. When it has a proposal, it describes it in one sentence, and a button appears at the bottom of the chat window that says what it does:

Create synchronisation… Opens the familiar dialog for a new synchronisation, already filled in with name, type, source and target. Everything can be checked and altered there; it is only created with OK.
Delete synchronisation… Asks the same safety question as Edit → Delete synchronisation….
Name of a command, for example Synchronise once Runs the command, exactly like the menu item of that name.

If you do not want the proposal, simply go on asking: the button disappears with the next question.

Asking well

Limits

The assistant is a small language model. It can be wrong, mix up paths or claim something that is not true. That is why every proposal goes through a button and the familiar dialog – before OK, a look at source and target is worthwhile. When in doubt, what this help says applies.

Of the log it only sees the latest entries. With very many synchronisations it describes the first 30 in detail and only counts the rest. It does not alter settings; it only explains where to find them.

Setting up the model

The assistant needs a language model, a file with the extension .gguf. It is not part of AutoFileSync, because it is several gigabytes in size and has a licence of its own (see Licence terms). If it is missing, the chat window shows No model found. and names the folder it belongs in.

Windows setup_llama_windows.cmd in the installation directory downloads a suitable model to %LOCALAPPDATA%\autofilesync\models.
macOS setup_llama_macos.sh downloads a suitable model to ~/Library/Application Support/autofilesync/models.
Linux Copy a GGUF file to ~/.local/share/autofilesync/models.

The scripts pick the size by the memory: below 16 GB the 3B model, from 16 GB the 7B model, from 32 GB the 14B model. Larger models answer more accurately, but more slowly. If there are several files in the folder, the assistant takes the first by file name. A model put there is found without a restart.

To use a file somewhere else, the environment variable AUTOFILESYNC_LLAMA_MODEL names its full path; it takes precedence over the folder.