WebView
控制应用内 WebUI 页面的保留、各实例的浏览数据共用、新窗口处理,以及 WebView 数据的查看与清除。
WebUI 启动后显示在应用内置的浏览器(WebView)中。这个设置页决定该浏览器的行为,并显示它保存在磁盘上的数据。这里的设置只影响页面如何显示,不会启动、停止或修改 WebUI 本身。
WebView 使用系统提供的浏览器引擎:Windows 为 Microsoft Edge WebView2,Linux 为 WebKitGTK,macOS 为 WebKit。
字段说明
| 设置 | 默认值 | 作用 |
|---|---|---|
| 离开工作区时保留 WebUI 页面 | 开启 | 切换到其他工作区或实例后,页面是否原样保留 |
| 在实例之间共用缓存与 Cookie | 开启 | 所有实例是否使用同一套浏览数据 |
| WebUI 打开新窗口时 | 内置弹窗,并提供外部浏览器选项 | 页面请求打开新窗口时如何处理 |
三个设置都在选择后自动保存。
离开工作区时保留 WebUI 页面
开启时,再次进入工作区会看到离开时的页面,包括未提交的输入和滚动位置,不会重新加载。关闭后,离开工作区会关闭页面,再次进入时重新加载。无论是否开启,WebUI 本身都会继续运行。
保留的页面在标题栏的 WebUI 标签页中列出和切换。在同一实例的多个界面之间切换不算离开工作区,始终保留,不受此设置影响。
在实例之间共用缓存与 Cookie
开启时,所有实例共用同一浏览环境:在一个实例中登录的站点,在其他实例中同样处于登录状态。关闭后每个实例使用独立的缓存、Cookie 和站点数据,互不影响。
修改后,已经打开的 WebUI 仍使用打开时的存储,重新打开后才会切换。
WebUI 打开新窗口时
页面通过链接或脚本请求打开新窗口时(例如 target="_blank" 链接或弹窗式登录),按以下选项处理:
| 选项 | 行为 |
|---|---|
| 内置弹窗,并提供外部浏览器选项 | 打开内置弹窗,同时在 WebUI 中提示“已在新窗口中打开”,可改用外部浏览器打开 |
| 仅内置弹窗 | 只打开内置弹窗,不显示提示 |
| 外部浏览器 | 拒绝页面的新窗口请求,改为在系统默认浏览器中打开目标地址 |
内置弹窗与 WebUI 共用登录状态,弹窗式登录流程依赖这一点;但它没有工具栏,并且在 macOS 上无法下载文件。选择“外部浏览器”时,页面会被告知其窗口已被拦截,弹窗式登录会失败。此设置对之后打开的 WebUI 页面生效。
推荐选择
保留默认的“内置弹窗,并提供外部浏览器选项”。需要登录时它可以正常工作;需要下载或完整浏览器功能时,点击提示中的“在外部浏览器中打开”即可。
无论选择哪一项,应用都会拒绝不安全的目标地址,并显示“链接已被阻止”:只允许 HTTP 和 HTTPS 地址,不允许地址中包含凭据、缺少主机名或长度过长的目标。
在外部浏览器中打开 WebUI
工作区中的“在外部浏览器中打开”按钮会把当前 WebUI 地址交给系统默认浏览器,应用内的页面保持不变。实例有多个界面时,打开的是当前正在显示的那一个。无法启动浏览器时,应用会显示“无法打开浏览器”。
下载
在 WebUI 中下载的文件保存到路径中的“WebUI 下载目录”,默认为应用数据目录下的 downloads 文件夹;已有同名文件时自动在文件名后添加序号,不会覆盖。
普通 HTTP 和 HTTPS 下载显示在任务中心的“下载”标签页中,可以查看进度、暂停、继续和取消,关闭 WebUI 页面后仍会继续。页面在浏览器内生成的文件(blob: 或 data: 地址)由浏览器引擎直接保存,只显示结果,不能暂停或取消。
WebView 数据
字段下方的“WebView 数据”面板显示:
- 引擎名称和版本;
- 每份存储的磁盘占用:共用时显示“所有实例共用”,独立时按实例分别显示;
- 当前正被打开的 WebUI 使用的存储,标为“使用中”。
“清除 WebView 数据”会删除 WebUI 浏览器保存的所有缓存文件、Cookie 与站点设置,已登录的站点需要重新登录。WebUI 本身、实例文件、模型和输出不受影响。清除前必须先关闭所有已打开的 WebUI 页面,因为浏览器仍在使用这些文件。
清除后无法恢复
清除会删除所有实例的 WebView 数据,而不只是当前实例。WebUI 页面中保存在浏览器里的设置(例如部分界面偏好)也会一并丢失。
排查页面显示问题
点击“在外部浏览器中打开”。外部浏览器也无法打开时,问题在 WebUI 服务本身,而不是 WebView。