Настройка агента вручную

Всё, что знает агент, лежит в одном файле — 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 не означает «разберись сам» — агент откатится на вшитое значение по умолчанию, которое почти наверняка не имеет отношения к вашей установке.

Идентификация

ПолеЧто означает
loginE-mail учётной записи
passЗашифрованный пароль учётной записи — см. ниже
PairCodeКод сопряжения, ожидающий погашения
DeviceTokenДолговременный токен, сохранённый после погашения кода

pass — это не пароль открытым текстом. Конфигуратор хранит его через локальную защиту платформы — DPAPI в Windows, локальный файл ключа в остальных случаях — и агент ожидает именно такую форму. Вставить в поле пароль открытым текстом не получится; задайте пароль через конфигуратор, а ещё лучше — свяжите устройство кодом и оставьте pass пустым.

К чему агенту разрешено обращаться

rootPaths — это список каталогов, которые разрешено видеть браузеру. Всё, что вне списка, отклоняется, включая попытки выйти наружу через ... Агент отказывается стартовать с пустым списком, так что поле не является необязательным.

rootPath (в единственном числе) — устаревшее поле, оставленное только для того, чтобы старые файлы настроек продолжали загружаться. Используйте rootPaths.

Настройка передачи данных

ПолеПо умолчаниюЧто означает
ChunkSizeKb64Размер одного блока передачи
MaxDownloadMb2048Максимальный размер одной загрузки; 0 — без ограничений
ReconnectDelayMs5000Первая задержка переподключения. Дальше удваивается с каждой попыткой, с разбросом, максимум до 30 секунд
TransferSpeedLimitKbps0Ограничение исходящей скорости; 0 — без ограничений

AI и база знаний

ПолеПо умолчаниюЧто означает
AiModelIdqwen2.5-1.5b-instructОсновная модель
AiDeviceautoauto выбирает GPU, если есть Vulkan-совместимый; cpu и gpu задают жёстко. cuda по-прежнему принимается как устаревшее значение
AiTemperature0.7Температура сэмплирования
AiMaxNewTokens512Ограничение длины ответа
AiSystemPromptпустоПодставляется в начало каждого разговора
AiAutoStartfalseЗапускать AI-сервис вместе с агентом
AiDocumentModel, AiVisionModel, AiCodeModel, AiSummaryModelпустоСпециализированные модели; пустой слот откатывается на основную модель
KbEnabledtrueПодмешивать контекст из базы знаний в AI-чат
KbPathsпустоПапки для индексации
KbIncludeBrowserfalseИндексировать историю браузера
KbIncludeEmailfalseИндексировать файлы .eml и .msg
KbPrivacyAcceptedfalseФиксирует, что диалог согласия был показан
KbScheduleEnabledfalseПереиндексировать по расписанию
KbScheduleDaysне заданоДни недели для переиндексации; пустой список означает «никогда»
KbScheduleTime03:00Время суток для запуска по расписанию, 24-часовой формат

KbScheduleIntervalHours всё ещё встречается в старых файлах настроек. Оно читается только для того, чтобы такие файлы продолжали загружаться, и больше ни на что не влияет — его заменили два поля выше.

Порт AI-сервиса больше не настраивается — он фиксирован на 8765. В старых файлах настроек может остаться поле AiPort; оно игнорируется.

Обновления

ПолеПо умолчаниюЧто означает
UpdateCheckEnabledtrueГлавный выключатель проверки обновлений
UpdateChannelstablestable или beta
UpdateSkippedVersionпустоЕдинственная версия, которую вы решили пропустить

Что эти настройки делают на самом деле, описано в статье как поддерживать Filemote в актуальном состоянии.

Почему сопряжение всё-таки лучше

Агент, настроенный с паролем от учётной записи, выводит из этого пароля ключ шифрования ваших файлов. Смените пароль в браузере — и стороны перестанут сходиться: браузер сразу выведет новый ключ, а работающий агент сохранит старый, и всё, что он отправляет обратно, расшифруется в бессмыслицу. Симптом и способ починки — в статье устройство отображается как офлайн.

Сопряжение снимает проблему целиком, потому что несёт ключ в самом коде, вне основного канала. Ручная настройка существует для headless- и скриптовых установок; если у вас есть экран и браузер, свяжите устройство кодом.

Обновлено 2026-07-31

Не помогло — написать в поддержку