Skip to Content
ユーザーガイド機能Markdown レンダリング

Markdown レンダリング

Qwen Code は TUI 内で一般的な Markdown 構造を直接レンダリングするため、ターミナルから離れることなくモデルの回答を読みやすくします。レンダラーは、特に Mermaid 図や LaTeX 数式などの視覚的なブロックについて、元のソースにアクセスできるように設計されています。

Render モードと Raw モード

デフォルトでは、Markdown は render モードで表示されます。サポートされているブロックは、可能な限り視覚的なプレビューとしてレンダリングされます:

  • Mermaid フェンスコードブロック
  • Markdown テーブル
  • タスクリスト
  • ブロッククオート
  • インラインおよびブロック LaTeX 数式
  • シンタックスハイライト付きフェンスコードブロック

Alt/Option+M を押すと、現在のセッションのモードが切り替わります。macOS では、このショートカットのためにターミナルが Option を Meta として送信する必要があります。そうしないと、Option+M は通常のテキスト入力として扱われます。

  • render: サポートされている Markdown に対してリッチなターミナルプレビューを表示します。
  • raw: Mermaid、テーブル、LaTeX などの視覚的なブロックに対してソース指向の Markdown を表示します。

デフォルトで raw モードで Qwen Code を起動するには、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=kittyKitty プロトコル出力を強制します。Kitty や Ghostty などのターミナルで有用です。
QWEN_CODE_MERMAID_IMAGE_PROTOCOL=iterm2iTerm2 インラインイメージを要求します。インタラクティブ TUI レンダリングはテキスト/ANSI にフォールバックします。
QWEN_CODE_MERMAID_IMAGE_PROTOCOL=offターミナルイメージプロトコルを無効にし、テキストまたは chafa フォールバックを許可します。
QWEN_CODE_MERMAID_MMD_CLI=/path/to/mmdc特定の Mermaid CLI 実行可能ファイルを使用します。
QWEN_CODE_MERMAID_ALLOW_NPX=1mmdc がインストールされていない場合、Qwen Code が npx @mermaid-js/mermaid-cli を実行できるようにします。
QWEN_CODE_MERMAID_ALLOW_LOCAL_RENDERERS=1node_modules/.bin 以下のプロジェクトローカルのレンダラーバイナリを許可します。
QWEN_CODE_MERMAID_RENDER_WIDTH=1200PNG レンダリング幅を上書きします。
QWEN_CODE_MERMAID_RENDER_TIMEOUT_MS=10000外部レンダリングのタイムアウトを上書きします。上限は 60000 ms です。
QWEN_CODE_MERMAID_CELL_ASPECT_RATIO=0.5ターミナルフォントセルのジオメトリに対する画像行のフィットを調整します。

最初のイメージレンダリングは遅くなることがあります。特に npx が Mermaid CLI を解決またはダウンロードする必要がある場合です。ストリーミング中、Qwen Code は制限付きのテキストプレビューを表示し、モデルの応答が完了した後にのみイメージレンダリングを試みます。

Mermaid ソースのコピー

レンダリングされた各 Mermaid ブロックには、次のようなソースヒントが含まれています:

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

次のコマンドを使用して、最後の AI 応答から Mermaid ソースをコピーします:

コマンド動作
/copy mermaid最後の Mermaid ブロックをコピーします。
/copy mermaid 1最初の Mermaid ブロックをコピーします。
/copy code mermaid最後のフェンスされた mermaid コードブロックをコピーします。
/copy code mermaid 1最初のフェンスされた mermaid コードブロックをコピーします。

/copy code 1 は Mermaid ブロックだけでなく、すべてのフェンスコードブロックをカウントします。レンダリングされたタイトルに表示される Mermaid 固有のシーケンスが必要な場合は、/copy mermaid N を使用してください。

LaTeX 数式

Qwen Code はターミナル内で基本的なインラインおよびブロック LaTeX レンダリングをサポートしています:

Inline math: $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$ $$ \sum_{n=1}^{\infty} 1/n^2 = \pi^2/6 $$

レンダラーは一般的な記号と読みやすいターミナル出力に焦点を当てています。完全な TeX エンジンではありません。行列、整列された方程式、大きな入れ子式などの複雑なレイアウトは簡略化される場合があります。

インラインの $...$ 式は、1行あたり1024文字に制限されています。これにより、不正な形式や非常に大きな生成 Markdown がターミナルレンダリングを停止させることを防ぎます。長い数式はソーステキストとして表示され、raw モードまたは元の応答からコピーできます。

LaTeX ソースのコピー

次のコマンドを使用して、最後の AI 応答から LaTeX ソースをコピーします:

コマンド動作
/copy latex最後のブロック LaTeX 式をコピーします。
/copy latex 22番目のブロック式をコピーします。
/copy latex inline最後のインライン式をコピーします。
/copy latex inline 22番目のインライン式をコピーします。
/copy inline-latex 2/copy latex inline 2 のエイリアスです。

インライン LaTeX は、散文を騒がしくしないために、レンダリングされたテキストに式ごとのコピーヒントを表示しません。インラインソースをその場で確認したい場合は、Alt/Option+M で raw モードに切り替えてください。macOS では、これには Option-as-Meta ターミナル入力が必要です。

一般的なコードのコピー

/copy code コマンドは、最後の AI Markdown 応答からフェンスコードブロックを読み取ります:

コマンド動作
/copy code最後のフェンスコードブロックをコピーします。
/copy code 22番目のフェンスコードブロックをコピーします。
/copy code typescript最後の typescript コードブロックをコピーします。
/copy code mermaid 1最初の mermaid コードブロックをコピーします。

以前の AI メッセージの選択

デフォルトでは、/copy は最新の AI メッセージを対象とします。コマンドの前に正の整数を付けると、代わりに N 番目に古い AI メッセージからコピーします。最新の返信が情報量の少ないもの (例:TODO 更新) で、実質的な出力が1つか2つ前にある場合に便利です。

コマンド動作
/copy 2最後から2番目の AI メッセージ全体をコピーします。
/copy 3最後から3番目の AI メッセージ全体をコピーします。
/copy 2 code python最後から2番目のメッセージから最後の python コードブロックをコピーします。
/copy 3 latex最後から3番目のメッセージから最後の LaTeX ブロックをコピーします。

/copy 1/copy と同等です。N がセッション内の AI メッセージ数を超える場合、/copy は何もコピーせずに実際の数を報告します。先頭の整数がない場合、/copy code python 2 などのサブセレクターは既存の意味(最後のメッセージの2番目の python ブロック)を保持します。

現在の制限

  • Mermaid イメージレンダリングは Mermaid CLI とターミナルイメージのサポートに依存します。
  • 非同期 iTerm2 インラインイメージ配置は TUI で無効になっています。プロトコルがカーソル位置に依存するためです。インタラクティブなイメージプレビューには Kitty/Ghostty または ANSI フォールバックを使用してください。
  • ワイヤーフレーム Mermaid レンダリングは読みやすいターミナルプレビューであり、完全な Mermaid レイアウトエンジンではありません。
  • Raw モードはレンダリングされた Markdown ブロック全体に対してグローバルであり、ブロックごとの切り替えはできません。
  • LaTeX レンダリングは一般的な記号と式をカバーしており、完全な TeX レイアウトではありません。
  • ソースコピーコマンドはデフォルトで最後の AI 応答を対象とし、/copy N ... として呼び出された場合は N 番目に古いものを対象とします。
Last updated on