5.1 KiB
5.1 KiB
Дайджест 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//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), найден реальный источник флага — меньше повторных поломок в онбординге следующих агентов стада.