# Плагины и навыки ## Плагины ### Что такое плагины? Плагины, это TypeScript-модули, расширяющие функциональность Neotask во время выполнения. Они могут добавлять новые каналы обмена сообщениями, инструменты агентов, RPC-методы, команды CLI, фоновые сервисы и навыки. ### Официальные плагины **Каналы обмена сообщениями:** - Microsoft Teams, Matrix, Nostr, Zalo, Feishu/Lark, LINE, Nextcloud Talk, Mattermost, Tlon, Twitch **Функции:** - **Voice Call**, поддержка SIP-телефонии для входящих/исходящих голосовых звонков - **Memory (LanceDB)**, долгосрочная память с поиском по векторному сходству - **MCP Native**, интеграция сервера Model Context Protocol для подключения внешних инструментов **Провайдеры аутентификации:** - Google Antigravity OAuth, Gemini CLI OAuth, Qwen OAuth, Minimax OAuth, VS Code Copilot Proxy ### Возможности плагинов Плагины могут регистрировать: - **RPC-методы**, пользовательские методы WebSocket для вызова клиентами - **HTTP-обработчики**, пользовательские HTTP-эндпоинты на Gateway - **Инструменты агентов**, новые инструменты с типизированными схемами, которые могут вызывать агенты - **Команды CLI**, дополнительные команды командной строки - **Фоновые сервисы**, долго работающие процессы, управляемые Gateway - **Навыки**, директории навыков, поставляемые с плагином - **Команды авто-ответа**, команды, выполняемые без участия ИИ-агента ### Безопасность плагинов Neotask проверяет плагины на нескольких уровнях, прежде чем они запустятся: - **Подписаны и проверены.** Пакеты в публичном каталоге Construct публикует Neotask; перед выпуском они автоматически проверяются и подписываются ключом выпусков Neotask. Перед установкой Neotask сверяет подпись с ключами, встроенными в Neotask, и проверяет хеш SHA-256 загруженного файла. - **Без скриптов установки.** Пакеты Construct поставляются вместе с зависимостями, поэтому при установке никогда не запускаются менеджер пакетов или скрипт установки. Если другая установка плагина использует npm, скрипты установки отключены. - **Проверка при установке.** Плагины, устанавливаемые не из Construct, проверяются на опасный код, а критические находки блокируют установку. - **Лицензия на выпуск.** Плагин Construct загружается, только пока у вашей учётной записи есть действующее разрешение на этот выпуск. Отозванные выпуски не загружаются. - **Одобрение действий агента.** Вызовы инструментов агентом, включая инструменты, добавленные плагинами, проверяются по вашей политике одобрения, и действия, требующие вашего согласия, ждут его. Если агент хочет установить программу не по встроенным рецептам установки Neotask, он всегда показывает точную команду и ждёт вашего одобрения. - **Необязательная песочница.** Инструменты агента можно запускать в изолированном контейнере Docker, а не прямо на вашем компьютере. По умолчанию песочница выключена; как её включить, см. в разделе [Безопасность](security.md). Нативные плагины работают внутри процесса Gateway, поэтому плагин, установленный не из Construct,, это код, который вы сами решаете запустить. Укажите в `plugins.allow`, какие плагины разрешено загружать. --- ## Навыки ### Что такое навыки? Навыки, это модульные возможности, обучающие агентов новым рабочим процессам. Каждый навык, это markdown-файл (`SKILL.md`) с инструкциями, которые внедряются в контекст агента, когда это уместно. ### Расположение навыков (в порядке приоритета) 1. **Навыки рабочего пространства**, `/skills/` (наивысший приоритет) 2. **Управляемые навыки**, `~/.neotask/skills/` 3. **Встроенные навыки**, поставляются с Neotask 4. **Навыки плагинов**, навыки, упакованные с установленными плагинами 5. **Дополнительные директории**, дополнительно настроенные пути (наименьший приоритет) Когда несколько навыков имеют одинаковое имя, побеждает расположение с наивысшим приоритетом. ### Функции навыков - **Вызываемые пользователем**, запускать навыки напрямую с помощью slash-команд (например, `/docker-build`) - **Вызываемые моделью**, навыки, которые агент может вызывать самостоятельно, когда это уместно - **Диспетчеризация команд**, навыки, отображающиеся на конкретные инструменты - **Контроль требований**, навыки загружаются только при выполнении их требований (необходимые бинарные файлы, ключи конфигурации, переменные среды, плагины) ### Создание навыков Создайте файл `SKILL.md` с YAML-фронтматером, определяющим метаданные и инструкции навыка: **Поля фронтматера:** - `name`, идентификатор навыка - `description`, что делает навык - `homepage`, ссылка на документацию - `user-invocable`, могут ли пользователи запускать его напрямую - `disable-model-invocation`, запретить агенту вызывать его автономно - `command-dispatch`, инструмент для диспетчеризации - `metadata.neotask.requires`, предварительные требования (bins, config, env, plugins) **Тело:** Markdown-инструкции, обучающие агента использованию навыка, включая примеры и рекомендации. ### Каталог навыков Просматривайте доступные навыки в [каталоге навыков](/skills). ### Категории навыков Навыки охватывают широкий спектр возможностей: | Категория | Примеры | |----------|---------| | **Продуктивность** | Управление электронной почтой, календарь, генерация документов | | **Разработка** | Операции Git, CI/CD, Docker, проверка кода | | **Коммуникации** | Обмен сообщениями, уведомления, объявления | | **Медиа** | Обработка изображений, редактирование видео, транскрипция аудио | | **ИИ и модели** | Переключение моделей, управление промптами, RAG | | **Умный дом** | Управление IoT-устройствами, триггеры автоматизации | | **Утилиты** | Конвертация файлов, трансформация данных, веб-скрейпинг |