@wenathlan/saddle 1.8.16 → 1.8.18

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 (223) hide show
  1. package/README.md +38 -13
  2. package/dist/apps/registry.d.ts +1 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/isolation/contracts.d.ts +118 -0
  8. package/dist/isolation/contracts.d.ts.map +1 -0
  9. package/dist/isolation/contracts.js +84 -0
  10. package/dist/isolation/contracts.js.map +1 -0
  11. package/dist/mcp/server.d.ts +2 -2
  12. package/dist/scrape/robots.js +1 -1
  13. package/docs/artifactavailability.md +18 -2
  14. package/docs/containerplatforms-1.8.17.md +29 -0
  15. package/docs/releasenotes-1.8.16.md +6 -2
  16. package/docs/releasenotes-1.8.17.md +43 -0
  17. package/docs/releasenotes-1.8.18.md +32 -0
  18. package/docs/research-1.8.18-isolation.md +43 -0
  19. package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
  20. package/docs/todo-1.8.16.md +92 -8
  21. package/docs/todo-1.8.18.md +152 -0
  22. package/docs/workflowoperations.md +32 -0
  23. package/extension/manifest.json +1 -1
  24. package/package.json +3 -2
  25. package/docs/logs/.gitkeep +0 -0
  26. package/docs/plans/00.index.md +0 -50
  27. package/docs/plans/01.architecture.md +0 -86
  28. package/docs/plans/02.research.computer.use.md +0 -58
  29. package/docs/plans/03.research.captcha.bypass.md +0 -68
  30. package/docs/plans/04.research.sandbox.ai.md +0 -52
  31. package/docs/plans/05.capture.platform.md +0 -57
  32. package/docs/plans/06.dependencies.md +0 -97
  33. package/docs/plans/07.captcha.test.page.md +0 -41
  34. package/docs/plans/08.production.infra.md +0 -70
  35. package/docs/plans/09.database.schema.md +0 -121
  36. package/docs/plans/10.cloudinary.storage.md +0 -57
  37. package/docs/plans/11.movement.logs.json.md +0 -72
  38. package/docs/plans/12.research.atlas.agent.browser.md +0 -79
  39. package/docs/plans/13.research.anti.detection.md +0 -898
  40. package/docs/plans/14.research.proxy.md +0 -1495
  41. package/docs/plans/15.research.retry.rate.limit.md +0 -1958
  42. package/docs/plans/16.research.crawling.md +0 -1417
  43. package/docs/plans/17.research.caching.md +0 -1610
  44. package/docs/plans/18.research.content.extraction.md +0 -1952
  45. package/docs/plans/19.research.errors.events.md +0 -1523
  46. package/docs/plans/20.research.zod.validation.md +0 -1350
  47. package/docs/plans/21.research.batch.concurrency.md +0 -1888
  48. package/docs/plans/22.research.universal.runtime.md +0 -944
  49. package/docs/plans/23.research.ai.integration.md +0 -1465
  50. package/docs/plans/24.research.memory.persistence.md +0 -1979
  51. package/docs/plans/25.research.server.api.md +0 -342
  52. package/docs/plans/26.research.compilation.md +0 -249
  53. package/docs/plans/27.research.html.parsing.md +0 -251
  54. package/docs/plans/28.action.plan.md +0 -50
  55. package/docs/plans/29.api.reference.md +0 -174
  56. package/docs/plans/30.architecture.plan.md +0 -94
  57. package/docs/plans/31.auditoria.dados.md +0 -163
  58. package/docs/plans/32.bots.automacao.computacional.md +0 -214
  59. package/docs/plans/33.bots.codigo.revisao.md +0 -220
  60. package/docs/plans/34.bots.seguranca.cicd.md +0 -366
  61. package/docs/plans/35.comparativo.concorrencia.md +0 -464
  62. package/docs/plans/36.computational.memory.md +0 -340
  63. package/docs/plans/37.deploystrategy.md +0 -394
  64. package/docs/plans/38.flow.md +0 -155
  65. package/docs/plans/39.multi.platform.bot.md +0 -252
  66. package/docs/plans/40.npm.publish.md +0 -250
  67. package/docs/plans/41.o.que.falta.md +0 -407
  68. package/docs/plans/42.pesquisa.concorrencia.md +0 -721
  69. package/docs/plans/43.plan.universal.architecture.md +0 -496
  70. package/docs/plans/44.reference.md +0 -100
  71. package/docs/plans/45.robotarchitecture.md +0 -237
  72. package/docs/plans/46.scdnintegration.md +0 -284
  73. package/docs/plans/47.multiforge.readme.md +0 -129
  74. package/docs/plans/48.theory.v4.repo.os.md +0 -152
  75. package/docs/plans/49.third.party.infra.md +0 -12
  76. package/docs/plans/50.file.as.compute.md +0 -39
  77. package/docs/plans/51.architecture.virtual.processor.md +0 -80
  78. package/docs/plans/52.manifesto.v8.md +0 -11
  79. package/docs/plans/58.cdn.list.md +0 -23
  80. package/docs/plans/59.sql.frameworks.md +0 -33
  81. package/docs/plans/60.sql.thirdparty.md +0 -26
  82. package/docs/plans/61.objective.multiforge.md +0 -63
  83. package/docs/plans/62.huggingface.upload.md +0 -26
  84. package/docs/plans/63.kaggle.upload.md +0 -24
  85. package/docs/plans/64.npm.storage.md +0 -30
  86. package/docs/plans/65.rclone.terabox.md +0 -32
  87. package/docs/plans/66.buckets.and.models.todo.md +0 -14
  88. package/docs/plans/67.database.todo.md +0 -13
  89. package/docs/plans/68.deploy.packages.todo.md +0 -12
  90. package/docs/plans/69.report.human.operator.md +0 -133
  91. package/docs/plans/70.report.brain2qwerty.ems.md +0 -135
  92. package/docs/plans/71.report.hd.infinito.vram.md +0 -155
  93. package/docs/plans/72.plan.hd.infinito.node.md +0 -146
  94. package/docs/plans/73.plan.scifi.repos.md +0 -125
  95. package/docs/plans/74.000.manifesto.v8.flat.2..md +0 -11
  96. package/docs/plans/README.md +0 -489
  97. package/docs/plans/aggregate_platforms.mjs +0 -146
  98. package/docs/plans/examplesession.json +0 -36
  99. package/docs/plans/missing-facts.md +0 -192
  100. package/docs/plans/models.md +0 -64
  101. package/docs/plans/organize.cjs +0 -270
  102. package/docs/plans/platforms.md +0 -2887
  103. package/docs/plans/sites.md +0 -31322
  104. package/docs/sources/farm.py +0 -117
  105. package/docs/sources/html/saddle1.html +0 -132
  106. package/docs/sources/html/saddle2.html +0 -157
  107. package/docs/sources/html/saddle3.html +0 -119
  108. package/docs/sources/html/saddle4.html +0 -144
  109. package/docs/sources/html/saddle5.html +0 -72
  110. package/docs/sources/html/saddle6.html +0 -171
  111. package/docs/sources/html/saddle7.html +0 -236
  112. package/docs/sources/saddle.ts +0 -74
  113. package/docs/sources/schema.prisma +0 -88
  114. package/docs/sources/script.sh +0 -64
  115. package/docs/sources/workflows.yml +0 -458
  116. package/docs/talks1/_body.txt +0 -14
  117. package/docs/talks1/_index.md +0 -15
  118. package/docs/talks1/_screenshot.png +0 -0
  119. package/docs/talks1/assistant-01.md +0 -5
  120. package/docs/talks1/assistant-02.md +0 -5
  121. package/docs/talks1/assistant-03.md +0 -531
  122. package/docs/talks1/assistant-04.md +0 -26
  123. package/docs/talks1/assistant-05.md +0 -774
  124. package/docs/talks1/assistant-06.md +0 -1718
  125. package/docs/talks1/scrape-share.cjs +0 -185
  126. package/docs/talks1/scrape-share.ts +0 -183
  127. package/docs/talks1/user-01.md +0 -3
  128. package/docs/talks1/user-02.md +0 -3
  129. package/docs/talks1/user-03.md +0 -88
  130. package/docs/talks1/user-04.md +0 -3
  131. package/docs/talks1/user-05.md +0 -3
  132. package/docs/talks1/user-06.md +0 -88
  133. package/docs/talks1/user-07.md +0 -88
  134. package/docs/talks2/_body.txt +0 -14
  135. package/docs/talks2/_index.md +0 -16
  136. package/docs/talks2/_screenshot.png +0 -0
  137. package/docs/talks2/assistant-01.md +0 -5
  138. package/docs/talks2/assistant-02.md +0 -5
  139. package/docs/talks2/assistant-03.md +0 -424
  140. package/docs/talks2/assistant-04.md +0 -598
  141. package/docs/talks2/assistant-05.md +0 -1280
  142. package/docs/talks2/assistant-06.md +0 -1227
  143. package/docs/talks2/assistant-07.md +0 -1252
  144. package/docs/talks2/user-01.md +0 -3
  145. package/docs/talks2/user-02.md +0 -3
  146. package/docs/talks2/user-03.md +0 -88
  147. package/docs/talks2/user-04.md +0 -88
  148. package/docs/talks2/user-05.md +0 -88
  149. package/docs/talks2/user-06.md +0 -88
  150. package/docs/talks2/user-07.md +0 -3
  151. package/docs/talks3/_body.txt +0 -467
  152. package/docs/talks3/_index.md +0 -10
  153. package/docs/talks3/_screenshot.png +0 -0
  154. package/docs/talks3/assistant-01.md +0 -417
  155. package/docs/talks3/assistant-02.md +0 -417
  156. package/docs/talks3/assistant-03.md +0 -29
  157. package/docs/talks3/assistant-04.md +0 -727
  158. package/docs/talks3/user-01.md +0 -88
  159. package/docs/talks3/user-02.md +0 -88
  160. package/docs/talks3/user-03.md +0 -3
  161. package/docs/talks3/user-04.md +0 -3
  162. package/docs/talks4/_body.txt +0 -14
  163. package/docs/talks4/_index.md +0 -12
  164. package/docs/talks4/_screenshot.png +0 -0
  165. package/docs/talks4/assistant-01.md +0 -5
  166. package/docs/talks4/assistant-02.md +0 -5
  167. package/docs/talks4/assistant-03.md +0 -35
  168. package/docs/talks4/assistant-04.md +0 -512
  169. package/docs/talks4/assistant-05.md +0 -599
  170. package/docs/talks4/user-01.md +0 -3
  171. package/docs/talks4/user-02.md +0 -3
  172. package/docs/talks4/user-03.md +0 -88
  173. package/docs/talks4/user-04.md +0 -88
  174. package/docs/talks4/user-05.md +0 -7
  175. package/docs/talks5/_body.txt +0 -14
  176. package/docs/talks5/_index.md +0 -13
  177. package/docs/talks5/_screenshot.png +0 -0
  178. package/docs/talks5/assistant-01.md +0 -5
  179. package/docs/talks5/assistant-02.md +0 -5
  180. package/docs/talks5/assistant-03.md +0 -690
  181. package/docs/talks5/assistant-04.md +0 -758
  182. package/docs/talks5/assistant-05.md +0 -974
  183. package/docs/talks5/user-01.md +0 -3
  184. package/docs/talks5/user-02.md +0 -3
  185. package/docs/talks5/user-03.md +0 -105
  186. package/docs/talks5/user-04.md +0 -105
  187. package/docs/talks5/user-05.md +0 -63
  188. package/docs/talks5/user-06.md +0 -105
  189. package/docs/talks6/_body.txt +0 -14
  190. package/docs/talks6/_index.md +0 -9
  191. package/docs/talks6/_screenshot.png +0 -0
  192. package/docs/talks6/assistant-01.md +0 -5
  193. package/docs/talks6/assistant-02.md +0 -5
  194. package/docs/talks6/assistant-03.md +0 -1499
  195. package/docs/talks6/user-01.md +0 -3
  196. package/docs/talks6/user-02.md +0 -3
  197. package/docs/talks6/user-03.md +0 -88
  198. package/docs/talks6/user-04.md +0 -88
  199. package/docs/talks7/_body.txt +0 -14
  200. package/docs/talks7/_index.md +0 -10
  201. package/docs/talks7/_screenshot.png +0 -0
  202. package/docs/talks7/assistant-01.md +0 -5
  203. package/docs/talks7/assistant-02.md +0 -5
  204. package/docs/talks7/assistant-03.md +0 -523
  205. package/docs/talks7/assistant-04.md +0 -617
  206. package/docs/talks7/user-01.md +0 -3
  207. package/docs/talks7/user-02.md +0 -3
  208. package/docs/talks7/user-03.md +0 -105
  209. package/docs/talks7/user-04.md +0 -67
  210. package/docs/talks8/conversa1.txt +0 -1322
  211. package/docs/talks8/conversa2.txt +0 -237
  212. package/docs/talks9/Beyond the Obvious_ 50 Plataformas Auto-Hospedadas de Forja de C/303/263digo para Al/303/251m de Gitea e GitLab.md" +0 -174
  213. package/docs/talks9/De NPM a Multi-Linguagem_ Uma Arquitetura T/303/251cnica para a Execu/303/247/303/243o Integrada de C/303/263digo no Ecossistema Node.js.md" +0 -59
  214. package/docs/talks9/De NPM a VMs Virtuais_ Uma An/303/241lise Arquitet/303/264nica para a Realiza/303/247/303/243o do Ciclo de Vida do Projeto SADDLE.md" +0 -91
  215. package/docs/talks9/Mapeamento da Engrenagem Computacional_ Uma Arquitetura para Execu/303/247/303/243o Isolada e Persist/303/252ncia em Ambientes Distribu/303/255dos.md" +0 -116
  216. package/docs/talks9/O Cen/303/241rio Pr/303/241tico do SADDLE_ Uma An/303/241lise de Viabilidade e Modelo de Ciclo de Vida Integrado.md" +0 -128
  217. package/docs/talks9/README (2).md +0 -489
  218. package/docs/talks9/README.md +0 -198
  219. package/docs/talks9/Viabilidade do Saddle_ Uma An/303/241lise T/303/251cnica da Transforma/303/247/303/243o de Armazenamento Remoto em Mem/303/263ria Computacional.md" +0 -80
  220. package/docs/talks9/conversa.txt +0 -544
  221. package/docs/talks9/other (2).md +0 -39
  222. package/docs/talks9/other.md +0 -57
  223. package/docs/talks9/outro.txt +0 -24
@@ -1,72 +0,0 @@
1
- # 11 Movement Logs Json
2
-
3
- ## Location
4
- - Directory: `docs/logs/`
5
- - File: `<sessionId>.json` (example: `docs/logs/examplesession.json`).
6
-
7
- ## File structure
8
-
9
- ```json
10
- {
11
- "version": 1,
12
- "session": {
13
- "id": "sess_01J9XEXAMPLE0001",
14
- "agentName": "UKA-capture",
15
- "browser": "brave",
16
- "originUrl": "https://accounts.hcaptcha.com/demo",
17
- "seed": "session-42",
18
- "personality": "careful",
19
- "viewport": { "width": 1280, "height": 800 },
20
- "startedAt": "2026-07-16T12:00:00.000Z",
21
- "finishedAt": "2026-07-16T12:03:21.000Z",
22
- "status": "passed"
23
- },
24
- "events": [
25
- { "t": 0.0, "type": "move", "x": 640, "y": 60, "tx": 640, "ty": 60 },
26
- { "t": 12.4, "type": "move", "x": 700, "y": 420, "tx": 700, "ty": 420 },
27
- { "t": 220.1, "type": "click", "x": 711, "y": 433, "button": "left", "target": "#checkbox" },
28
- { "t": 540.0, "type": "scroll", "dx": 0, "dy": -120, "angle": 0 },
29
- { "t": 900.5, "type": "drag", "x0": 100, "y0": 100, "x1": 300, "y1": 300 },
30
- { "t": 1200.0, "type": "key", "key": "Enter", "target": "#submit" }
31
- ],
32
- "captcha": {
33
- "kind": "hcaptcha",
34
- "sitekey": "a9b5fb07-92ff-493f-86fe-352a2803b3df",
35
- "passed": true,
36
- "solver": "vlm",
37
- "evidenceUrl": "https://res.cloudinary.com/uka/sess_01J9XEXAMPLE0001/hcaptcha.png"
38
- },
39
- "metrics": {
40
- "eventCount": 1284,
41
- "durationMs": 201000,
42
- "avgMouseSpeed": 2.3,
43
- "clickCount": 7
44
- }
45
- }
46
- ```
47
-
48
- ## Event fields (`events[]`)
49
-
50
- | Field | Type | Description |
51
- |-------|------|-------------|
52
- | `t` | number | relative time in ms since start |
53
- | `type` | string | `move` \| `click` \| `drag` \| `scroll` \| `key` |
54
- | `x`,`y` | number | viewport coordinates (end of action) |
55
- | `tx`,`ty` | number | target coordinates (element) when applicable |
56
- | `button` | string | `left` \| `right` (click) |
57
- | `x0,y0,x1,y1` | number | start/end points (drag) |
58
- | `dx,dy` | number | delta (scroll) |
59
- | `angle` | number | rotation/scroll angle |
60
- | `key` | string | key (key event) |
61
- | `target` | string | selector/role/target (optional) |
62
-
63
- ## Conventions
64
- - Coordinates in css pixels of the viewport.
65
- - `t` in ms relative (deterministic by `seed`).
66
- - Long move trajectories may be compacted (collapse runs) before save.
67
- - Every log is reproducible from `seed` + `events`.
68
-
69
- ## Usage
70
- - `replay.js` rereads the json and redispatches events in brave (configurable speed).
71
- - `d3` plots the mouse trail from `events[]` for audit/debug.
72
- - Evidence (screenshot/mp4) referenced via `captcha.evidenceUrl` (cloudinary).
@@ -1,79 +0,0 @@
1
- # 12 research atlas agent browser
2
-
3
- date: 2026-07-16
4
- status: research-complete
5
- classification: computer use / agent browser / captcha bypass / sandbox
6
-
7
- ## summary
8
-
9
- atlas is a real browser with 30 modes whose primary job is to bypass hcaptcha so the uka agent can act, and to serve the agent and the sandbox. it ships with our own database on vercel and netlify. this document surveys public repositories with the same classification so we can mirror proven patterns and avoid dead ends.
10
-
11
- ## axis used for comparison
12
-
13
- - computer use / agent browser
14
- - stealth (fingerprint, tls, behavior)
15
- - captcha bypass (hcaptcha / recaptcha / turnstile)
16
- - sandbox (microvm, isolation)
17
- - own backend + database
18
-
19
- ## a agent browsers and computer use
20
-
21
- | repository | stars | language | stealth | captcha | notes |
22
- |---|---|---|---|---|---|
23
- | vercel-labs/agent-browser | ~38k | rust | plugin (stealth) | plugin (captcha) | fast native cli, mcp, serverless vercel sandbox, plugin system for captcha/stealth/vault |
24
- | jcpsimmons/agent-browser | low | rust | on by default | - | fork of vercel-labs/agent-browser with stealth enabled by default |
25
- | AshtonVaughan/agentbrowser | low | typescript | webgl/canvas/audio noise | 2captcha / hcaptcha / turnstile | visible svg cursor via cdp, traces to jsonl, audit trail, verify pipeline |
26
- | gokul2507/Agent-Browser | low | typescript | - | - | dual engine lightpanda + chromium, 60 mcp tools, rest api, js/python sdks, web dashboard |
27
- | ykshah1309/stealth-agent-browser-mcp | low | typescript | rebrowser-playwright | capsolver / 2captcha | stealth chromium mcp, hybrid aom + set-of-mark vision, human mouse (ghost-cursor) |
28
- | AVANT-ICONIC/Talox | low | typescript | 19-layer js stack | challenge detect | local browser runtime, humanmouse (bezier + fitts), single json contract, overlay |
29
- | clark-labs-inc/clark-browser | ~116 | python / c++ | patched chromium source | - | stealth chromium built from ungoogled-chromium fork, fingerprint fixes in browser source |
30
- | shayuc137/agentcloak | low | typescript | cloakbrowser 57 patches | - | stealth browser toolkit, cli + mcp, remotebridge to real chrome |
31
- | runagent-dev/runagent-superbrowser | low | typescript / python | persistent profiles | 2captcha / nopecha / human | browser your agent won't get blocked on, human handoff via live-view url |
32
- | VirixLabs/humanbrowser | low | typescript | patchright / camoufox | included (many types) | cloud chromium, residential proxy pool, a2a 1.0 + mcp endpoints |
33
- | browser-use/browser-use | high | python | cloud option | cloud option | leading open-source browser agent, 1000+ integrations, cloud for stealth |
34
- | yoloshii/better-browser-use | low | python | tiered (cloak / patchright / camoufox) | capsolver / 2captcha | aria snapshots, 3 stealth tiers, humanization, webmcp |
35
- | andyless/human-browser-use | low | python | stealth js | - | human behavior extension for browser-use (bezier mouse, lognormal typing) |
36
- | Huzy85/fantoma | low | python | camoufox / patchright | detect + solve | accessibility-api browser agent, zero pointer telemetry, 25 real sites |
37
- | cyberranger93/mcp-browser | low | typescript | fingerprint spoof | - | stealth browser mcp, origin allowlist, network trace |
38
-
39
- ## b captcha bypass and hcaptcha solvers
40
-
41
- | repository | language | captcha types | method |
42
- |---|---|---|---|
43
- | QIN2DIM/hcaptcha-challenger | python | hcaptcha (binary/area/drag) | multimodal llm, onnx models (resnet / yolo v8 / vit) |
44
- | interfluve-wav/auto-captcha-solver | python | hcaptcha, recaptcha v2/v3, turnstile | nopecha token api, mcp server, cli |
45
- | multibot-solver/hcaptcha-click-solver | python | hcaptcha (checkbox/grid/canvas/drag) | multibot api classification + exact mouse path replay |
46
- | ScremerMemer/hCaptcha-Solver | python | hcaptcha | camoufox hsw token + groq vision + multibot mouse generation |
47
- | rishugren03/computer-agent | python | recaptcha v2 | patchright + deepseek/gemini vision, bezier mouse |
48
- | clawdbrunner/captcha-solver | python | 30+ types | cloakbrowser prevention + 2captcha/capsolver fallback |
49
-
50
- ## c sandbox for ai (microvm isolation)
51
-
52
- | repository | tech | notes |
53
- |---|---|---|
54
- | vercel/sandbox | firecracker microvm | ephemeral compute primitive, @vercel/sandbox sdk, credential brokering |
55
- | vercel-labs/ai-sdk-computer-use | vercel sandbox + next.js | claude computer use inside sandbox with chrome, novnc streaming |
56
- | vercel-labs/sandcastle | vercel sandbox | web linux desktop, neon postgres + drizzle orm, @vercel/sandbox |
57
- | firecracker-microvm/firecracker | firecracker (rust) | microvm tech behind vercel sandbox and aws lambda |
58
- | mattbucci/agent-sandbox | firecracker (kvm) | one vm per agent, xfce desktop + chromium, per-vm domain filtering, novnc |
59
- | vercel-labs/agent-browser | vercel sandbox | agent-browser + chrome inside ephemeral microvm, no external server |
60
-
61
- ## how atlas differentiates
62
-
63
- atlas sits at the intersection of the three groups above with two rare-together differentiators:
64
-
65
- 1. real browser across 30 modes. most competitors are a cli (vercel-labs/agent-browser), a python library (browser-use), or a patched chromium (clark-browser). atlas is a library that works with/without across computer, browser, cli, binary, headless and the other modes in 01-architecture.
66
- 2. own backend + database. unlike cloud-only tools (humanbrowser, browser-use cloud), uka deploys its own site to vercel/netlify with drizzle + mysql2 + prisma and cloudinary, and talks to it over https post/get. movement logs and captcha evidence persist in our db, not a third party.
67
-
68
- captcha bypass in atlas follows the proven pattern from the survey: stealth (fingerprint + behavior) as primary layer, hcaptcha solving (vlm or token api) as fallback for the ~1-5 percent of sessions that still get flagged, exactly the p1/p2/p3 layering used by stealth-agent-browser-mcp.
69
-
70
- ## positioning of uka / atlas
71
-
72
- atlas sits at the intersection of the three groups above with two rare-together differentiators:
73
-
74
- 1. real browser across 30 modes. most competitors are a cli (vercel-labs/agent-browser), a python library (browser-use), or a patched chromium (clark-browser). atlas is a library that works with/without across computer, browser, cli, binary, headless and the other modes in 01-architecture.
75
- 2. own backend + database. unlike cloud-only tools (humanbrowser, browser-use cloud), uka deploys its own site to vercel/netlify with drizzle + mysql2 + prisma and cloudinary, and talks to it over https post/get. movement logs and captcha evidence persist in our db, not a third party.
76
-
77
- ## references
78
-
79
- github repositories listed above, accessed 2026-07-16. prior research in 02-research-computer-use.md, 03-research-captcha-bypass.md, 04-research-sandbox-ai.md.