OpenClaw уже на удалённом Mac, но ответы «как из офлайна», пока не подключён встроенный веб-поиск. В 2026 это семейство инструментов: web_search для широких запросов, web_fetch для URL, при необходимости Firecrawl для тяжёлого JS. Текст дополняет одобрения v2026.3.28 и браузерный MCP, но сфокусирован на провайдерах, порядке включения, ключах, allowlist, /approve, 429/пустых результатах и логах, плюс чеклист VNC. Если поиск есть, а ответа нет: нет ответа и launchd.
Типично: вставка документов вместо поиска, 429 после демо, disabled при ключе в .env. Решение — цепочка, а не один тумблер.
Аудитория
Для команд с продакшен-OpenClaw на macOS, которым нужен стабильный публичный веб-поиск. Это не гайд по первой установке.
Когда поиск попадает на критический путь, фиксируйте версию конфигурации, активный профиль агента и сценарий отката с более узкой allowlist.
Боли и границы
- Путаница инструментов: MCP ведёт реальный Chrome; встроенный поиск — API провайдеров.
- Дрейф allowlist: Без
web_search/group:webрастут галлюцинации. - Секреты: Export в shell не попадает в launchd Gateway.
- Одобрения:
requireApprovalстопорит до /approve. - Квота: 429 часто от параллельных субагентов.
- Пусто: Жёсткие фильтры → HTTP 200 без строк.
- Провалы наблюдаемости: Если в логах только диалог модели, не видно HTTP-статуса провайдера. Включите трассы Gateway/инструмента с именем, задержкой и кодом до смены вендора.
- Общий ключ на среды: Staging и prod на одном API-ключе делают 429 неатрибутируемыми. Разделите ключи и маркируйте канареечный трафик.
Логи, политики и runbook, переживающие обновления
Развести web_search, web_fetch и обходные краулеры
«Поиск сломан» может быть таймаутом fetch, TLS-инспекцией или квотой Firecrawl. Возьмите ID разговора или запроса и пройдите цепочку: провайдер, HTTP-код, ретраи, параллельные попытки модели. Смешивание трейсов субагентов превращает 429 в «проблему ключей».
Корпоративный egress и DNS, маскирующиеся под лимиты
Split DNS, captive portal и TLS inspection дают пустое тело при 200 или огромные задержки. Опишите исходящий путь хоста Gateway рядом с матрицей провайдеров; по VNC проверьте Safari или curl в том же пользовательском контексте, что и сервис. Интерактивный SSH и launchd не всегда делят прокси и env.
Порядок runbook: окружение PID → diff allowlist → минимальный реплей → параллелизм
Сначала переменные видимые PID Gateway, затем сверка allowlist с релиз-нотами, затем минимальный запрос вне LLM (если политика позволяет), и только потом снижение параллелизма. После апгрейда часто не хватает group:web, пока крутят ключи.
Ограничения стоимости и безопасности за пределами дашборда
Дашборды показывают месячные суммы, агенты создают всплески. Добавьте лимиты оркестратора: максимум параллельных поисков на диалог, дедуп похожих запросов, режим «без поиска» для чувствительных каналов. Фиксируйте причину в SOUL/MEMORY.
Матрица провайдеров (ориентир)
| Паттерн | Когда | Риски |
|---|---|---|
| Brave Search (частый дефолт) | Общий поиск, приватность | Лимиты, цитирование |
| Tavily и др. | JSON для агента | Платно, домены |
| Perplexity-стиль | Ответы со ссылками | Стоимость |
| Gemini/Google | Единый биллинг Google AI | Без ключей в репо |
| Firecrawl на fetch | Один URL, антибот | Отдельная квота |
| Bing / широкие SERP API | Классические ссылки или региональные выдачи | Комплаенс, кэш; сырой SERP может быть запрещён |
| Свой поиск / интранет-индекс | Публичный поиск заблокирован или offline | Вы держите свежесть, SLO и эмбеддинги — это не «бесплатный поиск» |
9 шагов включения
База doctor
openclaw doctor — сохранить web/search/tools и версию.
Секция web
openclaw configure --section web или JSON.
Секреты как у демона
Переменные в plist/сервисе; тест перезапуска.
Allowlist
web_search и при необходимости web_fetch.
Канарейка в канале
факт из публичного веба, смотреть логи.
Одобрения
before_tool_call через UI канала.
Триаж по порядку
401/403, 429, таймаут, пустой JSON, TLS.
Пакет для воспроизведения
Маскированные логи, фрагмент tools.web без секретов, выжимка allowlist на инцидент — чтобы сравнивать после обновлений.
Заранее описанный деградационный режим
Тексты про ограниченный поиск, стоп субагентов, при разрешении — меньшая модель. Документировано, а не импровизация.
Операционные факты
Перед тикетом
- Doctor output archived with version
- Provider block present in JSON or wizard transcript
- Effective allowlist contains web tools
- Secrets visible to the running Gateway process
- Canary query reproduced from the same channel users rely on
VNC удалённый Mac: консоль и права
Открыть Gateway UI на Mac, параллельно tail по SSH. MITM, menu bar companion. Согласия ОС — в графической сессии.
В графической сессии откройте связку ключей или UI секретов: убедитесь, что учётные данные из plist существуют и не просрочены. Разделяйте локальные терминальные проверки и прод-сервис — два браузерных контекста снижают ложные «доказательства» доступа.
Связанные статьи
Одобрения: плагины. Браузер: MCP. Тишина: нет ответа. Демон: launchd.
FAQ
- UI всё disabled? Allowlist, блок провайдера, env процесса.
- Firecrawl если search ок? Часто для
web_fetch. - 429 без смены вендора? Параллелизм и backoff.
- MCP безопаснее? Другая модель угроз.
- Разные результаты на ноутбуке и удалённом Mac? DNS, PAC, язык/регион, IPv6. Воспроизводите на хосте Gateway.
- Кэшировать выдачу в воркспейсе? Только при соответствующей политике хранения; короткий TTL и метаданные провайдера.
Заключение
Linux/headless скрывают согласия и консоль и провоцируют проверки связи не в том пользовательском контексте. VNC на macOS связывает ключи, Gateway и оверлеи — особенно когда нужны одобрения, Keychain или отладка рядом с браузером. Для коротких тестов аренда VNC Mac у VNCMac со статьями-чеклистами часто быстрее охоты за обрывками логов на неподходящем хосте.