Об этом проекте

Koris Assistant — это автономный фреймворк для AI-агентов, написанный на строгом TypeScript и работающий на Node.js 24+ с pnpm. Он организован как модульная система с четырьмя семействами плагинов: каналы, инструменты, навыки и MCP-серверы. Плагины можно загружать по требованию из сопутствующего репозитория-хаба и горячо подключать без перезапуска агента. Каналы включают Telegram, WhatsApp, интерактивный терминальный интерфейс и веб-панель на React 19. Единый шлюз сообщений и менеджер сессий управляют всеми ими. Фреймворк также поддерживает Model Context Protocol через Streamable HTTP, обнаруживая удаленные инструменты и помещая их в пространство имен как server__tool внутри конвейера инструментов LLM. Голосовая поддержка локальная: распознавание речи использует Whisper через sherpa-onnx, а синтез речи — нейронные голоса Piper, оба обслуживаются легким сайдкаром на порту 6006. Голосовые заметки в WhatsApp или веб-интерфейсе транскрибируются автоматически, доступен режим голосового ответа для каждого разговора. Память и сессии сохраняются в SQLite, охватывая долгосрочные факты, уроки, сводки, семантические эмбеддинги, отслеживание сессий и историю разговоров. Доступ к моделям мультипровайдерный: Ollama, пресеты, совместимые с OpenAI, такие как openai, deepseek, groq, openrouter, xai, mistral, together, gemini и nvidia, плюс провайдер Mock. Разные провайдеры и модели могут назначаться по ролям, например, основной агент против фоновых воркеров против эмбеддингов. Клиентские оболочки включают веб-панель, TUI, настольное приложение Tauri, использующее нативный вебвью ОС, и настольную оболочку Electron. Планируемые cron-фоновые субагенты, называемые heartbeat-агентами, обрабатывают автономные рутины, обслуживание и уведомления. Выполнение инструментов изолировано, включая доменно-ограниченный HTTP curl, самостоятельный веб-поиск SearXNG, отслеживание задач, управление стикерами и пользовательские плагины. Проект документирует функцию «поручений»: делегированные разговоры, выполняемые плагином агента Negotiator, который преследует цель с контактом, информируя запрашивающего пользователя. Каждое поручение создает новую делегированную дочернюю сессию для каждой цели, с идентификатором родительской сессии, идентификатором поручения и инструкциями, хранящимися в метаданных SQLite. Команды включают список, одобрение, ответ, повтор, закрытие и отмену поручений. README описывает переходы состояний, восстановление доставки, продвижение очереди, поведение при истечении срока и известные ограничения вокруг веб-опроса и доставки ровно один раз. Настройка включает установку зависимостей, копирование примера файла настроек в koris.json или использование веб-мастера настройки, проверку конфигурации и сборку. Затем агент может работать как веб-сервис, в TUI или как настольное приложение. Дополнительные сервисы Docker Compose предоставляют SearXNG и аудио-сайдкар. Проект заявляет, что использует строгие проверки TypeScript, тестовые наборы Vitest и мутационное тестирование Stryker, и лицензирован под ISC.