Skip to main content
Эта страница — для любопытных и для тех, кто разворачивает бота. Читать её необязательно.

Один ход

Когда вы отправляете сообщение, Skye:
  1. сохраняет апдейт, чтобы ничего не обработать дважды;
  2. собирает контекст: свои инструкции, активного агента, подходящие воспоминания, ваше сообщение и вложения;
  3. отправляет это модели, которая может вызвать инструменты;
  4. отдаёт то, что сделали инструменты, и затем ответ.
Запуски сериализуются по чату, поэтому два сообщения в одном разговоре не перемешиваются. Разные чаты работают одновременно.

Инструменты, а не плагины

Skye собрана из обычных function-инструментов поверх простого chat-completions API:
  • send_message и send_voice — её единственный видимый результат;
  • generate_image и edit_image — картинки;
  • web_search и web_fetch — интернет;
  • shell_exec, python, read_file, write_file — рабочее пространство с кодом;
  • read_skill — наборы навыков;
  • remember, recall, forget — память;
  • youtube_get_transcript — субтитры видео;
  • инструменты автоматизаций и подключённые приложения.
Провайдерских hosted-инструментов нет. Все возможности — свои, и именно поэтому Skye можно направить на любой OpenAI-совместимый эндпоинт.

Две памяти

  • Рабочий разговор — это текущая нить, которая каждый ход переигрывается из локального хранилища. /reset начинает новую.
  • Долгая память — небольшие факты, сохранённые намеренно. Личные факты — у каждого свои; факты группы — общие на группу. Группа никогда не видит личные факты участника.

Рабочее пространство с кодом

У каждого человека и у каждой группы своё пространство на общем томе. Каждая команда выполняется в свежем контейнере, который монтирует только это пространство, работает не от root, имеет корневую файловую систему только для чтения и не получает никаких capabilities. Файлы живут между командами, контейнер — нет. Циклическая уборка удаляет простаивающие пространства по времени жизни и следит за лимитами размера.

Группы

Прикрепляются только сообщения после последнего хода Skye в теме — как недоверенный пользовательский контент. Бот молчит, пока к нему не обратятся по имени, не ответят на его сообщение, не вызовут командой или не назовут в тексте. У каждой темы форума свой разговор, но настройки и память общие для группы.

Автоматизации и подключения

  • Автоматизации — это планировщик прямо в процессе бота. Вебхуки приходят на POST /automations/{id}/hook и проверяются по сохранённому заголовку.
  • Подключения подключаются через локальный MCP-мост. Бот не отдаёт провайдеру hosted-инструменты, а подключение становится доступно группе только по решению владельца.

Приватность по умолчанию

  • Логи структурированы и скрывают токены, промпты, содержимое памяти и тела файлов.
  • В запросах к провайдеру есть обезличенный safety_identifier, выведенный из вашего id, но не сам id.
  • Трассировка по умолчанию выключена.
  • Рабочее пространство не касается хоста; код идёт только в контейнере.

Свой сервер

Полная настройка и конфигурация.