画像、メディア、数式
OAR の返信はテキストだけではありません。エージェントはスクリーンショットを見せたり、作成したクリップを再生したりできます。数式は組版されて表示され、コードブロックには Copy(コピー)ボタンがあり、スクリーンショットに書き込みをしてから送り返すこともできます。このページでは、それぞれについて説明します。
会話を描画するページは、Markdown、数式、コードのハイライト用のライブラリを自前で持っていません。ブラウザーがそれらを cdn.(Markdown と KaTeX)と cdnjs.(highlight.js)から読み込むため、ブラウザーからこれらのホストに接続できる必要があります。接続できないと、返信はプレーンテキストで表示され、数式はソースのまま残り、コードブロックはハイライトされません。
エージェントの返信に含まれるメディア 0.9.2 で追加 #
エージェントは、リレーのマシン上にあるファイルの絶対パスをターゲットにした Markdown 画像を書くことで、返信に画像、動画、音声ファイルを入れられます。


何もアップロードする必要はなく、エージェントに追加のツールも要りません。ブラウザーが要求したときに、リレーがファイルを読み込みます。
| ファイルの種類 | 表示される内容 |
|---|---|
| 画像 | メッセージの幅に合わせて縮小された画像がインラインで表示されます。 |
mp4、webm、m4v、mov |
操作ボタン付きの動画プレーヤーです。 |
mp3、m4a、ogg、opus、wav、flac |
操作ボタン付きの音声プレーヤーです。 |
画像とプレーヤーのどちらが表示されるかは、ファイル名の拡張子で決まります。エージェントが説明として書いた内容では決まりません。説明はプレーヤーのツールチップになります。
画像をクリックするとビューアーで開き、会話内の他のメディアをスワイプして切り替えられます。プレーヤーは独自の操作ボタンを持ちます。パスはリレーのマシンでの書き方で書きます。Linux と macOS では /、Windows では C:\ です。
表示できるもの #
- 自分だけに表示されます。 リレーは、アクセストークンを持つリクエストにだけファイルを返します。リレーにサインインしたブラウザーのリクエストはトークンを持っています。読み取り専用の共有リンクにはトークンがないため、メディアは表示されず、画像をクリックしても何も起きません。
- フォルダー。 Linux と macOS には、許可されたフォルダーの一覧がありません。リレーを実行しているユーザーが読めるファイルであれば、ワークスペースの内外を問わず、どの絶対パスでも返されます。
..のセグメントは解決されます。Windows では、ファイルは、リレーが 📁 Browse files(ファイルを参照)に一覧表示するドライブのいずれかにある必要があります。返信がエージェントのためにファイルを読み取ることはできませんが、ブラウザーにファイルを要求させることはできます。そのため、リレーのユーザーが読めるものは何でも画面に表示される可能性があります。 - ファイルがない、またはフォルダーの場合。 リレーはリクエストを拒否し、画像やプレーヤーは読み込まれません。
- 安全な種類。 HTML と XML のファイルは、リレーのページ内で実行されないようにプレーンテキストとして返されます。SVG 画像は表示されますが、スクリプトは実行できません。
- サイズ。 OAR はサイズの上限を設けていません。動画と音声は分割してストリーミングされるため、プレーヤーで再生位置を移動できます。
- 生の HTML は使えません。 エージェントが返信に書いた HTML は、ページではなくテキストとして表示されます。
コピーは作られません。ディスク上のファイルが変わると、次に読み込んだときに新しい版が表示されます。
プロバイダー別 #
エージェントはこの方法を知っている必要があります。OAR は、エージェントに渡す指示の中でプロバイダーごとに一度これを伝えます。違いはそれだけで、表示される内容は同じです。
| プロバイダー | メディアの埋め込みを指示 |
|---|---|
| GitHub Copilot、SDK エンジン | はい |
| GitHub Copilot、拡張機能エンジン | いいえ |
| OpenAI(自分のキー)、SDK エンジン | はい |
| OpenAI(自分のキー)、拡張機能エンジン | いいえ |
| Claude | はい |
| DeepSeek 0.9.17 で追加 | はい |
| Claude Cloud | いいえ |
| Cursor | はい |
| Grok | はい |
OpenAI Image のチャットにはエージェントがいないため、伝える相手がいません。
プロバイダーごとのその他の違いはプロバイダーの概要を、これがツールではなく指示である理由はツールではないものを参照してください。
送信する画像 #
添付した画像は、メッセージ内にサムネイルとして表示されます。クリックするとビューアーが開きます。画像の添付方法、アップロード前の縮小、各プロバイダーへの渡し方は入力欄のページにあります。
画像への注釈 0.9.2 で追加 #
蛍光ペンを使って、スクリーンショットの指したい部分を示せます。
- 送信前。 入力欄の画像をクリックします。書き込みができる画像には 🖍️ バッジが付いています。GIF と SVG の画像には書き込みできません。
- ビューアーから。 メッセージまたは 📁 Browse files から画像を開き、🖍️ Annotate(注釈)をクリックします。GIF と SVG では、また共有ビューでは、このボタンはありません。
ページの上に Annotate image(画像に注釈を付ける)というタイトルのエディターが開き、画像が表示されます。ボタンはアイコンだけで、以下の名前はそのアクセシブルラベルです。
| 操作 | 動作 |
|---|---|
| 4 つの色 | 黄(既定)、赤、緑、青。 |
| 3 つの太さ | 細、中(既定)、太。太さは画像の長辺に対する割合なので、スマートフォンのスクリーンショットでも大きなキャプチャでも、書き込みは同じように見えます。 |
| ↩️ Undo(元に戻す) | 最後のストロークまたは最後のクリアを取り消します。 |
| 🗑️ Clear all(すべてクリア) | すべてのストロークを消します。Undo で元に戻せます。 |
| ✅ Accept(確定) | 保存します。何か描くまでは無効です。 |
| ✖ | 保存せずに閉じます。何か描いている場合は Discard annotations?(注釈を破棄しますか?)と確認します。Escape キーでも同じです。 |
ストロークは半透明なので、書き込みの下の文字も読めます。タップすると点が付きます。
タッチ。 1 本の指で描きます。2 本目の指を置くとピンチズームに切り替わり、描きかけのストロークは破棄されます。ダブルタップで拡大し、もう一度ダブルタップすると画像全体が収まる表示に戻ります。マウス。 左ドラッグで描き、ホイールでズームし、右ボタンまたは中ボタンのドラッグで表示を移動します。ダブルクリックでズームします。
保存 #
Accept を押すと、ストロークが画像の元のサイズの PNG に統合され、screenshot- のような名前(元の名前の後に -annotated.)が付きます。元の画像は変更されません。このコピーはその後、他の添付ファイルと同じ手順をたどるため、大きなものはアップロード前に縮小されます。
- 入力欄から始めた場合、注釈付きのコピーがその添付ファイルと置き換わり、アップロードされます。
- ビューアーから始めた場合、注釈付きのコピーは次のメッセージ用の新しい添付ファイルとして入力欄に追加され、アップロードされます。すでに送信したメッセージはそのままです。入力欄がいっぱいの場合はエディターが開いたままになるので、空きを作ってからもう一度確定できます。
画像を開けないときや保存できないときは、Could not open the annotation editor(注釈エディターを開けませんでした)または Could not save annotations(注釈を保存できませんでした)という短い通知が表示され、エディターはそのままの状態で残ります。
生成された画像 #
OpenAI Image のチャットでは、返信はモデルが生成した画像です。詳しくは OpenAI と OpenAI Image を参照してください。
数式 #
数学と化学の式は、返信でも思考でも KaTeX で組版されます。化学式には KaTeX の mhchem 拡張の \ を使います。この拡張は、ページが KaTeX と一緒に読み込みます。
| 書き方 | 結果 |
|---|---|
$E = mc^2$ または \ |
文の行内に置かれるインライン数式です。 |
$$\ または \ |
独立した行に中央揃えで置かれるディスプレイ数式です。 |
$\ |
化学反応式です。 |
ディスプレイ数式は複数行にまたがってもかまいません。行に単独で置いた $$ または \ で始まり、対応する $$ または \ で終わります。その間の行は 1 つの数式としてつながります。行に単独で置いた [ で始まり、行に単独で置いた ] で閉じたものは、その間の行が \、\、\ などの TeX コマンドを使っている場合に限り、ディスプレイ数式として扱われます。
普通の丸かっこで囲んだ数式も、明らかに TeX である場合は組版されます。つまり、240 文字以内で、Web アドレスではなく、\ のようなコマンドや x^2、x_ のような上付き・下付きを含む場合です。
ドル記号と価格 #
1 つの $ が数式を始めるのは、次のすべてを満たす場合だけです。
- 直後の文字が空白ではない。
- 次の
$で閉じられ、その直前の文字が空白ではない。 - 閉じる
$の後に数字が続かない。ただし、間のテキストが TeX らしく見える場合(\ ^ _ { } =のいずれかを含む場合)は数字が続いてもよいため、$x^2$3は数式になります。
そのため、it cost $5 and $9 や $4. はプレーンテキストのままで、$x^2$ は数式になります。バックスラッシュの後の $ は普通のドル記号です。コードスパンやコードブロック内のドル記号が数式として扱われることはありません。
無効な入力 #
KaTeX が読めない数式があっても返信は壊れません。数式の代わりに、ソースのテキストがエラーの色で表示されます。
コードブロック #
言語名付きのフェンスブロックはハイライトされます。言語名がない場合は、ハイライト機能が言語を推測します。どのブロックにも右上に Copy ボタンがあります。コードだけをコピーし、ラベルが一瞬 ✓ Copied(コピーしました)または Copy failed(コピーに失敗しました)に変わります。長い行は折り返されず、ブロックが横にスクロールします。
リンク #
- Web アドレスへのリンクは新しいタブで開きます。開いたページから OAR に働きかけることはできません。
- 返信内にプレーンテキストで(コードスパンやリンクではなく)書かれたファイル名やパスのうち、
src/のように既知のファイルの種類の拡張子を持つものは、新しいタブではなくアプリのビューアーでファイルを開くリンクになります。app. js - 残るのは
http、https、mailtoのリンクと OAR 内のアドレスだけです。それ以外の種類は削除されます。
その他の Markdown #
返信では標準の Markdown が使えます。見出し、太字と斜体、取り消し線、引用、箇条書きと番号付きリスト、表、水平線、インラインコードです。表はメッセージの幅いっぱいに広がります。返信内の HTML はテキストとして表示されます。