cliqueja
Clique Já
为什么存在
Playwright 和 puppeteer 很棒——但为了“就现在点一下这个按钮”来说太沉重了。
Clique Já 接管一个你已经在用的 Chrome 标签页,注入一个红色微型运行时(__cliqueja),并通过 WebSocket 在毫秒级响应命令。
Clique Já | 传统自动化 | |
浏览器 | 真实 Chrome(你的会话) | 隔离的 Chromium |
会话 / 登录 | 已登录 | 重新认证 / 存储状态 |
每次点击的延迟 | 1 | 完整技术栈 |
AI 代理 | MCP 工具 | 脚本 / 自定义 |
Related MCP server: monkeysee
流程图
flowchart LR
subgraph Agent["Agente / CLI"]
MCP["mcp.mjs<br/>tools MCP"]
HTTP["POST /cmd"]
end
subgraph Hub["Hub local :17321"]
H["hub.mjs<br/>WebSocket + HTTP"]
end
subgraph Chrome["Chrome"]
EXT["Extensão Clique Já<br/>service worker"]
TAB["Aba http(s)"]
INJ["inject.js<br/>window.__cliqueja"]
end
MCP -->|WS| H
HTTP -->|HTTP| H
H <-->|WS| EXT
EXT -->|scripting MAIN world| INJ
INJ --> TAB单次点击的流程
sequenceDiagram
participant A as Agente
participant H as Hub :17321
participant E as Extensão
participant P as Página
A->>H: { method: "click", sel: "button" }
H->>E: mesmo envelope (WS)
E->>P: inject + __cliqueja.click
P-->>E: ok (+ flash vermelho)
E-->>H: { ok: true }
H-->>A: result详细架构:docs/ARCHITECTURE.md
快速开始
1. Hub
git clone https://github.com/paivaxqz/cliqueja.git
cd cliqueja
npm install
npm run hub
# ou: start-hub.bat (Windows)Hub 只监听 127.0.0.1:17321。
2. 扩展
Chrome →
chrome://extensions→ 开发者模式加载已解压的扩展程序 → 选择
ext/文件夹打开一个
http(s)网站(不要chrome://)点击图标 → 使用此标签页(红色 ON 徽标)
3. HTTP 冒烟测试
curl http://127.0.0.1:17321/status
curl -X POST http://127.0.0.1:17321/cmd -H "content-type: application/json" -d "{\"method\":\"ping\"}"4. MCP 与 AI 集成(用户 PC)
Hub + 扩展运行在用户的机器上——而不是云端。
完整指南(3 个步骤 + Cursor/Claude):docs/MCP.md
Cursor 配置——用户克隆项目的路径:
{
"mcpServers": {
"cliqueja": {
"command": "node",
"args": ["${workspaceFolder}/mcp.mjs"]
}
}
}如果 Cursor 中打开的文件夹不是克隆项目,请使用绝对路径(C:\\Users\\...\\cliqueja\\mcp.mjs 或 /Users/.../cliqueja/mcp.mjs)。
工具:cliqueja_status · abas · usar_aba · ir · click · fill · texto · snapshot · links · upload
为什么不用 Vercel?
Vercel 无法打开用户的 Chrome,也无法接收扩展的 WebSocket(127.0.0.1)。
Vercel 上放着陆页/文档可以。Hub + MCP + 扩展 = 始终本地。 → docs/MCP.md
5. lib 模式(轻量 Playwright)
npm run exemploindex.js + inject.js:通过 playwright-core 使用 Chrome,每次操作仅 1 次 evaluate,并在角落显示红色标记。
选择器
CSS:
button.buy,#email文本:
text=EntrarXPath:
xpath=//button[@type='submit']
扩展的默认超时:4 秒(inject 通过 requestAnimationFrame 等待)。
目录结构
cliqueja/
├── ext/ # Chrome MV3 (load unpacked)
│ ├── manifest.json
│ ├── background.js # WS client + comandos
│ ├── inject.js # runtime na página
│ ├── popup.* # UI vermelha
│ └── icon-128.png
├── hub.mjs # bridge WS/HTTP
├── mcp.mjs # MCP stdio → hub
├── index.js # lib Playwright rápida
├── inject.js # mesmo runtime (lib)
├── exemplo.js
├── start-hub.bat
└── docs/
└── ARCHITECTURE.md安全
Hub 仅限 localhost——不要暴露端口
扩展只在文件上传时请求
debugger(CDPDOM.setFileInputFiles)在没有充分理解 agent 可能点击什么的情况下,不要在共享机器上运行
风险自负;尊重你自动化的网站的服务条款
许可证
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Browserless MCP — wraps the Browserless headless-Chromium REST API (browserless.io)
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
Related MCP Servers
- FlicenseCqualityDmaintenanceEnables browser automation, including navigation, form filling, login with CAPTCHA handling, and element manipulation, using a Chrome-based MCP server.364-
- AlicenseNot gradedqualityDmaintenanceEnables MCP clients to drive a real, logged-in Chrome browser for web automation tasks like navigation, clicking, typing, and screenshotting.0MIT
- AlicenseNot gradedqualityDmaintenanceEnables browser automation over MCP using a real Chrome browser with existing profile, supporting real tabs, downloads, cookies, and RPA workflows.354 npmMIT
- FlicenseNot gradedqualityDmaintenanceDrive your real, signed-in Chrome browser from any MCP client, enabling browser automation such as navigation, clicking, typing, and screenshots through standard MCP tools.1-