所有頁面
本頁內容

圖片、媒體與公式

OAR 中的回覆不只是文字。agent 可以給你看一張螢幕截圖,或播放它製作的短片;公式會以排版後的樣子呈現;程式碼區塊有 Copy(複製)按鈕;你也可以先在螢幕截圖上標註,再把它傳回去。本頁逐一說明這些功能。

繪製對話的頁面本身並未內含 Markdown、公式和程式碼醒目提示所用的函式庫。你的瀏覽器會從 cdn.jsdelivr.net(Markdown 和 KaTeX)以及 cdnjs.cloudflare.com(highlight.js)載入它們,所以必須能連到這些主機。少了它們,回覆會以純文字顯示,公式維持原始碼,程式碼區塊也不會有醒目提示。

agent 回覆中的媒體 0.9.2 新增 #

agent 只要在回覆中寫一個 Markdown 圖片,並以檔案在中繼機器上的絕對路徑作為目標,就能把圖片、影片或音訊檔放進回覆:

![the failing page](/home/dev/projects/shop/shots/checkout.png)
![demo clip](C:\Users\dev\Videos\demo.mp4)

你不需要上傳任何東西,agent 也不需要額外的工具。中繼會在你的瀏覽器要求時讀取該檔案。

檔案類型 你會看到什麼
圖片 內嵌顯示的圖片,縮放到符合訊息寬度。
mp4、webm、m4v、mov 附控制項的影片播放器。
mp3、m4a、ogg、opus、wav、flac 附控制項的音訊播放器。

顯示圖片還是播放器,取決於檔名的結尾,而不是 agent 寫的描述。描述會成為播放器的工具提示。

點選圖片即可在檢視器中開啟它,並可滑動瀏覽對話中的其他媒體。播放器保有自己的控制項。路徑要照中繼機器的寫法:Linux 和 macOS 上是 /home/…,Windows 上是 C:\…。

可以顯示什麼 #

  • 只給你看。 中繼只會把檔案提供給帶有其存取 token 的請求,而已登入中繼的瀏覽器就會帶上它。唯讀分享連結沒有 token,所以不會顯示媒體,在那裡點選圖片也沒有反應。
  • 資料夾。 在 Linux 和 macOS 上沒有允許資料夾的清單:只要是執行中繼的使用者能讀取的檔案,無論是否在 workspace 內,任何絕對路徑都會被提供,.. 片段也會被解析。在 Windows 上,檔案必須位於中繼在 📁 Browse files(瀏覽檔案)下列出的其中一個磁碟機。回覆無法替 agent 讀取檔案,但它會讓你的瀏覽器去要求檔案,所以中繼使用者能讀取的任何內容都可能出現在你的螢幕上。
  • 檔案不存在,或是資料夾。 中繼會拒絕該請求,圖片或播放器就不會載入。
  • 安全的類型。 HTML 和 XML 檔案會以純文字提供,這樣它們就無法在中繼的頁面中執行。SVG 圖片會顯示,但無法執行腳本。
  • 大小。 OAR 沒有設定大小上限。影片和音訊會分段串流,所以播放器可以跳轉。
  • 不支援原始 HTML。 agent 在回覆中寫的 HTML 會以文字顯示,而不是呈現為網頁。

不會複製任何東西:如果磁碟上的檔案改變了,下一次載入就會顯示新版本。

依供應商 #

agent 必須知道這個技巧。OAR 會在給 agent 的指示中告訴它們,每個供應商各一次。差別僅止於此:你看到的內容都相同。

供應商 是否被告知要嵌入媒體
GitHub Copilot,SDK 引擎 是
GitHub Copilot,擴充功能引擎 否
OpenAI(你自己的金鑰),SDK 引擎 是
OpenAI(你自己的金鑰),擴充功能引擎 否
Claude 是
DeepSeek 0.9.17 新增 是
Claude Cloud 否
Cursor 是
Grok 是

OpenAI Image 對話沒有 agent,所以沒有對象可以告知。

其餘的供應商差異,見供應商一覽;為什麼這是指示而不是工具,見不是工具的部分。

你傳送的圖片 #

你附加的圖片會以縮圖顯示在你的訊息中。點選它即可開啟檢視器。圖片如何附加、如何在上傳前縮小,以及如何傳給各個供應商,請見輸入區。

標註圖片 0.9.2 新增 #

用螢光筆指出螢幕截圖中你指的那個部分。

  • 傳送之前。 點選輸入區中的圖片。可以標註的圖片帶有 🖍️ 徽章。GIF 和 SVG 圖片無法標註。
  • 從檢視器。 從訊息或從 📁 Browse files 開啟圖片,然後點選 🖍️ Annotate(標註)。GIF 和 SVG,或在分享檢視中,沒有這個按鈕。

一個標題為 Annotate image(標註圖片)的編輯器會在頁面上方開啟,顯示該圖片。它的按鈕只有圖示;以下名稱是它們的無障礙標籤。

控制項 作用
四種顏色 黃色(預設)、紅色、綠色、藍色。
三種粗細 細、中(預設)、粗。粗細是圖片最長邊的一個比例,所以標記在手機螢幕截圖和大型擷取畫面上看起來都一樣。
↩️ Undo(復原) 撤回上一筆筆畫或上一次清除。
🗑️ Clear all(全部清除) 移除所有筆畫。Undo 可以把它們找回來。
✅ Accept(接受) 儲存。在你畫下任何東西之前為停用狀態。
✖ 不儲存就關閉。如果你已經畫了東西,它會詢問 Discard annotations?(捨棄標註?)。按 Escape 效果相同。

筆畫是半透明的,所以標記下方的文字仍然清晰可讀。點一下會留下一個點。

觸控。 一根手指用來繪製。第二根手指會切換為雙指縮放,並捨棄你已開始的筆畫。點兩下可放大,再點兩下可讓圖片符合畫面。滑鼠。 按住左鍵拖曳可繪製,滾輪可縮放,按住右鍵或中鍵拖曳可平移。按兩下可縮放。

儲存 #

Accept 會把筆畫合併成一張原尺寸的 PNG,命名方式如 screenshot-annotated.png(原始名稱,再加上 -annotated.png)。原始圖片永遠不會被變更。這份副本接著會經過和任何附件相同的步驟,所以較大的副本會在上傳前縮小。

  • 從輸入區開始時,標註後的副本會取代那個附件,並上傳。
  • 從檢視器開始時,標註後的副本會以新附件的形式加入輸入區,並上傳,供你的下一則訊息使用。已傳送的訊息維持原樣。如果輸入區已滿,編輯器會保持開啟,讓你騰出一個位置後再接受一次。

如果圖片無法開啟或儲存,會有一則簡短通知說明:Could not open the annotation editor(無法開啟標註編輯器)或 Could not save annotations(無法儲存標註)。編輯器則維持原狀。

生成的圖片 #

在 OpenAI Image 對話中,回覆是模型生成的圖片。相關說明見 OpenAI 與 OpenAI Image。

公式 #

數學和化學式會以 KaTeX 排版,在回覆和思考中都是如此。化學式使用 \ce{…},來自 KaTeX 的 mhchem 擴充功能,頁面會與 KaTeX 一起載入它。

你寫的 結果
$E = mc^2$ 或 \(E = mc^2\) 文字行內的行內公式。
$$\int_0^1 x\,dx$$ 或 \[ … \] 獨立成行、置中的展示公式。
$\ce{2H2 + O2 -> 2H2O}$ 化學方程式。

展示公式可以跨越多行。單獨一行的 $$ 或 \[ 會開啟公式,相對應的 $$ 或 \] 會結束它。中間的各行會合併成一個公式。單獨一行的 [,若由單獨一行的 ] 結束,只有在中間各行使用了 \frac、\sum 或 \ce 這類 TeX 指令時,才會被當作展示數學式。

寫在一般括號中的公式,若明顯是 TeX,也會被排版:它最多 240 個字元、不是網址,且含有 \frac 這類指令,或 x^2、x_{n} 這類上下標。

錢字號與價格 #

單一個 $ 只有在以下條件全部成立時才會開啟公式:

  • 緊接在它後面的字元不是空格;
  • 下一個 $ 會結束它,且緊接在它前面的字元不是空格;
  • 結束的 $ 後面沒有接數字。若中間的文字看起來像 TeX(含有 \ ^ _ { } = 其中之一),則允許接數字,所以 $x^2$3 是公式。

因此 it cost $5 and $9 和 $4.20, the earlier one $3.80 會維持純文字,而 $x^2$ 是公式。反斜線後的 $ 是一般的錢字號。程式碼片段和程式碼區塊中的錢字號永遠不會被當作公式。

無效的輸入 #

KaTeX 無法解讀的公式不會破壞回覆:原始文字會以錯誤顏色顯示在公式的位置。

程式碼區塊 #

標有語言名稱的圍欄區塊會有醒目提示。沒有標示時,醒目提示會猜測語言。每個區塊的右上角都有一個 Copy 按鈕。它只會複製程式碼,標籤會短暫變成 ✓ Copied(已複製),或變成 Copy failed(複製失敗)。長的行不會換行:區塊會左右捲動。

  • 指向網址的連結會在新分頁開啟。開啟的頁面無法回頭存取 OAR。
  • 在回覆中以純文字寫出(不在程式碼片段或連結中)、且結尾是已知檔案類型的檔名或路徑,例如 src/app.js,會變成一個連結,在 App 的檢視器中開啟該檔案,而不是開新分頁。
  • 只保留 http、https 和 mailto 連結,以及 OAR 內部的網址。其他種類會被移除。

其他 Markdown #

回覆使用標準 Markdown:標題、粗體和斜體、刪除線、引文、項目符號清單和編號清單、表格、水平線和行內程式碼。表格會填滿訊息的寬度。回覆中的 HTML 會以文字顯示。