agent-browser-stealth 0.17.0-fork.2 → 0.24.0-fork.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.
Files changed (122) hide show
  1. package/README.md +1256 -240
  2. package/bin/agent-browser-darwin-arm64 +0 -0
  3. package/bin/agent-browser-darwin-x64 +0 -0
  4. package/bin/agent-browser-linux-arm64 +0 -0
  5. package/bin/agent-browser-linux-x64 +0 -0
  6. package/bin/agent-browser-win32-x64.exe +0 -0
  7. package/bin/agent-browser.js +13 -2
  8. package/extensions/tab-group-cdp/content-script.js +425 -0
  9. package/extensions/tab-group-cdp/icons/icon.svg +7 -0
  10. package/extensions/tab-group-cdp/manifest.json +34 -0
  11. package/extensions/tab-group-cdp/page-bridge.js +133 -0
  12. package/extensions/tab-group-cdp/service-worker.js +2249 -0
  13. package/extensions/tab-group-cdp/sidepanel.css +258 -0
  14. package/extensions/tab-group-cdp/sidepanel.html +28 -0
  15. package/extensions/tab-group-cdp/sidepanel.js +1225 -0
  16. package/package.json +17 -69
  17. package/scripts/build-all-platforms.sh +6 -0
  18. package/scripts/check-version-sync.js +14 -2
  19. package/scripts/copy-native.js +8 -50
  20. package/scripts/postinstall.js +149 -165
  21. package/scripts/windows-debug/provision.sh +220 -0
  22. package/scripts/windows-debug/run.sh +92 -0
  23. package/scripts/windows-debug/start.sh +43 -0
  24. package/scripts/windows-debug/stop.sh +28 -0
  25. package/scripts/windows-debug/sync.sh +27 -0
  26. package/skills/agent-browser/SKILL.md +256 -159
  27. package/skills/agent-browser/references/authentication.md +101 -0
  28. package/skills/agent-browser/references/commands.md +34 -2
  29. package/skills/agent-browser/references/snapshot-refs.md +25 -0
  30. package/skills/agentcore/SKILL.md +115 -0
  31. package/skills/dogfood/SKILL.md +4 -2
  32. package/skills/electron/SKILL.md +26 -2
  33. package/skills/slack/SKILL.md +0 -9
  34. package/skills/slack/references/slack-tasks.md +2 -8
  35. package/skills/vercel-sandbox/SKILL.md +280 -0
  36. package/bin/agent-browser-local +0 -0
  37. package/bin/agent-browser-stealth +0 -0
  38. package/bin/agent-browser-stealth.d +0 -1
  39. package/dist/action-policy.d.ts +0 -14
  40. package/dist/action-policy.d.ts.map +0 -1
  41. package/dist/action-policy.js +0 -253
  42. package/dist/action-policy.js.map +0 -1
  43. package/dist/actions.d.ts +0 -21
  44. package/dist/actions.d.ts.map +0 -1
  45. package/dist/actions.js +0 -2139
  46. package/dist/actions.js.map +0 -1
  47. package/dist/auth-cli.d.ts +0 -2
  48. package/dist/auth-cli.d.ts.map +0 -1
  49. package/dist/auth-cli.js +0 -97
  50. package/dist/auth-cli.js.map +0 -1
  51. package/dist/auth-vault.d.ts +0 -36
  52. package/dist/auth-vault.d.ts.map +0 -1
  53. package/dist/auth-vault.js +0 -125
  54. package/dist/auth-vault.js.map +0 -1
  55. package/dist/browser.d.ts +0 -665
  56. package/dist/browser.d.ts.map +0 -1
  57. package/dist/browser.js +0 -3210
  58. package/dist/browser.js.map +0 -1
  59. package/dist/confirmation.d.ts +0 -8
  60. package/dist/confirmation.d.ts.map +0 -1
  61. package/dist/confirmation.js +0 -30
  62. package/dist/confirmation.js.map +0 -1
  63. package/dist/daemon.d.ts +0 -78
  64. package/dist/daemon.d.ts.map +0 -1
  65. package/dist/daemon.js +0 -744
  66. package/dist/daemon.js.map +0 -1
  67. package/dist/diff.d.ts +0 -18
  68. package/dist/diff.d.ts.map +0 -1
  69. package/dist/diff.js +0 -271
  70. package/dist/diff.js.map +0 -1
  71. package/dist/domain-filter.d.ts +0 -28
  72. package/dist/domain-filter.d.ts.map +0 -1
  73. package/dist/domain-filter.js +0 -149
  74. package/dist/domain-filter.js.map +0 -1
  75. package/dist/encryption.d.ts +0 -73
  76. package/dist/encryption.d.ts.map +0 -1
  77. package/dist/encryption.js +0 -171
  78. package/dist/encryption.js.map +0 -1
  79. package/dist/ios-actions.d.ts +0 -11
  80. package/dist/ios-actions.d.ts.map +0 -1
  81. package/dist/ios-actions.js +0 -228
  82. package/dist/ios-actions.js.map +0 -1
  83. package/dist/ios-manager.d.ts +0 -266
  84. package/dist/ios-manager.d.ts.map +0 -1
  85. package/dist/ios-manager.js +0 -1073
  86. package/dist/ios-manager.js.map +0 -1
  87. package/dist/protocol.d.ts +0 -26
  88. package/dist/protocol.d.ts.map +0 -1
  89. package/dist/protocol.js +0 -990
  90. package/dist/protocol.js.map +0 -1
  91. package/dist/snapshot.d.ts +0 -67
  92. package/dist/snapshot.d.ts.map +0 -1
  93. package/dist/snapshot.js +0 -514
  94. package/dist/snapshot.js.map +0 -1
  95. package/dist/state-utils.d.ts +0 -77
  96. package/dist/state-utils.d.ts.map +0 -1
  97. package/dist/state-utils.js +0 -178
  98. package/dist/state-utils.js.map +0 -1
  99. package/dist/stealth.d.ts +0 -41
  100. package/dist/stealth.d.ts.map +0 -1
  101. package/dist/stealth.js +0 -1743
  102. package/dist/stealth.js.map +0 -1
  103. package/dist/stream-server.d.ts +0 -117
  104. package/dist/stream-server.d.ts.map +0 -1
  105. package/dist/stream-server.js +0 -309
  106. package/dist/stream-server.js.map +0 -1
  107. package/dist/types.d.ts +0 -973
  108. package/dist/types.d.ts.map +0 -1
  109. package/dist/types.js +0 -2
  110. package/dist/types.js.map +0 -1
  111. package/scripts/check-creepjs-headless.js +0 -137
  112. package/scripts/check-daemon-pid-recovery.js +0 -148
  113. package/scripts/check-sannysoft-webdriver.js +0 -112
  114. package/scripts/check-stealth-regression.js +0 -199
  115. package/scripts/check-turnstile-testkey.ts +0 -125
  116. package/scripts/clawhub-sync.sh +0 -27
  117. package/scripts/sync-upstream.sh +0 -142
  118. package/scripts/verify-bundled-binaries.js +0 -71
  119. package/scripts/verify-native-version.js +0 -48
  120. package/scripts/verify-packed-host-binary.js +0 -88
  121. package/scripts/verify-registry-host-binary.js +0 -120
  122. package/skills/agent-browser-stealth/SKILL.md +0 -127
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "agent-browser-stealth",
3
- "version": "0.17.0-fork.2",
4
- "description": "Stealth browser automation CLI for AI agents with anti-bot evasions",
3
+ "version": "0.24.0-fork.2",
4
+ "description": "Browser automation CLI for AI agents — stealth fork with anti-detection",
5
5
  "type": "module",
6
- "main": "dist/daemon.js",
7
6
  "files": [
8
- "dist",
9
7
  "bin",
10
8
  "scripts",
11
- "skills"
9
+ "skills",
10
+ "extensions"
12
11
  ],
13
12
  "bin": {
14
13
  "agent-browser-stealth": "./bin/agent-browser.js",
@@ -19,87 +18,36 @@
19
18
  "prepare": "husky",
20
19
  "version:sync": "node scripts/sync-version.js",
21
20
  "version": "npm run version:sync && git add cli/Cargo.toml",
22
- "native:clean": "cargo clean --manifest-path cli/Cargo.toml -p agent-browser-stealth",
23
- "build": "tsc",
24
- "build:native": "npm run version:sync && npm run native:clean && cargo build --release --manifest-path cli/Cargo.toml && node scripts/copy-native.js",
21
+ "build:native": "npm run version:sync && cargo build --release --manifest-path cli/Cargo.toml && node scripts/copy-native.js",
25
22
  "build:linux": "npm run version:sync && docker compose -f docker/docker-compose.yml run --rm build-linux",
26
- "build:macos": "npm run version:sync && npm run native:clean && (cargo build --release --manifest-path cli/Cargo.toml --target aarch64-apple-darwin & cargo build --release --manifest-path cli/Cargo.toml --target x86_64-apple-darwin & wait) && node scripts/copy-native.js cli/target/aarch64-apple-darwin/release/agent-browser bin/agent-browser-darwin-arm64 && node scripts/copy-native.js cli/target/x86_64-apple-darwin/release/agent-browser bin/agent-browser-darwin-x64",
23
+ "build:macos": "npm run version:sync && (cargo build --release --manifest-path cli/Cargo.toml --target aarch64-apple-darwin & cargo build --release --manifest-path cli/Cargo.toml --target x86_64-apple-darwin & wait) && cp cli/target/aarch64-apple-darwin/release/agent-browser bin/agent-browser-darwin-arm64 && cp cli/target/x86_64-apple-darwin/release/agent-browser bin/agent-browser-darwin-x64",
27
24
  "build:windows": "npm run version:sync && docker compose -f docker/docker-compose.yml run --rm build-windows",
28
25
  "build:all-platforms": "npm run version:sync && (npm run build:linux & npm run build:windows & wait) && npm run build:macos",
29
26
  "build:docker": "docker build -t agent-browser-builder -f docker/Dockerfile.build .",
30
- "release": "pnpm run version:sync && pnpm run build && pnpm run build:all-platforms && pnpm run verify:bundled-binaries && pnpm run verify:native-version && pnpm publish",
31
- "start": "node dist/daemon.js",
32
- "dev": "tsx src/daemon.ts",
33
- "typecheck": "tsc --noEmit",
34
- "format": "prettier --write 'src/**/*.ts'",
35
- "format:check": "prettier --check 'src/**/*.ts'",
36
- "test": "vitest run",
37
- "test:watch": "vitest",
38
- "test:e2e:dogfood": "vitest run test/e2e/dogfood.eval.ts",
39
- "bench": "pnpm build && tsx test/benchmarks/run.ts",
40
- "bench:node": "pnpm build && tsx test/benchmarks/run.ts --node-only",
41
- "bench:native": "pnpm build && tsx test/benchmarks/run.ts --native-only",
42
- "bench:engine": "pnpm build && tsx test/benchmarks/run.ts --engine",
43
- "check:daemon-pid-recovery": "node scripts/check-daemon-pid-recovery.js",
44
- "check:stealth-regression": "node scripts/check-stealth-regression.js",
45
- "check:turnstile-testkey": "pnpm exec tsx scripts/check-turnstile-testkey.ts",
46
- "postinstall": "node scripts/postinstall.js",
47
- "verify:native-version": "node scripts/verify-native-version.js",
48
- "verify:bundled-binaries": "node scripts/verify-bundled-binaries.js",
49
- "verify:packed-host-binary": "node scripts/verify-packed-host-binary.js",
50
- "verify:registry-host-binary": "node scripts/verify-registry-host-binary.js",
51
- "prepublishOnly": "pnpm run verify:bundled-binaries && pnpm run verify:native-version && pnpm run verify:packed-host-binary",
52
- "clawhub:sync": "bash scripts/clawhub-sync.sh",
53
- "sync:upstream": "bash scripts/sync-upstream.sh",
54
- "sync:upstream:push": "bash scripts/sync-upstream.sh --push",
55
- "changeset": "changeset",
56
- "ci:version": "changeset version && pnpm run version:sync && pnpm install --no-frozen-lockfile",
57
- "ci:publish": "pnpm run version:sync && pnpm run build && pnpm run build:native && pnpm run verify:bundled-binaries && pnpm run verify:native-version && pnpm run verify:packed-host-binary && changeset publish"
27
+ "release": "npm run version:sync && npm run build:all-platforms && npm publish --tag fork",
28
+ "postinstall": "node scripts/postinstall.js"
58
29
  },
59
30
  "keywords": [
60
31
  "browser",
61
32
  "automation",
62
33
  "headless",
63
- "stealth",
64
- "anti-bot",
65
- "anti-detection",
66
- "playwright",
34
+ "chrome",
35
+ "cdp",
67
36
  "cli",
68
- "agent"
37
+ "agent",
38
+ "stealth",
39
+ "anti-detection"
69
40
  ],
70
41
  "license": "Apache-2.0",
71
42
  "repository": {
72
43
  "type": "git",
73
- "url": "git+https://github.com/leeguooooo/agent-browser.git"
74
- },
75
- "publishConfig": {
76
- "tag": "fork"
44
+ "url": "git+https://github.com/leeguooooo/agent-browser-stealth.git"
77
45
  },
78
46
  "bugs": {
79
- "url": "https://github.com/leeguooooo/agent-browser/issues"
80
- },
81
- "homepage": "https://github.com/leeguooooo/agent-browser#readme",
82
- "dependencies": {
83
- "node-simctl": "^7.4.0",
84
- "playwright-core": "^1.57.0",
85
- "webdriverio": "^9.15.0",
86
- "ws": "^8.19.0",
87
- "zod": "^3.22.4"
47
+ "url": "https://github.com/leeguooooo/agent-browser-stealth/issues"
88
48
  },
49
+ "homepage": "https://github.com/leeguooooo/agent-browser-stealth",
89
50
  "devDependencies": {
90
- "@anthropic-ai/claude-agent-sdk": "^0.2.52",
91
- "@changesets/cli": "^2.29.8",
92
- "@types/node": "^20.10.0",
93
- "@types/ws": "^8.18.1",
94
- "husky": "^9.1.7",
95
- "lint-staged": "^15.2.11",
96
- "playwright": "^1.57.0",
97
- "prettier": "^3.7.4",
98
- "tsx": "^4.6.0",
99
- "typescript": "^5.3.0",
100
- "vitest": "^4.0.16"
101
- },
102
- "lint-staged": {
103
- "src/**/*.ts": "prettier --write"
51
+ "husky": "^9.0.11"
104
52
  }
105
53
  }
@@ -61,6 +61,12 @@ build_target "x86_64-apple-darwin" "agent-browser-darwin-x64"
61
61
  # macOS ARM64 (via zig for cross-compilation)
62
62
  build_target "aarch64-apple-darwin" "agent-browser-darwin-arm64"
63
63
 
64
+ # Linux musl x64 (Alpine)
65
+ build_target "x86_64-unknown-linux-musl" "agent-browser-linux-musl-x64"
66
+
67
+ # Linux musl ARM64 (Alpine)
68
+ build_target "aarch64-unknown-linux-musl" "agent-browser-linux-musl-arm64"
69
+
64
70
  echo ""
65
71
  echo -e "${GREEN}Build complete!${NC}"
66
72
  echo ""
@@ -27,10 +27,22 @@ if (!cargoVersionMatch) {
27
27
 
28
28
  const cargoVersion = cargoVersionMatch[1];
29
29
 
30
+ // Read dashboard package.json version
31
+ const dashboardPkg = JSON.parse(readFileSync(join(rootDir, 'packages/dashboard/package.json'), 'utf-8'));
32
+ const dashboardVersion = dashboardPkg.version;
33
+
34
+ const mismatches = [];
30
35
  if (packageVersion !== cargoVersion) {
36
+ mismatches.push(` cli/Cargo.toml: ${cargoVersion}`);
37
+ }
38
+ if (packageVersion !== dashboardVersion) {
39
+ mismatches.push(` packages/dashboard: ${dashboardVersion}`);
40
+ }
41
+
42
+ if (mismatches.length > 0) {
31
43
  console.error('Version mismatch detected!');
32
- console.error(` package.json: ${packageVersion}`);
33
- console.error(` cli/Cargo.toml: ${cargoVersion}`);
44
+ console.error(` package.json: ${packageVersion}`);
45
+ for (const m of mismatches) console.error(m);
34
46
  console.error('');
35
47
  console.error("Run 'pnpm run version:sync' to fix this.");
36
48
  process.exit(1);
@@ -1,67 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * Copies the compiled Rust binary to bin/ with platform-specific naming.
5
- * On macOS, re-apply an ad-hoc signature after copying so the binary remains
6
- * executable from the packaged bin/ path.
4
+ * Copies the compiled Rust binary to bin/ with platform-specific naming
7
5
  */
8
6
 
9
7
  import { copyFileSync, existsSync, mkdirSync } from 'fs';
10
8
  import { dirname, join } from 'path';
11
9
  import { fileURLToPath } from 'url';
12
10
  import { platform, arch } from 'os';
13
- import { spawnSync } from 'child_process';
14
11
 
15
12
  const __dirname = dirname(fileURLToPath(import.meta.url));
16
13
  const projectRoot = join(__dirname, '..');
17
14
 
15
+ const sourceExt = platform() === 'win32' ? '.exe' : '';
16
+ const sourcePath = join(projectRoot, `cli/target/release/agent-browser${sourceExt}`);
18
17
  const binDir = join(projectRoot, 'bin');
19
18
 
20
- function defaultPaths() {
21
- const sourceExt = platform() === 'win32' ? '.exe' : '';
22
- const sourcePath = join(projectRoot, `cli/target/release/agent-browser${sourceExt}`);
23
-
24
- const platformKey = `${platform()}-${arch()}`;
25
- const ext = platform() === 'win32' ? '.exe' : '';
26
- const targetName = `agent-browser-${platformKey}${ext}`;
27
- const targetPath = join(binDir, targetName);
28
-
29
- return { sourcePath, targetPath };
30
- }
31
-
32
- function resolvePaths() {
33
- const [sourceArg, targetArg] = process.argv.slice(2);
34
- if (!sourceArg && !targetArg) {
35
- return defaultPaths();
36
- }
37
- if (!sourceArg || !targetArg) {
38
- console.error('Usage: node scripts/copy-native.js [source-binary target-binary]');
39
- process.exit(1);
40
- }
41
- return {
42
- sourcePath: join(projectRoot, sourceArg),
43
- targetPath: join(projectRoot, targetArg),
44
- };
45
- }
46
-
47
- function adHocSignIfNeeded(targetPath) {
48
- if (platform() !== 'darwin') {
49
- return;
50
- }
51
-
52
- const result = spawnSync('codesign', ['--force', '--sign', '-', targetPath], {
53
- stdio: 'pipe',
54
- encoding: 'utf8',
55
- });
56
-
57
- if (result.status !== 0) {
58
- const message = result.stderr?.trim() || result.stdout?.trim() || 'unknown codesign error';
59
- console.error(`Error: Failed to codesign ${targetPath}: ${message}`);
60
- process.exit(result.status ?? 1);
61
- }
62
- }
63
-
64
- const { sourcePath, targetPath } = resolvePaths();
19
+ // Determine platform suffix
20
+ const platformKey = `${platform()}-${arch()}`;
21
+ const ext = platform() === 'win32' ? '.exe' : '';
22
+ const targetName = `agent-browser-${platformKey}${ext}`;
23
+ const targetPath = join(binDir, targetName);
65
24
 
66
25
  if (!existsSync(sourcePath)) {
67
26
  console.error(`Error: Native binary not found at ${sourcePath}`);
@@ -74,5 +33,4 @@ if (!existsSync(binDir)) {
74
33
  }
75
34
 
76
35
  copyFileSync(sourcePath, targetPath);
77
- adHocSignIfNeeded(targetPath);
78
36
  console.log(`✓ Copied native binary to ${targetPath}`);