Skip to content

内嵌浏览器 ​

内嵌浏览器让 Agent 在受控的 Chromium 里打开网页、读取元素,并执行点击 / 填表等操作。

默认关闭

浏览器功能默认关闭。开启后需要显式确认下载固定版本的浏览器内核。

开启步骤 ​

  1. 打开 设置 → 内嵌浏览器。
  2. 打开「启用内嵌浏览器」开关并保存。
  3. 点击「下载浏览器内核」,等待下载、校验和解压完成。
  4. 点击右侧内容区的 + → 新建浏览器,打开网页页签。

下载会显示进度;没有 Content-Length 时只展示实际下载量,不会伪造百分比。可以切换设置或关闭面板,下载会在后台继续。

浏览器内核 ​

  • 使用 Chrome for Testing 的固定版本。
  • 使用独立的 profile,不读取你日常浏览器的任何数据。
  • 下载包自带 CRC 完整性校验。
  • Windows 右侧栏直接嵌入有头 Chromium 的原生子窗口,不再传输 JPEG 画面,滚动和输入由 Chromium 原生处理;macOS 目前仍使用 screencast 兼容路径,后续切换到 WKWebView。

可用范围 ​

条件要求
会话类型仅本机交互会话
安全级别完全权限,需审批 / 完全权限,无需审批;Plan 仅允许只读操作

使用方式 ​

每个网页与会话、终端并列显示在右侧页签栏,不再通过顶栏独立浏览器按钮打开。可以拖拽调整页签顺序,也可以通过「全部页签」列表切换。

Agent 或网页弹窗创建的新页面会加入页签栏;面板只显示一个可见页面,Agent 切换页签时你的画面会跟随显示该页,不再有「你看 A、Agent 操作 B」的两份画面。关闭网页页签会关闭实际页面,关闭最后一个内容页签后右侧栏自动收起。重启橘记只恢复会话页签,不会自动加载网页。

模型通过独立的 browser 工具使用浏览器,统一按会话权限和一次性审批校验。

  • 只能访问 http / https 页面。
  • 所有调用(含读取)在完全权限需审批档逐次确认,无需审批档自动执行;统一审批展示准确参数、目标 URL、标签页和已知操作对象。
  • 搜索走固定的搜索地址,不自由拼接。
  • 每次操作都有硬上限(元素操作 15 秒、导航与等待类 30 秒),页面卡住时只让这次调用失败并返回「操作超时」,不会把整轮对话挂在那里;操作前会把目标页切到 Chromium 前台,后台标签页不会因为不渲染而点不动。
  • 页面弹出 alert / confirm / prompt / beforeunload 时,browser.get_state 的 dialogs 字段会列出弹窗类型和文案;模型用 page.dialog.accept(prompt 可带 text 指定输入)或 page.dialog.dismiss 解开。弹窗期间其它调用会超时,超时提示会直接点名该弹窗。confirm 可能触发跳转,所以接受后元素引用会失效,需要重新取快照。

网页链接的默认打开方式 ​

启用内嵌浏览器后,笔记预览、Agent 消息、计划卡片和网页引用里的 http / https 链接默认在右侧内置浏览器新开一个页签打开,不再直接唤起系统浏览器。

  • 每次点击都新开页签,不会顶掉你或 Agent 正在看的页面。
  • 面板底部的「系统浏览器打开」按钮,把当前页签的网址交给系统默认浏览器;需要账号登录或浏览器扩展时用它。
  • 按住 Ctrl / Cmd 点击链接会跳过内置浏览器,直接用系统默认浏览器打开;mailto:、tel: 等非网页链接也始终交给系统默认应用。
  • 想恢复旧行为:设置 → 内嵌浏览器,关闭「网页链接默认在内置浏览器打开」。内嵌浏览器本身仍可供 Agent 使用。
  • 内置浏览器打不开时不会让你点了没反应:内核未安装会先提示一句,启动或导航失败会清掉空页签并提示,然后自动回退系统默认浏览器。
  • 打开链接属于用户接管:会撤销 Agent 当前回合的浏览器操作权,和手动导航、点击输入一致。

接管与截图 ​

  • 面板里有「接管」按钮,你可以随时接手操作。
  • 点击网页页签只查看画面,不会中断 Agent;手动导航、点击或输入时才接管。待确认操作使用统一操作审批弹窗;用户接管会取消在途审批并停止本回合后续工具。
  • 截图只用于面板和回执展示,不会发给模型。

浏览器起不来时 ​

内置浏览器只认一个 profile(应用数据目录下的 browser/chromium/profile)。如果橘记被强制结束、崩溃,或者开发时重新编译把它杀掉,上次那个 Chromium 会变成孤儿继续占着 profile;此时再启动会被 Chromium 的单实例机制挡掉,你和 Agent 都会看到「无法启动独立 Chromium」。

橘记会自己处理这种情况:

  • 启动前先读 profile 里的 DevToolsActivePort,调试端口还有实例应答时,macOS 会直接接管它,上次打开的网页会回到页签栏;Windows 因为要嵌入有头窗口,改为结束残留实例后重新启动,避免后台恢复页抢走面板。
  • 自己启动的 Chromium 挂在 Job Object 上,应用被强杀时整棵进程树由系统回收,不再留孤儿。
  • 确实被别的进程锁住且接管失败时,报错会说明「profile 目录被锁住、调试端口仍在应答」,并提示结束残留进程。

需要手工处理时:在任务管理器里结束路径含 app.orange.desktop\browser\chromium 的 chrome.exe,再点「重试打开」。profile 不需要删除。

下一步 ​

基于 Apache-2.0 许可发布