HomeButler CLI
CLI на Go сравнивает сервер с прошлым снимком, сообщает только значимые перемены и отдает их агенту через MCP
- 312 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Инструменты классов write и destructive управляют контейнерами, бэкапами и питанием гостей Proxmox
- Доступ к серверам идет по SSH-ключам, а логи и конфигурации контейнеров могут содержать учетные данные
- Команды установки разворачивают на сервере сторонние приложения
Установка
- Работает в
Ручная установка
curl -fsSL https://raw.githubusercontent.com/Higangssh/homebutler/main/install.sh | shОпределяет систему и архитектуру. Альтернатива: brew install Higangssh/homebutler/homebutler. Затем homebutler init, чтобы добавить серверы.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Инструменты классов write и destructive управляют контейнерами, бэкапами и питанием гостей Proxmox
- Доступ к серверам идет по SSH-ключам, а логи и конфигурации контейнеров могут содержать учетные данные
- Команды установки разворачивают на сервере сторонние приложения
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
HomeButler запоминает, как выглядел ваш сервер в прошлый раз, и по команде `homebutler report` говорит, что изменилось и важно ли это. Первый запуск создает точку отсчета в ~/.homebutler/reports/snapshots/, следующие сравнивают с последним снимком, а старые снимки удаляются сами (по умолчанию остается 30). Изменения делятся на восемь видов, самый полезный из них replaced: контейнер пересоздали под тем же именем, и счетчики остались прежними, но HomeButler замечает подмену. Если сравнить нечего, например Docker был выключен, он так и пишет и не объявляет, что все спокойно. Рядом идут повседневные инструменты домашнего сервера. Команда `homebutler status` показывает процессор, память и диск, `homebutler inventory scan` собирает контейнеры, порты и топологию. `homebutler doctor` ищет полный диск, открытые на все интерфейсы порты и забытые бэкапы. `homebutler watch` сохраняет логи до и после падения Docker, systemd или PM2 и определяет причину сбоя, а `homebutler backup drill` поднимает архив в изолированном контейнере и проверяет, что он запускается. Одной командой ставятся популярные приложения вроде Uptime Kuma, Jellyfin и Pi-hole. Фоновых служб и базы данных нет: на наблюдаемых машинах ничего не запущено. Несколькими серверами можно управлять по SSH. Вывод есть и в читаемом виде, и в JSON. Встроенный MCP-сервер дает агенту узкий структурированный доступ вместо оболочки с полным SSH.
Для кого. Владельцам домашних серверов и небольших стендов на Docker, Proxmox и Raspberry Pi, которым нужна сводка перемен вместо графиков.
Подходит, если
- Нужна утренняя сводка по серверу: что пропало, что появилось и какой порт теперь отвечает другой службой
- Хочется проверить, что бэкап действительно восстанавливается, и добавить `homebutler backup drill` в тот же cron, что и сам бэкап
- Контейнер падает по ночам, и нужно сохранить логи до и после рестарта с разбором причины, будь то OOM или паника
- Агенту нужен доступ к состоянию нескольких серверов только на чтение
- Требуется быстро развернуть самохостинг-приложение вроде Uptime Kuma или Pi-hole без ручного compose-файла
Не подходит, если
- Нужны графики загрузки в реальном времени: для них лучше Beszel или Netdata, а HomeButler отвечает на вопрос, что изменилось
- Нужна постоянная проверка доступности с уведомлениями: этим занимается Uptime Kuma, и HomeButler может ее лишь установить
- Нужен просмотр логов в браузере по всем контейнерам: для этого проект советует Dozzle
- Парком из сотен серверов управляет Kubernetes: инструмент рассчитан на домашние и малые стенды
Пример запроса к агенту
Запусти `homebutler report` и расскажи, что изменилось на сервере с прошлого снимка и что стоит проверить в первую очередьОграничения
Сравнение работает от снимка к снимку, поэтому первый запуск отчета создает только точку отсчета. Если при снятии любого из снимков Docker был выключен, HomeButler пропускает сравнение контейнеров и помечает его как skipped.
Режим read в MCP останавливает изменения, но не чтение: инструменты docker_logs и docker_inspect могут показать учетные данные, которые кто-то напечатал в логах. Инструмент network_scan пингует все адреса локальной подсети, чтобы заполнить таблицу ARP. Отчет в режиме read всегда идет с параметром no_save.
Как отключить. Уберите запись homebutler из конфигурации MCP и перезапустите клиент. Для фонового наблюдения выполните `homebutler watch uninstall`. Бинарник удаляется через `brew uninstall homebutler` либо удалением файла, а снимки лежат в ~/.homebutler/.
Частые вопросы
Как подключить HomeButler к Claude Code?
Добавьте в .mcp.json сервер homebutler с командой npx и аргументами -y и homebutler@latest. Если бинарник уже стоит, укажите команду homebutler с аргументом mcp. Затем перезапустите клиент.
Как запретить агенту менять что-либо на сервере?
Запустите MCP с флагом `--max-risk read`. У каждого инструмента есть класс: read, write или destructive. Инструменты выше порога исчезают из списка, а прямой вызов сервер отклоняет. По умолчанию доступно все.
Что значит replaced в отчете?
Имя то же, а то, что под ним, другое. Типичный случай — `docker compose up -d`, который пересоздает контейнер: число контейнеров остается прежним, и отчет по счетчикам сказал бы, что значимых изменений нет.
Можно ли попробовать HomeButler без реальных серверов?
Да. Команда `homebutler mcp --demo` запускает MCP-сервер в демонстрационном режиме, и подключение агента можно проверить без доступа к машинам.
Нужно ли ставить что-то на наблюдаемые серверы?
Нет. На них не запускается ни агент, ни демон, ни база данных. Бинарник работает на управляющей машине и ходит к серверам по SSH, а веб-панель поднимается командой `homebutler serve` по запросу.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыDocker MCP
Docker MCP server
MCP-сервер для управления Docker на естественном языке: контейнеры, образы, сети и тома, в том числе на удаленном хосте по SSH
Веб-дашборд в одном Docker-контейнере для мониторинга и управления флотом MCP-серверов 1С: статус, прогресс индексации, VRAM и лицензии
Менеджер MCP-серверов на Node.js: запускает локальные и подключает удаленные серверы и отдает их клиенту одним адресом с REST API для управления
MCP-сервер для Proxmox VE: управление виртуалками, LXC, снапшотами и бэкапами из агента с контролем прав и одобрением команд
MCP-сервер для диагностики Linux: ИИ-клиент читает службы, журналы и сеть локальных и удаленных систем без права записи
BetterDB MCP
BetterDB Monitor
MCP-сервер BetterDB: агент читает метрики, медленные команды, горячие ключи и аномалии Valkey и Redis и разбирает инциденты по сохраненной истории
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| HomeButler (эта запись) | нет | 312 | ||
| AgentDock | нет | API-ключ | 1 285 | защищенная среда MCP для работы агента на локальных машинах, серверах и в контейнерах |
| Docker MCP | нет | не нужна | 749 | управляет контейнерами, образами и томами Docker естественным языком, без снимков и сводки изменений |
| SSH MCP Server (classfang) — команды на сервере по SSH | нет | не нужна | 988 | выполняет команды и работает с файлами по SSH, узкого набора инструментов обслуживания в нем нет |
Коротко о README
Главная мысль проекта: владельцу важны только значимые перемены. Таблица объясняет каждый вид изменений в отчете, а остальные разделы описывают бэкапы с проверкой, установку приложений и работу с Proxmox.