Все 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.
Разработчик заявляет три главных принципа: отсутствие обязательного аккаунта, отсутствие собственного облака и отсутствие телеметрии. Можно использовать собственные ключи доступа к моделям. По умолчанию разговорный мозг — это 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.
Внимание: если используется публичный адрес через 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
— После запуска убедитесь, что сервер отвечает.
Ссылки
Ссылки
- Сайт: Orb — the AI assistant that talks first
- Сайт: Orb — Proactive AI (App Store)
- Репозиторий: getorb/Orb-Backend
- Документация: Orb Wiki — Self-Hosting
- Документация: API.md
- Документация: SELF_HOSTING.md