Встановлення в macOS

Усе встановлення робить один скрипт: він ставить Homebrew, .NET і Python, копіює агента у вашу домашню теку й реєструє його на запуск під час входу в систему. Працює він від вашого звичайного користувача — без sudo.

Apple Silicon чи Intel?

На кожну родину чипів є свій архів, і не той дасть вам бінарник, який узагалі не запуститься:

  • filemote-<версія>-osx-arm64.tar.gz — Apple Silicon (M1 і новіші)
  • filemote-<версія>-osx-x64.tar.gz — Intel

Якщо не впевнені, відкрийте → Про цей Mac. «Чип: Apple M…» — це Apple Silicon, «Процесор: Intel» — Intel.

Встановлення

tar xzf filemote-<версія>-osx-arm64.tar.gz
cd filemote-<версія>-osx-arm64
xattr -dr com.apple.quarantine .
chmod +x install-macos.sh
./install-macos.sh

Рядок із xattr знімає карантинний прапорець, який macOS чіпляє на завантажені файли. Він важливий, якщо ви розпаковували у Finder, і нешкідливий, якщо ні, — див. чому macOS блокує завантаження.

Не запускайте скрипт через sudo. Він розрахований на встановлення у ваш власний обліковий запис, і підвищення прав потрібне йому лише тоді, коли ви вкажете --prefix туди, куди ваш користувач писати не може.

Що розгортає скрипт

  • Homebrew, з офіційного скрипта, якщо його немає. На Apple Silicon він ще й додає Homebrew до вашого ~/.zprofile.
  • Середовище виконання .NET 8 через Homebrew, з відкотом на скрипт встановлення Microsoft у ~/.dotnet, якщо пакунки Homebrew недоступні.
  • Python 3.12 через Homebrew, якщо немає нічого новішого за 3.10.
  • Самого агента — у ~/Applications/Filemote, зі знятим карантинним прапорцем на встановленій копії.

Оскільки все працює від вашого користувача, агент бачить лише ті файли, до яких має доступ ваш обліковий запис, — і лише поки ви в системі.

Launchd-агент

Якщо ви не передали --no-autostart, скрипт записує ~/Library/LaunchAgents/com.filemote.agent.plist і завантажує його, тож агент стартує під час кожного входу в систему й перезапускається, якщо впав.

launchctl start com.filemote.agent          # запустити зараз
launchctl stop  com.filemote.agent          # зупинити
tail -f ~/Library/Logs/Filemote/filemote-agent.log

З --no-autostart немає ні запису launchd, ні файлу журналу, тому обидві команди незастосовні — ви запускаєте ~/Applications/Filemote/FilemoteAgent самі.

Прапорці скрипта

ПрапорецьЩо робить
--no-aiПропустити AI-сервіс — ні Python, ні залежностей
--no-autostartВстановити файли, але нічого не реєструвати в launchd
--prefix /pathВстановити не в ~/Applications/Filemote, а в інше місце
--model <id>Заздалегідь обрати основну AI-модель
--device cpu|gpu|autoОбчислювальний пристрій для AI
--hf-token <token>Токен Hugging Face, для моделей з обмеженим доступом

--gpu у macOS приймається й ігнорується. Apple Silicon і так отримує прискорення Metal, бо AI-рушій вмикає його сам; на Intel-маках рушій у будь-якому разі працює на процесорі.

AI на Mac

Встановлення залежностей AI компілює рушій llama.cpp, для чого потрібні інструменти командного рядка Xcode; скрипт запускає їх встановлення, якщо їх немає. На Apple Silicon рушій збирається з прискоренням Metal, на Intel — працює на процесорі.

Оновлення зі встановлення до ребрендингу

Якщо старий запис launchd com.rfm.agent ще на місці, скрипт вивантажує та видаляє його — інакше два агенти конкурували б за один обліковий запис — і переносить ваші налаштування та завантажені моделі з ~/Applications/RFM, лишаючи стару теку вам на видалення.

Наступний крок

Агента встановлено, але ще не підключено до вашого облікового запису: як пов'язати пристрій з обліковим записом.

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

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