From 2708a0a786e4a3ffbab994a872cc580f95a7ff83 Mon Sep 17 00:00:00 2001 From: Ochenstarik Date: Wed, 15 Jul 2026 23:42:29 +0700 Subject: [PATCH] Replace Hermes with generic AI agent --- README.md | 10 +++++----- docs/architecture.md | 8 ++++---- docs/roadmap.md | 4 ++-- docs/security-model.md | 4 ++-- src/ServerMonitorManager.Desktop/MainPage.xaml | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index aea76f1..56c9e4d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - SSH-терминал и сохранённые подключения без передачи приватных ключей серверу управления; - группы серверов, теги, избранное и сводные предупреждения; - явное включение и ручное отключение защищённых связей между серверами; -- ограниченный доступ автоматизированных инструментов, например Hermes, к выбранному серверу разработки; +- ограниченный доступ любого AI-агента к выбранному серверу разработки; - маленький Linux-агент без тяжёлой панели, Docker и отдельной базы данных на каждом узле. ## Архитектура @@ -19,10 +19,10 @@ Windows client -- ограниченный SSH --> главный WireGuard Hub ^ | исходящие WireGuard-соединения | - Hermes / Home / другие серверы + AI-агент / Home / другие серверы ``` -Hub объединяет узлы в приватной подсети, но по умолчанию запрещает транзит между ними. Каждая связь `источник → цель` включается и отключается отдельно. Поэтому можно оставить `Hermes → Home`, отключив только `Hermes → Server2`. Обратное направление не появляется автоматически. +Hub объединяет узлы в приватной подсети, но по умолчанию запрещает транзит между ними. Каждая связь `источник → цель` включается и отключается отдельно. Поэтому можно оставить `AI-агент → Home`, отключив только `AI-агент → Server2`. Обратное направление не появляется автоматически. Подробности: [архитектура](docs/architecture.md), [модель безопасности](docs/security-model.md), [план разработки](docs/roadmap.md) и [контракт Linux-установщика](docs/installer-contract.md). @@ -59,7 +59,7 @@ sudo ./ochenstarik-server-monitor-manager.sh hub 3. Откройте выбранный UDP-порт WireGuard (по умолчанию `51820`) и создайте коды узлов: ```bash -sudo ochenstarik-smm node-code hermes +sudo ochenstarik-smm node-code ai-agent sudo ochenstarik-smm node-code home sudo ochenstarik-smm node-code server2 ``` @@ -80,7 +80,7 @@ sudo ochenstarik-smm node-code server2 - отдельный ключ мониторинга и pinned `known_hosts`; код регистрации Node передаётся один раз вручную; - отдельная идентичность для пользователя, устройства, агента и автоматизации; - опасные действия требуют повторного подтверждения и попадают в неизменяемый аудит; -- доступ Hermes выдаётся отдельному Unix-пользователю и SSH-ключу с минимальными правами; +- доступ AI-агенту выдаётся отдельному Unix-пользователю и SSH-ключу с минимальными правами; - отключение Link сразу удаляет разрешённую пару из nftables на Hub, не затрагивая другие связи узла. ## Лицензия и секреты diff --git a/docs/architecture.md b/docs/architecture.md index 41035a2..e97c906 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -61,12 +61,12 @@ Active -> Expired -> Disabled Control node передаёт каждому узлу только его часть конфигурации. Приватный WireGuard-ключ никогда не покидает узел. `Disconnect` удаляет peer и маршруты с обеих сторон; при недоступности одного узла команда остаётся обязательной и применяется при его следующем подключении. -## 3. Сценарий Hermes +## 3. Сценарий AI-агента -1. На домашнем сервере создаётся отдельный пользователь, например `hermes-dev`, без root-доступа. +1. На домашнем сервере создаётся отдельный пользователь, например `ai-agent-dev`, без root-доступа. 2. Рабочие каталоги и разрешённые команды ограничиваются Unix-правами, группами, контейнером или sandbox-профилем. -3. В Server Monitor Manager создаётся Link от сервера с Hermes к домашнему серверу только для адреса домашнего узла и SSH-порта. -4. Hermes использует собственный SSH-ключ или короткоживущий SSH-сертификат. +3. В Server Monitor Manager создаётся Link от сервера с AI-агентом к домашнему серверу только для адреса домашнего узла и SSH-порта. +4. AI-агент использует собственный SSH-ключ или короткоживущий SSH-сертификат. 5. Пользователь нажимает `Connect`; после разработки — `Disconnect`. 6. Отключение Link разрывает сетевую достижимость, а отзыв SSH-сертификата/ключа остаётся вторым независимым барьером. diff --git a/docs/roadmap.md b/docs/roadmap.md index a30900b..16f8757 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -36,13 +36,13 @@ - [ ] типизированные безопасные действия с аудитом; - [ ] экспорт диагностики без секретов. -## Этап 4 — Links и Hermes +## Этап 4 — Links и AI-агенты - [ ] WireGuard peer helper с минимальными привилегиями; - [ ] policies по CIDR, протоколу, порту и TTL; - [ ] connect/disconnect с подтверждением обоих узлов; - [ ] обязательное отключение после reconnect; -- [ ] отдельная automation identity для Hermes; +- [ ] отдельная automation identity для AI-агента; - [ ] интеграционные тесты kill switch и частичных отказов. ## Этап 5 — другие платформы diff --git a/docs/security-model.md b/docs/security-model.md index bc6039a..a5f6ea1 100644 --- a/docs/security-model.md +++ b/docs/security-model.md @@ -6,13 +6,13 @@ - device, agent, SSH и WireGuard identities; - команды, терминальные сессии и аудит; - topology серверов, адреса и метрики; -- права автоматизаций, включая Hermes. +- права автоматизаций, включая AI-агентов. ## Границы доверия Desktop client, control node и каждый agent считаются отдельными субъектами. Компрометация одного агента не должна выдавать ключи других узлов или право создавать новые Links. Control node координирует публичные параметры и политики, но не хранит приватные WireGuard/SSH-ключи узлов. -В первом SSH-MVP control node отсутствует. Windows-клиент генерирует отдельный Ed25519-ключ, а сервер привязывает его к `restrict,command`. Этот ключ предназначен только для чтения ограниченного snapshot метрик и не используется для интерактивного терминала или Hermes. +В первом SSH-MVP control node отсутствует. Windows-клиент генерирует отдельный Ed25519-ключ, а сервер привязывает его к `restrict,command`. Этот ключ предназначен только для чтения ограниченного snapshot метрик и не используется для интерактивного терминала или AI-агента. ## Регистрация агента diff --git a/src/ServerMonitorManager.Desktop/MainPage.xaml b/src/ServerMonitorManager.Desktop/MainPage.xaml index 4ea43ad..dcff39c 100644 --- a/src/ServerMonitorManager.Desktop/MainPage.xaml +++ b/src/ServerMonitorManager.Desktop/MainPage.xaml @@ -278,7 +278,7 @@