human-browser 4.3.0 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +29 -1
- package/package.json +1 -1
package/SKILL.md
CHANGED
|
@@ -369,7 +369,9 @@ await page.keyboard.press('Enter'); // most reliable
|
|
|
369
369
|
|
|
370
370
|
Use when a site's login or form requires CAPTCHA.
|
|
371
371
|
|
|
372
|
-
**
|
|
372
|
+
**Cloud / agent runtime (recommended):** the `solve_captcha` tool is auto-registered in the agent runner. The agent calls it when it detects a challenge — no setup, no separate captcha account. Quota comes with your `HUMANBROWSER_API_TOKEN` plan, with a free trial fallback for unauthenticated users.
|
|
373
|
+
|
|
374
|
+
**Custom 2captcha key (optional override):** set `CAPTCHA_API_KEY` (or legacy `TWOCAPTCHA_KEY`) env var if you want to use your own 2captcha balance instead of the bundled one.
|
|
373
375
|
|
|
374
376
|
### reCAPTCHA v2 (checkbox/invisible)
|
|
375
377
|
```js
|
|
@@ -858,3 +860,29 @@ const result = await runOnCloudSync({
|
|
|
858
860
|
});
|
|
859
861
|
console.log(result.text); // throws if state is failed/canceled
|
|
860
862
|
```
|
|
863
|
+
|
|
864
|
+
### Raw A2A (any language, no SDK)
|
|
865
|
+
|
|
866
|
+
The endpoint is plain JSON-RPC 2.0 over HTTPS at `POST /a2a`. Any A2A-aware client (LangGraph, CrewAI, Google ADK, hand-rolled `curl`) can drive it. Use `message/stream` for live SSE, or `message/send` + `tasks/get` for plain request/response.
|
|
867
|
+
|
|
868
|
+
```bash
|
|
869
|
+
# Submit a task (non-streaming) — returns immediately with taskId + viewerUrl
|
|
870
|
+
curl -sX POST https://agent.humanbrowser.cloud/a2a \
|
|
871
|
+
-H "Authorization: Bearer $HUMANBROWSER_API_TOKEN" \
|
|
872
|
+
-H "Content-Type: application/json" \
|
|
873
|
+
-d '{
|
|
874
|
+
"jsonrpc":"2.0","id":1,"method":"message/send",
|
|
875
|
+
"params":{"message":{"role":"user","parts":[{"kind":"text","text":"Open ifconfig.me and report the IP"}]}}
|
|
876
|
+
}'
|
|
877
|
+
# → { "result": { "id": "task_...", "status": { "state": "submitted" }, "metadata": { "viewerUrl": "..." } } }
|
|
878
|
+
|
|
879
|
+
# Poll until terminal
|
|
880
|
+
curl -sX POST https://agent.humanbrowser.cloud/a2a \
|
|
881
|
+
-H "Authorization: Bearer $HUMANBROWSER_API_TOKEN" \
|
|
882
|
+
-H "Content-Type: application/json" \
|
|
883
|
+
-d '{"jsonrpc":"2.0","id":2,"method":"tasks/get","params":{"id":"task_..."}}'
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
For live streaming, swap `message/send` → `message/stream` and read the response as `text/event-stream`. Each frame is a JSON-RPC notification carrying a `Task`, `TaskStatusUpdateEvent` or `TaskArtifactUpdateEvent` — exactly what `runOnCloud()` parses internally.
|
|
887
|
+
|
|
888
|
+
> **Note on multi-turn**: the A2A spec describes an `input-required` state for tasks that need follow-up input. The current cloud build runs every task to terminal in one shot — multi-turn resumption is reserved in the protocol but not yet wired up server-side. Use `tasks/cancel` and submit a fresh task if you need to redirect.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "human-browser",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.2",
|
|
4
4
|
"description": "Stealth browser for AI agents. Bypasses Cloudflare, DataDome, PerimeterX. Residential IPs from 10+ countries. iPhone 15 Pro fingerprint. Drop-in Playwright replacement — launchHuman() just works.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"browser-automation",
|