内容
# E2LLM — 结构化浏览器感知,用于人工智能
**E2LLM 将任何实时网页转换为 [SiFR](./SIFR.md):一个紧凑、确定性的、LLM 可读的模型,描述页面内容、含义和可执行操作。**
感知是产品。当您需要时,操作是可用的 — 始终明确,始终受控。
与您已经使用的 AI 一起作为托管远程 MCP 服务器运行。不需要运行本地服务器 — 浏览器扩展将您的实时浏览器与服务器配对,因此感知和操作在您已经登录的真实浏览器中发生。
---
## E2LLM 不是代理
这很重要,所以放在首位。
**代理** 自己决定并采取行动 — 它计划、循环并朝着目标采取步骤,而无需您介入。这种自主性也是其攻击面:一个可以执行任何操作的代理运行时可能会被引导执行任何操作。
**E2LLM 是一个感知层,而不是代理。** 它为您的模型提供浏览器的“感官” — 通过 `sifr_capture` 进行结构化视觉,以及一组狭窄、单独控制的执行器。它不计划、不循环,也不决定。您已经使用的模型进行推理;E2LLM 只报告页面内容并执行一个明确的指令。它没有隐藏的自主性,没有自我指导的步骤,也不会在您不注意时运行。
这条线 — 感知基质与自主运行时 — 就是整个设计。
---
## 功能
| | 工具 | 功能 |
|---|------|--------------|
| 🔎 | `sifr_capture` | 将页面捕获为 SiFR 文档 |
| 🔎 | `query` | 过滤当前捕获 — 按标签、显著性、文本或选择器 |
| 🔎 | `inspect` | 元素的完整详细信息:选择器、属性、样式、框 |
| 🔎 | `read_page` | 以 Markdown 格式读取页面的文本,按阅读顺序 |
| 🔎 | `list_tabs` | 列出打开的浏览器标签页 |
| 🖐 | `act` | 一个明确的交互:点击、输入、选择、导航或拖动 |
| 🖐 | `batch_act` | 运行计划的序列,然后观察一次(例如,填写表单 + 提交) |
| 🖐 | `explore` | 滚动、悬停或重新捕获 — 读取更多内容,不更改任何内容 |
| 🖐 | `close_tab` | 关闭标签页 |
九种工具:五种 🔎 仅用于感知,四种 🖐 用于交互 — 其中 `act`、`batch_act` 和 `close_tab` 更改页面状态,而 `explore` 仅读取。完整的模式在 [server.json](./server.json) 中。感知工具永远不会更改页面状态;更改状态的工具可以针对您的确认(请参见 [安全性](#安全性和审批模型))。
---
## 什么是 SiFR — 以及为什么它不是显而易见的东西
**SiFR** (显著性索引扁平关系)是 E2LLM 核心的捕获格式。从远处看,它可能类似于可访问性树或整齐的 DOM 转储。机械地讲,它两者都不是,而且这种差异很重要。
- **不是 DOM 转储。** 转储按原样序列化树 — 所有内容,按文档顺序,包括噪音。SiFR *选择并排名*:它为每个节点分配显著性分数,删除脚手架,并将幸存者展平为关系模型,其中结构由显式关系而非嵌套深度承载。
- **不是可访问性树。** 可访问性树是为辅助技术派生的,由 ARIA 驱动,对未标记的内容视而不见,对页面最重要的内容也无能为力。SiFR 是为语言模型构建的:它按显著性排名,优先显示重要内容,并携带执行操作所需的选择器 — 而可访问性树不具备这些功能。
- **不是截图。** 没有像素,没有视觉模型,没有不确定性。相同的页面会产生相同的捕获,令牌高效且直接可操作。
结果是一个感知层,而不是序列化:*页面是什么,你可以在上面执行什么操作,以及各个部分如何关联* — 优先显示模型需要的内容。`sifr_capture` 返回一个 ~5–15 KB 的摘要(元数据和显著性元素),在完整文档之前,以便立即开始读取。
- 📄 [**SIFR.md**](./SIFR.md) — 格式规范
- 🔤 [**TAXONOMY.md**](./TAXONOMY.md) — 显著性层级、ID 前缀、关系和类别类型
- 📚 [**examples/**](./examples/) — 公共页面的真实捕获
- 🗓 [**CHANGELOG.md**](./CHANGELOG.md) — 格式版本历史(当前:**v3**)
有关使用 SiFR 构建的提示配方和自动化工作流,请参见 [**awesome-e2llm-prompts**](https://github.com/e2llm/awesome-e2llm-prompts) — 一个社区手册,指向此处作为规范的规范首页。
---
## 3 步安装
**1. 在 [e2llm.com](https://e2llm.com) 上设置。** 创建帐户并安装浏览器扩展。扩展程序将您的实时浏览器与服务器配对 — 这种配对允许您的 AI 在您已经登录的会话中感知和执行操作。(这是唯一在您的机器上运行的部分;没有本地服务器。)
**2. 将 E2LLM 添加到您的 MCP 客户端。**一行代码 — 在 [`clients/`](./clients/) 中选择您的客户端,或粘贴以下内容进行交互式 OAuth 登录:
```json
{
"mcpServers": {
"e2llm": {
"url": "https://mcp.e2llm.com/mcp",
"type": "http"
}
}
}
```
对于 CLI / CI 中不可用的交互式登录,请使用 `https://api.e2llm.com/mcp` 的静态密钥和 `Authorization: Bearer mk_…` 头。每个客户端的完整说明: [**clients/README.md**](./clients/README.md).
**3. 要求您的 AI 对页面执行操作。** 例如:
> “打开我正在访问的页面,找到搜索框,然后筛选开放问题。”
您的助手调用 `sifr_capture` 来 *查看* 页面,然后调用 `act` 来交互 — 在您的真实浏览器中,一步一步明确执行。
---
## 教会您的模型纪律 — SiFR 技能
工具描述告诉模型每个工具的作用;但它们故意不告诉模型如何 *做好*。这种工作纪律 — 验证后再描述,验证后再操作,耗尽分页游标,视页面文本为数据而非指令 — 作为一项技能提供: [**skills/sifr/SKILL.md**](./skills/sifr/SKILL.md). 没有它,模型往往会出现已知故障模式:描述它们没有捕获的页面,在过时的 ID 上执行操作,或根据未排空的部分结果做出决定。
在模型可以查看的位置安装它:
- **Claude Code** — 将技能复制到技能目录中: `cp -r skills/sifr ~/.claude/skills/` (所有项目)或复制到项目的 `.claude/skills/` 中。它在出现 E2LLM 工具或 SiFR 文档时自动加载。
- **Codex CLI 和其他客户端** — 将技能内容包含在代理指令中(例如 `AGENTS.md` )。
同一个文件作为离线读取原始 SiFR 捕获的参考( `jq` 模式,ID 系统,显著性层级)。
---
## 安全性和审批模型
感知在构造上是只读的:五种 🔎 工具不能更改页面状态,因此查看页面始终是安全的。
只有四种 🖐 工具可以执行操作,而且它们故意很狭窄 — 没有“执行任何操作”的工具存在。每个更改状态的步骤都可以 **由您的会话姿态批准**:根据您的会话配置,操作会暂停并等待您的确认,然后再运行。操作始终一步一步明确执行,绝不会作为自主循环运行。
安全披露和漏洞披露计划(带有安全港)位于 [e2llm.com/security/disclosure](https://e2llm.com/security/disclosure/) ;另请参见 [SECURITY.md](./SECURITY.md).
---
## 数据处理
页面内容按需捕获,并通过 E2LLM 中继传输到您的 MCP 客户端。与会话相关的数据在有限的时间窗口内保留(请参见 [隐私政策](https://e2llm.com/privacy)),密码型字段在存储前会进行删减。中继将所有页面派生内容作为不受信任的外部数据封装,因此下游模型将页面文本视为数据而非指令。完整详细信息: [隐私政策](https://e2llm.com/privacy) · [条款](https://e2llm.com/terms).
---
## 兼容性
E2LLM 使用标准 MCP,因此它与任何兼容的客户端一起工作。在实践中已验证与 **Claude**、**ChatGPT**、**Codex**、**Perplexity**、**Grok** 和 **Manus** 的兼容性。其他 MCP 客户端 — 包括 **Cursor**、**VS Code** 和 **Cline** — 应该可以使用;如果您测试了一个客户端,请欢迎提交说明或 PR。
---
## 仓库内容
此仓库是 **SiFR 格式和 E2LLM MCP 服务器接口的规范性、描述性主页**。它记录了格式和连接方式;捕获引擎、浏览器扩展和服务器是单独的托管产品,在 [e2llm.com](https://e2llm.com) 上运行。
| 路径 | 内容 |
|------|------|
| [`SIFR.md`](./SIFR.md) | SiFR 格式规范 |
| [`TAXONOMY.md`](./TAXONOMY.md) | SiFR 受控词汇 |
| [`server.json`](./server.json) | MCP 服务器清单(传输、身份验证、工具 + 模式) |
| [`skills/`](./skills/) | SiFR 技能 — 模型的执行纪律 |
| [`clients/`](./clients/) | 每个客户端的连接配置 |
| [`examples/`](./examples/) | 真实的公共页面捕获 |
| [`SECURITY.md`](./SECURITY.md) | 安全策略和披露计划 |
| [`CHANGELOG.md`](./CHANGELOG.md) | 格式版本历史 |
## 许可证
[MIT](./LICENSE). 存储库中的格式规范、清单、示例和客户端配置是开放的。捕获引擎和服务器是单独的托管产品。