所有页面
本页内容

文件查看器 0.9.9 新增

文件查看器在整个屏幕上一次显示一个文件。当你点击 📁 Browse files(浏览文件)中的文件、智能体在回复中写出的文件名,或对话中的图片、视频或音频附件时,它就会打开。你可以阅读文件、播放、放大、保存它,对于图片还可以在上面标注。

图片、视频和音频显示在黑色背景上。文本显示在一栏中,在宽屏幕上也保持易读。标题、按钮,以及一行显示文件类型和大小的信息,浮在内容之上。在内容上轻点或点击会隐藏它们,再点一次则重新显示。视频或音频播放时,它们还会在三秒后淡出,移动鼠标或触碰按钮会让它们重新出现。播放器暂停时总会显示它们。

各类文件的显示方式 #

中继根据文件的扩展名判断类型;对于文本,还会查看文件开头的几个字节。

类型 你会看到什么
图片 适配屏幕大小的图片,可以缩放(参见缩放)。SVG、GIF、ICO、BMP 和 AVIF 也能显示。
视频 带控件的播放器。你可以拖动进度,因为中继分段提供视频。
音频 一张显示文件名和播放器的卡片。
Markdown(.md、.mdx、.markdown) 渲染后显示,包括标题、表格、代码和公式。Raw(原始)显示源文本。0.9.11 新增 比查看器更宽的表格会像代码块一样在自己的框内横向滚动,从表格上开始的滑动不会离开当前文件。
代码和文本 显示文本,中继识别该语言时带语法高亮。没有行号。长行不会自动换行:代码块会横向滚动。每个代码块都有一个 Copy(复制)按钮。
PDF 一张带 Open in new tab(在新标签页中打开)和 Download(下载)的卡片;前者使用浏览器自带的 PDF 查看器。查看器本身不显示 PDF。
其他任何文件 一张显示名称、大小、“no inline preview”和 Download 的卡片。

内容上方的那一行形如 CODE · javascript · 4.2 KB:类型、语言(如果有)和大小。

文本按钮 #

对于来自工作区、驱动器或会话文件夹的 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 倍。再次双击会回到适配视图。
放大后拖动 移动图片。

图片最初以适配大小显示,并且不会缩得比这更小。处于适配大小时,左右滑动会切换到下一个文件,向下滑动会关闭查看器。放大后,这些拖动改为平移图片。

手机和已安装应用中的返回 #

查看器打开时,系统的返回手势或返回按钮只会关闭查看器,不做别的事。浏览器中的地址不会改变。

在从浏览器安装的应用中(Android、iOS 或桌面),返回操作绝不会自行关闭应用。没有可关闭的内容时,它会显示 Press back again to close the app,再按一次就会关闭应用。在你触碰页面之前,浏览器允许返回操作离开,页面无法改变这一点。在普通的浏览器标签页中,返回按钮照常归浏览器管。

操作 #

按钮 作用 位置
Download 保存文件。来自工作区或驱动器的文件保存时,文件名中会带上它最后一次修改的时间,例如 report (1005-0719).pdf(月、日、时、分),这样你能区分不同版本,也绝不会拿到旧副本。附件保留其原名。 所有文件
Copy 把图片以 PNG 格式复制到剪贴板。按钮文字会显示 Copied ✓(已复制)或 Copy failed(复制失败)。 图片
🖍️ Annotate(标注) 关闭查看器并打开图片编辑器。标注后的副本会放入输入区,原图保持不变。不适用于 GIF 和 SVG。参见标注图片。 图片,分享链接中不可用
Open in new tab 在浏览器自带的查看器中打开文件。 PDF 卡片
← Back 在 Markdown 文件中点击链接后,回到之前的文件。 仅在点击这类链接之后

点击顶部的标题可复制文件的引用,例如 `@file:src/app.js`,你可以把它粘贴到输入区,让智能体读取该文件。标题的工具提示会显示确切的文本。对于来自驱动器或会话文件夹的文件,引用中带的是绝对路径。

  • 纯文本中的文件名或路径,例如 src/app.js,只要扩展名属于已知文件类型,就是一个在查看器中打开该文件的链接。它总是被当作对话工作区内的路径。绝对路径会被截取为工作区内的那一部分。不在工作区内的绝对路径(例如 /var/log/app.log)也会被当成工作区路径,结果以 File not found 失败。行内代码和代码块中的名称不会变成链接。
  • 智能体按绝对路径嵌入的图片会在查看器中打开,并与对话中的其他媒体放在一起。这对工作区之外的文件同样有效。参见智能体回复中的媒体。
  • 指向文件路径的 Markdown 链接会在新的浏览器标签页中打开原始文件,而不是在查看器中;指向网址的链接也是如此。以纯文本写出的同一路径则会在查看器中打开。

查看器能打开什么 #

查看器向中继请求文件,因此由中继决定。

来源 哪些文件
工作区 对话工作目录中的文件。含 .. 的路径会被拒绝,指向该文件夹之外的符号链接也会被拒绝。
驱动器 在 Linux 和 macOS 上,是运行中继的用户能读取的任何位置的任何文件。在 Windows 上,是中继在 📁 Browse files 中列出的驱动器上的文件。
会话文件夹 与驱动器的读取方式相同。
附件 你或智能体附加到对话中某条消息上的文件。

指向文件夹的路径或已不存在的文件会被拒绝。HTML 和 XML 文件以文本形式显示,SVG 无法运行脚本,因此智能体写出的文件绝不会作为页面在中继上运行。只读分享链接无法获取工作区或驱动器中的文件,在那里点击嵌入的图片也不会有任何反应。

按键 #

按键 作用
Esc 关闭查看器。
→ 图库中的下一个文件。
← 图库中的上一个文件。

方向键只在有图库时有效,在字段中输入时无效。