多模態輸入輸出與檔案預覽
多模態輸入輸出與檔案預覽
概述
Work 支援豐富的多模態互動:使用者可以傳送圖片、文件、音訊等多種類型的內容給 Agent;Agent 的回覆中可以包含程式碼、文件、圖表等多種格式的輸出,均支援內嵌預覽與全螢幕檢視。
多模態輸入
支援的輸入類型
| 內容區塊類型 | 說明 | 範例 |
|---|---|---|
text |
純文字 | 使用者訊息、程式碼片段 |
image |
圖片 | PNG、JPEG、GIF、WebP(base64 編碼) |
document |
文件 | PDF 文件(base64 編碼) |
audio |
音訊 | 音訊檔案 |
file_ref |
檔案引用 | 本機檔案路徑引用 |
上傳方式
- 拖曳上傳 — 將檔案直接拖到輸入區
- 點擊上傳 — 點擊輸入區的附件按鈕選擇檔案
- 貼上 — 從剪貼簿貼上圖片

模型格式適配
系統會根據目前使用的 LLM 供應商自動轉換輸入格式:
| 供應商 | 圖片 | 文件 | 音訊 |
|---|---|---|---|
| Anthropic | 原生 base64 image 區塊 | 原生 base64 document 區塊 | 不支援 |
| OpenAI | image_url(data URI) | 降級為文字描述 | 原生 audio 區塊 |
| DeepSeek | 不支援 | 不支援 | 不支援 |
系統透過 resolveCapabilities 函式自動偵測目前模型的多模態能力(vision / document / audio),不支援的類型會提示使用者或降級處理。
多模態輸出與預覽
9 種預覽類型
Agent 輸出的檔案會被自動辨識類型並算繪為對應的預覽元件:
| 檔案類型 | 預覽元件 | 功能按鈕 |
|---|---|---|
| PdfPreviewWindow | 縮放(放大/縮小/符合寬度)、翻頁、頁碼顯示 | |
| PPT | PptPreviewWindow | 投影片導覽(上一頁/下一頁)、縮放 |
| Excel / Word | OfficePreviewWindow | 縮放、翻頁 |
| 程式碼 | CodePreviewWindow | 語法醒目提示(多語言)、複製到剪貼簿 |
| Markdown | MarkdownPreviewWindow | Markdown 算繪預覽 |
| HTML | HtmlPreviewWindow | 內嵌式 iframe 算繪 |
| 圖片 | MediaPreviewWindow | 縮放、拖曳平移 |
| 影片 | MediaPreviewWindow | 播放/暫停、進度條、音量控制 |
| 音訊 | MediaPreviewWindow | 播放/暫停、進度條 |
內嵌預覽卡片
Agent 輸出的檔案首先會以**內嵌預覽卡片(InlinePreviewCard)**的形式出現在對話流中:

| 元素 | 說明 |
|---|---|
| 標題列 | 檔名、類型徽章、操作按鈕 |
| 縮圖內容 | 檔案內容預覽(摺疊狀態,底部漸層 + 「顯示更多」提示) |
| 懸停效果 | 醒目邊框 + 陰影提升 |
操作按鈕(圖示 + 工具提示):
| 按鈕 | 功能 |
|---|---|
| 展開 | 全螢幕預覽視窗 |
| 複製 | 複製內容到剪貼簿 |
| 檔案總管 | 在系統檔案總管中顯示(僅 APP) |
| 外部開啟 | 用預設應用程式開啟(本機檔案)或在瀏覽器開啟(URL) |
全螢幕預覽視窗
點擊「展開」按鈕進入全螢幕預覽視窗:

預覽工具列(PreviewToolbar):
- 縮放控制:放大 / 縮小 / 符合寬度
- 頁面導覽:上一頁 / 下一頁(多頁文件)
- 頁碼狀態:目前頁 / 總頁數
快速鍵:
| 快速鍵 | 功能 |
|---|---|
+ 或 = |
放大 |
- |
縮小 |
0 |
重設縮放 |
Esc |
關閉預覽視窗 |
預覽版面配置模式
| 模式 | 端 | 說明 |
|---|---|---|
| Overlay(浮層) | APP 端預設 | 固定定位的浮層視窗 |
| Docked(停靠) | Web 端 | 嵌入 WorkPage 右側面板 |
Web 與 APP 能力共享
多模態預覽的核心元件在 claw-shared 層實作,Web 與 APP 共享同一套程式碼:
DocumentPreviewModal— 預覽視窗容器InlinePreviewCard— 內嵌預覽卡片PreviewToolbar— 預覽工具列previewUtils.ts— 檔案類型辨識與載入工具
兩端透過 FileAccess 介面抽象檔案讀取方式:
- APP 端:透過 Tauri 本機檔案 API 讀取
- Web 端:透過 HTTP URL 或 data URL 載入
操作指南
如何傳送圖片/文件給 Agent
- 拖曳上傳:將檔案從桌面或檔案總管直接拖到 Work 輸入區
- 點擊上傳:點擊輸入區左側的 📎 附件按鈕,選擇檔案
- 貼上圖片:複製圖片後在輸入區 Ctrl+V / Cmd+V 貼上
- 附件出現在輸入區上方的預覽列中
- 輸入文字描述你想讓 Agent 做什麼(如「分析這張圖片」),按 Enter 傳送
檔案大小限制:Read File 工具支援最大 5MB 的檔案。更大的檔案建議先上傳到雲端儲存再提供連結。
如何使用檔案預覽
- 當 Agent 輸出包含檔案時,對話流中會出現內嵌預覽卡片
- 懸停卡片檢視更多資訊
- 點擊 展開 按鈕進入全螢幕預覽
- 在全螢幕預覽中使用工具列操作(縮放、翻頁等)
- 按 Esc 或點擊關閉按鈕退出預覽
常見問題
為什麼圖片傳送後 Agent 沒有分析?
- 目前模型可能不支援 vision 能力。檢查模型設定中的模型是否標記了 vision 支援。DeepSeek 系列模型不支援圖片輸入。
- 建議切換到 Claude Sonnet 4 或 GPT-4o。
為什麼 PDF 傳送後只回傳「不支援」?
- document 能力目前僅 Anthropic 系列模型(Claude)原生支援。使用 OpenAI 模型時,PDF 會降級處理。
- 替代方案:讓 Agent 使用 Read File 工具讀取 PDF 檔案路徑。
預覽視窗中檔案顯示異常
- 確認檔案格式正確(如 .xlsx 檔案不能用 .csv 副檔名)
- 超大檔案可能載入緩慢,請等待載入完成
- 部分特殊格式的 Office 檔案可能需要在外部應用程式中開啟
