Настройка агента вручную
Всё, что знает агент, лежит в одном файле — app_settings.json. Конфигуратор пишет его за
вас, а для скриптовых и headless-установок вы можете написать его сами. Эта страница —
справочник по полям.
Если вы просто хотите подключить устройство, эта страница вам не нужна: как связать устройство с учётной записью — короче и безопаснее.
Где лежит файл
Агент читает app_settings.json из папки, где лежит его собственный исполняемый файл.
То есть:
- Windows — рядом с
FilemoteAgent.exe, в папке установки или портативной папке. - Установка службы в Linux —
/opt/filemote/app_settings.json, потому что именно туда скрипт установки кладёт агента. - Все остальные случаи — рядом с тем бинарником, который вы запустили.
Терминальный конфигуратор по умолчанию берёт файл рядом с собой и принимает
--config <path>, чтобы редактировать другой, — а это ровно то, что нужно при установке
службы, поскольку FilemoteCli в префикс не копируется. Относительный путь здесь
разрешается от вашего текущего каталога.
Соединение
| Поле | Что означает |
|---|---|
ip | Имя хоста или адрес сервера, к которому подключается агент |
port | Порт сервера |
EnforceHttps | Отказываться от соединения по обычному HTTP. Включено по умолчанию; сопряжение через терминальный клиент выключает его, потому что ретранслятор доступен по HTTP |
Оставьте в ip и port адрес вашего собственного сервера. Пустой ip не означает
«разберись сам» — агент откатится на вшитое значение по умолчанию, которое почти наверняка
не имеет отношения к вашей установке.
Идентификация
| Поле | Что означает |
|---|---|
login | E-mail учётной записи |
pass | Зашифрованный пароль учётной записи — см. ниже |
PairCode | Код сопряжения, ожидающий погашения |
DeviceToken | Долговременный токен, сохранённый после погашения кода |
pass — это не пароль открытым текстом. Конфигуратор хранит его через локальную защиту
платформы — DPAPI в Windows, локальный файл ключа в остальных случаях — и агент ожидает
именно такую форму. Вставить в поле пароль открытым текстом не получится; задайте пароль
через конфигуратор, а ещё лучше — свяжите устройство кодом и оставьте pass пустым.
К чему агенту разрешено обращаться
rootPaths — это список каталогов, которые разрешено видеть браузеру. Всё, что вне списка,
отклоняется, включая попытки выйти наружу через ... Агент отказывается стартовать с
пустым списком, так что поле не является необязательным.
rootPath (в единственном числе) — устаревшее поле, оставленное только для того, чтобы
старые файлы настроек продолжали загружаться. Используйте rootPaths.
Настройка передачи данных
| Поле | По умолчанию | Что означает |
|---|---|---|
ChunkSizeKb | 64 | Размер одного блока передачи |
MaxDownloadMb | 2048 | Максимальный размер одной загрузки; 0 — без ограничений |
ReconnectDelayMs | 5000 | Первая задержка переподключения. Дальше удваивается с каждой попыткой, с разбросом, максимум до 30 секунд |
TransferSpeedLimitKbps | 0 | Ограничение исходящей скорости; 0 — без ограничений |
AI и база знаний
| Поле | По умолчанию | Что означает |
|---|---|---|
AiModelId | qwen2.5-1.5b-instruct | Основная модель |
AiDevice | auto | auto выбирает GPU, если есть Vulkan-совместимый; cpu и gpu задают жёстко. cuda по-прежнему принимается как устаревшее значение |
AiTemperature | 0.7 | Температура сэмплирования |
AiMaxNewTokens | 512 | Ограничение длины ответа |
AiSystemPrompt | пусто | Подставляется в начало каждого разговора |
AiAutoStart | false | Запускать AI-сервис вместе с агентом |
AiDocumentModel, AiVisionModel, AiCodeModel, AiSummaryModel | пусто | Специализированные модели; пустой слот откатывается на основную модель |
KbEnabled | true | Подмешивать контекст из базы знаний в AI-чат |
KbPaths | пусто | Папки для индексации |
KbIncludeBrowser | false | Индексировать историю браузера |
KbIncludeEmail | false | Индексировать файлы .eml и .msg |
KbPrivacyAccepted | false | Фиксирует, что диалог согласия был показан |
KbScheduleEnabled | false | Переиндексировать по расписанию |
KbScheduleDays | не задано | Дни недели для переиндексации; пустой список означает «никогда» |
KbScheduleTime | 03:00 | Время суток для запуска по расписанию, 24-часовой формат |
KbScheduleIntervalHours всё ещё встречается в старых файлах настроек. Оно читается только
для того, чтобы такие файлы продолжали загружаться, и больше ни на что не влияет — его
заменили два поля выше.
Порт AI-сервиса больше не настраивается — он фиксирован на 8765. В старых файлах настроек
может остаться поле AiPort; оно игнорируется.
Обновления
| Поле | По умолчанию | Что означает |
|---|---|---|
UpdateCheckEnabled | true | Главный выключатель проверки обновлений |
UpdateChannel | stable | stable или beta |
UpdateSkippedVersion | пусто | Единственная версия, которую вы решили пропустить |
Что эти настройки делают на самом деле, описано в статье как поддерживать Filemote в актуальном состоянии.
Почему сопряжение всё-таки лучше
Агент, настроенный с паролем от учётной записи, выводит из этого пароля ключ шифрования ваших файлов. Смените пароль в браузере — и стороны перестанут сходиться: браузер сразу выведет новый ключ, а работающий агент сохранит старый, и всё, что он отправляет обратно, расшифруется в бессмыслицу. Симптом и способ починки — в статье устройство отображается как офлайн.
Сопряжение снимает проблему целиком, потому что несёт ключ в самом коде, вне основного канала. Ручная настройка существует для headless- и скриптовых установок; если у вас есть экран и браузер, свяжите устройство кодом.
Обновлено 2026-07-31