Перейти к содержанию
KeuralDocs
Настольное приложение и устройства

Keural Duo

Постоянно работающий агент на вашем компьютере: установка, диалоги, рутины, Telegram, использование компьютера и Mate & Morph.

Duo представляет собой постоянно работающий агент, который настольное приложение устанавливает на этом компьютере (или на подключённом DGX Spark). Он работает в изолированной песочнице, с ним можно общаться через Duo на боковой панели или в Telegram, а рутины, которые вы зарегистрировали, он выполняет самостоятельно. Основан на NVIDIA NemoClaw и OpenClaw.

Duo доступен только в настольном приложении.

Установка

В разделе Настройки → Duo → Среда выполнения выберите модель, затем нажмите Установить в строке того места, где будет работать Duo. Если модель не выбрана или на диске не хватает места, кнопка установки неактивна.

Где работает и требования

Где работаетТребования
Это устройство (macOS)Apple silicon, не менее 16 ГБ памяти. Среду контейнеров приложение устанавливает само, поэтому Docker Desktop, Homebrew и пароль администратора не нужны.
Это устройство (Windows)WSL 2. При первом запуске нажмите Подготовить Windows, чтобы установить нужные компоненты. Может потребоваться перезагрузка ПК или разрешение прав администратора. Если виртуализация выключена, включите её в BIOS.
Удалённое устройство (DGX Spark)Подключите Spark и сначала запустите модель. Если брандмауэр Spark включён, один раз введите пароль учётной записи Spark, чтобы открыть два порта (пароль не сохраняется).

На диске нужно не менее 20 ГБ, рекомендуется 40 ГБ и более. Если места не хватает, кнопка установки блокируется и отображается «Нужно {need} ГБ · свободно {free} ГБ».

Модели

ВариантОписание
Модель на этом устройствеИспользуется локальная модель, которая загружена и запущена сейчас. Отображается как «{model} · та же модель, что и в чате».
DGX SparkМодель, запущенная на подключённом Spark.
ОблакоМодели Duo, входящие в тариф. Отображаются после входа в аккаунт.
ШлюзИспользует модель сервера, подключённого в Настройки → Модели → Шлюзы. Нужны адрес и ключ API этого сервера.

После установки модель меняется в строке Модель. Внутри одного типа переключение выполняется сразу, кнопкой «Переключить». Если тип меняется, например с локальной модели на облачную или шлюз, нажмите Переустановить при смене типа. Рутины при переустановке сохраняются. Чтобы перенести Duo в другое место, сначала удалите его, а затем установите там.

Этапы установки

Установка проходит в таком порядке: проверка этого устройства → подготовка среды контейнеров → установка NemoClaw → запуск модели (для облака или шлюза: подготовка разрешения на доступ к модели) → создание песочницы → настройка Duo → проверка работы. Текущий этап отображается в надписи кнопки и в карточке хода выполнения. Если появилось сообщение «Это занимает немного больше времени. Оставьте приложение открытым», не закрывайте приложение.

Если установка остановилась, причину можно найти по тексту на экране в разделе Если установка не удалась.

Duo в другой учётной записи или рабочем пространстве

На каждом устройстве один Duo, он привязан к учётной записи и рабочему пространству, в которых установлен. При входе под другой учётной записью или переключении на другое рабочее пространство Duo в настройках показывается как «Не установлен», а Duo на боковой панели и Mate & Morph скрываются. В этом состоянии при нажатии Установить появляется окно подтверждения, в котором сообщается, что при новой установке этот Duo, его диалоги и рутины будут удалены. Если нажать Установить заново, существующий Duo удаляется и создаётся новый. При возвращении к исходной учётной записи или рабочему пространству прежний Duo снова появляется.

Если ранее установленный Duo остался на устройстве, он очищается, и только после этого выполняется установка. Если очистка не удалась, отображается сообщение «Не удалось удалить существующий Duo. Установите снова».

Если установка не удалась

Если установка остановилась, в Настройки → Duo отображается текст ошибки. Также проверьте код в скобках после текста, если он есть. Устранив причину, снова нажмите Установить.

Сообщение на экранеПричинаЧто делать
Установка остановлена: недостаточно места на диске. Освободите место, чтобы было свободно не менее {need} ГБ, и повторите попыткуНа диске с домашней папкой свободно меньше 20 ГБ.Освободите 20 ГБ или больше (рекомендуется 40 ГБ).
Не удалось подготовить установку. Проверьте подключение к интернетуНе удалось скачать файлы для установки. Часто причина в корпоративном брандмауэре или прокси.Проверьте подключение к интернету. В корпоративной сети попросите ИТ-отдел разрешить адреса из раздела Источники загрузки.
Не удалось удалить прежний Duo. Установите снова.Не удалось очистить оставшийся на устройстве прежний Duo.Полностью закройте приложение, откройте его снова и нажмите Установить. Если ошибка повторяется, посмотрите то же сообщение на вкладке macOS.
На устройстве есть Duo другой учётной записи или рабочего пространства. Установка удалит его.Duo на этом устройстве принадлежит другой учётной записи или рабочему пространству.Нажмите Установить заново, чтобы удалить этот Duo и установить новый. Чтобы продолжить пользоваться этим Duo, войдите в исходную учётную запись или переключитесь на исходное рабочее пространство.
Ваш тариф не включает облачные модели для Duo.Текущий тариф рабочего пространства не включает облачный Duo.Выберите модель модель этого устройства, DGX Spark или шлюз либо проверьте тариф.
Войдите, чтобы использовать облачные модели.Вы вышли из аккаунта.Войдите и установите снова.
Модель Duo не запущена. Запустите её и примените снова.Модель на этом устройстве не запущена.Запустите модель в разделе Настройки → Модели, затем установите Duo.
Это занимает немного больше времени. Оставьте приложение открытым.Первая установка требует загрузки большого объёма файлов.Не закрывайте приложение и дождитесь завершения. Ноутбук не должен переходить в спящий режим.

Если проблема не решена, обратитесь в поддержку в разделе Настройки → Поддержка. Укажите текст на экране, код в скобках и тип устройства (macOS, Windows или Spark).

Экран Duo в настройках

РазделСодержание
Статус«Работает на {место}» · остановлен · запускается · не установлен · нет сервера (если связь со Spark потеряна)
Среда выполненияВыбор модели, кнопки запуска, остановки и удаления в строках этого устройства и удалённого устройства, идентификатор песочницы и версия NemoClaw
Чат-приложенияПодключение Telegram
ПодключенияGitHub, веб-поиск
Использование компьютераРазрешения, папки для чтения, правила перед действием, приложения с постоянным разрешением, Mate & Morph
Память разговораИспользование контекста, сжатие диалога, новый диалог
Новые функции (Windows)Подключение компьютера с Windows, общие папки, проверка доступа к приложениям, последние задачи

Во время длительных операций (установка, смена модели, применение настроек чат-приложений, удаление) остальные разделы заблокированы. Окно подтверждения операционной системы появляется только при включении использования компьютера или расширении правил.

Диалог

Нажмите Duo на боковой панели (в режиме кода её нет). Пока связь прервана, отправленные сообщения отображаются с надписью «{n} в очереди на отправку» и доставляются, когда связь восстанавливается. Если отправить /new, приложение спросит, нужно ли начать новый диалог.

Если включить Сведения о Duo вверху, на боковой панели отображаются следующие карточки.

КарточкаСодержание
СейчасЗадача, которая выполняется или ожидает, прошедшее время и использованные инструменты
Настройки Duo изменилисьПоявляется только тогда, когда настройки песочницы отличаются от тех, которые Keural проверял последними. Показывает изменённые области (чат-приложения и кто может с ним общаться · инструменты и права · подключённые сервисы · подключение модели · прочее). Если изменения сделали вы сами, нажмите Принять изменения.
ПесочницаГотова / ошибка, ответ модели в норме / нет ответа, использование GPU (CUDA), ёмкость
МодельНазвание модели, место (это устройство · DGX Spark · облако), использование контекста
РутиныСм. Рутины ниже
Подключения · TelegramКраткая сводка подключений. По нажатию открываются настройки.
Файлы работыФайлы, которые Duo создал в рабочей папке песочницы

По кнопке Фоновые задачи открывается список работающих вспомогательных агентов Duo.

Память разговора

В разделе Настройки → Duo → Память разговора «используемый контекст» отображается в токенах и процентах. Кнопка Сжать сокращает диалог, Новый открывает новый диалог. Текущий диалог сохраняется. Если Duo работает, эти действия доступны после завершения работы. Если появилось сообщение «Диалог слишком длинный для обработки моделью, поэтому Duo не смог ответить», сожмите диалог или начните новый.

Рутины

Если сказать Duo что-то вроде «Каждое утро в 9 часов делай…», появится карточка Создать эту рутину? (задача, расписание, место запуска). Нажмите Создать рутину, чтобы зарегистрировать её. При изменении или удалении рутины подтверждение выполняется с помощью этой же карточки.

ПунктСодержание
ПериодичностьОднократно (до 365 дней вперёд) · ежедневно · по будням · еженедельно · каждые N минут (от 5 до 1 440 минут)
Место запускаДиалог Duo в приложении Keural или Доставка в Telegram
Количество10 активных, 50 всего
Срок действияПо умолчанию 7 дней, максимум 30 дней. После этого отображается «Истекло».
ПропущеноЕсли приложение было закрыто и рутина опоздала более чем на 10 минут, она не запускается и помечается как «Пропущено».
СбойПосле 3 неудачных попыток подряд отображается «Приостановлено из-за сбоев».

В карточке Рутины панели «Сведения о Duo» рутины включаются и выключаются. Через Подробнее доступны Запустить сейчас и Удалить. Для каждой строки отображаются время следующего запуска и статус (отправлено · пропущено · сбой · приостановлено · истекло). Результаты рутин приходят в диалог Duo или в Telegram, также показывается уведомление на рабочем столе (при Запустить сейчас уведомления не показываются). Рутины выполняются только тогда, когда приложение открыто.

Чат-приложения (Telegram)

Откройте Настройки → Duo → Чат-приложения → Telegram → Подключить и следуйте инструкции.

  1. В Telegram откройте @BotFather, отправьте /newbot и задайте имя и имя пользователя бота.
  2. Вставьте токен бота, который выдал BotFather, и нажмите Подтвердить. Не раскрывайте токен: любой, у кого он есть, может управлять ботом.
  3. Отсканируйте QR-код телефоном, чтобы открыть бота, и нажмите Старт. Если ответа нет, отправьте боту код с экрана.
  4. Когда появится сообщение «Только {имя} может общаться с ботом в личных сообщениях», нажмите Добавить, затем Применить.

После применения Duo перезапускается (диалоги и файлы сохраняются). Далее сообщения, отправленные с телефона, отображаются в диалоге Duo с пометкой «Отправлено из Telegram». В личных сообщениях с ботом может общаться только один подключивший его человек. Чтобы отключить Telegram, нажмите Отключить, затем Применить. Если Telegram подключён, подтверждения рутин приходят и в Telegram.

Токен бота можно использовать только на одном устройстве (Duo) одного аккаунта. Чтобы подключить другое устройство, сначала отключите Telegram на прежнем устройстве, затем зарегистрируйте токен снова.

Подтверждение действий в приложении выполняется только в окне приложения Keural, даже если диалог начат в Telegram.

Подключения

Настройте в разделе Настройки → Duo → Подключения.

СервисСпособ
GitHubВставьте Персональный токен доступа и подтвердите, либо нажмите Продолжить через GitHub CLI, чтобы использовать вход gh на этом компьютере. Если CLI не установлен, появится ссылка на установку; если вход не выполнен, откроется окно входа. При подключении или изменении Duo перезапускается.
Веб-поискDuo использует способ, выбранный в Настройки → Основные параметры → Веб-поиск (быстрый поиск · поиск Keural · Tavily, Brave или SearXNG в вашем поисковом сервисе). Должна быть включена Использование компьютера.

Использование компьютера

Если включить Настройки → Duo → Использование компьютера → Разрешить Duo использовать этот компьютер, Duo сможет использовать приложения на этом компьютере, читать указанные папки и создавать рутины. После включения Duo перезапускается примерно на минуту.

ПунктСодержание
Разрешения macOSУниверсальный доступ (нажатия и ввод) и Запись экрана (просмотр экрана). Если разрешения не выданы, нажмите Открыть системные настройки.
Папки, которые Duo может читатьТолько папки, добавленные через Add folder. Слишком широкие папки, например вся домашняя папка или системные папки, добавить нельзя.
Что Duo делает перед действиемСпрашивать каждый раз (по умолчанию) · Действовать без вопросов · Передать вам. При переключении на «Действовать без вопросов» приложение запросит подтверждение ещё раз.
Приложения с постоянным разрешениемСписок приложений, для которых в окне подтверждения выбрано Всегда разрешать. Чтобы удалить приложение из списка, нажмите × в строке.

Даже при режиме Действовать без вопросов или для приложений с постоянным разрешением чувствительные действия (отправка, удаление, перезапись, оплата, отправка формы, вход, публикация, отмена), а также клавиши Enter, Backspace и ⌘Q всегда сначала требуют подтверждения.

Когда Duo ждёт разрешения, над полем ввода отображается «Duo ждёт подтверждения». Нажмите Подтвердить, чтобы открыть окно подтверждения, и выберите Отклонить, Разрешить один раз или Всегда разрешать. Подтвердить действие можно только в этом окне.

Duo открывает без подтверждения только ссылки из результатов поиска. Адреса, которые Duo ввёл или изменил сам, показываются в окне подтверждения полностью, и приложение спрашивает разрешение.

Mate & Morph

Это настольный персонаж Duo. Включите Настройки → Duo → Использование компьютера → Mate & Morph → Показывать на рабочем столе, затем выберите Персонаж (Mate · Morph · оба) и Размер (маленький · средний · большой).

  • Персонаж отображается, когда Duo работает и диалог готов. Он скрывается при переходе на другую учётную запись или рабочее пространство, а также если тариф не позволяет использовать Duo.
  • Одиночное нажатие на персонажа открывает поле ввода, быстрое двойное нажатие открывает приложение. Рядом с персонажем отображаются статус (ожидание · работа · готово · заблокировано · нужен ввод · ожидает подтверждения) и причина последнего неудачного ответа.
  • Контекстное меню (правая кнопка мыши): Скрыть · Отметить как прочитанное · Открыть Duo · Настройки Duo. В меню строки меню (трея) тоже есть пункт Показать / скрыть Mate & Morph.

Windows

Duo в приложении для Windows работает внутри дистрибутива WSL. Диалоги, рутины, Telegram, подтверждения, Mate & Morph и использование компьютера поддерживаются так же, как в macOS. Для управления приложениями используется автоматизация пользовательского интерфейса Windows. Некоторые приложения, а также защищённые окна, например поля ввода пароля, UAC и терминалы, Duo не трогает и передаёт вам.

В разделе Настройки → Duo → Новые функции (компьютер с Windows) можно проверить подключение Duo, открыть Общие папки (Duo читает только выбранные папки), проверить Доступ к приложениям и посмотреть Последние задачи. В Windows Duo также может выполнять Установку программ (только по точным идентификаторам пакетов) и Подключение к Wi‑Fi (сохранённые профили). Отправка, удаление, перезапись, установка и изменения сети всегда сначала требуют подтверждения.

Удаление

В разделе Настройки → Duo → Среда выполнения нажмите Удалить в строке установленного места, затем Удалить в окне подтверждения. Песочница, история диалогов, рутины и файлы работы удаляются. В macOS также удаляется виртуальная машина контейнеров, которая используется только Duo. Duo на DGX Spark можно удалить только при подключённом Spark.

Частые сообщения

СообщениеЗначение
Duo не запущенВ Настройки → Duo нажмите Запустить.
Нужна последняя версия настольного приложенияОбновите приложение.
Модель не запущена. Запустите модель и примените настройки снова.Локальная модель или модель Spark выключена. Сначала запустите модель.
Связь с моделью потеряна. Проверьте статус входа.Доступ к облачной модели Duo потерян. Войдите снова.
На тарифе этого рабочего пространства Duo недоступен.Облачная модель Duo недоступна на этом тарифе. Переключитесь на локальную модель или проверьте тариф.
Есть Duo из другой учётной записи или другого рабочего пространства.При установке этот Duo будет удалён. Чтобы снова использовать его, переключитесь на исходные учётную запись или рабочее пространство.
Не удалось удалить существующий Duo. Установите снова.Не удалось очистить ранее установленный Duo. Нажмите установку ещё раз.

Подробности для IT-администраторов

Требования

Где работаетПараметры
macOSApple silicon (arm64), не менее 16 ГБ памяти. Виртуальная машина Duo (Colima, vz) использует 4 ядра ЦП, 9 ГиБ памяти и диск 40 ГиБ (занимает только необходимый объём).
WindowsWSL 2 (ядро 5.15 и новее), x64 или ARM64. Устанавливает дистрибутив Ubuntu 24.04 под именем Keural-Duo и использует внутри rootless Podman. Docker Desktop не нужен.
DGX SparkЗапущен Docker, свободно 20 ГБ на диске и не менее 8 ГБ доступной памяти
ОбщиеНе менее 20 ГБ свободного места на диске с домашней папкой (рекомендуется 40 ГБ)

В Windows при установке в разделе [wsl2] файла %USERPROFILE%\.wslconfig используется networkingMode=nat. Компьютеры, которые используют зеркальную сеть (mirrored), не устанавливаются.

Места установки

Где работаетПуть
Среда выполнения macOS~/.keural-runtime/ (Colima, Lima, Docker CLI, журналы)
Автозапуск macOS~/Library/LaunchAgents/kr.mkd.keural-duo-colima.plist, kr.mkd.keural-duo-gateway.plist, kr.mkd.keural-duo-sweeper.plist
CLI NemoClaw~/.local/bin/nemoclaw
WindowsДистрибутив WSL Keural-Duo
Записи приложенияВ папке данных приложения: keural-duo@<сервер>.json, keural-duo-routines@<сервер>.json, keural-duo-rules@<сервер>.json
Журналы~/.keural/logs/, ~/.keural-runtime/colima.log и gateway.log, keural-duo-install.log в папке данных приложения

Источники загрузки

Разрешите в брандмауэре или прокси доступ к следующим адресам. Загружаемые файлы имеют фиксированные версии и проверяются по SHA-256.

АдресЧто загружается
github.comColima v0.10.3, Lima v2.2.1, buildx v0.38.2 (macOS), инструменты Podman (Windows)
download.docker.comDocker CLI 29.9.3 (macOS)
www.nvidia.comСкрипт установки NemoClaw (v0.0.134)
ghcr.ioОбраз песочницы OpenClaw
api.telegram.orgПодключение Telegram
Серверы Keural (api.keural.ai и др.)Облачные модели, вход

При использовании веб-поиска или подключения GitHub также разрешите api.tavily.com, api.search.brave.com, api.github.com и api.githubcopilot.com.

Сеть и порты

МестоПортНазначение
macOS127.0.0.1:8080Шлюз OpenShell
macOS · Windows127.0.0.1:8766Сервер локальной модели (в Windows: ретранслятор внутри WSL). При конфликте используется 8768
DGX SparkОдин из свободных портов 18080–18099Шлюз только для Spark
DGX Spark18081Ретрансляция из песочницы к модели Spark (8000)
DGX Spark22SSH-подключение приложения

Если на Spark включён брандмауэр ufw, при установке открываются два порта: шлюза и ретрансляции. В этот момент нужно один раз ввести пароль учётной записи Spark.

Песочница не подключается к интернету напрямую. Веб-поиск и чтение страниц выполняет приложение, GitHub подключается только для чтения.

Адреса моделей

МодельАдрес, который вызывает песочница
Модель на этом устройствеhttp://localhost:<порт>/v1. Модель по умолчанию qwen3-8-27b, контекст 262 144
Модель DGX Spark127.0.0.1:8000/v1 на Spark, через ретрансляцию Spark
Облачная модель/core/v1/bot/v1 на сервере Keural. Используется токен, выданный для каждого Duo.
ШлюзАдрес сервера, подключённого в Настройки → Модели → Шлюзы

Адрес шлюза может быть любым, если он использует https. Если используется http, допускаются только частные IP-адреса или внутренние имена (.local, .lan, .internal, .intranet, .home.arpa, а также имена без точки). Адреса, содержащие localhost или user:pass@, не принимаются.

Telegram

  • Токен бота выдаёт BotFather по команде /newbot. Формат: число:буквы и цифры.
  • После создания кода подключения откройте бота с телефона в течение 10 минут и отправьте первое сообщение в течение 5 минут. Доступ получит учётная запись, которая отправила это сообщение.
  • В групповых диалогах бот не отвечает.

Ограничения рутин

ПунктЗначение
Интервал проверкиКаждые 30 секунд ищутся рутины для запуска.
ПропущеноЕсли опоздание превышает 10 минут, рутина не запускается и отмечается как пропущенная.
ПриостановкаОстанавливается после 3 неудач подряд.
Интервал повторенияОт 5 до 1 440 минут
Однократный запускДо 365 дней вперёд
Срок действияПо умолчанию 7 дней, максимум 30 дней
Количество10 включённых рутин, 50 всего
Часовой поясЧасовой пояс компьютера, на котором создана рутина

Правила добавления папок

Следующие папки добавить нельзя.

КатегорияПапки
ОбщиеКорень диска, сама домашняя папка и папки выше неё
В домашней папке.ssh, .aws, .gnupg, .kube, .docker, .config, Library, .Trash, AppData
macOS/System, /Library, /usr, /bin, /sbin, /etc, /var, /private, /dev, /Volumes, /Applications, /opt, /cores
WindowsWindows, Program Files, Program Files (x86), ProgramData

Разрешения на использование компьютера

ОСНеобходимые разрешения
macOSУниверсальный доступ и Запись экрана в разделе «Системные настройки → Конфиденциальность и безопасность»
WindowsОтдельных разрешений не требуется. Используется автоматизация пользовательского интерфейса Windows.

Кнопки отправки, удаления, оплаты, покупки, отправки формы, входа, перевода, публикации и отмены, а также клавиши Enter, Delete, закрытие окна и выход из приложения относятся к чувствительным действиям и подтверждаются каждый раз.

Что удаляется при удалении

При нажатии Удалить удаляются песочница, история диалогов Duo, рутины, подключения Telegram, GitHub и поиска, а также токен облачной модели. Если на этом устройстве нет другого Duo, в macOS также удаляются ~/.keural-runtime/ и записи автозапуска. Настройки Mate & Morph и запись о подключении Spark сохраняются.

На этой странице