Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,21 @@ AI Agent 原本的联网能力(WebSearch、WebFetch)缺少调度策略和浏

---

## v2.5.2 能力
## 当前能力

| 能力 | 说明 |
|------|------|
| 联网工具自动选择 | WebSearch / WebFetch / curl / Jina / CDP,按场景自主判断,可任意组合 |
| CDP Extension Transport | 可选安装本地浏览器扩展,通过 `chrome.debugger` 传递 CDP 命令,日常使用减少 remote-debugging 授权弹窗 |
| CDP Proxy 浏览器操作 | 直连用户日常浏览器(Chrome / Edge / Chromium 系),天然携带登录态,支持动态页面、交互操作、视频截帧 |
| 三种点击方式 | `/click`(JS click)、`/clickAt`(CDP 真实鼠标事件)、`/setFiles`(文件上传) |
| 本地浏览器书签/历史检索 | `find-url.mjs` 跨 Chrome / Edge 查询公网搜不到的目标(内部系统)或用户访问过的页面,支持关键词/时间窗/访问频度排序 |
| 并行分治 | 多目标时分发子 Agent 并行执行,共享一个 Proxy,tab 级隔离 |
| 站点经验积累 | 按域名存储操作经验(URL 模式、平台特征、已知陷阱),跨 session 复用 |
| 媒体提取 | 从 DOM 直取图片/视频 URL,或对视频任意时间点截帧分析 |

**v2.5.2 更新:**
**近期更新:**
- **可选 CDP 扩展传输** — 新增 `extension/` 与 `scripts/check-cdp.mjs`,一次性 Load unpacked 后优先通过扩展连接本地 `3456` API;原 remote-debugging CDP 仍作为 fallback
- **Microsoft Edge 支持** — CDP Proxy 不再绑定 Chrome,新增 Edge 适配(及 Chromium、Chrome Canary 等 Chromium 系,通过同一套自动发现机制接入)。在 `edge://inspect/#remote-debugging` 勾选 "Allow remote debugging for this browser instance" 即可
- **浏览器偏好持久化** — 新增 `config.env`(gitignored,首次运行从模板创建),通过 `WEB_ACCESS_BROWSER` 固定默认浏览器;多浏览器同时开启 toggle 时 Agent 会询问偏好。也支持单次覆盖 `--browser <chrome|edge>`
- **不擅自降级** — 偏好/指定的浏览器没启动或没开 toggle 时硬错并给出明确处理步骤,不会悄悄连到别的浏览器;proxy 首次成功连接后 pin 住浏览器 id,避免运行中漂移
Expand Down Expand Up @@ -111,7 +113,15 @@ git clone https://github.com/eze-is/web-access ~/.claude/skills/web-access

## 前置配置(CDP 模式)

CDP 模式需要 **Node.js 22+** 和浏览器(Chrome / Edge)开启远程调试:
CDP 模式需要 **Node.js 22+**。优先使用可选浏览器扩展传输:

```bash
node "${CLAUDE_SKILL_DIR}/scripts/check-cdp.mjs"
```

如果提示扩展未连接,打开 `chrome://extensions` 或 `edge://extensions`,启用 Developer mode,Load unpacked 选择本仓库的 `extension/` 目录。安装并授权后,扩展会连接本地 `3456` API。

如果扩展不可用,再使用 remote-debugging fallback:

1. 在你想用的浏览器地址栏打开对应 inspect 页面:
- Chrome:`chrome://inspect/#remote-debugging`
Expand Down Expand Up @@ -144,14 +154,14 @@ pkill -f cdp-proxy.mjs && node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"
环境检查(Agent 运行时会自动完成前置检查,无需手动执行):

```bash
node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"
node "${CLAUDE_SKILL_DIR}/scripts/check-cdp.mjs"
# $CLAUDE_SKILL_DIR 是 skill 加载时自动设置的环境变量
# 手动运行请替换为实际路径,如 ~/.claude/skills/web-access
```

## CDP Proxy API

Proxy 通过 WebSocket 直连浏览器(兼容 `chrome://inspect` / `edge://inspect` 方式,无需命令行参数启动),提供 HTTP API:
Proxy 可通过 CDP extension transport 或 remote-debugging 直连浏览器,二者共用本地 HTTP API:

```bash
# 启动(Agent 会自动管理 Proxy 生命周期,无需手动启动)
Expand Down
15 changes: 5 additions & 10 deletions SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,17 @@ metadata:

## 前置检查

在开始联网操作前,先检查 CDP 模式可用性
在开始联网操作前,优先检查 CDP extension transport

```bash
node "${CLAUDE_SKILL_DIR}/scripts/check-deps.mjs"
node "${CLAUDE_SKILL_DIR}/scripts/check-cdp.mjs"
```

**Node.js 22+** 必需(使用原生 WebSocket)。

按脚本输出处理:
- `exit 0` → 继续
- `exit 2` → 需询问用户偏好,写入 `${CLAUDE_SKILL_DIR}/config.env` 的 `WEB_ACCESS_BROWSER`
- `exit 1` → 按 stdout 错误信息处理。若提示包含「Agent 处理顺序」,按其步骤执行(如先用系统命令打开浏览器后重跑),自动可解则不打扰用户;仍失败再向用户求助
`cdp-extension: ready` 后使用 `http://127.0.0.1:3456`。若提示扩展未连接,按脚本提示一次性 Load unpacked `${CLAUDE_SKILL_DIR}/extension`。只有扩展不可用或能力不足时,再运行 `check-deps.mjs` 走 native CDP fallback。

支持参数 `--browser <chrome|edge>` 表达本次临时覆盖(不写 config.env)。
**Node.js 22+** 必需(使用原生 WebSocket)。

切换浏览器时,proxy 是长驻进程,需先 `pkill -f cdp-proxy.mjs` 再重跑 check-deps
native fallback 支持 `check-deps.mjs --browser <chrome|edge>` 表达本次临时覆盖(不写 config.env)。切换 transport 或浏览器时,proxy 是长驻进程,需先 `pkill -f cdp-proxy.mjs` 再重跑检查

检查通过后并必须在回复中向用户直接展示以下须知,再启动 CDP Proxy 执行操作:

Expand Down
Loading