内容
<p align="center">
<img src="assets/frontprompt-logo.svg" alt="frontprompt" width="96" height="96">
</p>
# 前端提示
**注释任何网页,并由 AI 代理驱动。**
前端提示是一款 Python 工具,它打开一个真正的(有头)Chromium 浏览器,并向您指向的任何页面注入一个页面内叠加层 - 一个影子 DOM HUD。您点击 **选择** 元素,拖动以捕获 **区域**,并在它们之间绘制键入的 **关系**。相同的过程运行一个 **MCP 服务器**,因此 AI 代理可以导航浏览器,查询页面,创建选择并读取您的注释为结构化状态。
主要特性:**您的注释在跨源导航中存活。** 状态在 Python 进程中是权威的,而不是在页面中,因此从一个站点导航到另一个站点永远不会丢失您的选择。参见 [ARCHITECTURE.md](ARCHITECTURE.md) 了解其工作原理。
## 状态
**Alpha.** 交互式检查器功能完整,MCP 服务器公开了一套可用的工具集(选择,导航,截图,页面读取,状态读取)。一些功能有意延期 - 参见 [ARCHITECTURE.md § 范围(Alpha)](ARCHITECTURE.md#scope-alpha)。
## 安装
### 作为 Claude Code 插件(推荐)
```bash
claude plugin marketplace add SurrealMindAI/frontprompt
claude plugin install frontprompt@frontprompt
```
`frontprompt` MCP 服务器自动连接:它通过 `uvx` 从 PyPI 启动,Chromium 浏览器在首次使用时自行安装 - 无需手动设置。
CLI 安装后,重启 Claude Code 或运行 `/reload-plugins` 以激活服务器。每个插件版本都固定了一个确切的 PyPI 版本,因此更新只需:
```bash
claude plugin update frontprompt@frontprompt
```
### 作为独立的 CLI / MCP 工具
frontprompt 作为一个自包含的轮文件发布 - Svelte 叠加层嵌入在包中,因此安装的工具在运行时不需要 Bun 或 Node,Chromium 在运行时会自动安装。
```bash
uv tool install frontprompt
frontprompt bootstrap # 可选 - 急切地预安装 Chromium 驱动程序
```
## 用法
```bash
# 打开带有检查器叠加层的页面
frontprompt show https://example.com
# 作为 MCP stdio 服务器运行,用于 AI 代理
frontprompt mcp
```
将您的 MCP 客户端指向 `frontprompt mcp`。每个调用都拥有自己的私有浏览器会话,并在第一个工具调用时延迟启动 Chromium,因此启动是即时的。服务器是短暂的 - 每个客户端会话一个进程,它在客户端断开连接时死亡。
## 依赖和风险
frontprompt 固定 **`scrapling==0.4.8`**。scrapling 是一个 BSD-3 页面提取库,截至撰写时,它实际上是单维护者(一个总线因子-1 项目)。为了控制该风险,它在薄内部隔离边界后面使用,固定为一个已验证的版本,并且从不自动升级 - 因此,如果需要,可以在不触及代码库其余部分的情况下将其替换。
## 文档
- [ARCHITECTURE.md](ARCHITECTURE.md) — 系统设计:跨源生存、`expose_function` 桥、单写入器状态、MCP 守护进程、模式历史。
- [DEVELOPMENT.md](DEVELOPMENT.md) — 开发环境、构建管道、测试。
- [CONTRIBUTING.md](CONTRIBUTING.md) — 如何贡献。
## 许可证
BSD-3-Clause - 参见 [LICENSE](LICENSE)。