Skip to Content
Руководство для пользователейВозможностиРендеринг Markdown

Рендеринг Markdown

Qwen Code отображает стандартные конструкции Markdown непосредственно в TUI, чтобы ответы модели было легче просматривать, не покидая терминал. Рендерер спроектирован так, чтобы исходный код оставался доступным, особенно для визуальных блоков, таких как диаграммы Mermaid и LaTeX-математика.

Режимы Render и Raw

По умолчанию Markdown отображается в режиме render. Поддерживаемые блоки визуализируются в виде предпросмотра, где это возможно:

  • фрагменты кода Mermaid
  • таблицы Markdown
  • списки задач
  • цитаты
  • строчная и блочная LaTeX-математика
  • фрагменты кода с подсветкой синтаксиса

Нажмите Alt/Option+M, чтобы переключить текущую сессию между режимами. На macOS терминал должен передавать Option как Meta для этого сочетания; иначе Option+M будет восприниматься как обычный ввод текста.

  • render: показывать расширенный терминальный предпросмотр для поддерживаемых элементов Markdown.
  • raw: показывать исходный Markdown для визуальных блоков, таких как Mermaid, таблицы и LaTeX.

Чтобы запускать Qwen Code в режиме raw по умолчанию, установите ui.renderMode:

{ "ui": { "renderMode": "raw" } }

Допустимые значения: "render" и "raw". Сочетание клавиш изменяет только отображение в текущей сессии; оно не перезаписывает ваш файл настроек.

Mermaid

Фрагменты кода mermaid в режиме render отображаются визуально. TUI использует многоуровневую стратегию:

  1. Если включено и поддерживается, Qwen Code просит Mermaid CLI (mmdc) отрендерить диаграмму в PNG и отправляет её через протокол изображений терминала.
  2. Если изображения в терминале недоступны, но установлен chafa, тот же PNG может быть преобразован в ANSI-блочную графику.
  3. В противном случае Qwen Code использует терминальный каркас или компактный текстовый предпросмотр.
  4. Если тип диаграммы Mermaid не поддаётся предпросмотру, Qwen Code показывает исходный фрагмент кода, не скрывая его за заглушкой.

Визуализация изображений Mermaid отключена по умолчанию, поскольку требует внешних рендереров и поддержки изображений в терминале. Включите её с помощью:

QWEN_CODE_MERMAID_IMAGE_RENDERING=1 qwen

Опциональные переменные окружения:

ПеременнаяОписание
QWEN_CODE_MERMAID_IMAGE_RENDERING=1Включает внешний рендеринг изображений Mermaid.
QWEN_CODE_DISABLE_MERMAID_IMAGES=1Отключает рендеринг изображений Mermaid, даже если он включён в другом месте.
QWEN_CODE_MERMAID_IMAGE_PROTOCOL=kittyПринудительно использует протокол Kitty. Полезно для терминалов Kitty и Ghostty.
QWEN_CODE_MERMAID_IMAGE_PROTOCOL=iterm2Запрашивает встроенные изображения iTerm2. Интерактивный TUI-рендеринг откатывается к тексту/ANSI.
QWEN_CODE_MERMAID_IMAGE_PROTOCOL=offОтключает протоколы изображений терминала, допуская текстовый или chafa-откат.
QWEN_CODE_MERMAID_MMD_CLI=/path/to/mmdcУказывает конкретный исполняемый файл Mermaid CLI.
QWEN_CODE_MERMAID_ALLOW_NPX=1Разрешает Qwen Code запускать npx @mermaid-js/mermaid-cli, если mmdc не установлен.
QWEN_CODE_MERMAID_ALLOW_LOCAL_RENDERERS=1Разрешает локальные для проекта бинарники рендереров в node_modules/.bin.
QWEN_CODE_MERMAID_RENDER_WIDTH=1200Переопределяет ширину PNG-рендера.
QWEN_CODE_MERMAID_RENDER_TIMEOUT_MS=10000Переопределяет тайм-аут внешнего рендерера, не более 60000 мс.
QWEN_CODE_MERMAID_CELL_ASPECT_RATIO=0.5Настраивает подгонку высоты изображения под геометрию ячеек терминального шрифта.

Первый рендер изображения может быть медленным, особенно когда npx необходимо найти или загрузить Mermaid CLI. Во время стриминга Qwen Code показывает ограниченный текстовый предпросмотр и пытается выполнить рендеринг изображения только после завершения ответа модели.

Копирование исходного кода Mermaid

Каждый отрендеренный блок Mermaid содержит подсказку об источнике, например:

Mermaid flowchart (TD) · source: /copy mermaid 1

Используйте эти команды для копирования исходного кода Mermaid из последнего ответа AI:

КомандаПоведение
/copy mermaidКопирует последний блок Mermaid.
/copy mermaid 1Копирует первый блок Mermaid.
/copy code mermaidКопирует последний фрагмент кода mermaid.
/copy code mermaid 1Копирует первый фрагмент кода mermaid.

/copy code 1 учитывает все фрагменты кода, не только блоки Mermaid. Используйте /copy mermaid N, когда вам нужна последовательность, специфичная для Mermaid, как показано в заголовке рендера.

LaTeX-математика

Qwen Code поддерживает базовый рендеринг строчной и блочной LaTeX-математики в терминале:

Строчная формула: $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$ $$ \sum_{n=1}^{\infty} 1/n^2 = \pi^2/6 $$

Рендерер фокусируется на распространённых символах и читаемом выводе в терминале. Это не полноценный движок TeX; сложные конструкции, такие как матрицы, выровненные уравнения и крупные вложенные выражения, могут быть упрощены.

Строчные выражения $...$ intentionally ограничены 1024 символами на строку, чтобы некорректный или очень большой сгенерированный Markdown не мог заблокировать рендеринг в терминале. Более длинные формулы остаются видимыми как исходный текст и могут быть скопированы из режима raw или исходного ответа.

Копирование исходного кода LaTeX

Используйте эти команды для копирования исходного кода LaTeX из последнего ответа AI:

КомандаПоведение
/copy latexКопирует последнее блочное LaTeX-выражение.
/copy latex 2Копирует второе блочное выражение.
/copy latex inlineКопирует последнее строчное выражение.
/copy latex inline 2Копирует второе строчное выражение.
/copy inline-latex 2Синоним для /copy latex inline 2.

Строчная LaTeX не показывает подсказку для копирования для каждого выражения в отрендеренном тексте, чтобы не загромождать прозу. Переключитесь в режим raw с помощью Alt/Option+M, когда хотите просмотреть строчный исходный код на месте; на macOS для этого требуется передача Option как Meta в терминале.

Общее копирование кода

Команда /copy code читает фрагменты кода из последнего Markdown-ответа AI:

КомандаПоведение
/copy codeКопирует последний фрагмент кода.
/copy code 2Копирует второй фрагмент кода.
/copy code typescriptКопирует последний фрагмент кода typescript.
/copy code mermaid 1Копирует первый фрагмент кода mermaid.

Выбор более раннего сообщения AI

По умолчанию /copy нацелен на самое последнее сообщение AI. Добавьте положительное целое число перед командой, чтобы копировать из N-го с конца сообщения AI — удобно, когда последний ответ малосодержателен (например, обновление TODO), а содержательный вывод находится на один-два шага назад.

КомандаПоведение
/copy 2Копирует предпоследнее сообщение AI полностью.
/copy 3Копирует третье с конца сообщение AI полностью.
/copy 2 code pythonКопирует последний фрагмент кода python из предпоследнего.
/copy 3 latexКопирует последний LaTeX-блок из третьего с конца сообщения.

/copy 1 эквивалентно /copy. Если N превышает количество сообщений AI в сессии, /copy сообщает фактическое количество, ничего не копируя. Без начального целого числа подселекторы, такие как /copy code python 2, сохраняют своё существующее значение (второй блок python в последнем сообщении).

Текущие ограничения

  • Рендеринг изображений Mermaid зависит от Mermaid CLI и поддержки изображений в терминале.
  • Асинхронное размещение встроенных изображений iTerm2 отключено в TUI, так как протокол привязан к позиции курсора; используйте Kitty/Ghostty или ANSI-откат для интерактивного предпросмотра изображений.
  • Каркасный рендеринг Mermaid — это читаемый терминальный предпросмотр, а не полноценный движок компоновки Mermaid.
  • Режим raw является глобальным для отрендеренных блоков Markdown; его нельзя переключать для отдельных блоков.
  • Рендеринг LaTeX охватывает распространённые символы и выражения, но не полную вёрстку TeX.
  • Команды копирования исходного кода по умолчанию нацелены на последний ответ AI или на N-й с конца при вызове как /copy N ....
Last updated on