浏览器预览与 SideCar

打开会话浏览器

  1. 在对话工具栏中选择打开网页预览。
  2. 输入不含凭据的 http:// 或 https:// 预览 URL,然后选择打开预览。使用工具栏导航、刷新和后退/前进。
  3. 使用预览关闭按钮返回聊天。在该对话中重新打开即可继续。

每个预览属于其项目文件夹和会话。切换对话、项目、信息或聊天会隐藏已显式打开的原生访客页面,但不丢弃活动文档/历史。隐藏页面不是自动化目标。关闭项目/窗口或重启渲染器会结束活动文档。

保存的历史只在显式重新打开该会话浏览器时恢复,而非启动/选择会话时。它保存 URL 和游标,不保存未发送表单、DOM、POST 正文或 JavaScript 内存。历史受每会话 32 个 URL 和共享布局预算限制;旧条目可能被裁剪。恢复 URL 可能重新加载页面;不是事务重放。

共享登录与自动化边界

在同一桌面引擎和配置文件/配置范围内,原生预览跨项目/会话共享 cookie、登录和站点存储,与可信 CodeNomad 渲染器分开。在一个预览中退出站点会影响使用该存储的其他预览。文档、表单、会话存储、导航历史和自动化附件仍归各会话所有。iframe 预览不是完整共享原生浏览器配置文件。

客户端 预览实现 智能体浏览器自动化 移动模板
支持的桌面平台上的 Electron 原生 Chromium 访客页面 支持可见且归属已确认的会话预览 Android/Chromium 身份、触摸和像素密度仿真
Windows Tauri 原生 WebView2 子窗口 支持可见且归属已确认的会话预览 Android/Chromium 身份、触摸和像素密度仿真
macOS/Linux Tauri 沙箱 iframe 无原生浏览器自动化 仅尺寸
普通浏览器/远程视图 iframe 后备实现 无本地原生预览目标 仅尺寸

原生自动化在桌面启动时准备好,使用会话绑定的 codenomad.browser 工具进行打开、导航、快照、截图和页面操作:点击、输入、选择、悬停、拖动、滚动、按键以及等待文本出现。工具可用不代表对每个窗口都已获授权:执行会检查所属后端、原生能力、会话和可见目标。如果操作所针对的页面在此期间已被隐藏、替换或导航离开,该操作会被拒绝,而不会发送到其他页面;操作也绝不会被自动重复。页面内容仍不可信。目标禁止嵌入时 iframe 可能失败;请使用外部浏览器,不要削弱保护。

选择六种视口模板之一

  1. 打开预览视口菜单。
  2. 选择下列模板。直接使用纵向/横向条目;没有单独旋转控件。
  3. 进入/更改移动仿真或返回仅尺寸模板时,预期会发生原生重新加载。
模板 CSS 视口
响应式视口 可用预览空间
桌面视口 1440 × 900
平板视口 768 × 1024
平板横向 1024 × 768
手机视口 390 × 844
手机横向 844 × 390

原生移动模板仅对所属访客页面设置 Android/Chromium 身份、方向、触摸和 DPR 2.75。返回响应式/桌面/平板会清除覆盖值并重新加载。iframe 后备实现只调整尺寸。这些是可重现的布局参考,而非 Safari/Firefox 仿真,也不模拟手机键盘、浏览器/系统栏或移动操作系统文字设置。切换模板前请保存页面工作,因为重新加载可能丢弃未发送页面状态。

注册 SideCar

  1. 在 CodeNomad 后端主机上单独启动网页工具,监听 127.0.0.1:<port>。
  2. 打开设置 → SideCars。输入名称和端口;检查推导出的基础路径(/sidecars/<id>)。
  3. 将协议设为匹配上游服务,并选择前缀模式。
  4. 选择添加 SideCar,然后从主页选择打开 SideCar打开其标签页。
选择 精确影响
HTTPS(表单默认) CodeNomad 以上游 https://127.0.0.1:<port> 连接。
HTTP CodeNomad 以上游 http://127.0.0.1:<port> 连接。不改变公共 CodeNomad 连接的 TLS 设置。
移除前缀(默认) /sidecars/<id>/path 转发到上游时变为 /path。
保留前缀 /sidecars/<id>/path 原样转发到上游。请相应配置服务自身基础路径。

注册是服务器配置,由客户端共享;既不安装也不启动服务。端口位于后端主机,而非查看用的笔记本电脑或手机。运行中表示可达,不表示工具应用/认证正常。移除注册不会停止单独启动的进程。关闭标签页也不会停止它。

不可达时,检查后端进程和端口。HTML 可加载但资源/WebSocket 失败时,检查工具基础路径和前缀模式。以目标设置重新创建错误注册;不要仅为绕过代理错误而公开上游。SideCar 应用可能以服务器账户权限提供终端或文件;请信任其用户和配置。

SideCar 是 CodeNomad 的可信扩展,而不是沙箱预览:其页面以 CodeNomad 自身的源运行,因此其脚本可以凭借你的登录访问权限使用 CodeNomad。只注册你信任其代码的服务。CodeNomad 不会将自身的登录 cookie 转发给该服务,但会保留该服务自己的 cookie。远程控制不暴露 SideCar 应用代理流量;请使用远程访问和远程控制中描述的适当直接访问路径。

OpenVSCode Server 示例

  1. 在后端主机运行 Docker,将服务绑定到回环地址:
docker run -it --init -p 127.0.0.1:8000:3000 -v "${HOME}:${HOME}:cached" -e HOME=${HOME} gitpod/openvscode-server --server-base-path /sidecars/vscode
  1. 注册名称 VSCode、端口 8000、协议 HTTP、前缀模式 保留前缀。
  2. 验证显示基础路径为 /sidecars/vscode,然后打开 SideCar。

此 Shell 示例将主目录挂载到容器中;如果编辑器只应访问更小范围,请缩小挂载。服务的 --server-base-path 必须与注册精确匹配。完成后单独停止容器;删除 SideCar 不会移除容器或其文件。

ttyd 终端示例

  1. 在后端主机上启动绑定回环地址的可写 Shell 终端:
ttyd --interface 127.0.0.1 --writable zsh
  1. 注册名称 Terminal、端口 7681、协议 HTTP、前缀模式 移除前缀。
  2. 在显示的 /sidecars/terminal 基础路径打开 SideCar。

终端以启动 ttyd 的账户权限运行。zsh 不可用时选择其他 Shell。若更改 ttyd 默认端口,请使用实际端口,并在完成后单独停止 ttyd。为 CodeNomad 访问启用认证并加以保护;可写终端不是沙箱。