[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74353":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},74353,"chrome-cdp-skill","pasky\u002Fchrome-cdp-skill","pasky","Give your AI agent access to your live Chrome session — works out of the box, connects to tabs you already have open","",null,"JavaScript",3098,195,10,4,0,7,17,76,21,28.88,"MIT License",false,"main",true,[],"2026-06-12 02:03:25","# chrome-cdp\n\nLet your AI agent see and interact with your **live Chrome session** — the tabs you already have open, your logged-in accounts, your current page state. No browser automation framework, no separate browser instance, no re-login.\n\nWorks out of the box with any Chrome installation. One toggle to enable, nothing else to install.\n\n## Why this matters\n\nMost browser automation tools launch a fresh, isolated browser. This one connects to the Chrome you're already running, so your agent can:\n\n- Read pages you're logged into (Gmail, GitHub, internal tools, ...)\n- Interact with tabs you're actively working in\n- See the actual state of a page mid-workflow, not a clean reload\n\n## Installation\n\n### As a pi skill\n\n```bash\npi install git:github.com\u002Fpasky\u002Fchrome-cdp-skill@v1.0.1\n```\n\n### For other agents (Amp, Claude Code, Cursor, etc.)\n\nClone or copy the `skills\u002Fchrome-cdp\u002F` directory wherever your agent loads skills or context from. The only runtime dependency is **Node.js 22+** — no npm install needed.\n\n### Enable remote debugging in Chrome\n\nNavigate to `chrome:\u002F\u002Finspect\u002F#remote-debugging` and toggle the switch. That's it.\n\nThe CLI auto-detects Chrome, Chromium, Brave, Edge, and Vivaldi on macOS, Linux, and Windows. If your browser stores `DevToolsActivePort` in a non-standard location, set the `CDP_PORT_FILE` environment variable to the full path.\n\n## Usage\n\n```bash\nscripts\u002Fcdp.mjs list                              # list open tabs\nscripts\u002Fcdp.mjs shot   \u003Ctarget>                   # screenshot → runtime dir\nscripts\u002Fcdp.mjs snap   \u003Ctarget>                   # accessibility tree (compact, semantic)\nscripts\u002Fcdp.mjs html   \u003Ctarget> [\".selector\"]     # full HTML or scoped to CSS selector\nscripts\u002Fcdp.mjs eval   \u003Ctarget> \"expression\"      # evaluate JS in page context\nscripts\u002Fcdp.mjs nav    \u003Ctarget> https:\u002F\u002F...       # navigate and wait for load\nscripts\u002Fcdp.mjs net    \u003Ctarget>                   # network resource timing\nscripts\u002Fcdp.mjs click  \u003Ctarget> \"selector\"        # click element by CSS selector\nscripts\u002Fcdp.mjs clickxy \u003Ctarget> \u003Cx> \u003Cy>          # click at CSS pixel coordinates\nscripts\u002Fcdp.mjs type   \u003Ctarget> \"text\"            # type at focused element (works in cross-origin iframes)\nscripts\u002Fcdp.mjs loadall \u003Ctarget> \"selector\"       # click \"load more\" until gone\nscripts\u002Fcdp.mjs evalraw \u003Ctarget> \u003Cmethod> [json]  # raw CDP command passthrough\nscripts\u002Fcdp.mjs open   [url]                      # open new tab (triggers Allow prompt)\nscripts\u002Fcdp.mjs stop   [target]                   # stop daemon(s)\n```\n\n`\u003Ctarget>` is a unique prefix of the targetId shown by `list`.\n\n## Why not chrome-devtools-mcp?\n\n[chrome-devtools-mcp](https:\u002F\u002Fgithub.com\u002FChromeDevTools\u002Fchrome-devtools-mcp) reconnects on every command, so Chrome's \"Allow debugging\" modal can re-appear repeatedly and target enumeration times out with many tabs open. `chrome-cdp` holds one persistent daemon per tab — the modal fires once, and it handles 100+ tabs reliably.\n\n## How it works\n\nConnects directly to Chrome's remote debugging WebSocket — no Puppeteer, no intermediary. On first access to a tab, a lightweight background daemon is spawned that holds the session open. Chrome's \"Allow debugging\" modal appears once per tab; subsequent commands reuse the daemon silently. Daemons auto-exit after 20 minutes of inactivity.\n\nThis approach is also why it handles 100+ open tabs reliably, where tools built on Puppeteer often time out during target enumeration.\n","chrome-cdp 项目允许你的 AI 代理访问和交互你当前正在运行的 Chrome 浏览器会话，包括已打开的标签页、登录状态以及页面的实时状态。该项目采用 JavaScript 编写，无需额外安装浏览器自动化框架或启动独立的浏览器实例。它支持读取已登录页面（如 Gmail、GitHub 等）、与活跃标签页互动，并查看工作流程中的实际页面状态。适用于需要在现有浏览器环境中进行自动化测试、数据抓取或辅助工作的场景。只需启用 Chrome 的远程调试功能即可使用，支持 macOS、Linux 和 Windows 平台上的 Chrome、Chromium、Brave、Edge 和 Vivaldi 浏览器。",2,"2026-06-11 03:49:59","high_star"]