unifly CLI

CLI и TUI для контроллеров UniFi: устройства, клиенты, VLAN, фаервол и VPN из терминала, плюс скилл для кодовых агентов

  • 272 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Широкий доступ

Почему такой уровень

  • Команды создают и меняют сети, правила фаервола, VPN и настройки устройств на реальном контроллере
  • Ключ API или пароль контроллера открывает управление всей сетью, а в конфиге его можно сохранить открытым текстом
  • Скрипт установки запускается через curl и сам ставит скилл в ~`/.agents/skills`
Все причины и проверки

hyperb1iss/unifly

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/unifly

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Команды создают и меняют сети, правила фаервола, VPN и настройки устройств на реальном контроллере
  • Ключ API или пароль контроллера открывает управление всей сетью, а в конфиге его можно сохранить открытым текстом
  • Скрипт установки запускается через curl и сам ставит скилл в ~`/.agents/skills`

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

unifly — программа на Rust для управления контроллерами Ubiquiti UniFi из терминала. Один бинарник дает 29 команд верхнего уровня для скриптов и встроенный TUI-дашборд с графиками трафика, нагрузкой процессора и памяти и числом клиентов. Команды охватывают устройства, клиентов, сети и VLAN, WiFi, правила фаервола, ACL, NAT, DNS, VPN, порты коммутаторов и настройки сайта. Вывод можно получить таблицей, JSON, YAML или обычным текстом. Для агентов в комплекте скилл-проводник. Команда `unifly skill` печатает руководство той версии бинарника, которая у вас стоит: рабочие процессы осмотра и изменений, границы авторизации, примеры данных и вызов справочника по командам. Руководство работает офлайн и не требует доступа к контроллеру. Ставится скилл командой `unifly skill --install`, ключ `--claude` направляет его в каталог скиллов Claude Code. Для Claude Code есть и плагин: агент unifly-network-manager и две команды. `unifly-status` показывает состояние сети, `unifly-audit` проверяет только на чтение безопасность WiFi, область и порядок правил фаервола, доступные прошивки и изоляцию сетей. Подключиться к контроллеру можно по ключу API, по логину и паролю, в гибридном режиме или через облачный Site Manager.

Для кого. Для администраторов домашних и офисных сетей на UniFi и разработчиков, которые хотят автоматизировать контроллер скриптами или поручить рутину агенту.

Подходит, если

  • Нужен быстрый обзор сети: список устройств, подключенных клиентов, VLAN и подсетей одной командой
  • Надо проверить правила фаервола и изоляцию гостевой сети, и агент должен только читать данные
  • Из скрипта нужно создать сеть и получить идентификатор в JSON для следующего шага, например `unifly networks create --name lab --management switch --vlan 42 -o json`
  • Нужно разобраться с радиоэфиром: соседние точки, каналы, оценка WiFi у конкретного клиента, роуминг
  • Есть несколько контроллеров или облачных консолей, и между ними удобно переключаться профилями

Не подходит, если

  • Нужны камеры и записи UniFi Protect: скилл прямо исключает их
  • Вас устраивает веб-интерфейс контроллера и скрипты не нужны
  • К контроллеру нельзя дать ни ключ API, ни логин с паролем: без доступа команды не работают
  • Агенту нельзя доверять правку сети без вашего подтверждения: бинарник умеет создавать сети и менять правила

Пример запроса к агенту

Загрузи руководство unifly и покажи, какие устройства сейчас offline, потом проверь правила фаервола только на чтение

Ограничения

Нужен доступ к контроллеру UniFi: ключ API из раздела Settings, Integrations, логин с паролем или ключ Site Manager. Живая лента событий `unifly events watch` работает только при входе по логину и паролю или в гибридном режиме. По умолчанию ключи и пароли лежат в связке ключей ОС, но их можно сохранить и открытым текстом в конфиге. Руководство `unifly skill` есть только в новых релизах бинарника, старую версию придется обновить. Устройства UniFi Protect проект не покрывает. Если ключ видит несколько облачных консолей, для команд контроллера нужен сохраненный `host_id`.

Как отключить. Удалите бинарник тем способом, которым ставили (brew, cargo или yay), и папку скилла в ~`/.agents/skills`. Ключи в связке ключей ОС и профили в конфиге unifly удалите отдельно, если они больше не нужны.

Частые вопросы

Как поставить unifly для Claude Code?

Поставьте бинарник через brew, cargo или установочный скрипт, затем выполните `unifly skill --install --claude`. Скилл без бинарника ставит `npx skills add hyperb1iss/unifly`, но руководство агент все равно берет у бинарника.

Чем вход по ключу API отличается от входа по логину и паролю?

Ключ API с контроллера UniFi OS покрывает почти все команды: создание и правку объектов, статистику, DHCP-резервы, наблюдение за WiFi. Живая лента событий требует сессионный вход, поэтому для нее нужен логин с паролем или гибридный режим.

Что делает команда unifly-audit?

Это только чтение: она смотрит настройки безопасности WiFi, область и порядок правил фаервола, доступные прошивки и изоляцию сетей. В отчете указаны доказательства, влияние и предложенное исправление, а гостевой доступ отличается от случайной открытости.

Работает ли unifly с облачным Site Manager?

Да. Мастер `unifly config cloud-setup` проверяет ключ Site Manager, предлагает выбрать консоль и сайт и записывает готовый облачный профиль. Переключиться на другой сайт можно командой `unifly cloud switch`.

Где руководство для агента, если бинарник старый?

Команды `unifly skill` в старых релизах нет. В таком случае скилл просит обновить бинарник, а пока используется справка `unifly --help` без допущения, что онлайн-руководство совпадает с поведением версии.

Обсуждение

Вопросов и отзывов пока нет.

Набор MCP-серверов для UniFi: агент работает с контроллерами Network, Protect и Access компании Ubiquiti

MCP-серверШирокий доступ959Звезды репозитория

Скилл KubeShark: агент сначала ищет режим отказа, потом пишет манифесты, Helm и Kustomize по официальным практикам и возвращает план проверки и отката

СкиллМинимальный доступ468Звезды репозитория

MCP-сервер для роутеров MikroTik: агент читает и меняет конфигурацию RouterOS по SSH по запросу из чата

MCP-серверШирокий доступ309Звезды репозитория

CLI для массового проброса портов сервисов Kubernetes на локальную машину, с MCP-интеграцией для AI-ассистентов

CLIРасширенный доступ4,2 тыс.Звезды репозитория

Скилл, который разворачивает панель 3X-UI и Xray VLESS за nginx на Ubuntu-сервере и затем обслуживает его через готовые скрипты

СкиллШирокий доступ31Звезды репозитория

31 скилл для DevOps в Claude Code и Codex: генераторы конфигов, валидаторы и отладчик Kubernetes для Terraform, Helm, CI и Docker

СкиллРасширенный доступ329Звезды репозитория

Коротко о README

README начинается с описания CLI и TUI для людей и агентов, затем идут установка, мастер настройки, режимы авторизации, список команд и экраны TUI. Отдельно описаны архитектура из нескольких крейтов Rust, крейт unifly-api для использования как библиотеки и раздел про скилл для агентов.

Бейдж для README

Исходный SKILL.md

---
name: unifly
description: >-
  Inspect and manage UniFi Network infrastructure with the unifly CLI: devices,
  clients, VLANs, WiFi, firewall, VPN, switch ports, site settings, and cloud
  fleets. Use for UniFi network configuration, monitoring, and troubleshooting,
  not UniFi Protect camera or recording management.
---

# unifly

Before using unifly, load the guide shipped with the installed binary:

```bash
unifly skill
```

The guide provides authentication boundaries, inspection and change workflows,
and commands for loading further topics and payload examples. Command discovery
is generated from the installed CLI. Skill output works offline without requiring
controller configuration or credentials.

If the executable is missing, install unifly using the project's installation
instructions: <https://github.com/hyperb1iss/unifly#-install>. If `skill` is an
unknown command, the installed binary predates runtime guidance; update it to a
release that supports `unifly skill`. Until then, use that binary's `--help` for
syntax and avoid assuming the latest online guide matches its behavior.

Сообщить о проблеме

Foxx AIunifly
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.