檔案檢視器 0.9.9 新增
檔案檢視器一次以全螢幕顯示一個檔案。當你在 📁 Browse files(瀏覽檔案)中點選檔案、點選 agent 在回覆中寫出的檔名,或點選對話中的圖片、影片或音訊附件時,它就會開啟。你可以閱讀檔案、播放、放大、儲存,如果是圖片,還可以在上面標註。
圖片、影片和音訊放在黑色背景上。文字放在一個欄位中,在寬螢幕上也保持易讀。標題、按鈕,以及一行顯示檔案類型和大小的文字,會浮在內容上方。在內容上點一下或點選,就能隱藏它們,再點一次又會出現。影片或音訊檔播放時,它們也會在三秒後淡出,移動滑鼠或碰觸按鈕就會再次出現。播放器暫停時一律會顯示它們。
各類檔案的顯示方式 #
中繼依檔案的副檔名判斷類型;如果是文字,還會查看檔案開頭的幾個位元組。
| 類型 | 你會看到什麼 |
|---|---|
| 圖片 | 圖片本身,縮放到符合螢幕大小,可以縮放(見縮放)。SVG、GIF、ICO、BMP 和 AVIF 也會顯示。 |
| 影片 | 帶有控制項的播放器。你可以跳轉播放位置,因為中繼會分段提供影片。 |
| 音訊 | 一張顯示檔名和播放器的卡片。 |
Markdown(.、.、.) |
經過算繪,包含標題、表格、程式碼和公式。Raw(原始)會顯示原始內容。0.9.11 新增 比檢視器還寬的表格會像程式碼區塊一樣,在自己的方框裡左右捲動;從表格上開始的滑動會停留在這個檔案中。 |
| 程式碼與文字 | 文字內容;中繼認得該語言時會加上語法醒目提示。沒有行號。長的行不會換行:區塊會左右捲動。每個區塊都有一個 Copy(複製)按鈕。 |
| 一張卡片,上面有 Open in new tab(在新分頁開啟)和 Download(下載);前者使用瀏覽器自己的 PDF 檢視器。檢視器本身不顯示 PDF。 | |
| 其他任何檔案 | 一張卡片,顯示檔名、大小、「no inline preview」和 Download。 |
內容上方那一行的格式類似 CODE · javascript · 4.:類型、語言(如果有的話)和大小。
文字檔按鈕 #
對於來自 workspace、磁碟機或 session 資料夾的 Markdown、程式碼和文字檔,工具列上有 Preview(預覽)和 Raw。Preview 是算繪後或加上醒目提示的檢視,Raw 是純文字。
Markdown 檔案開啟時會啟用版面 HTML,並有一行文字顯示 ⚠ Safe layout HTML enabled; active content is blocked。Show literal HTML(顯示 HTML 原始碼)會關閉這個功能,讓檔案中的 HTML 以文字顯示;Show HTML layout(顯示 HTML 版面)則會重新開啟。無論哪一種,腳本都不會執行。
在算繪後的 Markdown 檔案中點選相對連結,會在同一個檢視器中開啟連結的檔案,工具列上也會出現 ← Back(返回)按鈕,讓你回到前一個檔案。網址連結會在新分頁中開啟。以這種方式開啟的檔案沒有可以滑動切換的相鄰檔案。
大型檔案與二進位檔案 #
- 大型文字檔。 檢視器會讀取文字檔的前 512 KB。檔案更長時,內容上方那一行會加上
truncated to 512 KB。其餘部分不會顯示;Download 可以取得完整檔案。 - 二進位內容。 依副檔名看起來是文字、但位元組實際上是二進位(或中繼以二進位類型提供)的檔案,會顯示為「no inline preview」卡片。
- 圖片、影片、音訊。 在檢視器中沒有大小限制。
- 無法讀取的檔案。 檢視器會顯示 Preview failed 和錯誤,例如 File not found(找不到檔案)。
在檔案之間切換 #
能不能從目前開啟的檔案切換到其他檔案,取決於你是怎麼開啟它的。
| 從哪裡開啟 | 圖庫內容 |
|---|---|
| 📁 Browse files 中的資料夾 | 該資料夾中的檔案,順序與瀏覽器列出的相同。子資料夾會略過。 |
| 對話中的圖片或附件 | 所有圖片、影片和音訊附件,以及回覆中嵌入的每張圖片,依對話順序由舊到新排列。 |
| 回覆中的檔名,或 Markdown 檔案中的連結 | 沒有。檢視器只顯示那一個檔案。 |
只有一個檔案的資料夾,或只有一張圖片的對話,開啟時不會有圖庫。有圖庫時,底部會出現兩個按鈕(‹ 和 ›)以及目前位置(例如 3 / 12)。圖庫不會循環:到了兩端,按鈕就會停用。兩側相鄰的檔案會預先取得,所以切換時會直接看到檔案,而不是 Fetching file preview…(正在取得檔案預覽…)。
對話中不是圖片、影片或音訊的檔案(例如 PDF),是訊息下方的一般連結,會在新的瀏覽器分頁中開啟,而不是在檢視器中。
關閉檢視器 #
- 在圖片、播放器或卡片上向下滑動。內容會跟著你的手指移動,滑得夠遠或夠快就會關閉。文字則會在你的手指下捲動。
- 左右滑動可以在圖庫中逐一切換。滑鼠拖曳不算滑動,所以仍可以用來選取文字;放大後的圖片則會平移,而不是切換。
- 右上角的 ×,或 Esc。
- 手機上的 Back 鍵,見下文。
縮放與平移 #
| 動作 | 結果 |
|---|---|
| 滑鼠滾輪 | 以指標為中心放大和縮小。 |
| 雙指捏合 | 以兩指之間的點為中心縮放,最多 8 倍。 |
| 按兩下或點兩下 | 在該點放大 3 倍。再按兩下會回到符合螢幕的檢視。 |
| 放大後拖曳 | 移動圖片。 |
圖片一開始以符合螢幕的大小顯示,而且永遠不會比這更小。在符合螢幕的大小時,左右滑動會切換到下一個檔案,向下滑動會關閉檢視器。放大之後,這些拖曳動作則會平移圖片。
手機與已安裝 App 上的返回 #
檢視器開啟時,系統的返回手勢或返回鍵只會關閉檢視器,不會做其他事。瀏覽器中的網址不會改變。
在從瀏覽器安裝的 App 中(Android、iOS 或桌面),返回鍵絕不會自行關閉 App。沒有其他東西可關閉時,它會顯示 Press back again to close the app,再按一次才會關閉。在你還沒碰過頁面之前,瀏覽器會讓返回鍵離開,這是頁面無法改變的。在一般的瀏覽器分頁中,返回鍵照常屬於瀏覽器。
動作 #
| 按鈕 | 作用 | 位置 |
|---|---|---|
| Download | 儲存檔案。來自 workspace 或磁碟機的檔案在儲存時,檔名會加上最後修改時間,例如 report (1005-(月、日、時、分),讓你能分辨不同版本,也絕不會拿到較舊的副本。附件保留原本的檔名。 |
所有檔案 |
| Copy | 把圖片以 PNG 格式複製到剪貼簿。標籤會顯示 *Copied ✓*或 Copy failed(複製失敗)。 | 圖片 |
| 🖍️ Annotate(標註) | 關閉檢視器並開啟圖片編輯器。標註後的副本會放進輸入區。原始檔案保持不變。GIF 和 SVG 無法使用。見標註圖片。 | 圖片,分享連結中沒有 |
| Open in new tab | 在瀏覽器自己的檢視器中開啟檔案。 | PDF 卡片 |
| ← Back | 在 Markdown 檔案中點選連結後,回到前一個檔案。 | 只在點選這類連結後 |
點選頂端的標題,可以複製檔案的參照,例如 `@file:,你可以把它貼到輸入區,讓 agent 讀取那個檔案。標題的工具提示會顯示確切的文字。對於來自磁碟機或 session 資料夾的檔案,參照會包含絕對路徑。
回覆中的連結會開啟什麼 #
- 純文字中的檔名或路徑,例如
src/,只要副檔名是已知的檔案類型,就是一個會在檢視器中開啟檔案的連結。它一律被當成對話 workspace 內的路徑。絕對路徑會被裁切成 workspace 內的部分。不在 workspace 內的絕對路徑,例如app. js /,也會變成 workspace 路徑,並以 File not found 失敗。程式碼片段和程式碼區塊中的名稱不會變成連結。var/ log/ app. log - agent 以絕對路徑嵌入的圖片,會和對話中的其他媒體一起在檢視器中開啟。workspace 之外的檔案也適用。見 agent 回覆中的媒體。
- 指向檔案路徑的 Markdown 連結,會在新的瀏覽器分頁中開啟原始檔案,而不是在檢視器中;指向網址的連結也一樣。同一個路徑如果以純文字寫出,則會在檢視器中開啟。
檢視器能開啟哪些檔案 #
檢視器會向中繼要求檔案,所以由中繼決定。
| 來源 | 哪些檔案 |
|---|---|
| Workspace | 對話工作資料夾中的檔案。含有 .. 的路徑會被拒絕,指向資料夾之外的符號連結也一樣。 |
| 磁碟機 | 在 Linux 和 macOS 上,是執行中繼的使用者能讀取的任何檔案,不論位置。在 Windows 上,是中繼在 📁 Browse files 下列出的磁碟機上的檔案。 |
| Session 資料夾 | 和磁碟機一樣讀取。 |
| 附件 | 你或 agent 在對話中附加到訊息的檔案。 |
指向資料夾的路徑,或已經不存在的檔案,會被拒絕。HTML 和 XML 檔案會以文字顯示,SVG 也無法執行腳本,所以 agent 寫出的檔案絕不會在中繼上以網頁的形式執行。唯讀分享連結無法取得 workspace 或磁碟機中的檔案,在那裡點選嵌入的圖片也不會有任何反應。
按鍵 #
| 按鍵 | 作用 |
|---|---|
| Esc | 關閉檢視器。 |
| → | 圖庫中的下一個檔案。 |
| ← | 圖庫中的上一個檔案。 |
方向鍵只有在有圖庫時才有作用,而且你在欄位中輸入文字時不會作用。