[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74328":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},74328,"web-access","eze-is\u002Fweb-access","eze-is","给 Claude Code 装上完整联网能力的 skill：三层通道调度 + 浏览器 CDP + 并行分治",null,"JavaScript",7415,547,13,12,0,167,433,1129,501,111.22,false,"main",true,[],"2026-06-12 04:01:14","\u003Cdiv align=\"right\">\n  \u003Cdetails>\n    \u003Csummary>🌐 Language\u003C\u002Fsummary>\n    \u003Cdiv>\n      \u003Cdiv align=\"center\">\n        \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=en\">English\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=zh-CN\">简体中文\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=zh-TW\">繁體中文\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=ja\">日本語\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=ko\">한국어\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=fr\">Français\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=de\">Deutsch\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=es\">Español\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=pt\">Português\u003C\u002Fa>\n        | \u003Ca href=\"https:\u002F\u002Fopenaitx.github.io\u002Fview.html?user=eze-is&project=web-access&lang=ru\">Русский\u003C\u002Fa>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdetails>\n\u003C\u002Fdiv>\n\n\u003Cimg width=\"879\" height=\"376\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa87fd816-a0b5-4264-b01c-9466eae90723\" \u002F>\n\n\u003Cp align=\"center\">\n  \u003Cb>给 AI Agent 装上完整联网能力的 Skill。\u003C\u002Fb>\u003Cbr\u002F>\n  \u003Ca href=\"https:\u002F\u002Fweb-access.eze.is\">🌐 官网\u003C\u002Fa> · \u003Ca href=\"https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002Frps5YVB6TchT9npAaIWKCw\">📖 设计详解\u003C\u002Fa> · \u003Ca href=\"#安装\">⚡ 快速安装\u003C\u002Fa>\n\u003C\u002Fp>\n\nAI Agent 原本的联网能力（WebSearch、WebFetch）缺少调度策略和浏览器自动化能力。这个 Agent Skill 补上的是：**联网策略 + CDP 浏览器操作 + 站点经验积累**。兼容所有支持 SKILL.md 的 Agent（Claude Code、Cursor、Gemini CLI、Codex CLI 等）。\n\n> 推荐必读：[Web Access：一个 Skill，拉满 Agent 联网和浏览器能力](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002Frps5YVB6TchT9npAaIWKCw) ，完整介绍了 Web-Access Skill 的开发细节与 Agent Skill 设计哲学，帮助你也能写出类似通用、高上限的 Skill\n\n---\n\n## v2.5.2 能力\n\n| 能力 | 说明 |\n|------|------|\n| 联网工具自动选择 | WebSearch \u002F WebFetch \u002F curl \u002F Jina \u002F CDP，按场景自主判断，可任意组合 |\n| CDP Proxy 浏览器操作 | 直连用户日常浏览器（Chrome \u002F Edge \u002F Chromium 系），天然携带登录态，支持动态页面、交互操作、视频截帧 |\n| 三种点击方式 | `\u002Fclick`（JS click）、`\u002FclickAt`（CDP 真实鼠标事件）、`\u002FsetFiles`（文件上传） |\n| 本地浏览器书签\u002F历史检索 | `find-url.mjs` 跨 Chrome \u002F Edge 查询公网搜不到的目标（内部系统）或用户访问过的页面，支持关键词\u002F时间窗\u002F访问频度排序 |\n| 并行分治 | 多目标时分发子 Agent 并行执行，共享一个 Proxy，tab 级隔离 |\n| 站点经验积累 | 按域名存储操作经验（URL 模式、平台特征、已知陷阱），跨 session 复用 |\n| 媒体提取 | 从 DOM 直取图片\u002F视频 URL，或对视频任意时间点截帧分析 |\n\n**v2.5.2 更新：**\n- **Microsoft Edge 支持** — CDP Proxy 不再绑定 Chrome，新增 Edge 适配（及 Chromium、Chrome Canary 等 Chromium 系，通过同一套自动发现机制接入）。在 `edge:\u002F\u002Finspect\u002F#remote-debugging` 勾选 \"Allow remote debugging for this browser instance\" 即可\n- **浏览器偏好持久化** — 新增 `config.env`（gitignored，首次运行从模板创建），通过 `WEB_ACCESS_BROWSER` 固定默认浏览器；多浏览器同时开启 toggle 时 Agent 会询问偏好。也支持单次覆盖 `--browser \u003Cchrome|edge>`\n- **不擅自降级** — 偏好\u002F指定的浏览器没启动或没开 toggle 时硬错并给出明确处理步骤，不会悄悄连到别的浏览器；proxy 首次成功连接后 pin 住浏览器 id，避免运行中漂移\n- **find-url 也支持 Edge** — 本地书签\u002F历史检索默认遍历 Chrome 与 Edge，可用 `--browser \u003Cchrome|edge>` 限定单一浏览器\n\n\u003Cdetails>\u003Csummary>v2.5.0 更新\u003C\u002Fsummary>\n\n- **本地 Chrome 资源检索** — 新增 `scripts\u002Ffind-url.mjs`，从本地 Chrome 书签\u002F历史按关键词\u002F时间窗\u002F访问频度定位 URL。典型场景：用户提到组织内部系统（\"我们的 XX 平台\"等公网搜不到的目标）、回查之前访问过但不记得地址的页面、查看最近高频访问网站等（场景感谢 @MVPGFC 在 #60 提出）\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>v2.4.3 更新\u003C\u002Fsummary>\n\n- **修复 CLAUDE_SKILL_DIR 路径问题** — bash 代码块改用 `${CLAUDE_SKILL_DIR}` 字符串替换语法，修复 Windows Git Bash 路径转换错误和变量未设置问题（#47 #46）\n- **站点经验列表合并到前置检查** — 启动检查通过后自动输出已有站点经验列表，移除不可靠的 `!` 内联注入\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>v2.4.1 更新\u003C\u002Fsummary>\n\n- **跨平台支持** — 脚本从 bash 迁移到 Node.js，Windows \u002F Linux \u002F macOS 均可使用\n- **DOM 边界穿透** — 新增技术事实：eval 递归遍历可穿透 Shadow DOM、iframe 等选择器不可跨越的边界\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>v2.4 更新\u003C\u002Fsummary>\n\n- **站点内 URL 可靠性** — 新增事实说明：站点生成的链接自带完整上下文，手动构造的 URL 可能缺失隐式必要参数\n- **平台错误提示不可信** — 新增技术事实：平台返回的\"内容不存在\"等提示可能是访问方式问题而非内容本身问题\n- **小红书站点经验增强** — xsec_token 机制、创作者平台状态校验、暂存草稿流程\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>v2.3 更新\u003C\u002Fsummary>\n\n- **浏览哲学重构** — 更清晰的「像人一样思考」框架，强调目标驱动而非步骤驱动\n- **Jina 积极推荐** — 明确鼓励在合适场景主动使用 Jina 节省 token\n- **子 Agent prompt 指引优化** — 明确加载写法，增加避免动词暗示执行方式的说明\n\u003C\u002Fdetails>\n\n## 安装\n\n**方式一：npx skills 一键安装（推荐）**\n\n```bash\nnpx skills add eze-is\u002Fweb-access\n```\n\n> [skills CLI](https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fskills) 是开源的 Agent Skill 包管理器，自动检测你的 Agent 环境并安装到正确位置。\n\n**方式二：让 Agent 自动安装**\n\n```\n帮我安装这个 skill：https:\u002F\u002Fgithub.com\u002Feze-is\u002Fweb-access\n```\n\n**方式三：Plugin 安装（Claude Code）**\n\n```bash\nclaude plugin marketplace add https:\u002F\u002Fgithub.com\u002Feze-is\u002Fweb-access\nclaude plugin install web-access@web-access --scope user\n```\n\n**方式四：手动**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Feze-is\u002Fweb-access ~\u002F.claude\u002Fskills\u002Fweb-access\n```\n\n## 前置配置（CDP 模式）\n\nCDP 模式需要 **Node.js 22+** 和浏览器（Chrome \u002F Edge）开启远程调试：\n\n1. 在你想用的浏览器地址栏打开对应 inspect 页面：\n   - Chrome：`chrome:\u002F\u002Finspect\u002F#remote-debugging`\n   - Edge：`edge:\u002F\u002Finspect\u002F#remote-debugging`\n2. 勾选 **Allow remote debugging for this browser instance**（可能需要重启浏览器）\n\n### 浏览器偏好（config.env）\n\nskill 长期偏好保存在 `${CLAUDE_SKILL_DIR}\u002Fconfig.env`（首次运行自动从 `config.env.template` 创建，gitignored）：\n\n```bash\n# 留空 = 每次启动都询问偏好；设值 = 固定使用该浏览器\nWEB_ACCESS_BROWSER=edge\n```\n\n合法值：`chrome` \u002F `edge`\n\n**临时用别的浏览器**（不修改 config.env）：\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-deps.mjs\" --browser chrome\n```\n\n**切换浏览器**（proxy 已连接旧的）：\n\n```bash\npkill -f cdp-proxy.mjs && node \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-deps.mjs\"\n```\n\n环境检查（Agent 运行时会自动完成前置检查，无需手动执行）：\n\n```bash\nnode \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-deps.mjs\"\n# $CLAUDE_SKILL_DIR 是 skill 加载时自动设置的环境变量\n# 手动运行请替换为实际路径，如 ~\u002F.claude\u002Fskills\u002Fweb-access\n```\n\n## CDP Proxy API\n\nProxy 通过 WebSocket 直连浏览器（兼容 `chrome:\u002F\u002Finspect` \u002F `edge:\u002F\u002Finspect` 方式，无需命令行参数启动），提供 HTTP API：\n\n```bash\n# 启动（Agent 会自动管理 Proxy 生命周期，无需手动启动）\nnode \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcdp-proxy.mjs\" &\n\n# 页面操作\ncurl -s -X POST --data-raw 'https:\u002F\u002Fexample.com' http:\u002F\u002Flocalhost:3456\u002Fnew  # 新建 tab（v2.5.3 起 URL 走 POST body）\ncurl -s -X POST \"http:\u002F\u002Flocalhost:3456\u002Feval?target=ID\" -d 'document.title'  # 执行 JS\ncurl -s -X POST \"http:\u002F\u002Flocalhost:3456\u002Fclick?target=ID\" -d 'button.submit'  # JS 点击\ncurl -s -X POST \"http:\u002F\u002Flocalhost:3456\u002FclickAt?target=ID\" -d '.upload-btn'  # 真实鼠标点击\ncurl -s -X POST \"http:\u002F\u002Flocalhost:3456\u002FsetFiles?target=ID\" \\\n  -d '{\"selector\":\"input[type=file]\",\"files\":[\"\u002Fpath\u002Fto\u002Ffile.png\"]}'        # 文件上传\ncurl -s \"http:\u002F\u002Flocalhost:3456\u002Fscreenshot?target=ID&file=\u002Ftmp\u002Fshot.png\"     # 截图\ncurl -s \"http:\u002F\u002Flocalhost:3456\u002Fscroll?target=ID&direction=bottom\"           # 滚动\ncurl -s \"http:\u002F\u002Flocalhost:3456\u002Fclose?target=ID\"                             # 关闭 tab\ncurl -s \"http:\u002F\u002Flocalhost:3456\u002Fhealth\"                                      # 查看状态（含 managedTabs 数量）\n```\n\nProxy 会自动追踪通过 `\u002Fnew` 创建的 tab，闲置 15 分钟后自动关闭，防止 Agent 异常退出时留下孤儿 tab。可通过环境变量 `CDP_TAB_IDLE_TIMEOUT`（单位毫秒）调整超时时间。\n\n## ⚠️ 使用前提醒\n\n通过浏览器自动化操作社交平台（如小红书）存在账号被平台限流或封禁的风险。**强烈建议使用小号进行操作。**\n\n## 使用\n\n安装后直接让 Agent 执行联网任务，skill 自动接管：\n\n- \"帮我搜索 xxx 最新进展\"\n- \"读一下这个页面：[URL]\"\n- \"去小红书搜索 xxx 的账号\"\n- \"帮我在创作者平台发一篇图文\"\n- \"同时调研这 5 个产品的官网，给我对比摘要\"\n\n## 设计哲学\n\n> Skill = 哲学 + 技术事实，不是操作手册。讲清 tradeoff 让 AI 自己选，不替它推理。\n\n详见 [SKILL.md](.\u002FSKILL.md) 中的浏览哲学部分。\n\n## License\n\nMIT · 作者：[一泽 Eze](https:\u002F\u002Fgithub.com\u002Feze-is) · [官网](https:\u002F\u002Fweb-access.eze.is)\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=eze-is\u002Fweb-access&type=Date)](https:\u002F\u002Fstar-history.com\u002F#eze-is\u002Fweb-access&Date)\n\n## Clawhub Download History\n\n[![Download History](https:\u002F\u002Fskill-history.com\u002Fchart\u002Feze-is\u002Fweb-access.svg)](https:\u002F\u002Fskill-history.com\u002Feze-is\u002Fweb-access)\n\n\u003Cimg width=\"1280\" height=\"306\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F2afa25c2-3730-413e-b40f-94e52567249d\" \u002F>\n","该项目为AI代理（如Claude Code）提供了完整的联网能力，包括三层通道调度、浏览器CDP操作及并行分治策略。其核心功能涵盖自动选择最合适的联网工具、直接操控用户日常使用的浏览器以实现动态页面交互和视频截帧等高级操作，并支持本地浏览器书签与历史记录检索。此外，项目还引入了站点经验积累机制，使AI能够跨会话复用已学习到的操作知识。适用于需要增强AI代理网络访问能力和自动化处理复杂网页任务的场景。",2,"2026-06-11 03:49:56","high_star"]