> For the complete documentation index, see [llms.txt](https://tinyhumans.gitbook.io/openhuman/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyhumans.gitbook.io/openhuman/zh/kai-fa/cef.md).

# Chromium 嵌入式框架（历史）

为什么桌面外壳不再使用 Chromium（CEF）、由什么取代它，以及禁止向子 webview 注入 JavaScript 的规则。

OpenHuman 不再自带 Chromium。桌面外壳， `crates/openhuman-app/`，运行在 Tauri v2 通过 Wry 提供的原生 webview 上：macOS 上是 WKWebView，Windows 上是 WebView2，Linux 上是 WebKitGTK。不要恢复对 CEF 或 Chrome DevTools Protocol（CDP）扫描器假设。 [`AGENTS.md`](https://github.com/tinyhumansai/openhuman/blob/main/AGENTS.md) 说明了这条规则。

对于在旧代码或笔记中发现 CEF 引用的人来说，这一页是背景说明。

## CEF 曾经用于什么

有一段时间，外壳通过一个分支版随附 Chromium， `tauri-runtime`. 原生网页视图默认不暴露 CDP，而 CDP 正是让应用能够监视已连接的 Web 应用，例如 Slack、WhatsApp、Telegram、Discord 和 Google Meet 的手段。每个应用都在自己的子 webview 中运行，并且具有隔离的存储；每个扫描器通过 CDP 读取其状态，而不是通过注入的 JavaScript。相同的运行时也驱动了一个展示吉祥物的 Google Meet 摄像头，以及对嵌入式应用的通知拦截。

这些都不在已发布的应用中。

## 它被什么替代了

* 浏览器自动化已移出外壳。真正的 Chrome 由 Rust 侧通过 CDP 驱动，借助 `tinycomputer` 模块，作为由代理启动或附加到的独立进程。参见 [浏览器和计算机控制](/openhuman/zh/gong-neng/native-tools/browser-and-computer.md).
* 遍历第三方应用的扫描器已经移除。iMessage 扫描器仍然保留，因为它直接读取 `~/Library/Messages/chat.db` ，并且从不需要浏览器。

## 不要向子 webview 注入 JavaScript

不要向子 webview 添加 JavaScript 注入。新行为应放在 Rust 侧的 IPC 钩子中，任何新的 Tauri 插件都应针对 `js_init_script`.

在第三方来源中运行的由宿主控制的代码是一种攻击面风险。另一个站点中的持久桥接在该站点更新时就会失效，而一次失误可能会把桥接暴露给攻击者控制的 JavaScript。

## 另请参阅

* [Tauri 外壳](/openhuman/zh/kai-fa/architecture/tauri-shell.md)：当前的桌面宿主及其 IPC 接口。
* [`AGENTS.md`](https://github.com/tinyhumansai/openhuman/blob/main/AGENTS.md)：整个仓库范围的规则。
