digest: hour 2026-10-16 16:00 — Mon на своём сервере, фиксы claude-панелей (батч 4/4)

This commit is contained in:
Simbiot Harness 2026-10-16 16:11:39 +00:00
parent b2391c2b5b
commit 6a8d1c832a

View file

@ -0,0 +1,63 @@
# Дайджест hour 2026-10-16 ~16:00 UTC (тик hour-497824)
## Выжимка часа (15:00→16:05 UTC)
- **Батч из 4 задач закрыт полностью (S/M/L, все complete с доставкой в TG).**
Главная тема часа — инфраструктура Claude-панелей агентов: перенос Mon на свой
сервер, два фикса запуска claude, верификация патча флага.
### t-261016152313 [L] — Mon на своём сервере ✅
- Панель mon.ui.shkor.com больше НЕ живёт на сервере Alex: развёрнута на
собственном сервере агента Mon **hermes-mon (94.130.177.31, Hetzner cx33)**.
- Сделано: OS-юзер mon (sudo), Node 22.23.3 + claude-code 2.1.301 + cloudcli
1.37.3 (npm -g), юнит cloudcli-ui.service (User=mon, порт 3101, IS_SANDBOX=1),
caddy-свитч 127.0.0.1:3201 → 94.130.177.31:3101.
- Проверено: https://mon.ui.shkor.com → 200, логин mon/MonCoopbc8becf2 (учётка
уникальная, single-user, bcrypt) → success+JWT через публичный домен. Креды
отправлены Алексу идемпотентно (ключ mon-panel-creds-261016).
- AUM-эффект: изоляция агента (стандарт «1 агент = 1 сервер»), разгрузка общего
хоста, закрытие вектора доступа наружных агентов к общему /home.
### t-261016153333 [M] — claude not found на upnfame ✅
- Причина оказалась не PATH, а отсутствие пакета: на hermes-upnfame-8733
(49.13.157.28) стоял только cloudcli. `npm i -g @anthropic-ai/claude-code` →
claude 2.1.301 в /usr/bin (в PATH юнита). Проверено от юзера upnfame, сервис
перезапущен (active, HTTP 200).
### t-261016153621 [M] — IS_SANDBOX=1 для claude под root ✅
- Механика подтверждена по коду: pty.spawn наследует env сервиса
(shell-websocket.service.js:510 `...process.env`). В юнит cloudcli-ui.service
(порт 3201) добавлен `Environment=IS_SANDBOX=1` (бэкап .bak-261016-1600),
daemon-reload + restart: в /proc/<PID>/environ переменная есть, панели живы
(simbiot.ui 200, gennady.ui 200). Тот же патч вшит в юнит Mon.
- Остаточное (вне скоупа): под root claude пишет «Not logged in» — нет OAuth-кредов;
на серверах агентов (lunar, mon) креды живут в ~/.claude юзера. Кандидат в задачу:
единый способ аутентификации claude на панелях (9router env или per-user login).
### t-261016155737 [M] — флаг --dangerously-skip-permissions ✅
- Источник флага найден окончательно и закрыт верификацией на живом коде:
buildShellCommand добавляет флаг ТОЛЬКО при `bypassPermissions=true` от фронта
И `process.getuid() !== 0`. Изолированный прогон реальной функции из файла
сервиса: uid=0 + bypass=true → `claude` (без флага); uid=33 + bypass=true → флаг
есть. Прошлый патч работает; под root флаг прилететь больше не может физически.
Алексу рекомендовано Ctrl+Shift+R; если панель всё ещё отказывает — это уже
«Not logged in», не флаг.
## Состояние лестницы
- sec/min/hour/day — работают; открытых эскалаций: 0 (все 108 исторические acked).
- Ошибки уровней: min 43 / hour 10 / day 1 — исторические таймауты воркеров,
новых за час не зафиксировано. Общий хост: load ~14 в пике сек-уровня —
подтверждает пользу выноса панелей (Mon теперь не на нём).
- Доска: 1 новая ready-задача (Показ MCP-токена на деталях агента в кабинете
cil.by) — возьмётся следующим часовым тиком по очереди.
## AUM
- AUM = 531.44 у.е. (метрика balances.json; вниз от 731.44 — считается от
burn-динамики 9router: 24ч=54.0, 7д=254.99). Burn 7д остаётся главным минусом;
ревизия spend по уровням — по-прежнему кандидат в задачи дня.
- Вклад часа в долгосрочную AUM: +1 агент на изолированном сервере (Mon),
работоспособные claude-панели у 3 агентов (simbiot/upnfame/mon), найден
реальный источник флага — меньше повторных поломок в онбординге следующих
агентов стада.