内容
<p align="center">
<img src="assets/hero.svg" alt="Claude Chrome Automation for Windows" width="100%" />
</p>
<h1 align="center">Claude Chrome Automation for Windows</h1>
<p align="center">一键浏览器自动化,适用于Claude Code,运行于Windows。</p>
<p align="center">
<a href="https://github.com/davidchen99/claude-chrome-automation-windows/blob/main/README.zh-CN.md">中文说明</a>
·
<code>有限</code> 模式
·
<code>全自动</code> 模式
</p>
<p align="center">
<img src="https://img.shields.io/badge/platform-Windows-2563EB?style=flat-square" alt="Windows" />
<img src="https://img.shields.io/badge/Claude%20Code-MCP%20Launcher-0F172A?style=flat-square" alt="Claude Code MCP Launcher" />
<img src="https://img.shields.io/badge/modes-limited%20%7C%20full--auto-1D4ED8?style=flat-square" alt="Modes" />
<img src="https://img.shields.io/badge/license-MIT-16A34A?style=flat-square" alt="MIT License" />
</p>
本项目为希望Claude控制Chrome而无需每次手动配置MCP的Windows用户提供了一个原生工作流。
它提供:
- 一个专用的Chrome实例,运行于 `127.0.0.1:9222`
- 一个可重用的、保留登录状态的浏览器配置文件
- 一个 <code>有限</code> 启动器,用于更安全的浏览器优先自动化
- 一个 <code>全自动</code> 启动器,用于最大自主权
- 项目本地的MCP配置,而不是脆弱的每用户设置
## 一览
- 双击启动器,适用于原生Windows使用
- 专用的Chrome调试浏览器,运行于 `127.0.0.1:9222`
- 通过独立的浏览器配置文件保持登录会话
- <code>有限</code> 模式,适用于浏览器优先任务,更安全
- <code>全自动</code> 模式,适用于高信任自动化,更加激进
- 项目本地的MCP配置,而不是全局Claude编辑
## 视觉流程
<p align="center">
<img src="assets/flow.svg" alt="Workflow diagram" width="100%" />
</p>
## 目录
- [为什么存在](#为什么存在)
- [模式](#模式)
- [适用人群](#适用人群)
- [快速开始](#快速开始)
- [工作原理](#工作原理)
- [安全说明](#安全说明)
- [故障排除](#故障排除)
## 为什么存在
大多数Claude的浏览器自动化示例仅停留在“安装chrome-devtools-mcp并使其连接一次”。
这对于普通的Windows用户来说是不够的。
真正的差距在于产品化:
- Windows用户希望双击启动器
- 他们希望Chrome在正确的调试模式下重新打开
- 他们希望登录状态保持不变
- 他们希望有一个更安全的日常模式和一个更激进的模式
- 他们不希望手动编辑Claude配置文件来尝试浏览器自动化
本仓库将缺失的层封装成一个可重用的模板。
## 核心思想
工作流程很简单:
1. 启动专用的Chrome调试会话
2. 通过本地MCP配置将Claude Code连接到它
3. 为任务选择合适的自主权级别
这听起来很小,但实际上它减少了用户在Windows上遇到的大部分摩擦。
## 模式
| 模式 | 最适合 | 权限样式 |
| --- | --- | --- |
| <code>有限</code> | 日常浏览、点击、抓取、截图 | 浏览器优先,更安全 |
| <code>全自动</code> | 高信任任务,尽量减少干扰 | `--dangerously-skip-permissions` |
## 为什么不同
### 1. 原生Windows优先
本项目专为Windows设计,而不是从Unix优先的设置中适应而来。
- 使用 `cmd /c npx ...` 进行MCP启动
- 使用 `.bat` 启动器进行双击使用
- 与Windows路径和配置文件处理配合使用
### 2. 双模式自动化
大多数示例仅停留在“使Claude控制Chrome”。
本项目添加了一个有用的操作模型:
- <code>有限</code> 模式
- 允许浏览器自动化
- 阻止一般 `Bash`
- 阻止 `WebFetch`
- 使Claude专注于浏览器工作
- <code>全自动</code> 模式
- 使用 `--dangerously-skip-permissions` 启动Claude Code
- 适用于希望减少干扰的高级用户
### 3. 专用的浏览器配置文件
启动器使用专用的Chrome配置文件目录:
- 登录状态被保留
- Cookie被保留
- 浏览器自动化与用户的正常浏览器隔离
### 4. 即插即用打包
用户可以在安装以下内容后下载文件夹并直接启动:
- Claude Code
- Node.js
- Google Chrome
不需要手动编辑MCP,因为启动器在运行时传递本地MCP配置。
## 适用人群
- 希望Claude浏览、点击、读取和提取网页内容的Windows用户
- 需要在专用自动化浏览器中保持登录会话的人
- 想要一个实用的启动器而不是配置教程的用户
- 希望为高信任任务使用全自动模式的高级用户
## 文件结构
```text
claude-chrome-automation-windows/
README.md
README.zh-CN.md
launch-limited.bat
launch-full-auto.bat
config/
chrome-devtools.mcp.json
limited-settings.json
scripts/
start-chrome-debug-9222.bat
```
## 要求
- Windows
- Claude Code已安装,可作为 `claude` 使用
- Node.js 和 `npx`
- Google Chrome
## 安装
1. 克隆或下载此仓库。
2. 确保 `claude`、`node`、`npx` 和 Chrome 在您的Windows机器上可用。
3. 双击 `launch-limited.bat` 或 `launch-full-auto.bat`。
## 快速开始
### 有限模式
双击:
- `launch-limited.bat`
此模式推荐给大多数用户。
### 全自动模式
双击:
- `launch-full-auto.bat`
此模式更加激进,安全性较低。
## 首次登录
在您第一次启动专用的Chrome窗口时,请在该窗口内登录您需要的网站。
通常,登录状态将被保留,以供未来启动使用。
## 工作原理
### 专用的Chrome实例
脚本启动Chrome,并启用:
- 在 `127.0.0.1:9222` 上启用远程调试
- 在当前Windows用户配置文件下使用专用的用户数据目录
### Claude + 项目本地MCP
本项目传递以下内容,而不是依赖全局Claude MCP配置:
- `--mcp-config config\\chrome-devtools.mcp.json`
这使得软件包更容易共享。
### 有限模式权限
<code>有限</code> 模式传递:
- `--settings config\\limited-settings.json`
该配置:
- 允许来自本地 `chrome_devtools` MCP服务器的所有工具
- 拒绝 `Bash`
- 拒绝 `WebFetch`
- 使用 `acceptEdits`
## 安全说明
### 有限模式
比全自动模式风险较低,但并非无风险。
Claude仍然可以:
- 浏览页面
- 点击按钮
- 读取可见的页面内容
- 与专用浏览器内的已登录网站交互
### 全自动模式
此模式故意设计为高信任。
Claude Code启动时带有:
- `--dangerously-skip-permissions`
仅在您理解其含义时使用。
## 常见用例
- 打开页面并总结其内容
- 登录到网页工具一次,然后重用该会话
- 点击重复的浏览器任务
- 捕捉截图
- 从浏览器可见的页面中提取结构化数据
## 故障排除
### Chrome打开但Claude无法浏览
检查:
- Chrome正在运行
- 端口 `9222` 可用
- Claude Code已安装
- `npx` 可用
### Claude反复要求登录
确保您已登录到专用的Chrome窗口,而不是您的正常Chrome窗口。
## 发布说明
如果您希望将此仓库分发:
- 保持启动器文件名稳定
- 避免用户特定的绝对路径
- 不要提交个人Chrome配置文件数据