{"id":47749106,"url":"https://github.com/eze-is/web-access","last_synced_at":"2026-04-03T02:37:45.334Z","repository":{"id":345226009,"uuid":"1184985738","full_name":"eze-is/web-access","owner":"eze-is","description":"给 Claude Code 装上完整联网能力的 skill：三层通道调度 + 浏览器 CDP + 并行分治","archived":false,"fork":false,"pushed_at":"2026-03-26T14:07:11.000Z","size":52,"stargazers_count":1776,"open_issues_count":10,"forks_count":149,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-27T04:25:28.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eze-is.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-18T05:54:57.000Z","updated_at":"2026-03-27T04:18:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/eze-is/web-access","commit_stats":null,"previous_names":["eze-is/web-access"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eze-is/web-access","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eze-is%2Fweb-access","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eze-is%2Fweb-access/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eze-is%2Fweb-access/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eze-is%2Fweb-access/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eze-is","download_url":"https://codeload.github.com/eze-is/web-access/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eze-is%2Fweb-access/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31328592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T02:17:30.558Z","status":"ssl_error","status_checked_at":"2026-04-03T02:17:30.071Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-03T02:37:41.745Z","updated_at":"2026-04-03T02:37:45.324Z","avatar_url":"https://github.com/eze-is.png","language":"JavaScript","funding_links":[],"categories":["AI 相关","Search Options","Productivity Tools","Other"],"sub_categories":["CLI 工具","MCP Servers \u0026 Integrations"],"readme":"\u003cdiv align=\"right\"\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003e🌐 Language\u003c/summary\u003e\n    \u003cdiv\u003e\n      \u003cdiv align=\"center\"\u003e\n        \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=en\"\u003eEnglish\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=zh-CN\"\u003e简体中文\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=zh-TW\"\u003e繁體中文\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=ja\"\u003e日本語\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=ko\"\u003e한국어\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=fr\"\u003eFrançais\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=de\"\u003eDeutsch\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=es\"\u003eEspañol\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=pt\"\u003ePortuguês\u003c/a\u003e\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=eze-is\u0026project=web-access\u0026lang=ru\"\u003eРусский\u003c/a\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/details\u003e\n\u003c/div\u003e\n\n\u003cimg width=\"879\" height=\"376\" alt=\"image\" src=\"https://github.com/user-attachments/assets/a87fd816-a0b5-4264-b01c-9466eae90723\" /\u003e\n\n给 Claude Code 装上完整联网能力的 skill。\n\nClaude Code 原本有 WebSearch、WebFetch，但缺少调度策略和浏览器自动化能力。这个 skill 补上的是：**联网策略 + CDP 浏览器操作 + 站点经验积累**。\n\n\u003e 推荐必读：[Web Access：一个 Skill，拉满 Agent 联网和浏览器能力](https://mp.weixin.qq.com/s/rps5YVB6TchT9npAaIWKCw) ，完整介绍了 Web-Access Skill 的开发细节与 Agent Skill 设计哲学，帮助你也能写出类似通用、高上限的 Skill\n\n---\n\n## v2.4.1 能力\n\n| 能力 | 说明 |\n|------|------|\n| 联网工具自动选择 | WebSearch / WebFetch / curl / Jina / CDP，按场景自主判断，可任意组合 |\n| CDP Proxy 浏览器操作 | 直连用户日常 Chrome，天然携带登录态，支持动态页面、交互操作、视频截帧 |\n| 三种点击方式 | `/click`（JS click）、`/clickAt`（CDP 真实鼠标事件）、`/setFiles`（文件上传） |\n| 并行分治 | 多目标时分发子 Agent 并行执行，共享一个 Proxy，tab 级隔离 |\n| 站点经验积累 | 按域名存储操作经验（URL 模式、平台特征、已知陷阱），跨 session 复用 |\n| 媒体提取 | 从 DOM 直取图片/视频 URL，或对视频任意时间点截帧分析 |\n\n**v2.4.1 更新：**\n- **跨平台支持** — 脚本从 bash 迁移到 Node.js，Windows / Linux / macOS 均可使用\n- **DOM 边界穿透** — 新增技术事实：eval 递归遍历可穿透 Shadow DOM、iframe 等选择器不可跨越的边界\n\n\u003cdetails\u003e\u003csummary\u003ev2.4 更新\u003c/summary\u003e\n\n- **站点内 URL 可靠性** — 新增事实说明：站点生成的链接自带完整上下文，手动构造的 URL 可能缺失隐式必要参数\n- **平台错误提示不可信** — 新增技术事实：平台返回的\"内容不存在\"等提示可能是访问方式问题而非内容本身问题\n- **小红书站点经验增强** — xsec_token 机制、创作者平台状态校验、暂存草稿流程\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003ev2.3 更新\u003c/summary\u003e\n\n- **浏览哲学重构** — 更清晰的「像人一样思考」框架，强调目标驱动而非步骤驱动\n- **Jina 积极推荐** — 明确鼓励在合适场景主动使用 Jina 节省 token\n- **子 Agent prompt 指引优化** — 明确加载写法，增加避免动词暗示执行方式的说明\n\u003c/details\u003e\n\n## 安装\n\n**方式一：让 Claude 自动安装**\n\n```\n帮我安装这个 skill：https://github.com/eze-is/web-access\n```\n\n**方式二：Plugin 安装**\n\n```bash\nclaude plugin marketplace add https://github.com/eze-is/web-access\nclaude plugin install web-access@web-access --scope user\n```\n\n**方式三：手动**\n\n```bash\ngit clone https://github.com/eze-is/web-access ~/.claude/skills/web-access\n```\n\n## 前置配置（CDP 模式）\n\nCDP 模式需要 **Node.js 22+** 和 Chrome 开启远程调试：\n\n1. Chrome 地址栏打开 `chrome://inspect/#remote-debugging`\n2. 勾选 **Allow remote debugging for this browser instance**（可能需要重启浏览器）\n\n环境检查（Agent 运行时会自动完成前置检查，无需手动执行）：\n\n```bash\nnode \"$CLAUDE_SKILL_DIR/scripts/check-deps.mjs\"\n# $CLAUDE_SKILL_DIR 是 skill 加载时自动设置的环境变量\n# 手动运行请替换为实际路径，如 ~/.claude/skills/web-access\n```\n\n## CDP Proxy API\n\nProxy 通过 WebSocket 直连 Chrome（兼容 `chrome://inspect` 方式，无需命令行参数启动），提供 HTTP API：\n\n```bash\n# 启动（Agent 会自动管理 Proxy 生命周期，无需手动启动）\nnode \"$CLAUDE_SKILL_DIR/scripts/cdp-proxy.mjs\" \u0026\n\n# 页面操作\ncurl -s \"http://localhost:3456/new?url=https://example.com\"     # 新建 tab\ncurl -s -X POST \"http://localhost:3456/eval?target=ID\" -d 'document.title'  # 执行 JS\ncurl -s -X POST \"http://localhost:3456/click?target=ID\" -d 'button.submit'  # JS 点击\ncurl -s -X POST \"http://localhost:3456/clickAt?target=ID\" -d '.upload-btn'  # 真实鼠标点击\ncurl -s -X POST \"http://localhost:3456/setFiles?target=ID\" \\\n  -d '{\"selector\":\"input[type=file]\",\"files\":[\"/path/to/file.png\"]}'        # 文件上传\ncurl -s \"http://localhost:3456/screenshot?target=ID\u0026file=/tmp/shot.png\"     # 截图\ncurl -s \"http://localhost:3456/scroll?target=ID\u0026direction=bottom\"           # 滚动\ncurl -s \"http://localhost:3456/close?target=ID\"                             # 关闭 tab\n```\n\n## ⚠️ 使用前提醒\n\n通过浏览器自动化操作社交平台（如小红书）存在账号被平台限流或封禁的风险。**强烈建议使用小号进行操作。**\n\n## 使用\n\n安装后直接让 Agent 执行联网任务，skill 自动接管：\n\n- \"帮我搜索 xxx 最新进展\"\n- \"读一下这个页面：[URL]\"\n- \"去小红书搜索 xxx 的账号\"\n- \"帮我在创作者平台发一篇图文\"\n- \"同时调研这 5 个产品的官网，给我对比摘要\"\n\n## 设计哲学\n\n\u003e Skill = 哲学 + 技术事实，不是操作手册。讲清 tradeoff 让 AI 自己选，不替它推理。\n\n详见 [SKILL.md](./SKILL.md) 中的浏览哲学部分。\n\n## License\n\nMIT · 作者：[一泽 Eze](https://github.com/eze-is)\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=eze-is/web-access\u0026type=Date)](https://star-history.com/#eze-is/web-access\u0026Date)\n\n\u003cimg width=\"1280\" height=\"306\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2afa25c2-3730-413e-b40f-94e52567249d\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feze-is%2Fweb-access","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feze-is%2Fweb-access","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feze-is%2Fweb-access/lists"}