Документация
Кратко о каждом пункте меню, настройке и панели. Подпись в списке справа совпадает с подписью в 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: название, адрес, ключ и идентификатор модели.
У своей модели задаются лимит шагов агента и число повторов, если модель остановилась без завершения задачи.
Поиск
«Включить поиск по проекту» строит индекс имён файлов и текста. Поиск открывается в шапке по
Ctrl+P или ⌘P: нечёткое совпадение по имени и поиск по содержимому. Кнопка
«Показать размер индекса» показывает, сколько этот индекс занимает.
Настройки проекта
Действуют на открытый проект, а не на всю 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. «Сменить профиль» выходит из аккаунта в этом браузере, чтобы войти другим.
Редактор
Автодополнение
Подсказки появляются по мере набора. Без языкового сервера редактор предлагает слова, которые уже встречались в открытых файлах, и символы из синтаксического разбора текущего файла: функции, поля, методы. Этого хватает внутри одного файла.
С запущенным 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-автоматизация пишет команду во вкладку с названием скрипта: если такая вкладка уже есть, она переиспользуется.