# Возможности VibeIDE Полный каталог функциональности VibeIDE — что умеет редактор и его AI-ядро. Документ организован по темам, без привязки к номерам версий: здесь — «что есть», а история изменений по релизам живёт в [GitHub Releases](https://github.com/VibeBrains/VibeIDE/releases). > Новое в каждом релизе попадает сюда автоматически — при сборке ченджлога секция «✨ Новое» > сливается в соответствующую тему этого файла (см. `CLAUDE.md` → «Версионирование»). --- ## 🧠 AI-ядро - **Роутер LLM-провайдеров** — OpenAI, Anthropic, Gemini, Mistral, Ollama и другие. Разные модели для разных задач (чат, автокомплит, inline-правки). - **Свои LLM-провайдеры через `.vibe/providers.json`** — добавить, переопределить или выключить провайдера и модели **без пересборки IDE**. Работают как встроенные: карточка в «Облачных провайдерах», проверка валидности ключа (✓/✗), источник ключа (`.vibe/.env` или введён в IDE), живой каталог моделей из `/v1/models`, вкладка «Модели» с тумблерами. Возможности модели (vision, reasoning, формат инструментов, размер контекста) берутся из базы знаний так же, как у встроенных. Патч встроенных по `id`, клон через `extends`, порядок через `order` + IntelliSense и диагностика в редакторе. - **Локальные модели (Ollama, LM Studio)** — автодетект и онбординг встроены. - **Автокомплит FIM (Fill-in-the-Middle)** — встроенный, без дополнительных расширений. - **Инлайн-редактирование кода** (Ctrl+K), детекция ошибок и код-ревью силами выбранной модели. Ctrl+K понимает слэш-команды `/doc`, `/refactor`, `/tests`, `/explain`, `/fix`. - **Индексация кодовой базы и семантический поиск (RAG)** по всему репозиторию. - **Image QA** — анализ скриншотов и диаграмм как часть контекста (с privacy-гейтом и лимитом размера). --- ## 🤖 Агенты и автопилот - **Мультиагентная оркестрация** с территориальными блокировками — агенты не мешают друг другу. - **Персистентные планы** — план агента переживает перезапуск IDE и продолжается с места остановки; финал плана записывается на диск, без ложного «Continue Plan» на каждом старте. - **Skills system** — переиспользуемые AI-поведения на уровне проекта; `/skill:NAME` выгружается в контекст целиком. - **Автопилот** — агент доводит шаг до конца сам, без выпрашивания «продолжить»; на длинной серии шагов делает чекпоинт-вопрос «продолжать?». Завершает ход через `vibe_complete` вместо текстового «готово» в цикле. - **Детектор петель** — автоматически останавливает зациклившегося агента. - **Dead man's switch** — защитный механизм для долгих автономных задач. - **Самовосстановление** — IDE пережидает лимиты провайдера, перезапускает зависшие ходы и переключает формат инструментов (native ↔ XML) на лету. - **Роли-субагенты (Vibe Agents)** — набор ролей (планировщик, дизайнер, фронтенд/бэкенд, ревьюер, QA, security) с правами на роль: ревьюер и security работают только на чтение, без записи. Команда «Показать маршрут ролей» подсказывает, кто и в каком порядке возьмётся за задачу; security подключается автоматически на чувствительных темах (OAuth, платежи, секреты). - **Дисциплина минимализма кода** — режимы `off`/`лайт`/`фулл`/`ультра` (настройка «Минимализм агента» в разделе «Инструкции для ИИ» или ключ `vibeide.global.minimalismMode`). Лайт — «сначала переиспользуй»: существующий код → stdlib → платформа → установленные зависимости, без спекулятивных абстракций (YAGNI). Фулл — полная лестница из 7 ступеней перед написанием любого нового кода. Ультра — плюс требование минимального ревьюабельного диффа: агент оспаривает избыточные требования и явно перечисляет, что сознательно не реализовал. Валидация, обработка ошибок, безопасность и доступность не урезаются ни в одном режиме; правила проекта (`.vibe/rules`, `AGENTS.md`) приоритетнее дисциплины. Меньше кода — меньше токенов и быстрее ход. - **Делит-лист и леджер упрощений** — слэш-команда `/simplify` в чате прогоняет текущий git diff по лестнице минимализма и возвращает делит-лист (файл:строка, что удалить/упростить, почему, экономия строк), ничего не меняя в файлах. Сознательно отложенные упрощения помечаются в коде комментарием `vibe-later: <что и почему>` (агент делает это сам в режимах фулл/ультра); команда палитры «Леджер отложенных упрощений (vibe-later)» собирает все маркеры воркспейса в markdown-отчёт с кликабельными `путь:строка`. --- ## 🌐 Vibe Server — локальный предпросмотр - **Панель «Vibe Server»** поднимает локальный сервер и показывает результат прямо в IDE (встроенный браузер) или во внешнем браузере — на выбор. - **Три режима под проект:** статический сайт (HTML/CSS/JS), **dev-сервер фреймворка** (Vite/Next/React/Vue/Angular — запускается ваш `npm run dev` и берётся его URL) и **Docker-окружение** (`docker compose` / Dockerfile — кнопкой «Поднять окружение»). - **Живая перезагрузка:** правка файла сразу обновляет превью; CSS применяется без перезагрузки страницы (состояние и прокрутка сохраняются). - **Встроенный браузер** с адресной строкой, навигацией, размерами под телефон/планшет/десктоп и поворотом; несколько вкладок и синхронизация прокрутки. - **Превью на телефоне** — адрес в локальной сети (LAN) и **QR-код** для быстрого открытия. - **Ошибки превью в чат** — ошибки консоли и проваленные сетевые запросы одной командой уходят агенту; счётчик ошибок виден в строке состояния. - **Без зомби-процессов** — dev-сервер корректно гасится при закрытии IDE (kill по владельцу порта), а осиротевший от прошлого запуска выметается на старте; новый сервер не уезжает на чужой порт. - **Занятый порт проекта — под контролем.** Если порт из конфигурации проекта занят (dev-сервер ушёл на соседний порт или упал с EADDRINUSE), IDE показывает модальное окно: **освободить порт** (завершить занявший его процесс и перезапустить dev-сервер), **работать на подменённом порту** (только на эту сессию — порт в конфигурации проекта не меняется никогда, деплой ждёт именно его) или **отмена** (разрулить самому). Если порт держит dev-сервер другого проекта, запущенного в этой же VibeIDE, окно называет проект и по умолчанию предлагает сосуществование, а не убийство соседа. Работа на подменённом порту помечается в статус-баре: `3001 (вместо 3000)`. Отключается настройкой `vibeide.vibeServer.portConflictPrompt`. --- ## 🚀 Vibe Deploy — деплой в облако - **Деплой проекта в облако через агента** — Timeweb Cloud первым, провайдеро-агностично: анализ проекта → Docker → инфраструктура → домен/SSL → CI/CD. Перед любым внешним действием спрашивает подтверждение; секреты не уходят в репозиторий. --- ## 💬 Чат и контекст - **Подмешивание контекста на ходу** — пока агент работает, набранный текст по Enter встаёт в очередь и учитывается на следующем шаге, без остановки хода. Очередь видна **закреплённой полоской над полем ввода**, любую заметку можно убрать крестиком. - **Закрепление сообщений булавкой** — важное в чате не вырезается при обрезке истории. - **Динамическая фильтрация контекста** — промежуточные результаты инструментов сжимаются до попадания в основной контекст (режимы `auto`/`raw`/`aggregate`/`off`), с явным маркером усечения — без тихого удаления. - **Кеширование промпта** — повторные большие префиксы контекста стоят кратно дешевле. - **Таймлайн чата** — видно, где ход «задумался», без копания в консоли; у инструментов виден `start`/`done` и длительность. - **Правила проекта** — дерево `.cursor/rules/` и legacy `.cursorrules` подхватываются и ходят по ссылкам (`@rule`), как в Cursor. - **Экспорт чата в Markdown** — скопировать переписку в буфер обмена (tool-результаты усечены для компактности) или сохранить **полный** лог в `.md`-файл через диалог сохранения; свёрнутые блоки рассуждений сериализуются независимо от состояния UI. - **Автоскролл и кнопка «вниз»** — пока агент стримит, чат сам держится у низа (с запасом, без отрыва на мелком отставании); если отлистал вверх читать историю — внизу появляется кнопка прокрутки к последнему сообщению. ### Лимиты сессии и контекстного окна - **Session token limit** — потолок input+output токенов на чат-сессию (по умолчанию 2 000 000). Warning на 80%, блокировка на 100% до reset; при включённом автопилоте — авто-сброс с записью в лог (rate-limited). - **Context window guard** — следит за заполнением окна модели в реальном времени: non-blocking warning на 75%, blocking-диалог *compact / continue / cancel* на 90%. - **Индикатор в статус-баре** — текущее заполнение контекста, цвет зелёный → жёлтый → красный; по клику открывается status-pane. Показывает реальные токены провайдера. - **Per-task split (опционально)** — делит session-budget между задачами очереди агентов пропорционально. --- ## ✏️ Надёжные правки файлов - **Простой формат `edit_file`** — «что заменить» (`old_string`) и «на что» (`new_string`), два обычных поля. Слабые модели (MiniMax и др. через агрегаторы) больше не сваливаются в десятки одноразовых скриптов. - **Терпимый поиск** заменяемого текста — правка применяется, даже если модель чуть ошиблась в отступах/пробелах или слегка перефразировала середину (line-trimmed + block-anchor). - **Выравнивание отступа** блока по файлу, если модель скопировала якорь без отступа. - **Без потери кода** — незавершённый блок правки отклоняется с подсказкой, а не применяется как удаление. - **Режим «Обзор»** (read-only) не зацикливается — агент прямо предлагает переключиться на «Агента» для применения правок. - **Рефактор-инструменты** (rename/extract/generate_tests) — под тем же подтверждением, что и обычные правки. --- ## 🔔 Уведомления о фоновой активности агента Когда агент завершил работу, остановился или ждёт вашего ответа, а IDE свёрнута или в фоне: - **Звук** — короткий сигнал на завершение / остановку / ожидание ответа. Раздел «Уведомления» в настройках: выбор звука с прослушиванием, громкость, тумблеры событий. - **Редактор «VibeIDE Звуки»** — загрузить свой трек, обрезать окно до 5 секунд по звуковой волне, прослушать и сохранить (в папку `sounds` рядом с данными IDE). - **Мигание иконки в панели задач** (на macOS — прыжок в Dock) — не отвлекает, но забыть не даёт; клик возвращает к IDE и переключает на её рабочий стол. - **Системный тоаст** с тем же сообщением; клик по нему тоже возвращает к VibeIDE. Всё срабатывает только когда окно не в фокусе. Отключается тумблером. --- ## 🔌 Провайдеры: диагностика и надёжность - **Модалка «Проверка провайдеров»** — показывает активные провайдеры (у кого прописан ключ) и послойно проверяет связь: конфиг → сеть → авторизация → каталог моделей, с задержкой ответа. Отчёт выгружается в Markdown. - **«Починить связь»** — иконка-ключ в статус-баре лечит «токены вдруг перестали приходить у всех провайдеров» **без перезапуска IDE**: пересоздаёт сетевое соединение и сбрасывает кэши клиентов. Плюс **автолечение**: если сетевые сбои идут сразу у двух и более провайдеров в одном окне (сигнатура залипшего общего пула соединений), IDE пересоздаёт транспорт сама — с уведомлением и кнопкой «Проверка провайдеров»; не чаще раза в 10 минут, отключается `vibeide.llm.autoResetTransport`. Смена настроек провайдера (включая заголовки в `.vibe/providers.json`) теперь подхватывается без перезапуска — клиент пересоздаётся автоматически. - **Failover провайдеров** — переключение при недоступности. - **Внешний каталог квирков моделей** — таблица особенностей моделей (пустой ответ при стандартной `temperature`, требование `reasoning_content`, XML-режим вместо native function-calling) берётся из самого свежего источника (рядом с exe / из сборки / с CDN, по дате). Новая «странная» модель — это PR на один файл, а не релиз IDE. - **Нормализация вызовов инструментов** — имена `file_read`/`FileRead`/`ReadFile` сводятся к одному концепту; аргументы от чужого тула чинятся на лету; self-closing-теги (``) распознаются. В настройках (Безопасность → «Нормализация tool-call») — **живые счётчики слоёв защиты**: видно, какая форма «нестандартных» вызовов у текущей модели и какой слой её тащит; кнопки «Обновить» и «Сбросить счётчики» для А/Б-проверки конкретной модели. - **Нативные режимы рассуждений моделей** — слайдер «мышления» в чате говорит с моделью на её родном языке: для MiniMax-M3 это `adaptive` (модель сама решает, думать ли — дефолт, экономит токены на тривиальных шагах) / `enabled` (думать всегда) / выключено; для Anthropic — бюджет токенов; для OpenAI-совместимых — уровни усилия. --- ## 🔗 MCP (Model Context Protocol) - **Официальный SDK** — подключение MCP-серверов. - **OAuth / token manager** — единое место для OAuth-токенов MCP (ротация, отзыв, индикатор истечения), секреты через шифрование. - **Sampling / Elicitation** — паттерны «модель запрашивает уточнение у пользователя» с единым UX подтверждения. --- ## ⌨️ Команды проекта - Описываются один раз в `.vibe/commands.json` — едут в репозитории вместе с проектом, у коллег появляются автоматически. - Закреплённые (`pinned: true`) — отдельное меню **Команды** в шапке IDE: inline pin / edit / delete без перехода в настройки. - Топ-9 закреплённых — горячие клавиши `Ctrl+Shift+Alt+1..9` автоматически (пере-биндятся при изменении набора). - Импорт из `.vscode/tasks.json` через палитру одним кликом. - Sanitizer режет shell-метасимволы и zero-width injection; первый запуск и любая правка команды требуют явного approve (hash в `.vibe/commands.trust.json`). - Секреты через `${secret:KEY}` — реальные значения не попадают в audit-лог и не уходят в облачные индексаторы. - Редактор: форма с валидацией или прямой JSON-режим. --- ## 🔒 Безопасность и приватность - **Нет телеметрии Microsoft** — поле `enableTelemetry` убрано из `product.json`. Локальное хранение телеметрии с явным opt-in для облака. - **API-ключи через Electron `safeStorage`** (macOS Keychain, Windows DPAPI, Linux libsecret). - **Детекция секретов** перед отправкой контекста в любой LLM. - **Config Guard** — проверяет `.vibe/providers.json` и `mcp.json` при загрузке: незашифрованные endpoint-ы, секреты в открытом виде, запуск удалённых скриптов в MCP. Команда «Config Guard — показать находки». - **`.vibe/ignore`** — файлы из него агент не читает и не ищет (например минифицированные бандлы в одну строку, раздувающие контекст). - **Офлайн-гейт приватности** — embedding и контекстный пайплайн уважают офлайн-режим. - **Аудит-лог** — `.vibe/audit.jsonl`, одна служебная папка в проекте. - **First-run security wizard** и анализ разрешений расширений. --- ## 🧩 Редактор - **Полная совместимость с VS Code** — настройки, кейбиндинги и рабочие процессы переносятся без изменений. - **Раскладки клавиш** — включая пресет из IntelliJ. - **Реестр расширений Open VSX** — без аккаунта Microsoft. - **Встроенная тема Vibe Neon.** - **Git-интеграция** с автоматическим stash при агентных правках; генерация commit-сообщений моделью. - **Добавить/убрать из .gitignore** — правой кнопкой на файле или папке в проводнике (работает с мультивыделением) либо на табе редактора. Пишет якорную запись (`/путь`) в `.gitignore` корня workspace-папки (создаёт файл при отсутствии), понимает уже существующие варианты написания и не дублирует их; «убрать» удаляет точные записи, а если путь игнорируется wildcard-шаблоном — честно говорит, что такое правило правится вручную. - **Чаты по проектам** — история чата привязана к проекту и не «ходит в гости». - **Адаптивные модальные окна** — единые отступы, прокрутка появляется только когда содержимое не вмещается. --- ## 🩺 Диагностика и стабильность - **Watchdog памяти** — следит за ростом каждые несколько минут, предупреждает до OOM (pre-OOM detector), умеет собрать crash-report и снять heap snapshot. - **Восстановление после краша** ext-host и stale execution lease — баннер «взять управление / отменить» вместо немого зависания. - **OTLP-трейсы агентного цикла** — spans на tool-calls, latency провайдера, размер контекста (локальный экспорт, не облако по умолчанию). - **Сырые XML-теги в чате** прячутся в лаконичный плейсхолдер вместо протечки в UI. - **Копирование логов одной кнопкой** — диагностические/агентские логи берутся в буфер без выковыривания из файлов. - **Единое управление логированием** — настройки `vibeide.logging.*` (уровень, категории с wildcard, per-category уровни, схлопывание повторов) действуют живьём на **все процессы**, включая main; редакция секретов работает во всех приёмниках лога каждого процесса (консоль, ring-buffer → буфер обмена, Output-канал, файл). --- ## 📦 Установка и сборка - **Установщик `VibeIDESetup.exe`** (издатель VibeBrains) + portable `.zip`. - **macOS (Apple Silicon, arm64)** — `.dmg` (перетаскиванием в Applications) + портативный `.zip`. Сборка пока не нотаризована Apple: при первом запуске Gatekeeper требует «Open Anyway» (System Settings → Privacy & Security) либо `xattr -cr /Applications/VibeIDE.app`; SHA-256 артефактов публикуются в release notes. Intel-маки не поддерживаются. - **Доступен в winget** — `winget install VibeBrains.VibeIDE` (Windows). - **Портативный режим** — папка `data/` рядом с исполняемым файлом. - **Двухфазный релиз-поток** (сборка → ручная проверка → публикация) — для самого проекта, на обеих платформах (`release-windows.ps1` / `release-macos.sh`).