🐜 AntHill OS — Полный Аудит

11 февраля 2026 • 03:22 MSK
Реальное состояние системы + детальный план фиксации и запуска
🖥 Инфраструктура
CPU Load Average
2.77
На 2-ядерном сервере. Перегрузка — норма < 2.0
Память (RAM)
42%
3.3 GB из 7.8 GB • Запас есть
Диск
51%
80 GB из 157 GB • /var/log съедает 5.5 GB!
PostgreSQL
523 MB
7 схем, 233 таблицы • 2 соединения

Топ потребителей RAM

ПроцессRAMКомментарий
Python (event_manager + боты)949 MBОсновной процесс
Chromium (WhatsApp Web)748 MB3 процесса Chrome
Claude Agent × 2 (JARVIS + SIGMA Brain)630 MBPersistent sessions
PostgreSQL314 MBНорма
Grafana129 MBМониторинг
journald116 MBРаздут логами crash-loop
Qdrant101 MBВекторное хранилище

Проблема с логами

РасположениеРазмерПроблема
/var/log/journal/4.1 GBjournald не ротируется, crash-loop спамит
/var/log/syslog + ротации993 MB5 файлов, старые не чистятся
/root/boss_gpt/2.1 GBРабочая директория с кодом + данными
⚙️ Сервисы (22 systemd юнита)
СервисСтатусОписаниеRAM
boss-agentActiveBOSS v10 Full Agent — основной мозг
boss-telegramActiveTelegram Bot v11 с ApprovalGate
boss-schedulerActiveАвтономный запуск модулей по расписанию
event_managerActiveEvent-driven ядро (2,973 вызовов/мес)~949 MB
jarvis-botActiveJARVIS Telegram Bot + Claude session~289 MB
graph-apiActiveREST API для дашборда
graph-botActiveGraphAnt Bot (SIGMA Brain) + Claude session~341 MB
sigma-graphActiveSIGMA Graph Server
supply-botActiveSupply Bot — заявки на материалы
donatello-unifiedActiveDONATELLO Unified Daemon
donatello-healerActiveSelf-Healer Trigger
module_watcherActiveАвто-сканер Python модулей
nginxActiveReverse proxy
postgresqlActivePostgreSQL 16~314 MB
grafana-serverActiveМониторинг + дашборды~129 MB
qdrantActiveВекторное хранилище (RAG)~101 MB
donatello-webCRASH-LOOPDashboard Web Server — 4,185 рестартов!SSH
sandbox-apiCRASH-LOOPSandbox Arena API — 4,637 рестартов!SSH
donatello-loopRESTARTAutonomous Loop — 388 рестартовSSH

⚠️ 3 сервиса в crash-loop = ~1.0 load + спам в journal

donatello-web и sandbox-api рестартятся каждые 5-10 секунд, генерируя ~4 GB мусора в journald. Остановка этих двух сервисов сразу снизит load avg с 2.77 до ~1.5-2.0 и освободит ~4 GB на диске.

Решение: systemctl stop donatello-web sandbox-api donatello-loop && systemctl disable donatello-web sandbox-api && journalctl --vacuum-size=500M

🗄 База данных — 523 MB, 7 схем, 233 таблицы
brain
345 MB
93 таблицы • 66% от всей БД
ops
139 MB
76 таблиц • Операционные данные
system
16 MB
31 таблица • Системные логи
Остальные
4.5 MB
estimates (18) + projects (2) + security (5) + auth (8)

Топ-10 таблиц по размеру (80% БД)

#ТаблицаРазмерСтрокСтатусДействие
1brain.claude_messages215 MB18,05641% БД!Архивировать старше 90 дней
2ops.messages90 MB198,125РабочаяНорма — Telegram/WA
3brain.link_evidence57 MB132,422РаздутаRetention: удалить verified > 30 дней
4brain.enrichment_queue27 MB182,241100% doneОчистить done > 7 дней
5ops.emails14 MB3,261РабочаяНорма
6ops.whatsapp_messages8.7 MBРабочаяНорма
7brain.bot_session_logs8.5 MBЛогиRetention: > 30 дней
8ops.files7.4 MBРабочаяНорма
9brain.claude_chats5.7 MBRAGДля Contextual RAG
10system.unified_events5.6 MBРабочаяНорма

💾 Потенциал очистки: ~250 MB (48% БД)

claude_messages (215 MB) + enrichment_queue done (27 MB) + link_evidence старые (часть 57 MB) = ~250+ MB можно безопасно архивировать или удалить. БД уменьшится с 523 MB до ~270 MB.

🧩 Модули — 83 зарегистрированных
Active
38
Зарегистрированы как active
Standalone
23
Независимые скрипты
Library
14
Вспомогательные библиотеки
С вызовами (30 дней)
10
Только 12% модулей реально работают!

Активные модули (с вызовами за 30 дней)

МодульВызовов/месError RateРоль
event_manager2,9730%Ядро системы событий
gmail_ant2570%Обработка почты
boss_resolver2370%Резолвер запросов BOSS
review_ant1190%Ревью и проверки
module_auditor780%Аудит модулей
sync_ant500%Синхронизация данных
vector_ant480%Векторизация для RAG
judge_ant120%Контроль деплоев
orphan_ant20%Поиск orphan данных
link_writer20%Создание связей в графе

📊 73 модуля с 0 вызовов за месяц

Из них: 2 archived, 5 script, 14 library (нормально — импортируются), 23 standalone (нуждаются в ревью).
Модули со статусом active но 0 вызовов: boss_v10_api, boss_v11_main, core_engine, data_analysis_main, debts_main, free_chat_main, get_deadlines, get_orphan_stats, get_orphan_transactions и ещё ~15 — вероятно вызываются через event_manager или boss_resolver без отдельного учёта. Нужен аудит: какие реально используются внутри, а какие мёртвый код.

📊 Качество данных
Транзакции
1,333
100% категоризированы, 100% с проектом
Привязка к организациям
25%
339 из 1,333 имеют organization_id
Организации
717
Нужна проверка на дубли и is_own
Проекты
48
45 active, но часть — виртуальные категории

Проблемы данных

ПроблемаМасштабВлияниеРешение
986 транзакций без organization_id 74% Нет аналитики по контрагентам Автомэтчинг по counterparty_name → organizations
45 "active" проектов, часть — категории ~15 фейк [ФОТ], [НАЛОГИ], Банк — не проекты Создать тип "category" или перевести в completed
627 escalated pending_questions 627 Никто не разбирает, забивают граф Массовое ревью + авто-закрытие > 30 дней
182K записей в enrichment_queue (done) 27 MB Мёртвый балласт DELETE WHERE status='done' AND created_at < now()-30d
Supply items: 124 из 258 не привязаны 48% Нет единой номенклатуры AI-мэтчинг supply_items → items
Google Drive — нет токена 0% Нет доступа к файлам на Drive Реавторизация с Drive scope

Актуальные метрики системы

Транзакции1,333
Организации717
Проекты48
Связи (links)1,514
Факты (facts)7,984
Сообщения (TG/WA)198,125
Emails3,261
Модули83
Supply items258
Items каталог24 → 134
🔥 Проблемы — по критичности
🔴 КРИТИЧЕСКИЕ (влияют на производительность)
3 сервиса в crash-loop — 9,210 рестартов суммарно
donatello-web (4,185), sandbox-api (4,637), donatello-loop (388). Жрут CPU, спамят journal на 4 GB. Load avg 2.77 на 2-core сервере.
SSH 1 мин
journald раздут до 4.1 GB
Нет лимита на размер journal. Crash-loop сервисы генерируют сотни тысяч записей. Нужно: vacuum + настроить SystemMaxUse=500M.
SSH 2 мин
Google Drive — потерян scope / нет токена
token.json содержит только gmail.readonly и gmail.send. Drive scope отсутствует. Нужна реавторизация через OAuth flow.
Браузер
🟡 ВАЖНЫЕ (качество данных)
74% транзакций без organization_id
986 транзакций имеют counterparty_name но не привязаны к organizations. Блокирует аналитику по контрагентам.
AI + SQL
627 escalated pending_questions без разбора
Все в статусе escalated, 0 pending. Никто не разбирает — мусорят граф знаний.
SQL + AI
brain.claude_messages — 215 MB мёртвого балласта
18,056 записей, 0 за последние 24 часа. Историческая таблица, занимает 41% БД.
SQL
Проекты-фантомы в статусе active
[ФОТ], [НАЛОГИ], [ВНУТР.ПЕРЕВОДЫ], Банк, БЮДЖЕТ, test_kp_odc, M15 тест — не настоящие проекты.
SQL
🔵 УЛУЧШЕНИЯ (продукт)
73 модуля с 0 вызовов — нужен аудит
Определить: мёртвый код, вызывается через parent, или нужен рефакторинг. Отправить deprecated в архив.
Код ревью
enrichment_queue: 182K done записей (27 MB)
Все 182,241 записей в статусе done. Чистый балласт, безопасно удалить старше 7 дней.
SQL 1 мин
Supply items: 48% не привязаны к номенклатуре
124 из 258 supply_items без item_id. Items каталог содержит только 24 позиции.
AI мэтчинг
📋 План действий — 5 фаз
Фаза 1 — Тушим пожары ⏱ 30 мин • SSH + SQL
1.1 Остановить crash-loop сервисы
systemctl stop donatello-web sandbox-api donatello-loop
systemctl disable donatello-web sandbox-api
Эффект: load avg ↓ на ~1.0, лог-спам прекращается
SSH 1 мин
1.2 Очистить journald
journalctl --vacuum-size=500M
echo "SystemMaxUse=500M" >> /etc/systemd/journald.conf
systemctl restart systemd-journald
Эффект: освободится ~3.5 GB на диске
SSH 2 мин
1.3 Ротация syslog
truncate -s 0 /var/log/syslog.1
rm -f /var/log/syslog.2.gz /var/log/syslog.3.gz /var/log/syslog.4.gz
Эффект: ещё ~500 MB
SSH 1 мин
1.4 Google Drive — реавторизация
Запустить OAuth flow с добавлением scope drive.readonly. Нужен браузер на десктопе.
Без этого: нет доступа к сметам и документам на Drive.
Браузер 5 мин
Фаза 2 — Очистка БД ⏱ 1-2 часа • SQL
2.1 Архивировать brain.claude_messages
215 MB — 41% от всей БД. Создать brain.claude_messages_archive, перенести записи старше 90 дней. Или если таблица мертва (0 записей за 24ч) — можно TRUNCATE с бэкапом.
SQL
2.2 Очистить enrichment_queue
182,241 записей в done. DELETE FROM brain.enrichment_queue WHERE status='done'. Освободит 27 MB.
SQL 1 мин
2.3 Retention для link_evidence
132,422 записей, 57 MB. Удалить verified evidence старше 30 дней, оставить pending и recent.
SQL
2.4 Массовое закрытие pending_questions
627 escalated. AI-ревью: закрыть неактуальные (> 30 дней), переквалифицировать оставшиеся.
AI + SQL
2.5 Нормализация проектов
Создать тип project_type: 'строительный', 'внутренний', 'финансовый', 'тестовый'.
Перевести [ФОТ], [НАЛОГИ], Банк и т.д. в тип 'финансовый', test-проекты в 'тестовый'.
SQL
Фаза 3 — Связывание данных ⏱ 2-4 часа • AI + SQL
3.1 Автомэтчинг транзакций → организации
986 транзакций с counterparty_name но без organization_id. Алгоритм: fuzzy match counterparty_name к organizations.name + organizations.inn. Ожидаемый результат: привязка 60-80% (600-800 транзакций).
AI мэтчинг
3.2 Нормализация номенклатуры
124 supply_items без item_id. Нужен AI-мэтчинг: сравнить supply_items.name с items.name, предложить привязки, расширить items каталог.
AI + SQL
3.3 Дедупликация организаций
717 организаций — проверить на дубли (разные написания: ООО/ОАО, с/без кавычек, опечатки). Автообъединение по ИНН.
AI + SQL
Фаза 4 — Документирование ⏱ 2-3 дня
4.1 Реестр сервисов
Создать docs/SERVICES.md — все 22 юнита: назначение, зависимости, порты, конфиг, статус. Или в БД: system.service_registry.
Док
4.2 Аудит модулей
73 модуля без вызовов — по каждому решение: archive / keep (library) / refactor. Результат в brain.modules.notes.
Код ревью
4.3 Актуализировать CLAUDE.md
Документация врёт о структуре БД: finance.transactions, crm.contacts, brain.evidence — не существуют. Привести в соответствие с реальными 7 схемами.
Док
4.4 API документация
graph_api, estimates_api, boss_v10_api — задокументировать эндпоинты, форматы, примеры. Swagger/OpenAPI.
Док
Фаза 5 — Продукт ⏱ 1-2 недели
5.1 Health-check эндпоинт
Один URL: /api/health — статус всех сервисов, последняя активность, ошибки, метрики. Для мониторинга и демо.
Код 2ч
5.2 ContentAnt — авто-контент из данных
Бот, который собирает метрики за день/неделю и генерирует драфт поста для TG-канала. Из контент-плана.
Код 1д
5.3 Telegram-канал AntHill
Создать канал, 5 первых постов из реальных скриншотов и метрик системы.
Ручной
5.4 Демо-режим
Отделить демо от прода: замазанные данные, готовые сценарии для показа клиентам.
Код 2-3д
5.5 Enterprise-пакет
Аудит-чеклист (8 этапов), скрипт деплоя, multi-tenant конфиг, SLA мониторинг.
Код 1нед
🎯 Матрица приоритетов
#ЗадачаВремяЭффектКтоБлокирует
1 Остановить crash-loop (3 сервиса) 1 мин Load ↓ 1.0, логи ↓ 4 GB SSH Всё остальное
2 Очистить journald + syslog 3 мин +4 GB диска SSH
3 Google Drive реавторизация 5 мин Доступ к файлам Браузер Сметы, документы
4 Очистить enrichment_queue (182K done) 1 мин -27 MB в БД SQL
5 Архивировать claude_messages 10 мин -215 MB (41% БД) SQL
6 Закрыть pending_questions (627) 30 мин Чистый граф знаний AI+SQL
7 Нормализовать проекты (типы) 15 мин Честная аналитика SQL
8 Привязать транзакции к организациям 2 часа 74% → 90%+ покрытие AI Финансовая аналитика
9 Retention для link_evidence 5 мин -30+ MB SQL
10 Аудит 73 неактивных модулей 2-4 часа Чистая архитектура Код ревью Документация

🚀 Быстрые победы (SSH, 10 минут на всё):

Пункты 1-2 из SSH за 4 минуты дают: load avg ↓ с 2.77 до ~1.7, +4 GB диска, чистые логи.

# 1. Остановить crash-loop
systemctl stop donatello-web sandbox-api donatello-loop
systemctl disable donatello-web sandbox-api

# 2. Очистить логи
journalctl --vacuum-size=500M
echo "SystemMaxUse=500M" >> /etc/systemd/journald.conf
systemctl restart systemd-journald
truncate -s 0 /var/log/syslog.1
rm -f /var/log/syslog.{2,3,4}.gz

Пункты 4-5 я могу сделать сам (SQL) — ещё -242 MB в БД.
Пункт 3 (Google Drive) — нужен браузер + OAuth flow, 5 минут.

📊 Ожидаемый результат после Фаз 1-2

До:

Load avg2.77
Диск51% (80 GB)
БД523 MB
Crash-loop3 сервиса
Мусор в логах5.1 GB

После:

Load avg~1.5
Диск~47% (-4.5 GB)
БД~280 MB (-46%)
Crash-loop0
Мусор в логах< 500 MB
AntHill OS Audit Report • Generated 2026-02-11 03:22 MSK
Data source: live system at 77.221.132.132