Попробуйте пример
Примеры на этой странице — это фрагменты, а не готовые моды. Каждый из них — код одного элемента и всего, что в него вложено. Чтобы посмотреть пример в своём терминале, создайте небольшой мод, следуя этим шагам, и вставьте в него пример. Мод добавляет команду/gallery, которая открывает панель и отрисовывает в ней пример. Панель — это боковая область рядом с транскриптом в широком полноэкранном терминале, а в остальных случаях — область в рамке над промптом.
1
Создайте мод
Создайте каталог Укажите точку входа в Сохраните код как
gallery, а внутри него — каталоги .claude-plugin и hooks. Назначение файлов объясняется в разделе Создание мода.Сохраните манифест как gallery/.claude-plugin/plugin.json:gallery/.claude-plugin/plugin.json
gallery/hooks/hooks.json:gallery/hooks/hooks.json
gallery/hooks/register.js. Он добавляет команду /gallery, которая открывает панель, и отрисовывает в ней Plain text:gallery/hooks/register.js
2
Запустите мод
В оболочке запустите Claude Code из каталога, содержащего В промпте Claude Code выполните
gallery:/gallery. Откроется панель с текстом Plain text.3
Подставьте пример
Скопируйте пример с этой страницы. В
register.js вставьте его вместо Text({ children: ['Plain text'] }), чтобы он шёл после return, и сохраните файл. Claude Code перезагружает модуль при каждом сохранении, поэтому снова выполните /gallery, чтобы увидеть новый пример.Выберите элемент
Примеры сгруппированы по тому, что вы хотите вывести на экран:- Вывод текста:
Text,MarkdownиLink - Вывод кода и изменений:
Code - Компоновка элементов:
Box - Ввод данных:
Button,InputиSelect - Рисование изображений:
Raster,Svg,ImageиClient
Вывод текста
Текст на экран выводят три элемента:Text — с вашим собственным оформлением, Markdown — для уже отформатированного содержимого и Link — для URL.
Text
Text отрисовывает строку с заданными вами стилями. В этом примере каждому стилю соответствует одна строка:


dimColor отрисовывает текст серым цветом. backgroundColor заливает фон только по ширине текста.
Markdown
Markdown форматирует текст так же, как форматируются ответы Claude. Передавайте содержимое в text, а не в children:


#. Встроенный код отрисовывается цветом без обратных кавычек. Цитата отрисовывается курсивом с чертой слева.
Link
Link отрисовывает подпись, а за ней — её URL:


Вывод кода и изменений
Code отрисовывает исходный текст с подсветкой синтаксиса в цветах самого Claude Code или diff.
Code
Укажите язык в language или передайте path, чтобы Claude Code определил язык по нему. С startLine строки нумеруются начиная с этого числа:


Code в виде diff
С format: 'diff' в source передаются один или несколько фрагментов (hunks) в формате unified diff:


@@ Claude Code отрисовывает номера строк. Если удалённая и добавленная строки похожи, изменившиеся слова подсвечиваются ярче.
Компоновка элементов
Box
Box располагает своё содержимое в строку или в столбец и может отрисовывать рамку. В этом примере над блоком в рамке размещается строка слов:


Ввод данных
Button, Input и Select — это элементы управления: пользователь переходит между ними клавишей Tab и работает с тем, на котором находится фокус. Какие клавиши до них доходят, описано в разделе Фокус клавиатуры и горячие клавиши.
Если открыть панель с focus: true, она получит фокус клавиатуры. Вводимые буквы попадают в Input, только когда на нём фокус, поэтому добавьте autoFocus: true к полю, которое должно принимать ввод сразу после открытия панели.
Button
Кнопка вызывает onPress. В этом примере показаны кнопка по умолчанию, кнопка plain с горячей клавишей и приглушённая кнопка:




Input
Input — это однострочное текстовое поле, которое вызывает onSubmit, когда пользователь нажимает Enter:


⏎ отображается submitLabel:




Select
Select позволяет пользователю выбрать один из нескольких вариантов и вызывает onSelect со значением value выбранного варианта:






Рисование изображений
Raster
Raster — это сетка цветных символьных ячеек для тепловой карты, спарклайна или игрового поля. Его отрисовывает терминал. В этом примере используется функция cellsOf из начального модуля, которая упаковывает ячейки в строку, принимаемую Raster. Подробнее см. в разделе Отрисовка сетки цветных ячеек:


Raster округляет каждый цвет до более ограниченной палитры, поэтому 0x2e7d32 отрисовывается как #337733.
Svg
Svg отрисовывает SVG-документ в приложении Desktop:
Svg, открывается пустой. Чтобы отрисовать там что-то другое, проверьте e.surface и верните другое дерево.
Image и Client
Для ещё двух элементов примеров здесь нет. Image отрисовывает PNG или необработанные пиксели в терминале. Client — это область, которую отрисовывает ваш второй файл, для анимации и ввода указателем. Их свойства перечислены в справочнике по элементам.
Где ещё может отрисовывать мод
Все примеры отрисовываются на панели. Мод также может отрисовывать в других местах и вызывать Claude Code, чтобы тот что-то показал за него:- Панель и полоса: Выбор места для отрисовки
- Собственные строки Claude Code, например индикатор загрузки: Изменение того, что уже отрисовывает Claude Code
- Всплывающее уведомление, строка состояния и строка лога: Показать что-то, не начиная ход
- Диалог с вопросом: Удержание вызова инструмента до решения пользователя
Дальнейшие шаги
- Отрисовка в интерфейсе: пошаговое создание панели с вкладками
- Тестирование отрисовки: нажатие ваших кнопок из теста
- Справочник по элементам: основные свойства каждого элемента и приложения, которые его отрисовывают