内容
# FSB v0.9.90 全自浏览
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="extension/assets/fsb_logo_dark.png" />
<source media="(prefers-color-scheme: light)" srcset="extension/assets/fsb_logo_light.png" />
<img src="extension/assets/fsb_logo_light.png" alt="FSB 全自浏览" width="200" />
</picture>








**基于自然语言的 AI 驱动浏览器自动化。告诉它要做什么,然后看着它为您浏览。**
*纯结构智能。零视觉。零猜测。*
[更新内容](#更新内容) · [快速开始](#快速开始) · [MCP 服务器](#mcp-服务器) · [架构](#架构) · [提供商](#ai-提供商) · [开发](#开发)
</div>
---
## 概述
FSB(全自浏览)是一个开源的 Chrome 扩展,用于 AI 驱动的浏览器自动化。用自然语言描述一个任务,FSB 读取实时 DOM,构建计划,执行浏览器操作,验证结果,并通过弹出窗口、侧边栏或 MCP 报告进度。
> FSB v0.9.90 在监督自动化方面功能齐全且已准备好投入生产。浏览器自动化在复杂或敏感的网站上仍可能表现不可预测,因此请先在非关键页面上监控操作并进行测试。
### 为什么选择 DOM First
Mariner、Claude Computer Use 和 OpenAI Operator 项目 heavily 依赖于视觉页面理解。FSB 直接使用页面结构。
| 指标 | 基于视觉的代理 | FSB |
|--------|---------------------|-----|
| 页面理解 | 截图 | DOM、选择器、ARIA、表单 |
| 隐藏元素 | 通常不可见 | 在结构中可用 |
| 典型每步延迟 | 1 到 3 秒 | 50 到 200 毫秒 |
| Token/成本配置文件 | 图片繁重 | 文本/结构繁重 |
### 快速开始 TL;DR
**FSB 在您的 AI 客户端直接驱动它时表现最佳。** 为您的选择客户端安装 MCP 服务器 - 一个命令,无需手动配置编辑,**无需 FSB API 密钥**(您的 MCP 客户端的模型处理推理):
| 客户端 | 一键安装 |
|--------|---------------------|
| Claude Code | `npx -y fsb-mcp-server install --claude-code` |
| Claude Desktop | `npx -y fsb-mcp-server install --claude-desktop` |
| Cursor | `npx -y fsb-mcp-server install --cursor` |
| VS Code | `npx -y fsb-mcp-server install --vscode` |
| Windsurf | `npx -y fsb-mcp-server install --windsurf` |
| Codex | `npx -y fsb-mcp-server install --codex` |
| 一次安装全部 | `npx -y fsb-mcp-server install --all` |
在编写内容之前预览:追加 `--dry-run`。使用 `npx -y fsb-mcp-server doctor` 进行健康检查。在重启客户端后,新 MCP 服务器将出现。
**然后安装浏览器端**(MCP 桥接器与扩展程序通信):
1. 从 [Chrome 网上应用店](https://chromewebstore.google.com/detail/badgafnfchcihdfnjneklogedcdkmjfk) 获取 **FSB**。
2. 从您的 MCP 客户端尝试:`在 Google 上搜索猫` 或 `读取此页面并总结它`。
想在没有 MCP 的情况下从扩展程序的弹出窗口/侧边栏运行 FSB?打开设置,粘贴 API 密钥(xAI、Gemini、OpenAI、Anthropic、OpenRouter、LM Studio 或自定义),然后从那里开始 - 不需要 MCP。
**在 OpenClaw 上?** 直接从 [ClawHub](https://clawhub.ai/lakshmanturlapati/full-selfbrowsing) 安装 FSB。这是最快的注册路线。如果您需要手动备用,`skills/fsb/` 中的 FSB 技能仍然会打印规范的 OpenClaw stdio 配置块并运行医生流程。备用 `--openclaw` 安装标志保持手动,因为 OpenClaw 的 MCP 配置模式在构建过程中不稳定。
**在 Hermes 上?** 使用 `skills/fsb/` 中的相同技能。运行 `node skills/fsb/scripts/print-hermes-yaml.mjs` 打印规范的 `~/.hermes/config.yaml` `mcp_servers.fsb` 块,或运行 `node skills/fsb/scripts/install-host.mjs` 检测本地 Hermes 配置并在同意后安装。
### 它做什么
- 从弹出窗口或侧边栏运行自然语言浏览器任务。
- 支持 xAI、Gemini、OpenAI、Anthropic、OpenRouter、LM Studio 和自定义 OpenAI 兼容端点。
- 发现实时提供商模型列表,并回落到捆绑的默认值。
- 使用 56 个规范的扩展程序工具定义和 66 个注册的 MCP 工具用于外部客户端。
- 提供 DOM 快照、操作验证、智能等待、卡顿检测、视觉反馈和会话日志。
- 搜索 128 个应用的功能目录,并通过 MCP 功能表面调用已验证的签名、审计、拒绝列表控制的第一方 API 功能。
- 通过受监督的 `upload_file` 工具将真实的本地文件上传到文件输入中,带有敏感路径保护措施。
- 为过去的网站、工作流、选择器和任务结果维护长期记忆。
- 包括用于监督自动填充的安全凭证和支付保险箱流程。
- 暴露一个本地 MCP 服务器,以便 Claude Code、Codex、Cursor、VS Code、Windsurf 等 MCP 客户端可以驱动浏览器。
后台代理已退休。现有的 `chrome.storage.local['bgAgents']` 数据将为具有旧代理的用户保留,但计划或重复自动化不再是 FSB 的活跃功能。
### 常见用例
- **质量保证和回归检查**:重复页面流程、点击状态、填写表单和收集操作日志。
- **研究**:导航页面、提取可见信息并在不依赖截图的情况下总结结果。
- **数据录入**:使用验证、下拉菜单、自定义控件和表格输入遍历结构化表单。
- **电子商务**:比较产品页面、检查价格、手动监控可用性并在监督下准备购物车。
- **金融和仪表盘**:读取图表、表格和当前页面状态,同时人类保持控制。
- **触发器监视器**:监视一个页面元素的变化、阈值穿越或可用性,同时 Chrome 和扩展程序保持打开。
- **开发者工作流**:驱动 GitHub、问题跟踪器、文档网站、编码平台和基于浏览器的工具。
- **无障碍和 DOM 检查**:为调试暴露结构、标签、选择器、表单和隐藏控件。
FSB 在任务可以用页面结构和用户操作表达时最为可靠。它故意不是一个隐秘浏览器、刮虫农场或无人监督的账户操作员。
### 功能详情
| 领域 | 当前行为 |
|------|------------------|
| DOM 分析 | 捕获可见和结构化的页面数据、元素引用、选择器、表单、ARIA 标签和 DOM 增量。 |
| 操作执行 | 支持点击、输入、按键、滚动、导航、标签、电子表格范围、坐标工具、直接 JavaScript 和真实文件上传。 |
| 功能目录 | 搜索 128 个应用目录并调用已验证的签名、审计、拒绝列表控制的第一方 API 功能, 通过 `search_capabilities` 和 `invoke_capability`。 目录命中在证明、发现或受控失败关闭之前保持学习中。 敏感源被标记,而被拒绝的源保持被阻止。 |
| 验证 | 检查操作后的状态、加载行为、DOM 稳定性和卡顿操作重复。 |
| UI 界面 | 弹出窗口聊天、持久侧边栏、选项/控制面板、日志、分析、内存、保险箱和同步控制。 |
| 模型支持 | 主机提供商、OpenRouter 路由、LM Studio 本地模型、自定义端点和实时模型发现。 |
| 输出渲染 | Markdown、清理的 HTML、Mermaid 图表、Chart.js 图表和任务进度消息。 |
| 可观察性 | 会话历史、操作日志、token/成本核算、诊断环缓冲区和 MCP 状态探针。 |
| 安全 | 加密密钥、保险箱解锁流程、编辑助手、DOMPurify、功能签名/审计门控、源拒绝列表、上传路径拒绝列表和受限标签恢复消息。 |
| 触发器监视器 | MCP 调用者可以用 `trigger` 武装一个元素监视器,并用 `stop_trigger`、`get_trigger_status` 和 `list_triggers` 管理它。 监视器支持 `live-observe` 和 `refresh-poll` 模式、阈值/增量/正则/复合条件、阻塞或分离报告,以及可配置的并发上限。 |
| DOM 即时预览 | PhantomStream 支持的捕获、渲染器、协议、媒体镜像以及与 FSB 拥有的配对、任务状态、叠加层和远程控制所有权的兼容性。 |
核心设计目标是保持浏览器作为事实来源。模型接收结构化的页面上下文、做出工具决策,并扩展程序在移动到下一步之前验证更改内容。
---
## 更新内容
**原生功能目录:第一方 API 执行。** 除了 DOM 自动化外,FSB 还可以搜索涵盖 128 个应用的功能目录,并使用 `search_capabilities` 和 `invoke_capability` 调用已验证的 API 功能。 已验证的功能通过一个路由器运行,该路由器检查来源、验证配方签名、检查拒绝列表、序列化操作并记录审计记录,该记录永远不包括秘密。 尚未验证的功能被明确标记,而不是呈现为可立即使用。 每个来源默认允许,除非它在拒绝列表中,否则拒绝列表中的来源保持被阻止。 敏感来源在界面和审计跟踪中被标记,从敏感来源读取数据仍需要额外的确认。 API 集成模型灵感来自 **OpenTabs**(参见 [致谢](#致谢))。 功能执行得到完全支持并已测试,包括实时浏览器测试。 自动化测试套件是绿色的。
**`upload_file`:真实文件输入上传。** MCP 客户端和 FSB 自动驾驶现在可以调用 `upload_file(selector, file_path, tab_id?)` 通过 CDP `DOM.setFileInputFiles` 将绝对本地磁盘路径设置在真正的 `<input type="file">` 上,包括隐藏在样式化放置区后面的输入。 上传通过一个共享的后台检查点,并带有敏感路径拒绝列表和审计日志,不会保留磁盘路径。 `drop_file` 仍然用于合成拖放情况和纯拖放区。
**PhantomStream 0.2.1 媒体镜像。** 仪表盘 DOM 即时预览现在使用发布的 PhantomStream 媒体侧通道以参考模式运行,因此渐进式 `<video>` 和 `<audio>` 节点可以与 DOM 快照一起镜像。 自适应 HLS/DASH 发现仍然延期,因为它需要一个新的 `webRequest` 权限;MCP 工具模式、配对、身份验证和仪表盘所有权行为保持不变。
**v0.11.0 - 触发工具(反应式 DOM 监控)。** MCP 调用者可以用 `trigger` 武装一个页面元素的监视器,并用 `stop_trigger`、`get_trigger_status` 和 `list_triggers` 管理它。 监视器支持 `live-observe` 和 `refresh-poll` 模式、阈值/增量/正则/复合条件、阻塞或分离报告,以及可配置的并发上限。 有关完整合同,请参见 [触发器监视器](mcp/README.md#触发器监视器)。
**展示和生态系统页面。** [full-selfbrowsing.com](https://full-selfbrowsing.com) 新增了 [Lattice](https://full-selfbrowsing.com/lattice)(功能运行时 SDK)、 [PhantomStream](https://full-selfbrowsing.com/phantom-stream) (基于 DOM 的浏览器镜像)、 [Prometheus](https://full-selfbrowsing.com/prometheus) (FSB 背后的自主浏览器构建)、社区 [站点地图](https://full-selfbrowsing.com/sitemaps) 中心,以及实时 [统计](https://full-selfbrowsing.com/stats) 页面,带有匿名活动区域地球仪、 [法律](https://full-selfbrowsing.com/legal) 立场页面和 [关于](https://full-selfbrowsing.com/about) 上的交互式知识图查看器。
完整历史记录位于 [`CHANGELOG.md`](https://github.com/fullselfbrowsing/FSB/blob/main/CHANGELOG.md);MCP 包在其自己的日志中记录 [`mcp/CHANGELOG.md`](https://github.com/fullselfbrowsing/FSB/blob/main/mcp/CHANGELOG.md)。
---
## 仓库布局
| 路径 | 目的 |
|------|---------|
| [`extension/`](./extension/README.md) | Chrome 扩展程序包。 将此目录加载为 unpacked MV3 扩展程序。 |
| [`mcp/`](./mcp/README.md) | npm 包 `fsb-mcp-server`,用于外部 AI 客户端的本地 MCP 桥接器。 |
| [`skills/fsb/`](./skills/fsb/SKILL.md) | OpenClaw + Hermes 技能:医生 + stdio/YAML 打印机 + 多个主机有条件安装。 |
| [`showcase/`](./showcase/README.md) | [full-selfbrowsing.com](https://full-selfbrowsing.com) 的营销和仪表盘网站。 Angular 20 静态预渲染 + Express 中继。 |
| `showcase/server/` | 用于配对、PhantomStream 兼容的中继、身份验证和仪表盘数据 Node/Express 部署后端。 |
| `server-py/` | 保留的 Python/FastAPI 样式后端原型以供参考。 |
| `tests/` | 扩展模块、MCP 合同、桥接行为和回归覆盖的 Node 测试。 |
| `scripts/` | 仓库维护和验证脚本。 |
顶级部署和验证文件:
- `package.json` - 根目录命令用于验证、测试、打包和展示助手。
- `Dockerfile`、`fly.toml` - fly.io 上的生产部署展示服务器。
- `.github/workflows/ci.yml` - 验证扩展程序、MCP 烟雾测试和展示构建。
- `.github/workflows/deploy.yml` - 在 `main` 推送时部署生产站点。
---
## 截图
<table>
<tr>
<td width="50%" align="center">
<img src="extension/assets/screenshots/demo-task-input.png" alt="FSB 侧边栏上的 YouTube 用户输入任务" width="100%" />
<br/><sub><b>任务输入</b></sub>
</td>
<td width="50%" align="center">
<img src="extension/assets/screenshots/demo-task-result.png" alt="FSB 自动执行 YouTube 搜索,输入 Sunflower" width="100%" />
<br/><sub><b>任务执行</b></sub>
</td>
</table>
<details>
<summary><strong>更多截图</strong></summary>
#### 仪表盘和分析
<img src="extension/assets/screenshots/dashboard-analytics.png" alt="选项仪表盘显示 token 使用图表和按模型划分的成本明细" width="100%" />
#### API 配置
<img src="extension/assets/screenshots/api-configuration.png" alt="API 配置面板,提供商选择和密钥输入" width="100%" />
#### 密码管理器
<img src="extension/assets/screenshots/passwords-manager.png" alt="密码管理器,用于存储自动化期间使用的站点凭证" width="100%" />
#### 内存和站点资源管理器
<img src="extension/assets/screenshots/memory-site-explorer.png" alt="内存查看器和站点资源管理器,显示爬取的站点结构" width="100%" />
#### 智能知识图
<img src="extension/assets/screenshots/intelligence-graph.png" alt="3D 知识图,显示站点指南类别和支持的域" width="100%" />
</details>
---
## 快速开始
### 先决条件
- Chrome 88+ 或另一个基于 Chromium 的浏览器,例如 Edge 或 Brave。
- 一个 AI 提供商设置:
- xAI API 密钥:https://x.ai/api
- Gemini API 密钥:https://aistudio.google.com/app/apikey
- OpenAI API 密钥:https://platform.openai.com/api-keys
- Anthropic API 密钥:https://console.anthropic.com/account/keys
- OpenRouter API 密钥:https://openrouter.ai/keys
- LM Studio 本地服务器运行在 `http://localhost:1234`
- 自定义 OpenAI 兼容聊天完成端点 ### 安装扩展程序
```bash
git clone https://github.com/fullselfbrowsing/FSB.git
cd FSB
```
1. 打开 `chrome://extensions/`。
2. 启用 **开发者模式**。
3. 点击 **加载 unpacked**。
4. 选择 `extension/` 目录。
5. 点击 FSB 工具栏图标,打开设置,配置提供商并测试 API 连接。
从 `chrome://extensions/` 重新加载扩展程序后本地代码更改后重新加载扩展程序。打开一个普通网页,而不是浏览器内部页面。
尝试简单的任务,例如:
- `向下滚动`
- `在 Google 上搜索猫`
- `单击第一个搜索结果`
- `读取此页面并总结它`
在从 `chrome://extensions/` 重新加载扩展程序后,请在扩展程序重新加载后重新加载打开的标签页,以便内容脚本重新注入。
### 首次运行检查清单
1. 从扩展程序打开 FSB 控制面板。
2. 选择提供商和模型。
3. 输入匹配的 API 密钥或本地端点。
4. 使用 **测试 API** 确认模型可以回答。
5. 打开一个普通网页,而不是浏览器内部页面。
6. 尝试只读任务,然后尝试简单的点击或输入任务。
7. 在评估行为时保持视觉叠加层启用。
如果某个网站使用大量客户端渲染、自定义画布控件或不寻常的 Shadow DOM,请首先询问 FSB 读取页面并识别可用的控件。这让模型获得更好的初始快照,使故障更容易调试。
### 快速故障排除
| 问题 | 检查 |
|---------|-------|
| 扩展程序未出现 | 确认 Chrome 加载了 `extension/` 而不是仓库根目录。 |
| API 测试失败 | 确认所选提供商、密钥、端点和模型彼此匹配。 |
| 页面读取失败 | 移离浏览器内部页面,例如 `chrome://` 或扩展程序页面。 |
| 点击未命中目标 | 刷新 DOM 快照,滚动目标进入视图,或使用坐标工具。 |
| 输入文本未粘贴 | 优先使用 `type_text` 而不是 JavaScript 值赋值到受控输入。 |
| MCP 工具丢失 | 重启主机客户端并运行 `fsb-mcp-server doctor`。 |
| MCP 工具超时 | 检查 `status --watch`,活动选项卡就绪情况,以及另一个任务是否排队。 |
大多数故障可以通过检查当前页面,刷新选择器或重启本地 MCP 桥接器来恢复。重新安装 MCP 配置应该是最后一步,而不是第一步。
### 本地开发设置
您不需要构建步骤即可在Chrome中加载扩展程序。您仅在运行测试、构建MCP或构建展示站点时才需要npm依赖项。
```bash
npm install
npm --prefix mcp install
npm --prefix showcase/angular install
```
扩展程序直接从`extension/`读取捆绑的脚本。MCP包是用TypeScript编写的,必须在烟雾测试或npm发布之前进行构建。展示是一个普通的Angular应用程序,静态预渲染输出由生产Express后端提供。
---
## MCP服务器
FSB提供了[`fsb-mcp-server`](https://www.npmjs.com/package/fsb-mcp-server),一个本地MCP服务器,允许外部AI客户端控制同一个浏览器扩展程序。它公开了66种注册工具,涵盖视觉会话、触发器监视器、手动浏览器控制、功能搜索/调用、只读页面检查、自动驾驶、保险库和可观察性。
扩展程序连接到MCP桥接器:
```text
ws://localhost:7225
```
可选的Streamable HTTP模式公开:
```text
http://127.0.0.1:7226/mcp
```
### 一键安装
```bash
npx -y fsb-mcp-server install --claude-desktop
npx -y fsb-mcp-server install --claude-code
npx -y fsb-mcp-server install --cursor
npx -y fsb-mcp-server install --vscode
npx -y fsb-mcp-server install --windsurf
npx -y fsb-mcp-server install --codex
npx -y fsb-mcp-server install --all
```
预览无需写入:
```bash
npx -y fsb-mcp-server install --all --dry-run
npx -y fsb-mcp-server install --list
```
### 手动示例
Claude Code:
```bash
claude mcp add --scope user fsb -- npx -y fsb-mcp-server
```
Codex (`~/.codex/config.toml`):
```toml
[mcp_servers.fsb]
command = "npx"
args = ["-y", "fsb-mcp-server"]
```
VS Code (`mcp.json`):
```json
{
"servers": {
"fsb": {
"type": "stdio",
"command": "npx",
"args": ["-y", "fsb-mcp-server"]
}
}
}
```
诊断:
```bash
npx -y fsb-mcp-server doctor
npx -y fsb-mcp-server status --watch
npx -y fsb-mcp-server wait-for-extension
```
参见 [mcp/README.md](mcp/README.md) 以获取完整的工具参考和客户端特定设置说明。
OpenCode 和 OpenClaw 通过手动或不支持的回退设置路径支持;在编辑主机配置后,如果 FSB 工具未出现,请刷新或重新加载客户端。
### MCP 使用指南
手动工具是大多数外部客户端的默认路径。它们允许调用者检查页面,选择选择器,执行操作并验证。`run_task` 在用户明确希望 FSB 运行其自己的自动化循环时很有用,但手动控制更容易审计和恢复。
在调用者希望监视一个选择器以获取未来的值变化而不是手动轮询时,请使用触发器监视器。它们特定于打开的浏览器会话:Chrome 和 FSB 扩展程序必须保持运行,结果会报告回 MCP 调用者,FSB 不提供服务器端监视或推送交付。
推荐的手动模式:
1. 在您想要信任的叠加层时,在操作调用上添加 `visual_reason` 和 `client`。
2. `read_page` 或 `get_dom_snapshot` 以了解当前页面。
3. 使用 `execute_js` 进行安全的 DOM 读取和简单的 DOM 触发点击。
4. 在需要真实浏览器事件时,使用 `click`、`type_text`、`press_key` 和 `drag` 等原生工具。
5. 使用 `read_page`、`get_page_snapshot` 或 `get_dom_snapshot` 验证。
6. 在最后一个操作上设置 `is_final:true` 以立即清除叠加层。
在更改客户端配置之前,请使用 `doctor` 和 `status --watch`。大多数 MCP 故障是连接、扩展程序唤醒、活动标签或内容脚本就绪问题,而不是安装问题。
---
## 架构
```mermaid
graph TB
UI["弹出窗口 / 侧边栏 / 选项"] --> BG["MV3 后台工作线程"]
BG --> AI["通用提供程序"]
BG --> CS["内容脚本"]
BG --> MEM["内存 + 分析"]
BG --> MCP["MCP 桥接器"]
AI --> APIs["xAI / Gemini / OpenAI / Anthropic / OpenRouter / 本地"]
CS --> PAGE["网页 DOM"]
MCP --> CLIENTS["Claude Code / Codex / Cursor / VS Code / 其他"]
```
### 主要运行时组件
- **后台工作线程** (`extension/background.js`):拥有会话、模型调用、工具执行、MCP路由和存储编排。
- **内容脚本** (`extension/content/`):分析DOM、创建元素引用、执行操作、通过PhantomStream捕获适配器流式传输DOM状态、等待稳定状态并渲染视觉反馈。
- **AI层** (`extension/ai/`):通用OpenAI兼容请求引擎、提供程序设置、模型发现、工具定义、转录和操作历史。
- **内存** (`extension/lib/memory/`):存储情景、语义和过程记录,然后为后续任务检索相关先前上下文。
- **可视化** (`extension/lib/visualization/`):用于指南和内存探索的D3/site图视图。
- **保险库** (`extension/config/secure-config.js` 加 UI流程):加密API密钥和保存的用户数据存储在Chrome中。
- **MCP包** (`mcp/`):TypeScript服务器,将MCP调用转换为扩展程序桥接器消息。
### 自动化流程
1. 用户或MCP客户端提交任务。
2. FSB捕获活动页面结构。
3. 检索相关的站点指南和内存。
4. 所选模型计划下一个工具调用。
5. 内容脚本执行浏览器操作并等待可见变化。
6. FSB验证结果,记录分析数据,并继续或完成。
### 状态和数据流
FSB在Chrome存储中存储配置和运行时数据。API密钥和保存的敏感值通过安全配置层。会话日志、分析和内存记录保存在本地,除非用户明确启用服务器同步或使用展示仪表盘配对流程。
在任务期间,后台工作线程拥有会话状态,并与三个主要协作者通信:
- 内容脚本用于页面读取和浏览器操作
- 所选提供者用于规划和响应生成
- 本地存储用于配置、分析、内存和日志
MCP服务器不会替换扩展程序运行时。它是一个本地桥接器,将MCP请求转换为FSB自己的UI使用的相同后台工作线程路由。
### 浏览器操作界面
扩展程序的规范工具注册涵盖导航、搜索、点击、输入、键盘事件、滚动、等待、标签页、电子表格、坐标交互、真实文件上传、DOM突变助手、只读检查、站点指南查找、内存搜索和任务完成信号。
MCP服务器围绕该注册表公开一个精选的公共界面,以及直接服务器注册的配套工具:
| 界面 | 计数 | 示例 |
|---------|-------|----------|
| 视觉会话 | 2 | `start_visual_session`、`end_visual_session` |
| 自动驾驶和导航代理 | 4 | `run_task`、`stop_task`、`get_task_status`、`back` |
| 触发器监视器 | 4 | `trigger`、`stop_trigger`、`get_trigger_status`、`list_triggers` |
| 手动控制 | 37 | `execute_js`、`navigate`、`click`、`type_text`、`drag`、`upload_file` |
| 只读检查 | 8 | `read_page`、`get_dom_snapshot`、`get_site_guide`、`read_sheet` |
| 功能 | 2 | `search_capabilities`、`invoke_capability` |
| 可观察性 | 5 | `list_sessions`、`get_logs`、`search_memory` |
| 保险库 | 4 | `list_credentials`、`fill_credential`、`use_payment_method` |
只读工具在安全时绕过突变队列。突变工具序列化以确保两个客户端不会同时点击、输入、上传、调用或导航。功能工具根据设计保留在规范扩展程序注册表之外;`search_capabilities`绕过队列,而`invoke_capability`序列化类似于其他副作用工具。搜索结果包括就绪标签,以便调用者可以将`t1-ready`直接执行与`t1-guarded-fail-closed`、`learn-pending`和`discovery-pending`目录尾部命中区分开来。
---
## AI 提供商
FSB 使用一个通用提供商路径来支持托管、路由、本地和自定义的 OpenAI 兼容模型。
| 提供商 | 默认或备用模型 | 备注 |
|----------|---------------------------|-------|
| xAI | `grok-4-1-fast` | 默认提供商,快速自动化配置文件。 |
| Google Gemini | `gemini-2.5-flash` | 包括免费/低成本模型选项,取决于Google可用性。 |
| OpenAI | `gpt-4o` | 强大的通用自动化和结构化输出。 |
| Anthropic | `claude-sonnet-4-6` | 强大的推理和重型工作流程。 |
| OpenRouter | `openai/gpt-4o` | 单一密钥用于路由模型;支持实时发现。 |
| LM Studio | 实时本地模型列表 | 无API密钥;读取本地LM Studio服务器的`/v1/models`。 |
| 自定义 | 用户提供的模型 | 任何兼容的聊天完成端点。 |
扩展程序包含30个备用模型条目和支持的托管提供商的实时模型发现。定价和模型可用性经常变化,因此请使用提供商仪表板作为计费的真实来源。
### 提供商配置说明
- xAI、Gemini、OpenAI、Anthropic 和 OpenRouter 使用 Chrome 存储中保存的 API 密钥。
- LM Studio 需要本地服务器启用并可从 Chrome 访问。
- 自定义端点应指向兼容聊天完成的 URL。
- 保存的模型即使不在捆绑的备用列表中也会被保留,因此新发现的模型不会在服务工作线程重新启动后被静默覆盖。
- 如果发现失败,选项页面会回退到捆绑模型,并在内联显示发现状态。
提供者特定的提示格式位于 AI 层,但执行循环故意共享。这使得动作规划、工具验证、转录存储、成本跟踪和错误处理在模型之间保持一致。
### 模型发现和备用
模型发现查询提供商的模型端点(如果可用),过滤非文本模型,规范化列表,并缓存成功的结果。如果提供商离线,密钥丢失或发现失败,FSB 将保持 UI 可用,使用捆绑的备用模型。
当前备用表包括:
- 6 个 xAI 模型
- 5 个 Gemini 模型
- 4 个 OpenAI 模型
- 9 个 Anthropic 模型
- 6 个 OpenRouter 预设
- 仅限 LM Studio 的实时模型
自定义提供者故意开放。模型名称和端点来自用户设置,通用提供者处理 OpenAI 兼容的请求/响应行为。
---
## 站点智能和内存
FSB 为 17 个类别提供站点指南,包括电子商务、金融、社交、旅行、编码、电子邮件、职业、游戏、生产力、媒体、设计、新闻、实用工具、体育、参考、音乐和游戏。指南提供选择器、导航模式、工作流提示和已知的站点怪癖。
长期记忆记录:
- **情景记忆**:特定会话中发生的事情。
- **语义记忆**:关于域或 UI 的学习事实。
- **过程记忆**:重复的工作流和选择器有效。
内存操作单独跟踪,不与正常自动化成本关联。选项仪表板公开使用情况图表、内存详情面板、日志和导出控件。
### 指南类别
| 类别 | 示例 |
|----------|----------|
| 电商 | Amazon、eBay、Walmart、Best Buy、Target |
| 金融 | Yahoo Finance、TradingView、Google Finance、Coinbase |
| 社交 | YouTube、Reddit、LinkedIn、Instagram、TikTok |
| 旅行 | Booking、Kayak、Google Travel、Airbnb、航空公司 |
| 编码 | GitHub、Stack Overflow、LeetCode、Codeforces |
| 电子邮件和生产力 | Gmail、Outlook、Google Workspace、Notion、Jira、Trello |
| 职业 | Workday、Greenhouse、Lever、主要雇主工作门户 |
| 媒体和设计 | 视频播放器、语音记录器、Photopea、Miro、Excalidraw |
| 边缘情况 | CAPTCHA 类似滑块、文件上传、cookie 退出、隐藏登录链接 |
站点指南是助手,而不是硬编码的脚本。FSB 仍然会读取当前 DOM 并使用指南作为上下文以获得更好的选择器和更少的重复错误。
### 内存生命周期
任务后,FSB 可以从会话转录和操作历史中提取内存。内存被评分、标记、巩固并根据域名、任务类型、最近性和关键词相关性检索。这使 FSB 可以重用它所学的内容,而不必将每个以前的会话都塞进每个提示中。
内存和站点地图对于以下特别有用:
- 相同域上的重复工作流
- 具有自定义控件或不稳定选择器的页面
- 确定成功的登录、搜索、结账或表单填写模式
- 避免已知的坏选择器或重复的失败操作
- 从选项仪表板可视化学习的站点结构
---
## 安全性和安全性
- API 密钥使用 AES-GCM 加密并存储在 Chrome 存储中。
- 凭证和支付保险库流程避免通过 MCP 桥接器发送原始机密。
- 渲染的聊天输出使用 DOMPurify 进行清理。
- 自动化范围限定为活动会话选项卡(如果可能)。
- 日志可以审查或禁用以适应敏感用例。
请为开发和生产使用单独的 API 密钥,定期轮换密钥,尊重网站服务条款,并在与帐户、财务、购物或数据录入相关的任何内容上监督自动化。
### 当前边界
- FSB 不会绕过浏览器对内部页面的限制。
- CAPTCHA 解决支持是一个框架和可选服务集成,而不是保证。
- 扩展程序可以与活动页面、选项卡和调试器支持的坐标工具交互,因为这些权限在 MV3 清单中声明。
- `upload_file` 需要绝对本地路径,阻止已知敏感路径模式,并记录审计元数据而不持久化磁盘路径。
- 能力调用允许每个非拒绝的源在 Auto 下运行,并通过拒绝列表、突变、签名和审计门控。仅验证的 T1/T1b 能力直接执行;受保护或目录尾部能力返回类型化的待定/回退响应。敏感源被标记以供审查;对敏感源的网络捕获发现仍然需要额外确认。
- 保存的凭证和付款方法需要显式用户配置和解锁流程。
- 自动化应被视为快速助手操作您的浏览器,而不是无人值守的生产工作者。
### 数据处理
提供者调用接收完成请求的页面/任务上下文。这可能包括可见的页面文本、表单标签、选择器和用户提供的任务说明。避免在敏感页面运行自动化,除非您愿意发送该任务上下文到所选模型提供者。
FSB 不需要托管的 FSB 帐户即可进行本地扩展使用。展示后端和仪表板配对服务器与正常的本地扩展操作分开。
---
## 开发
安装验证或测试时安装根依赖项:
```bash
npm install
npm --prefix mcp install
npm --prefix showcase/angular install
```
常见检查:
```bash
npm run validate:extension
npm test
npm run test:mcp-smoke
npm --prefix showcase/angular run build
```
CI 工作流在单独的作业中运行这些检查:
- 扩展验证和 Node 测试
- MCP TypeScript 构建和烟雾测试
- Angular 展示构建
其他有用命令:
```bash
npm run showcase:serve
npm run showcase:smoke
npm --prefix mcp run build
npm --prefix mcp run dev
```
调试:
- 从 `chrome://extensions/` 检查服务工作线程。
- 在活动选项卡上检查浏览器控制台的内容脚本日志。
- 使用选项页面日志查看器查看会话和操作历史记录。
- 对于 MCP 问题,运行 `npm run test:mcp-smoke`,然后运行 `fsb-mcp-server doctor`,然后运行 `fsb-mcp-server status --watch`。
### 变更指南
- 将行为特定的文档保持在拥有该行为的包附近。
- 仅更新根 README 以获取公共设置、架构或功能更改。
- 更新 `mcp/README.md` 时,工具名称、计数、传输、诊断或安装平台更改时更新。
- 更新 `extension/README.md` 时,清单入口点、扩展加载、打包或验证更改时更新。
- 更新 `showcase/README.md` 时,Angular、部署、爬虫或站点构建行为更改时更新。
- 优先使用测试来测试扩展和 MCP 服务器之间的共享合约;过时的文档通常是缺少合约检查的症状。
### 发布健康检查
在进行发布之前,请验证:
- 根 `package.json` 版本与 `extension/manifest.json` 匹配
- `mcp/package.json` 与 `mcp/src/version.ts` 匹配
- README 版本徽章和“新增内容”部分与包元数据匹配
- 截图和徽标从跟踪的路径解析
- MCP README 工具计数与注册运行时表面匹配
- 展示 README 与 Angular 主版本和构建输出路径匹配
- 没有已退休的后台代理行为被宣传为活动功能
### 文档所有权
根 README 应描述新用户安装、测试或选择集成路径之前需要了解的内容。详细的行为属于拥有该行为的包 README。这分开后,公共概述保持有用,同时给维护者一个明确的地方来更新工具表面、入口点扩展或展示部署说明。
---
## 致谢
- **OpenTabs** 启发了 FSB 的原生能力目录(第一方 API 执行:将身份验证的浏览器会话转换为可重用、签名、审计的能力)。感谢此方法的方向。## 许可证
该项目根据商业源许可证 1.1 许可。参见 [LICENSE](LICENSE)。
## 支持与贡献
- 在 [GitHub 问题](https://github.com/fullselfbrowsing/FSB/issues) 中报告错误和功能请求。
- 尽可能包括任务提示、目标网站、提供商/型号、日志和复现步骤。
- 当行为、设置或公共接口发生变化时,拉取请求应更新测试和文档。
<div align="center">
**由 [Lakshman Turlapati](https://github.com/lakshmanturlapati) 制作**
*FSB 全自主浏览:AI 驱动的自动化,让每个人都可访问。*
</div>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器