ИИ кодер Документация

Документация

Кратко о каждом пункте меню, настройке и панели. Подпись в списке справа совпадает с подписью в IDE.

Сценарии использования

Типичные задачи, для которых удобен ИИ кодер. Ниже — что делать в IDE; детали по пунктам меню и панелям дальше по странице.

Разработка ПО и поддержка проектов

Откройте локальную папку или облачный проект, правьте код в редакторе, пользуйтесь Git, поиском и чатом в режимах «Агент», «План» или «Вопрос». Подсветка синтаксиса и при необходимости языковые серверы (LSP) доступны для:

  • Языки: TypeScript / JavaScript, Python, Go, Rust, PHP, Java, C / C++, C#, Kotlin, Dart, Ruby, Lua, Scala, Zig, Shell, SQL, GDScript
  • Веб и разметка: HTML, CSS, Vue, Svelte, Markdown, JSON, XML, YAML, Dockerfile

Список LSP в «Настройки → Код → LSP серверы»; включение для проекта — в настройках проекта. В десктопной версии к проекту можно подключить PostgreSQL или MariaDB: базы данных.

Изучение исходных кодов

Режим «Вопрос» объясняет фрагменты без записи на диск; «План» и агент опираются на структуру проекта, открытые вкладки и @-упоминания. Помогают переход к определению и ссылки (Tree-sitter / LSP), поиск по проекту и семантический embedding-индекс.

Тестирование

Запускайте тесты через автоматизацию (shell-скрипт из дерева или ПКМ в редакторе с фильтром по методу) или через «Агент (Терминал)» в десктопе. Пример PHPUnit — в разделе Пример: PHPUnit. API проверяйте HTTP-клиентом в файлах .http / .rest.

Документация в Markdown

Ведите README, ADRs и заметки в .md: предпросмотр вкладки, блоки Mermaid для диаграмм и схем. Тот же разбор схем используется в планах агента. Для правок текста удобны режимы «Вопрос» и «Агент».

Автоматизация

В настройках проекта задайте скрипты на JavaScript или Shell для папок и файлов: линтеры, сборка, тесты, служебные команды. Пункт «Автоматизация» появляется в меню дерева и при необходимости в редакторе. Как настроить и какие переменные передаются — в разделе Автоматизация.

Кнопка с маркой в левом углу шапки. Отсюда открывают проект, сохраняют его, вызывают Git, терминал и настройки.

Настройки

Вкладка в редакторе. Поля внутри вкладки описаны в её разделе, отдельного пункта в списке справа у них нет.

Внешний вид

Тема IDE красит панели, чат и дерево. Тема редактора меняет подсветку синтаксиса. Отдельно задаются шрифт и размер для оболочки, редактора, чата и дерева файлов.

«Отключить скролл табов редактора» переносит вкладки на следующую строку, когда они не помещаются в ширину.

Код

Отступы, шаблоны и языковые серверы. Подключение сервера здесь общее для всех проектов.

Табы и пробелы

«Отступ» выбирает, чем Tab увеличивает отступ: пробелами или символом табуляции. «Размер таба» — от 1 до 8. Для пробелов это число пробелов в одном уровне. Для табуляции — ширина символа в колонках.

Live templates

Аббревиатура и Tab раскрывают заготовку для выбранного языка. ${name} — поле, Tab переходит к следующему. ${0} — место, где остаётся каретка. Свои шаблоны добавляются здесь же, встроенные можно выключить или вернуть.

LSP серверы

Сервер языка включается один раз и доступен во всех проектах. Какие языки работают в конкретном проекте, задаётся в «Настройки проекта → Языковые серверы».

В вебе доступен только свой адрес wss:// (для localhost допустим ws://). В десктопной версии сервер можно скачать встроенным, взять из PATH или указать свой адрес. Пока сервер для файла не запущен, дополнение берёт символы из синтаксического разбора файла. С запущенным сервером дополнение, переход к определению и поиск ссылок идут по проекту.

ИИ Модели

«Активная модель для чата» — модель по умолчанию. Встроенные модели тарифов Lite и Pro редактировать нельзя. Своя модель — OpenAI-совместимый API или локальный Ollama: название, адрес, ключ и идентификатор модели.

У своей модели задаются лимит шагов агента и число повторов, если модель остановилась без завершения задачи.

Настройки проекта

Действуют на открытый проект, а не на всю IDE.

Автоматизация

Скрипты для файлов и папок проекта: тесты, линтеры, служебные команды. Включаются в «Настройки → Настройки проекта → Автоматизация». Пункт «Автоматизация» в меню дерева и редактора появляется только у путей, к которым скрипт уже привязан.

Как настроить скрипт

Включите автоматизацию галочкой и нажмите «Создать». Укажите путь цели относительно корня проекта (пустой — корень), название (оно же заголовок вкладки терминала), язык и источник: текст скрипта прямо в форме или путь к файлу в проекте.

Язык. JavaScript работает в вебе и в десктопе. Shell — только в десктопной версии с локальной папкой проекта: команда уходит в пользовательский терминал. Повторный запуск того же скрипта переиспользует вкладку с тем же названием, а не открывает новую.

Область распространения. Сам узел цели всегда видит скрипт. Область добавляет потомков: только папки, только файлы, все объекты или файлы с заданными расширениями (например php, ts).

Доступно в редакторе. Если галочка включена, скрипт появляется в ПКМ редактора кода для файлов из области видимости (подменю «Автоматизация»). Без галочки — только в дереве файлов.

Требования. Необязательные пары ключ → значение: перед запуском IDE спросит их в диалоге. В shell они становятся переменными окружения; в JavaScript в биндинги не попадают. Имена CURRENT_DIR, CURRENT_FILE и другие служебные ключи зарезервированы.

Кнопка «Проверить» запускает черновик на выбранном пути без сохранения. «Сохранить» записывает скрипт в настройки проекта.

Что передаётся в скрипт

При запуске из меню путь узла разбирается так: на папке заполнен каталог, файл пустой; на файле каталог — родительская папка, файл — кликнутый путь. Список files — файлы под этим каталогом.

При запуске из редактора дополнительно передаётся контекст каретки: выделение, текст строки с кареткой, имя класса и метода, если их удалось распознать синтаксическим разбором (Tree-sitter). Из дерева без открытого редактора эти поля пустые.

JavaScript (веб и десктоп):

currentDir, currentFile, currentSelectionText, currentCaretLineText, currentClass, currentMethod, files, readFile(path), toast(message, opts?), openChat(prompt, tabName). Верните 1, чтобы открыть консоль с выводом console.log.

Shell (десктоп, cwd — корень проекта):

$CURRENT_DIR, $CURRENT_FILE, $CURRENT_SELECTION_TEXT, $CURRENT_CARET_LINE_TEXT, $CURRENT_CLASS, $CURRENT_METHOD и ваши требования из формы. Скрипт удобно держать файлом в проекте (режим «Свой скрипт») и вызывать docker compose, PHPUnit и т.п.

Пример: каретка внутри метода add в src/Calculator.php или testAdd в тесте — скрипт может прочитать $CURRENT_METHOD / $CURRENT_CLASS и запустить один тест через phpunit --filter. Готовый shell-скрипт — в разделе Пример: PHPUnit.

Пример: PHPUnit из папки и из редактора

Сценарий: ПКМ на папке tests — весь suite; ПКМ на файле теста или на исходнике в редакторе — файл или один метод по каретке / выделению. Сохраните скрипт в проекте, например scripts/run-test.sh, сделайте исполняемым (chmod +x).

В «Автоматизация»: язык Shell, источник — свой скрипт scripts/run-test.sh, цель — корень или tests, область — файлы с расширением php (и при необходимости папки), галочка «Доступно в редакторе».

#!/usr/bin/env bash
# PHPUnit через docker compose.
# ПКМ на папке tests/              → весь suite
# ПКМ на tests/CalculatorTest.php  → файл или --filter по методу
# ПКМ в редакторе на src/...php    → соответствующий *Test.php
set -euo pipefail

DIR="${CURRENT_DIR:-}"
FILE="${CURRENT_FILE:-}"
METHOD="${CURRENT_METHOD:-}"
CLASS="${CURRENT_CLASS:-}"
SELECTION="${CURRENT_SELECTION_TEXT:-}"
CARET_LINE="${CURRENT_CARET_LINE_TEXT:-}"

DIR="${DIR#/}"; DIR="${DIR%/}"
FILE="${FILE#/}"

resolve_target() {
  local path="$1"
  if [[ -z "$path" || "$path" == "." ]]; then
    echo "tests"; return
  fi
  if [[ "$path" == "tests" || "$path" == tests/* ]]; then
    echo "$path"; return
  fi
  if [[ "$path" == "src" ]]; then
    echo "tests"; return
  fi
  if [[ "$path" == src/* ]]; then
    local mapped="${path/src/tests}"
    if [[ -f "$mapped" ]]; then
      echo "$mapped"; return
    fi
    if [[ "$mapped" == *.php && "$mapped" != *Test.php ]]; then
      mapped="${mapped%.php}Test.php"
    fi
    echo "$mapped"; return
  fi
  echo "$path"
}

to_test_method() {
  local name="$1"
  [[ -z "$name" ]] && { echo ""; return; }
  [[ "$name" == test* || "$name" == Test* ]] && { echo "$name"; return; }
  case "$name" in
    setUp|tearDown|setUpBeforeClass|tearDownAfterClass) echo ""; return ;;
  esac
  local first="${name:0:1}" rest="${name:1}"
  echo "test$(printf '%s' "$first" | tr '[:lower:]' '[:upper:]')$rest"
}

if [[ -n "$FILE" ]]; then
  TARGET="$(resolve_target "$FILE")"
else
  TARGET="$(resolve_target "$DIR")"
fi

if [[ ! -e "$TARGET" ]]; then
  echo "PHPUnit target not found: $TARGET" >&2
  exit 1
fi

FILTER=""
if [[ -n "$SELECTION" && "$SELECTION" =~ (test[A-Za-z0-9_]+|[a-zA-Z_][a-zA-Z0-9_]*) ]]; then
  FILTER="${BASH_REMATCH[1]}"
fi
if [[ -z "$FILTER" && -n "$METHOD" ]]; then
  FILTER="$METHOD"
fi
if [[ -z "$FILTER" && -n "$CARET_LINE" \
  && "$CARET_LINE" =~ function[[:space:]]+([a-zA-Z_][a-zA-Z0-9_]*) ]]; then
  FILTER="${BASH_REMATCH[1]}"
fi
FILTER="$(to_test_method "$FILTER")"

FILTER_CLASS=""
if [[ "$TARGET" == *Test.php ]]; then
  FILTER_CLASS="$(basename "$TARGET" .php)"
elif [[ -n "$CLASS" && "$CLASS" != *Test ]]; then
  FILTER_CLASS="${CLASS}Test"
elif [[ -n "$CLASS" ]]; then
  FILTER_CLASS="$CLASS"
fi

ARGS=("$TARGET")
if [[ -n "$FILTER" ]]; then
  if [[ -n "$FILTER_CLASS" ]]; then
    ARGS+=(--filter "${FILTER_CLASS}::${FILTER}")
  else
    ARGS+=(--filter "$FILTER")
  fi
fi

echo "→ phpunit ${ARGS[*]}"
docker compose run --rm php vendor/bin/phpunit "${ARGS[@]}"

Без Docker замените последнюю строку на vendor/bin/phpunit "${ARGS[@]}" или ./vendor/bin/phpunit "${ARGS[@]}".

Языковые серверы

Список языков, для которых сервер уже подключён в «Код → LSP серверы». Галочка запускает сервер в этом проекте. Язык без настроенного сервера здесь не появляется.

Embedding поиск

Семантический индекс проекта. Перед ответом агента в запрос попадают фрагменты кода, близкие к задаче. Индексацию и модель ранжирования можно включить отдельно и выбрать модель. Смена embedding-модели стирает индекс и строит его заново, это расходует баланс. Индекс можно выгрузить и загрузить обратно.

Базы данных

Только десктопная версия. В вебе этого раздела нет: браузер к серверу базы не подключается, запросы идут из приложения на вашем компьютере. Сервер PostgreSQL или MariaDB должен быть доступен с этой машины — локально, в Docker с проброшенным портом или по сети.

Подключение сохраняется в открытом проекте: «Настройки → Настройки проекта → Базы данных». Пароль остаётся на этом компьютере и не попадает в экспорт настроек моделей и в файлы проекта.

Как добавить подключение

Сначала откройте проект. Кнопка «Добавить» открывает форму. Поля обязательны, кроме пароля и галочки SSL.

  • Имя — подпись в списке и заголовок вкладки обозревателя.
  • Движок — postgresql или mariadb. Пока порт не меняли вручную, он подставляется сам: 5432 для PostgreSQL и 3306 для MariaDB.
  • Хост и порт. Для базы на этом же компьютере обычно 127.0.0.1.
  • Пользователь и пароль. Пустой пароль допустим, если сервер его принимает.
  • Стартовая база — база, с которой открывается соединение. Остальные базы сервера появятся в дереве после обновления схемы.
  • SSL — шифровать соединение. Включайте, если сервер требует TLS.

«Проверить» соединяется с сервером и выполняет SELECT 1 ещё до сохранения. Успех — сообщение «Соединение установлено», ошибка остаётся под формой. «Сохранить» записывает подключение в проект.

У сохранённой строки три действия. «Изменить» снова открывает форму. «Копировать» создаёт новое подключение с тем же хостом, портом, пользователем, паролем, базой и SSL и именем «… (копия)»; копию можно сразу поправить и сохранить отдельно. «Удалить» убирает подключение и закрывает его вкладку.

Обозреватель

Когда у проекта есть хотя бы одно сохранённое подключение, в подвале левой панели сразу после кнопки терминала появляется иконка базы. Клик открывает меню вверх со списком подключений. Выбор открывает вкладку обозревателя; повторный клик по тому же имени только переключает на уже открытую.

Слева — таблицы, которые вы открыли в этой вкладке. В центре переключатель «Таблица» / «SQL». Справа — дерево сервера и кнопка «Обновить схему»: она заново узнаёт базы и таблицы. У PostgreSQL между базой и таблицей есть схема (public и остальные). У MariaDB таблицы лежат сразу в базе. Служебные каталоги (pg_catalog, information_schema, mysql, performance_schema, sys) скрыты. Представления, индексы и процедуры в дерево не входят. Клик по таблице открывает её в этой же вкладке.

Режим «Таблица» показывает страницу из 100 строк и стрелки на предыдущую и следующую. Ячейки правятся как в DataGrip: вставка и удаление строк копятся локально, на сервер их отправляет «Сохранить», «Отменить» сбрасывает правки. Смена страницы или таблицы при несохранённых правках спрашивает подтверждение. Пустая ячейка и NULL — разные значения, NULL ставится кнопкой в ячейке. Если у таблицы нет первичного ключа, уже существующие строки только для чтения, новую строку вставить можно. Вычисляемые колонки тоже только для чтения.

Режим «SQL» — редактор запроса и кнопка «Выполнить». Подсветка и подсказки — ключевые слова SQL и имена таблиц выбранной базы. Запрос идёт в базу, выбранную в списке «База». Результат появляется снизу: колонки и строки (не больше 500, с пометкой обрезки) или число затронутых строк. Ошибка запроса тоже в этой панели. Ctrl+Enter или ⌘Enter выполняет запрос.

Правый клик по базе — «Создать таблицу»: режим SQL и заготовка CREATE TABLE table_name с колонкой id. Запрос сам не запускается. У MariaDB это AUTO_INCREMENT, у PostgreSQL — identity.

Правый клик по таблице в дереве:

  • SQL query — режим SQL и текст SELECT * FROM … LIMIT 100. Запрос сам не запускается.
  • Rename — новое имя и ALTER TABLE … RENAME TO.
  • Drop — подтверждение и DROP TABLE. Данные таблицы будут потеряны.
  • Modify — режим SQL и заготовка ALTER TABLE … с комментарием текущих колонок (имя, тип, NULL). Запрос сам не запускается.

Другое

«Язык ответов» задаёт язык ответов модели, подписей контекста и служебных сообщений цикла: русский или английский.

«Импорт настроек» и «Экспорт настроек» переносят список своих моделей файлом JSON. «Сменить профиль» выходит из аккаунта в этом браузере, чтобы войти другим.

Редактор

Контекстное меню

Правый клик в коде открывает действия для места каретки и для файла. «Перейти к строке…» ставит каретку на номер. «Перейти к определению» и «Найти ссылки» доступны, когда для файла работает языковой сервер или синтаксический разбор. «Найти» ищет выделенный текст. «Добавить в чат» прикладывает выделение или весь файл к следующему сообщению.

Ниже — «Сохранить», «Скопировать путь» и «Показать в обозревателе». «Скопировать путь» кладёт в буфер путь относительно корня проекта. В десктопной версии рядом есть «Скопировать полный путь»: абсолютный путь файла на диске. В вебе и у облачного проекта без локальной папки этого пункта нет. Тот же пункт есть в меню вкладки файла и в меню дерева. Если в проекте есть Git, подменю Git даёт историю файла, откат изменений и diff рабочей копии. У JSON есть «Автоформатирование».

Если для файла в настройках проекта включена автоматизация с галочкой «Доступно в редакторе», в меню появляется подменю «Автоматизация» — запуск скрипта с контекстом каретки (выделение, строка, класс, метод). Подробнее — в разделе Автоматизация.

Автодополнение

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

С запущенным LSP сервер отвечает сам: дополнение учитывает проект, а не только открытый текст. В десктопной версии сервер запускается на компьютере, поэтому переход к определению и ссылки работают заметно полнее, чем в вебе, где доступен только свой удалённый сервер.

Markdown и Mermaid

У файла Markdown в меню вкладки есть «Предпросмотр» и «Исходник». В предпросмотре обычная разметка становится текстом, а блок mermaid рисуется схемой. Тот же разбор схем используется в тексте плана.

HTTP-клиент

Файл с расширением .http или .rest открывается как HTTP-клиент: слева текст запросов, справа ответ и история. Запуск — кнопка у блока запроса в gutter или «Run» в панели. Формат совместим с привычным JetBrains / VS Code HTTP.

Структура. Запросы разделяются строкой ### (после неё можно имя). Строка запроса: метод и URL, затем заголовки Имя: значение, пустая строка и тело. Комментарии — # или //. Переменные файла: @name = значение. Подстановка из окружения и файла: {{name}}.

Окружения. Рядом с файлом или выше по дереву кладут http-client.env.json (публичные значения) и при необходимости http-client.private.env.json (секреты, ближе к файлу перекрывают). В тулбаре выбирают имя окружения (local, prod и т.д.).

После ответа. Блок > {% … %} — скрипт: доступны response (status, headers, body) и client.global.set/get для переменных следующих запросов.

Пример api.http:

###
# Выберите окружение local в тулбаре HTTP-клиента.
###

@host = {{baseUrl}}

### Health
GET {{host}}/api/healthz
Accept: application/json

### Создать задачу
POST {{host}}/api/tasks
Content-Type: application/json
Accept: application/json
Authorization: Bearer {{token}}

{
  "title": "demo",
  "done": false
}

> {%
client.global.set("taskId", response.body.id);
%}

### Получить задачу
GET {{host}}/api/tasks/{{taskId}}
Accept: application/json
Authorization: Bearer {{token}}

Пример http-client.env.json в корне проекта или рядом с .http:

{
  "local": {
    "baseUrl": "http://localhost:8787",
    "token": ""
  },
  "prod": {
    "baseUrl": "https://example.com",
    "token": ""
  }
}

Секреты лучше держать в http-client.private.env.json той же структуры и не коммитить файл. Тело можно взять из файла строкой < ./payload.json; для multipart/form-data удобны короткие поля name = value или file = < ./path ; type=….

Интерфейс

Левая панель

Дерево проекта. Её можно сузить за край или свернуть кнопкой панели. В облачном проекте в заголовке метка «Облачный». Точка рядом с ней значит, что локальная копия ещё не отправлена на сервер.

Файловый менеджер

Кнопки над деревом: «Обновить» перечитывает папку, «Показать активный файл» раскрывает путь к открытой вкладке, «Только изменённые файлы» оставляет файлы с правками, «Свернуть всё» закрывает ветки. Изменённый вами файл и файл, который правил агент, подсвечиваются по-разному.

Правый клик по файлу или папке — основное меню дерева: новый файл и папка, «Добавить в чат», копирование, переименование, удаление. Расширения входят через это же дерево, а не через отдельный список. Файл .http или .rest открывается как HTTP-клиент: запросы из файла, ответ и история — см. HTTP-клиент. Пункт «Автоматизация» в меню появляется у файла или папки, к которым в настройках проекта уже привязан скрипт.

У файла в репозитории есть подменю Git: история, откат и diff. «Предпросмотр» есть у HTML и у картинок, PDF, видео и аудио.

Обозреватель конфликтов

Левая панель в режиме «Разрешить конфликты». В дереве только файлы с конфликтами слияния, у каждого — число мест или отметка, что конфликт уже разобран. Обычные кнопки дерева в этом режиме скрыты, остаётся выход и «Свернуть всё».

Обозреватель изменений

Левая панель в режиме «Сравнить». Дерево показывает файлы, которые отличаются между выбранными ветками или входят в выбранный коммит. Клик открывает diff в редакторе. Режим сравнения и режим конфликтов не работают одновременно.

Предпросмотр

В вебе «Предпросмотр» у HTML открывает страницу в новой вкладке. Файлы проекта отдаются этой вкладке, поэтому относительные ссылки, стили и скрипты страницы выполняются как у обычного сайта. Картинки, PDF, видео и аудио открываются вкладкой внутри IDE, и только если проект — локальная папка.

В десктопной версии тот же пункт у HTML открывает файл в системном браузере, а не во встроенной вкладке.

Правая панель (ИИ агент)

Чат с моделью: вопросы, планы и правки проекта. Панель сворачивается кнопкой в шапке чата. Несколько вкладок-сессий сверху: у каждой свои сообщения, режим, модель и параметры запроса. «+» создаёт сессию; ПКМ по вкладке — переименовать, закрыть или закрыть остальные. Пока идёт ответ, у вкладки индикатор «идёт» или «ждёт».

Кольцо рядом с балансом показывает, насколько заполнено контекстное окно (протокол, история, дерево, открытые файлы, @-упоминания). «Копировать историю» и «Очистить чат» относятся к активной сессии.

Внизу — поле ввода, выбор режима, модели и настроек запроса. В тексте можно набрать @ и прикрепить открытый файл; картинки — если модель или тариф их принимают. «Отправить» запускает прогон, «Стоп» прерывает. Короткий или почти пустой запрос может сам переключиться в «Вопрос».

Режимы ИИ агента

Режим выбирается в списке у поля ввода и хранится у сессии. Он задаёт, что модель имеет право делать: только отвечать, составить план или менять проект. Смена режима во время исполнения плана спрашивает подтверждение и останавливает прогон.

Вопрос

Отвечает текстом по коду и может прочитать отдельный файл. Дерево проекта и тела открытых файлов в контекст не кладутся так же полно, как у агента — режим дешевле по токенам и безопасен: на диск ничего не пишет. Удобен для объяснений, ревью фрагмента и коротких уточнений. Если нужны правки файлов — переключитесь в «Агент» или «План».

План

Изучает проект (структура, открытые файлы, правила) и пишет план в Markdown: этапы и чек-лист. Запись на диск в этом режиме запрещена — только исследование и текст плана. Готовый план открывается отдельной вкладкой редактора; оттуда можно запустить исполнение (переход к обычному агенту). Пока план выполняется, смена режима прерывает работу после подтверждения.

Агент

Основной режим правок без оболочки. Модель читает и меняет файлы проекта: создаёт, правит, переименовывает. Удаление непустой папки спрашивает подтверждение. Команд терминала нет — сборки, тесты и git через shell делайте вручную, автоматизацией или в режиме «Агент (Терминал)». В контекст попадают структура проекта, активный файл, правила проекта и прикреплённые через @ файлы.

Агент (Терминал)

Только десктоп и локальная папка проекта. Модель запускает команды в оболочке корня проекта (run_command) и может читать, создавать и править файлы. Удаление и переименование через инструменты агента остаются у обычного «Агента». Рискованная команда не уходит в shell, пока её не подтвердят карточкой в чате. Выход за корень проекта запрещён.

Для этого режима лучше понизить температуру в настройках сессии или выбрать пресет «Быстрый» (температура 0.2): команды стабильнее, меньше случайных вариантов оболочки.

Настройка сессии

Иконка настроек у поля ввода хранит параметры этой сессии чата. Пресеты «Быстрый», «Базовый» и «Эксперт» задают пару «размышление» и температуру. У «Быстрого» температура 0.2, у «Базового» — 0.4, у «Эксперта» — 0.6. Галочка размышления просит модель сначала рассуждать, а потом отвечать. Выключенная галочка отвечает сразу и тратит меньше токенов. Если модель размышления не умеет, галочка недоступна.

Температура от 0 до 1. Ниже — ответ строже и предсказуемее, выше — свободнее. Значение записывается в выбранный пресет и остаётся у этой сессии. В режиме «Агент (Терминал)» рекомендуется понизить температуру или взять пресет «Быстрый».

Нижняя панель

История файла открывается доком под редактором. Консоль и терминал — общая нижняя полоса на всю ширину IDE. Её высота тянется за верхний край.

История Git

Пункт «Git → История» в меню файла. Под редактором список коммитов, которые меняли этот файл: короткий хеш, автор, дата и тема. Выбор коммита открывает diff файла на тот момент. Закрытие крестиком прячет док.

Консоль

Нижняя панель в вебе. Это консоль JavaScript: ввод выражений и вывод сообщений. Новая вкладка — кнопка «+». Скрипт автоматизации открывает такую вкладку и показывает свой вывод, когда возвращает 1. В десктопной версии та же вкладка консоли появляется у JavaScript-автоматизации, а обычный «+» открывает терминал.

Терминал

Нижняя панель в десктопной версии. Обычная оболочка в каталоге проекта: несколько вкладок, у каждой свой каталог. Облачный проект без папки на диске терминал не открывает — нужна локальная папка. Выделенный текст можно скопировать или добавить в чат. Режим «Агент (Терминал)» выполняет команды в этой же оболочке.

Shell-автоматизация пишет команду во вкладку с названием скрипта: если такая вкладка уже есть, она переиспользуется.