2026 ЭксплуатацияOpenClawsessions_spawnallowAgentsDoctor

2026 OpenClaw: sessions_spawn, allowAgents для субагентов, function calling, многослойный doctor, обратный прокси и ужесточение

После релиза или смены конфигурации sessions_spawn может исчезнуть из списка инструментов, а в логах появляется allowAgents как allowed: none—реже виноват «сломанный OpenClaw», чаще пересекаются иерархия JSON, возможности модели и сетевые/безопасностные слои. Руководство ведёт по цепочке statusmodels statusdoctor → логи с корреляцией и ссылается на способы установки, шлюз и doctor по каналам, обратный прокси Nginx/Caddy, прод-ужесточение webhook/SSRF и PDF, Telegram, Teams на удалённом Mac для единой картины эксплуатации.

OpenClawsessions_spawnallowAgentsСубагентыFunction callingDoctorReverse proxy
Шлюз OpenClaw: инструменты, субагенты и слоистая диагностика

Три ошибочных трактовки, которые тормозят каждую субсессию

Ошибка A: «Модель молчит — значит пропал sessions_spawn.» При неверной аутентификации провайдера, исчерпанной квоте или неверном alias модели шлюз может не дойти до фазы согласования инструментов, хотя health зелёный. Начните с openclaw models status и минимального диалога, прежде чем массово переписывать JSON.

Ошибка B: allowAgents висит на agents.defaults или общем узле, тогда как субагенты ждут собственных политик. Типичный симптом — allowed: none в диагностике при «нормально выглядящем» файле. Перенесите политику на нужную запись subagents, сохраните, перезапустите процесс шлюза и сравните хеш развёрнутого файла с редакторским артефактом.

Ошибка C: в прод выведена модель без надёжного function calling. UI не показывает spawn при корректных правах. Введите контрольную модель с известным tool API, зафиксируйте результат и пометьте неподдерживаемые маршруты во внутренней матрице, чтобы закупки и разработка читали одно и то же.

Порядок слоёв совпадает с гайдом по шлюзу: сначала процесс и локальный порт, затем API провайдера, затем каналы и прокси. Перемешивание порядка сжигает часы на diff JSON, пока истинная причина — просроченный ключ.

Включите эти три ловушки в онбординг: до тикета отметить модель, узел политики, трафик прокси. Это сокращает время до первой полезной гипотезы, убирая шум параллельных экспериментов.

Для аудита фиксируйте в инциденте, какой слой исключили первым и чем подтвердили. Без следа постмортемы повторяют одни графики, хотя прокси уже был чист в первый час.

Болевые точки: релизы, прокси, hardening и дрейф установки

Миграция схемы: крупные линии OpenClaw двигают поля в openclaw.json. Обновив только тег образа, можно тихо игнорировать старые ключи. Читайте release notes, делайте структурные diff и гоняйте openclaw doctor на staging с тем же файлом, что в проде, а не с «упрощёнкой».

TLS-терминация и WebSocket: за Nginx или Caddy тот же шлюз то стабилен, то дёргается, если Upgrade, таймауты или буферизация расходятся. Симптом — редкие падения субсессий при успешных локальных тестах. Сопоставьте curl -N на loopback и публичное имя с общими request id на периметре и в приложении.

Слишком жёсткий прод: SSRF-списки, исходящие фильтры и секреты webhook могут резать легитимные tool-callbacks, пока doctor зелёный, потому что пробы идут другими путями. Ведите явные правила для хостов callback, документируйте их рядом с объектами фаервола и крутите секреты без окна «дырявой» политики.

Смешанная установка: глобальный npm CLI, Compose и LaunchAgents на одном удалённом Mac дают расхождение which openclaw и реального бинарника. Унифицируйте путь по гайду установки, прежде чем отлаживать субагентов — иначе «лечите» файлы, которые активный процесс не читает.

Неструктурированные логи: без хеша конфигурации, имени модели, результата перечисления инструментов и кода отказа постмортемы размыты. Задайте обязательные поля для саппорта и автоэкспорта, чтобы видеть повторяющиеся паттерны.

Несколько команд на одной машине: планируйте окна для правок прокси, шлюза и токенов бота синхронно. Параллельные правки часто дают полувалидный JSON с хвостами merge, которые парсер молча пропускает.

Квартальный game-day: сломанный allowAgents, протухший API-ключ и душимый webhook; замерьте время до корня по runbook. Подкручивайте дашборды по данным, а не по интуиции.

На горизонте нарисуйте маршрутизацию инструментов: какие каналы наследуют какие политики субагентов и где исключения PDF/Teams из мультиканального гайда. Без схемы исключения дублируются и усугубляют инциденты.

Если команда растёт, введите ротацию «доктора недели»: один инженер отвечает за актуальность чек-листов doctor и ссылок на прокси-документацию, остальные присылают диффы только через ревью этого роли. Так ссылки в runbook не протухают между крупными релизами OpenClaw и меняющимися политиками облака.

Для регулируемых отраслей сохраняйте артефакты: кто менял allowAgents, какой тикет, какой хеш конфигурации до и после. Эти три поля часто спрашивают аудиторы быстрее, чем полные дампы логов, и снижают время на разбор после инцидента.

Куда класть allowAgents относительно subagents

Субагенты моделируют делегированные ветки с собственными границами инструментов. Политики вроде allowAgents действуют по записи, а не как голый default верхнего уровня — смотрите схему вашей версии, а не старые gist.

При нескольких субагентах избегайте копипаста без правки имён; опечатка выбрасывает блок из парсера. Добавьте проверку схемы в CI, если доступно, и версионируйте примеры конфигурации.

После правок одного reload может не хватить: задокументируйте поддерживаемый рестарт (systemd, LaunchAgent, Compose). Без рестарта конфиг «наполовину» и даёт гейзенбаги под нагрузкой.

Мультитенант: отдельные файлы или изолированные Unix-пользователи; общий openclaw.json на хосте повышает риск прочитать чужую политику. Автотесты должны поднимать минимум два синтетических арендатора параллельно.

Персональные данные: субагенты могут видеть чувствительный контекст. Опишите, какие инструменты разрешены кому и как соблюдаются сроки удаления — как в правилах SFTP, если та же инфраструктура несёт артефакты и ботов.

Security review: высокорисковые инструменты — на субагентах с более жёсткими сетевыми профилями; allow-all на главном агенте подрывает последующий hardening на периметре.

Function calling, выбор модели и видимость tools

Function calling — предпосылка появления sessions_spawn в протоколе согласования. Дешёвые или специализированные endpoint без tool API намеренно дают короткие списки; это не баг конфигурации, а граница продукта.

Ведите внутреннюю таблицу: ID модели, поддержка tools, стоимость, регион, fallback при сбое. Обновляйте при каждом изменении цен или API, чтобы FinOps и дежурства опирались на одни данные.

Смешанная нагрузка — vision PDF из мультиканального гайда плюс spawn — требует раздельных пулов, чтобы тяжёлые задачи не откладывали согласование инструментов. Измеряйте очереди отдельно и задайте shedding.

Feature flags: не переключайте только основной чат без ветки субагента; расходящиеся alias дают spawn локально ок и в канале нет.

QA: короткий автотест с ожидаемым списком tools ловит регрессии провайдера лучше разового клика в UI раз в квартал.

Многослойный triage: status, models status, doctor, логи

Старт с openclaw status: процесс жив, порт открыт, версия ожидаемая. Затем openclaw models status: ключ валиден, endpoint доступен, модель существует. Потом openclaw doctor с JSON для машин; затем openclaw logs с выравниванием часового пояса к прокси.

Зафиксируйте критерий pass/fail на шаг в runbook, чтобы ночная смена не гадала. Вставьте ссылки на статьи установки и шлюза в шаблон тикета.

Если модели и doctor зелёные, а канал висит, осознанно переходите к слою прокси: те же пути, те же заголовки, та же цепочка TLS. Нужны correlation id, которые пишут и edge, и шлюз, иначе срезы логов бессмысленны.

Для повторяющихся инцидентов добавьте визуальное дерево решений в wiki; визуальные якоря снижают число параллельных экспериментов, которые друг друга отменяют.

Следите за фрагментацией памяти на долгоживущих процессах при потоке коротких субсессий; планируйте мягкие rolling-рестарты в окнах обслуживания без обрыва пользовательских сценариев.

Обучите саппорт сперва спрашивать alias модели, канал и последний изменённый блок allowAgents; многие тикеты закрываются там без глубоких трейсов.

Когда шлюз работает в связке с CI, добавьте в pipeline шаг «dry-run doctor» на копии конфигурации: он ловит опечатки в JSON до выката и предотвращает ситуацию, когда прод принимает трафик с политикой, которую локальный редактор ещё не сохранил в репозиторий.

Обратный прокси: WebSocket, таймауты, буфер

Публичные точки за обратным прокси требуют явных правил Upgrade и достаточно длинных read-timeout для стриминга и каналов. Короткие дефолты рвут сессии, похожие на ошибки инструментов.

Проверьте, не ломает ли буферизация стриминг; сравните с терминацией TLS и без. Dual-stack IPv4/IPv6 может иметь разные таймауты — опишите оба пути.

Ротацию сертификатов ведите в том же change-board, что и апгрейды шлюза; просроченные промежуточные дают рандомные handshake, бьющие только часть регионов.

Несколько окружений: жёстко разделите server_name или хосты; перекрёст staging/prod — частая причина «случайных» списков tools.

CDN добавляют кеш-правила; динамические пути чата и tools должны быть явно без кеша.

Hardening: webhook, SSRF и минимальные привилегии

Материал прод-ужесточения подчёркивает исходящий контроль и целостность webhook. Callbacks инструментов на внутренние сервисы должны попадать в те же allow-list, что и прочий egress; иначе файрвол режет валидные spawn.

Крутите секреты с коротким перекрытием двух валидных версий, пока все края не обновятся. Автоматизируйте через secret manager, а не тикеты с plaintext.

Scopes Graph/bot держите минимальными; избыточные права увеличивают ущерб при утечке токена. Связывайте ревью scopes с мультиканальным гайдом Teams/Telegram.

Аудит-логи админских правок allowAgents объясняют регрессии после срочного хотфикса. Без них неясно, человек или deploy-скрипт сдвинул политику.

Пентесты должны пробовать эскалацию маршрутов субагентов; задокументированные находки оправдывают будущие ограничения перед продуктом, которому «надо просто расширить» tools.

Матрица решений

Используйте таблицу на архитектурных ревью и храните выбранную строку рядом с правилами фаервола и хранилищем секретов.

СимптомВероятный слойПервое действиеУглубление
Нет sessions_spawn в спискеМодель/endpointmodels status; контрольная модельМатрица function calling
allowed: noneУзел JSONПроверить allowAgents под subagentsБэкап JSON установки
Падает только снаружиПрокси/WebSocketcurl loopback vs доменГайд Nginx/Caddy
Таймауты callbackEgress/SSRFРасширить allow-list, аудитСтатья hardening
Расхождение версийCLI vs сервисВыровнять путиГайд установки

Задайте SLO на долю успешных spawn, медиану до первого ответа инструмента и ошибки webhook; свяжите с error budget помимо общей доступности API.

Обновляйте матрицу после каждого крупного релиза — меняются схема и дефолтные политики. Архивируйте старые версии с датой для аудиторов.

В ревью затрат: каждая новая семья разрешённых tools может грузить GPU или очереди; оцените до открытия новых сценариев субагентов.

Семь шагов (иллюстрация)

Подстройте под среду; секреты не класть в тикеты и чаты.

# 1) Версии (CLI == сервис)
openclaw status

# 2) Провайдер и модель
openclaw models status

# 3) Конфиг и doctor
openclaw doctor --json

# 4) Проверить allowAgents под agents.list[].subagents

# 5) Перезапуск шлюза (LaunchAgent/systemd/Compose)

# 6) Прокси: curl -N https://ваш.домен/health vs loopback

# 7) Логи с request id
openclaw logs --follow

Зафиксируйте зависимости прокси и hardening в тех же репозиториях, что и конфиг шлюза, чтобы «оптимизации» не отрезали callbacks тихо.

Наблюдаемость, откат и культура эксплуатации

Метрики: счётчики сбоев регистрации tools, латентность spawn, повторы webhook и отклонённые callbacks. Алерты на рост за 15 минут, не только на абсолютные пики.

Порядок отката: сначала alias модели на последнюю стабильную связку, затем откат diff allowAgents, потом правки прокси, в конце секреты каналов. Так меньше одновременных переменных.

Добавьте синтетику, которая бьёт безопасный путь spawn без утечки прод-данных; храните ожидаемые отпечатки ответа.

Runbook держите на языке дежурной смены; краткие переводы рядом с длинным техтекстом снижают стресс ночью.

Свяжите дашборды с мультиканальным гайдом, если PDF/Teams делят тех же воркеров; общие узкие места мешают командам оптимизировать друг против друга.

FAQ и управляемый удалённый Mac

Почему пропал sessions_spawn после апдейта?

Часто миграция схемы, сдвинутый allowAgents или модель без tools; release notes, models status и иерархия JSON.

Что делать при allowAgents allowed:none?

Повесить политику на правильный узел subagents, валидировать файл, перезапустить шлюз, сверить хеши.

doctor зелёный, spawn всё равно падает?

Вебхуки канала, буфер прокси или фильтр hardening; скоррелируйте id на edge и шлюзе.

Итог: видимость sessions_spawn — произведение возможностей модели, места allowAgents и чистой инфраструктуры. Многослойный triage экономит часы против хаотичного JSON.

Ограничение: self-hosted требует постоянной синхронизации с roadmap провайдера, сертификатами и базовыми линиями безопасности. Арендуемые удалённые Mac собирают стабильные шлюзы и предсказуемые траектории Apple Silicon.

SFTPMAC даёт ёмкость удалённого Mac для долгоживущих процессов OpenClaw, изолированных входов артефактов и повторяемых выкладок без своей colocation.

При субагент-флоу 7×24 управляемые хосты быстрее окупаются, чем ночные охоты за конфигами и железом.

CI должна линтить JSON-схемы и сниппеты прокси до выката на управляемые хосты — документация остаётся равна продакшену.

Рассмотрите SFTPMAC, если нужны удалённые Mac для шлюзов OpenClaw с ясными политиками tools и отдельным SFTP.