Все AI-ассистенты до сих пор работали по одной схеме: вы открыли → спросили → получили ответ. Orb ломает эту логику. Он не ждёт вопроса — он сам начинает разговор, когда случилось что-то важное: сдвинулось расписание, приближается дедлайн, осталось непрочитанное письмо.

Это направление proactive / long-lived agents: AI становится не инструментом по запросу, а фоновым помощником, который следит за состоянием задач между разговорами.

Ключевое правило: Orb — это не облачный сервис, который просит аккаунт и собирает данные. Базовая модель — собственный сервер на своём железе со своими ключами.

Что это

Orb состоит из двух частей: iOS-приложения и опционального сервера, который запускается на компьютере пользователя.

iOS-приложение работает само по себе — это голосовой и текстовый интерфейс с ассистентом. Но настоящая ценность появляется, когда к нему подключается Orb Backend: тогда телефон превращается в пульт управления компьютером, на котором может выполняться реальная работа.

Сервер открыт на GitHub под лицензией MIT и реализован на Python 3.11+ с FastAPI. Это WebSocket-голосовой канал, небольшой HTTP API и набор модулей, которые автор называет agent spine, proactive engine, the mind и sessions.

Интерфейс Orb: проактивные уведомления, подключение собственного сервера и экран планирования

Разработчик заявляет три главных принципа: отсутствие обязательного аккаунта, отсутствие собственного облака и отсутствие телеметрии. Можно использовать собственные ключи доступа к моделям. По умолчанию разговорный мозг — это Claude, запускаемый через установленный на компьютере Claude Code CLI (claude -p), то есть через уже существующую подписку и логин пользователя, без API-ключа, который хранился бы в коде.

Совет: не путайте проактивность с назойливостью. Хороший агент умеет молчать, когда событий нет. У Orb есть планировщик, удаление дубликатов уведомлений и ограничение частоты, чтобы не заваливать пользователя.

Зачем нужно

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

  • Календарь и расписание — ассистент видит, что встреча перенеслась, и сам сообщает об этом.
  • Почта и дедлайны — если важное письмо осталось без ответа или срок подходит, агент напоминает.
  • Фоновая работа — можно поручить длинную задачу, например «разбери папку Downloads», и получить уведомление, когда работа выполнена.
  • Постоянная память — ассистент помнит, что вы просили не забыть, и напоминает в нужный момент.
  • Голосовой ввод — разговор идёт через WebSocket: речь распознаётся локальным Whisper, ответ синтезируется нейральным TTS.

Как устроено

КомпонентРоль
iOS-приложениеГолосовой и текстовый интерфейс, приём push и WebSocket-уведомлений, пульт управления сервером.
Orb BackendСервер на Python 3.11+ с WebSocket-каналом, HTTP API, маршрутизатором моделей и инструментами.
Agent spineТонкий цикл: модель сама решает, когда говорить, а когда вызывать инструмент. Около 60 встроенных инструментов: погода, почта, файлы, акции, экран, сессии, напоминания, уведомления.
Multi-brain routerМаршрутизатор между Claude, Grok, Codex и локальными моделями за одним голосом. Модель можно менять прямо в разговоре.
The mindПроцесс, работающий между разговорами: поддерживает модель ситуации, замечает изменения, делает предсказания, предлагает работу, которую нужно одобрить.
SessionsДолгоживущие фоновые задачи — сборки, исследования, обучение — которые можно наблюдать, приостанавливать и останавливать с телефона.
Proactive engineДвижок уведомлений: периодические проверки, два синтеза в день, удаление дубликатов, ограничение частоты, подтверждения доставки.

Архитектурно сервер состоит из файлов, каждый из которых отвечает за один слой: server_win.py — сервер и choke point для уведомлений; agent.py — цикл выбора «говорить vs действовать»; brain.py — маршрутизатор моделей и кулдауны; tool_registry.py + otools/ — реестр инструментов; mcp_http.py + orb_mcp.py — поверхность инструментов как MCP для Claude и Codex/Grok; proactive_engine.py — сбор данных без вызова модели, два синтеза в сутки, планировщик; mind.py — между-разговорная агентность с бюджетом пробуждений; stt.py / personas.py — распознавание речи и голосовые персоны; supervisor.py — перезапуск сервера при сбоях.

Когда использовать

СценарийПодходит / не подходитПочему
Хочу, чтобы ассистент сам напоминал о важномПодходитЭто основная механика Orb.
Не хочу передавать данные в чужое облакоПодходитВсё крутится на своём сервере; аккаунт не нужен.
Нужен ассистент без установки сервераЧастичноБазовое приложение работает на iPhone, но без backend проактивность и доступ к компьютеру не работают.
Использую macOS / LinuxНе подходит покаBackend Windows-first, macOS в планах.
Нужны push, когда приложение закрытоТребует усилийДля фоновых push нужен собственный Apple Developer аккаунт и собственная сборка iOS-приложения.

Пример: запуск собственного сервера

Установка на Windows занимает около 15 минут. Полная инструкция есть в руководстве по self-hosting на сайте проекта.

git clone https://github.com/getorb/Orb-Backend
cd Orb-Backend
python -m venv venv
venv\Scripts\pip install -r requirements.txt
copy .env.example .env
venv\Scripts\python scripts\setup.py
venv\Scripts\python supervisor.py

setup.py задаёт имя, город, генерирует ORB_TOKEN и проверяет запуск. supervisor.py следит за сервером и перезапускает его при падении.

tailscale serve --bg 8340
tailscale serve status

Адрес в формате https://yourpc.tail1234.ts.net вставляется в приложении в разделе Settings → Your Server вместе с ORB_TOKEN.

Сессии AI-агента на собственном сервере Orb

Внимание: если используется публичный адрес через tailscale funnel, обязательно включите ORB_HTTP_AUTH=1 в .env, иначе URL будет открыт для любого, у кого он есть.

Что сервер видит на компьютере

По умолчанию backend наблюдает за своим хостом: заголовок активного окна, загрузка CPU/диска/GPU, изменения буфера обмена, простой ввода, файловая активность в указанных папках (ORB_PROJECT_DIRS) и экран — но только когда вы явно просите его посмотреть. Всё это остаётся на машине: сбор локальный, никуда не выгружается самим backend.

  • ORB_MIND=0 — выключить между-разговорную агентность.
  • ORB_PROJECT_DIRS — JSON-список каталогов для наблюдения.
  • ORB_MIND_MAX_EXPRESS — лимит самостоятельных уведомлений в день.
  • ORB_MIND_EXPRESS_GAP_MIN — минимальный интервал между уведомлениями.
  • ORB_NOTIFY_TOPIC_COOLDOWN_H — окно дедупликации по теме.

Ограничения

Ограничения

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

Платформа сервера — Windows — На момент публикации backend рассчитан на Windows; macOS заявлен как запланированный, но даты нет.

Linux официально не упоминается.

Фоновые push требуют Apple Developer аккаунта — Публичное приложение из App Store подписано под командой разработчика, поэтому ваш ключ APNs не может в него пушить.

Закрытые push работают только в собственной сборке.

Почта — только Gmail через пароль приложения — Интеграция почты read-only и требует двухфакторной аутентификации Google и пароля приложения.

Другие провайдеры пока не заявлены.

Первый голосовой диалог медленный

— При первом старте скачивается модель Whisper — около 150 МБ для base.en.

Сервер должен быть онлайн

— Если компьютер выключен, фоновая проактивность и сессии останавливаются; напоминания, пропущенные во время отключения, срабатывают в окне ORB_SCHED_GRACE_H.

Антипаттерны

Антипаттерны

Чего не делать с self-hosted ассистентом.

Публиковать URL и токен сервера — Адрес + ORB_TOKEN — это ключ к вашей машине.

Делиться ими равносильно передаче удалённого доступа.

Открывать backend в интернет без ORB_HTTP_AUTH=1

— Если используется tailscale funnel, без авторизации любой, у кого есть URL, получит доступ к уведомлениям, сессиям и настройкам.

Считать, что открытый исходный код автоматически значит безопасно

— MIT-лицензия даёт свободу читать и изменять код, но за конфигурацию и изоляцию отвечаете вы.

Запускать на общем рабочем компьютере без разборки

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

Чеклист

Чеклист

Проверка перед запуском.

Orb показывает, куда движутся ассистенты: от инструмента по запросу к фоновому партнёру, который помнит контекст между разговорами.

Есть Windows ПК, который будет оставаться включённым

— Сервер не работает на выключенной машине.

Установлен Python 3.11+ и Git

— Это минимум для запуска backend.

Установлен и залогинен Claude Code CLI — Или подготовлен альтернативный мозг:

Grok, Codex, OpenAI-совместимый endpoint.

Установлен Tailscale на ПК и iPhone

— Оба устройства должны быть в одном tailnet.

Сгенерирован и сохранён ORB_TOKEN

— Токен понадобится в приложении.

Настроен .env:

имя, город, выбранный мозг — setup.py помогает с первичной настройкой.

Решено, нужны ли push

— Если да — подготовлен Apple Developer аккаунт и .p8 ключ APNs.

Решено, нужна ли почта

— Если да — включена 2FA Google и создан пароль приложения.

Если используется tailscale funnel, включён ORB_HTTP_AUTH=1

— Обязательно для любого публичного URL.

Проверен /api/health и логи backend.log

— После запуска убедитесь, что сервер отвечает.

Ссылки

Ссылки