nessie

Настройка удалённого исполнителя

Установите, подключите и управляйте компьютером, который работает с агентами Nessie.

Исполнитель подключает к Nessie компьютер, которым вы управляете. Установите его под учётной записью ОС, чьи файлы и программы он должен использовать. Node.js и копия исходного кода не нужны.

macOS

Для CLI нужна macOS 15 или новее на Apple Silicon:

brew install unlikeotherai/tap/nessie-executor

Для полного настольного приложения Nessie или отдельного исполнителя с окном локальных разрешений:

brew install --cask unlikeotherai/tap/nessie
brew install --cask unlikeotherai/tap/nessie-executor-app

Выберите интерфейс, который хотите использовать. Для каждого подключения запускайте один супервизор. В приложении исполнителя Настройки → Открывать Nessie Executor при входе в систему управляет автозапуском.

Debian и Ubuntu

Используйте подписанный репозиторий APT на x86_64 Debian 12+ или Ubuntu 22.04+:

sudo apt-get update
sudo apt-get install -y curl ca-certificates
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://packages.nessie.works/nessie-executor.asc | sudo tee /etc/apt/keyrings/nessie-executor.asc >/dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/nessie-executor.asc] https://packages.nessie.works/apt stable main" | sudo tee /etc/apt/sources.list.d/nessie-executor.list >/dev/null
sudo apt-get update
sudo apt-get install nessie-executor

Fedora, Rocky Linux и AlmaLinux

Используйте подписанный репозиторий RPM на x86_64 Fedora или Rocky Linux / AlmaLinux 9+:

sudo curl -fsSL https://packages.nessie.works/nessie-executor.repo -o /etc/yum.repos.d/nessie-executor.repo
sudo dnf install nessie-executor

Фоновым службам Linux нужен systemd. Пакеты включают среду выполнения; APT или DNF устанавливает Git и tmux как зависимости.

Исполнитель для Windows

Установите подписанный отдельный исполнитель через WinGet:

winget install --exact --id UnlikeOtherAI.NessieExecutor

Откройте Nessie Executor из меню «Пуск» или из области уведомлений. Новые подключения к командам работают от имени вашей учётной записи Windows. Установщик также устанавливает независимый супервизор службы под учётной записью службы. Интерактивные терминальные программы запускаются только в подключении пользовательской сессии, где доступны их учётные данные для входа.

Подключение команды

Запускайте CLI под обычной учётной записью, без sudo:

nessie-executor login --api nessie --workspace "/path/to/work"

Для собственного сервера Nessie замените nessie на его HTTPS-адрес API. Кнопка Добавить команду в настольном исполнителе запускает тот же процесс.

  1. Скопируйте восьмизначный код, показанный на компьютере.
  2. В Nessie откройте Администрирование › Компьютеры › Добавить компьютер. Вставьте код, выберите организацию, команду и область доступа, затем проверьте отпечаток.
  3. Подтвердите заявленные организацию и команду на компьютере.
  4. Проверьте, что исполнитель в сети, посмотрите его возможности в Nessie и предоставьте нужным агентам доступ к нему.

Коды истекают через десять минут и работают однократно. Повторите login или Добавить команду, чтобы подключить другую команду. У каждого подключения свой машинный ключ, свои папки, правила команд и служба автозапуска.

nessie-executor teams
nessie-executor permissions --executor <executor-id>
nessie-executor permissions --executor <executor-id> --allow-all --deny "git push *"
nessie-executor permissions --executor <executor-id> --allow "git *,pnpm *"

Все команды разрешены по умолчанию при условии структурных проверок безопасности; локальный список запрещённых команд имеет приоритет над списком разрешённых. Права на папки и команды хранятся только на этом компьютере и не меняются через Nessie. Nessie определяет, какие люди и агенты внутри команды могут использовать подключение. Перед изменением прав остановите локальный демон, затем запустите его снова.

Агенты также могут запускать Codex, Gemini, Claude, оболочку или любую другую установленную программу в интерактивном терминале на этом компьютере, насколько это позволяют правила команд; больше ничего не настроено. Такие программы должны быть уже установлены и выполнен вход под той же учётной записью, а на macOS и Linux нужен tmux. Терминальная программа имеет доступ учётной записи ОС, а её папка не является песочницей. Выполнение в песочнице, command.run, отдельно требует гостевой среды выполнения.

Автозапуск, статус и обновления

Интерактивный login включает автозапуск после подтверждения подключения. На macOS агент launchd запускает подключение этой команды при входе в систему. В Linux пользовательская служба systemd и режим lingering сохраняют подключение после выхода из системы и перезагрузки.

nessie-executor status
nessie-executor enable <executor-id>
nessie-executor disable <executor-id>

disable останавливает службу, не удаляя подключение и разрешения. Для сессии на переднем плане сначала отключите его службу, затем используйте nessie-executor daemon --executor <executor-id>. Подключения, созданные с явным --state-dir, управляются в режиме переднего плана.

Журналы CLI на Mac находятся в ~/Library/Logs/NessieExecutor/<executor-id>.log. Журналы Linux доступны по команде journalctl --user -u nessie-executor@<executor-id>.

Обновляйте через менеджер пакетов:

brew upgrade nessie-executor
sudo apt-get update && sudo apt-get install --only-upgrade nessie-executor
sudo dnf upgrade nessie-executor

В Windows используйте winget upgrade --exact --id UnlikeOtherAI.NessieExecutor. После обновления перезапустите каждую службу CLI командами disable, а затем enable. Ключи подключений CLI и локальные разрешения хранятся в ~/.local/state/nessie-executor/. Настольные приложения хранят своё состояние в каталоге данных приложений учётной записи. Оба места находятся вне установленного пакета, поэтому обновления их сохраняют.

Чтобы удалить программу, отключите каждую службу CLI или выключите вход в систему в настройках приложения и закройте его, затем удалите через тот же менеджер пакетов. Удаление сохраняет состояние подключения. Чтобы отозвать доступ, отключите или удалите исполнителя в Nessie: удаление локальных файлов само по себе не отзывает запись на сервере.

Подробности о локальной конфигурации см. в разделе «Локальные элементы управления».