@omniaibot/win-x64 1.6.6 → 1.6.7

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 (46) hide show
  1. package/bin/omnibot-windows-x64/81d243bd2c585b0f4821__mypyc.pyd +0 -0
  2. package/bin/omnibot-windows-x64/VERSION +1 -1
  3. package/bin/omnibot-windows-x64/_asyncio.pyd +0 -0
  4. package/bin/omnibot-windows-x64/_bz2.pyd +0 -0
  5. package/bin/omnibot-windows-x64/_cffi_backend.pyd +0 -0
  6. package/bin/omnibot-windows-x64/_ctypes.pyd +0 -0
  7. package/bin/omnibot-windows-x64/_decimal.pyd +0 -0
  8. package/bin/omnibot-windows-x64/_hashlib.pyd +0 -0
  9. package/bin/omnibot-windows-x64/_lzma.pyd +0 -0
  10. package/bin/omnibot-windows-x64/_multiprocessing.pyd +0 -0
  11. package/bin/omnibot-windows-x64/_overlapped.pyd +0 -0
  12. package/bin/omnibot-windows-x64/_queue.pyd +0 -0
  13. package/bin/omnibot-windows-x64/_socket.pyd +0 -0
  14. package/bin/omnibot-windows-x64/_ssl.pyd +0 -0
  15. package/bin/omnibot-windows-x64/_uuid.pyd +0 -0
  16. package/bin/omnibot-windows-x64/_wmi.pyd +0 -0
  17. package/bin/omnibot-windows-x64/certifi/cacert.pem +70 -0
  18. package/bin/omnibot-windows-x64/charset_normalizer/cd.pyd +0 -0
  19. package/bin/omnibot-windows-x64/charset_normalizer/md.pyd +0 -0
  20. package/bin/omnibot-windows-x64/cryptography/hazmat/bindings/_rust.pyd +0 -0
  21. package/bin/omnibot-windows-x64/libcrypto-3.dll +0 -0
  22. package/bin/omnibot-windows-x64/libffi-8.dll +0 -0
  23. package/bin/omnibot-windows-x64/libssl-3.dll +0 -0
  24. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/SKILL.md +220 -261
  25. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/anti-patterns.md +57 -57
  26. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/command-reference.md +709 -755
  27. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/css-only-dropdown-js.md +50 -50
  28. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/debugging-and-evidence.md +129 -129
  29. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/fallback-operations.md +177 -177
  30. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/operation-patterns.md +432 -432
  31. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/runtime-and-status.md +121 -121
  32. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/session-and-tabs.md +164 -164
  33. package/bin/omnibot-windows-x64/omnibot/sop/tmwebdriver_sop.md +128 -128
  34. package/bin/omnibot-windows-x64/omnibot/sop/vue3_component_sop.md +163 -163
  35. package/bin/omnibot-windows-x64/omnibot-windows-x64.exe +0 -0
  36. package/bin/omnibot-windows-x64/pyexpat.pyd +0 -0
  37. package/bin/omnibot-windows-x64/python3.dll +0 -0
  38. package/bin/omnibot-windows-x64/python312.dll +0 -0
  39. package/bin/omnibot-windows-x64/select.pyd +0 -0
  40. package/bin/omnibot-windows-x64/unicodedata.pyd +0 -0
  41. package/bin/omnibot-windows-x64/vcruntime140.dll +0 -0
  42. package/bin/omnibot-windows-x64/vcruntime140_1.dll +0 -0
  43. package/package.json +1 -1
  44. package/bin/omnibot-windows-x64/libcrypto-3-x64.dll +0 -0
  45. package/bin/omnibot-windows-x64/libssl-3-x64.dll +0 -0
  46. package/bin/omnibot-windows-x64/python313.dll +0 -0
@@ -1 +1 @@
1
- 1.6.6
1
+ v1.6.7
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -23,6 +23,47 @@ fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv
23
23
  GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
24
24
  -----END CERTIFICATE-----
25
25
 
26
+ # Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
27
+ # Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority
28
+ # Label: "ePKI Root Certification Authority"
29
+ # Serial: 28956088682735189655030529057352760477
30
+ # MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3
31
+ # SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0
32
+ # SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5
33
+ -----BEGIN CERTIFICATE-----
34
+ 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
64
+ hNQ+IIX3Sj0rnP0qCglN6oH4EZw=
65
+ -----END CERTIFICATE-----
66
+
26
67
  # Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services)
27
68
  # Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services)
28
69
  # Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny"
@@ -3528,6 +3569,35 @@ xeSDwWrruoBa3lwtcHb4yOWHh8qgnaHlIhInD0Q9HWzq1MKLL295q39QpsQZp6F6
3528
3569
  t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X
3529
3570
  -----END CERTIFICATE-----
3530
3571
 
3572
+ # Issuer: CN=SecureSign Root CA12 O=Cybertrust Japan Co., Ltd.
3573
+ # Subject: CN=SecureSign Root CA12 O=Cybertrust Japan Co., Ltd.
3574
+ # Label: "SecureSign Root CA12"
3575
+ # Serial: 587887345431707215246142177076162061960426065942
3576
+ # MD5 Fingerprint: c6:89:ca:64:42:9b:62:08:49:0b:1e:7f:e9:07:3d:e8
3577
+ # SHA1 Fingerprint: 7a:22:1e:3d:de:1b:06:ac:9e:c8:47:70:16:8e:3c:e5:f7:6b:06:f4
3578
+ # SHA256 Fingerprint: 3f:03:4b:b5:70:4d:44:b2:d0:85:45:a0:20:57:de:93:eb:f3:90:5f:ce:72:1a:cb:c7:30:c0:6d:da:ee:90:4e
3579
+ -----BEGIN CERTIFICATE-----
3580
+ MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQEL
3581
+ BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u
3582
+ LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgw
3583
+ NTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD
3584
+ eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS
3585
+ b290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3emhF
3586
+ KxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mt
3587
+ p7JIKwccJ/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zd
3588
+ J1M3s6oYwlkm7Fsf0uZlfO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gur
3589
+ FzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBFEaCeVESE99g2zvVQR9wsMJvuwPWW0v4J
3590
+ hscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1UefNzFJM3IFTQy2VYzxV4+K
3591
+ h9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
3592
+ AgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsF
3593
+ AAOCAQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6Ld
3594
+ mmQOmFxv3Y67ilQiLUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJ
3595
+ mBClnW8Zt7vPemVV2zfrPIpyMpcemik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA
3596
+ 8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPSvWKErI4cqc1avTc7bgoitPQV
3597
+ 55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhgaaaI5gdka9at/
3598
+ yOPiZwud9AzqVN/Ssq+xIvEg37xEHA==
3599
+ -----END CERTIFICATE-----
3600
+
3531
3601
  # Issuer: CN=SecureSign Root CA14 O=Cybertrust Japan Co., Ltd.
3532
3602
  # Subject: CN=SecureSign Root CA14 O=Cybertrust Japan Co., Ltd.
3533
3603
  # Label: "SecureSign Root CA14"
@@ -1,261 +1,220 @@
1
- ---
2
- name: omnibot
3
- description: Use when AI agents need to read, inspect, operate, navigate, debug, or verify browser state through the omnibot CLI and connected Chromium extension.
4
- compatibility: Requires omnibot v2 CLI daemon and the omnibot Chromium extension connected to 127.0.0.1:18765.
5
- allowed-tools: Bash
6
- metadata:
7
- author: omnibot
8
- version: "2.4.0"
9
- ---
10
-
11
- # Omnibot
12
-
13
- Omnibot is Browser Infrastructure for AI Agents.
14
-
15
- It connects Hermes, Claude Code, Codex, OpenCode, and other agent systems to a real Chromium browser through the local omnibot daemon and CLI.
16
-
17
- This skill is an execution specification for agents. It is not a human command manual.
18
-
19
- ## When to Use
20
-
21
- - Use Omnibot when browser runtime state matters: login, cookies, storage, client-side rendering, extensions, or visible user tabs.
22
- - Use Omnibot when an agent must read rendered pages, click controls, fill forms, navigate, extract content, or collect evidence.
23
- - Do not use Omnibot when static files or plain HTTP content already answer the task.
24
-
25
- ## Core Rules
26
-
27
- - Reliability > Convenience.
28
- - Explicit State > Implicit State.
29
- - Pattern > Command.
30
- - Observe -> Act -> Verify.
31
- - Fallback is allowed, but never first.
32
- - Do not use `execute-js` first.
33
- - Run `omnibot <command> --help` before using uncommon or newly introduced commands, especially `batch`, `network`, `cdp`, `record`, `trace`, and `skills`.
34
- - If a command from memory fails with parser errors, stop using that remembered syntax and re-check `omnibot --help` plus the subcommand help.
35
- - Prefer semantic locators and `snapshot -i` refs before selectors.
36
- - Raw `cdp` calls are one-shot. Do not assume `Network.enable` alone creates readable logs. For API/request evidence, use `network clear -> network start -> one action -> network stop -> network logs/summary`.
37
- - After a failed click by ref, re-observe or use a higher-evidence fallback. Do not keep using stale `@eN` refs from a previous snapshot.
38
- - For shopping, checkout, payment, banking, or irreversible workflows: Do not click final submit/pay/place-order controls unless the user explicitly confirms that final action in the current turn.
39
- - Prefer condition-based `wait` over shell sleep.
40
- - Parse JSON output from commands that return JSON.
41
- - Do not claim success without verification evidence.
42
-
43
- ## Workflow Context + Tab Target
44
-
45
- Every page-state workflow must use both controls:
46
-
47
- - `OMNIBOT_SESSION_TOKEN=<workflow-name>` for workflow isolation.
48
- - `--tab-id <TAB_ID>` for page targeting.
49
-
50
- OMNIBOT_SESSION_TOKEN is a workflow/context token, not a browser session and not a tab target. It isolates agent state such as refs, trace, recording, aliases, and temporary resources. Tab ID controls which page receives the command.
51
-
52
- Do not rely on default tab, active tab, current tab, or prior targeting state. Every page-state command requires explicit `--tab-id` except when the command is only discovering or creating a tab.
53
-
54
- Use the same token inside one workflow. Use different tokens for independent workflows.
55
-
56
- Standard form:
57
-
58
- ```bash
59
- OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
60
- OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id <TAB_ID> @e4
61
- OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
62
- ```
63
-
64
- `@eN` refs are tab-scoped. Refs rule: never reuse `@eN` refs across tabs.
65
-
66
- The agent dispatch pattern is token + tab-id:
67
-
68
- 1. Set a stable `OMNIBOT_SESSION_TOKEN`.
69
- 2. Discover or create the target tab.
70
- 3. Save the returned tab id.
71
- 4. Pass `--tab-id <TAB_ID>` on every command that touches page state.
72
- 5. Run observe -> act -> verify on that same tab.
73
-
74
- Examples of tab-locked page-state commands:
75
-
76
- ```bash
77
- OMNIBOT_SESSION_TOKEN=checkout omnibot get value "input[name=email]" --tab-id <TAB_ID>
78
- OMNIBOT_SESSION_TOKEN=checkout omnibot find placeholder "Search" --action type --action-value "omnibot" --tab-id <TAB_ID>
79
- OMNIBOT_SESSION_TOKEN=checkout omnibot dom dblclick n1 --tab-id <TAB_ID>
80
- OMNIBOT_SESSION_TOKEN=checkout omnibot clipboard read --tab-id <TAB_ID>
81
- ```
82
-
83
- Targeting categories:
84
-
85
- | Command category | Rule |
86
- | --- | --- |
87
- | Page-state commands: `snapshot`, `click`, `fill`, `type`, `get`, `is`, `wait`, `screenshot`, `console`, `network`, `execute-js`, `dom`, `mouse`, `clipboard`, `viewport`, `assets`, `goto`, same-tab `navigate` | Require `--tab-id <TAB_ID>`. |
88
- | Discovery or tab creation: `tabs`, `tab list`, `tab new <URL>`, `open <URL>`, `navigate <URL>` | Return or discover the tab id; save it for later page-state commands. |
89
- | Read URL exception: `read <URL>` | Opens a temporary read tab and does not need `--tab-id`; reading an existing tab still requires `read --tab-id <TAB_ID>`. |
90
-
91
- ## Observe -> Act -> Verify
92
-
93
- All page operations must follow this loop:
94
-
95
- 1. Observe the current page state.
96
- 2. Act once using the highest reliable pattern available.
97
- 3. Verify the expected state change.
98
-
99
- Click example:
100
-
101
- ```bash
102
- OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
103
- OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id <TAB_ID> @e4
104
- OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
105
- ```
106
-
107
- Read/verify example:
108
-
109
- ```bash
110
- OMNIBOT_SESSION_TOKEN=checkout omnibot is enabled "button[type=submit]" --tab-id <TAB_ID>
111
- OMNIBOT_SESSION_TOKEN=checkout omnibot find role button --name "Submit" --action click --tab-id <TAB_ID>
112
- OMNIBOT_SESSION_TOKEN=checkout omnibot wait --url "/dashboard" --tab-id <TAB_ID>
113
- OMNIBOT_SESSION_TOKEN=checkout omnibot get url --tab-id <TAB_ID>
114
- ```
115
-
116
- If verification fails, do not repeat blindly. Re-observe, choose the next fallback tier, and verify again.
117
-
118
- ## Pattern > Command
119
-
120
- Start from the task, not the command name. Use operation patterns for read, click, fill, select/check, navigation, wait, extraction, and batch.
121
-
122
- Use fallback tiers only after standard patterns fail. Collect evidence separately from fallback execution. The command reference is only a lookup table; it must not decide behavior.
123
-
124
- ## Read vs Snapshot Routing
125
-
126
- Choose by intent before choosing by command name:
127
-
128
- | Intent | Prefer | Why |
129
- | --- | --- | --- |
130
- | Summarize or extract page content, article text, search results, feeds, or long/lazy pages | `read` | Returns clean text/Markdown for agent reasoning. |
131
- | Quickly observe current visible UI structure before deciding what to do next | `snapshot -i` | Returns actionable refs and page structure for routing. |
132
- | Find buttons, links, inputs, or refs for a later action | `find` or `snapshot -i` | Produces actionable targets; `read` does not. |
133
- | Verify one concrete condition | `get`, `is`, or `wait` | Narrow evidence is more reliable than dumping a page. |
134
-
135
- Do not use `read` as the first step for click/fill workflows unless the user explicitly asked for page content first.
136
-
137
- ## Dropdowns And Custom Comboboxes
138
-
139
- `snapshot -i` may auto-probe visible custom comboboxes and append their options as refs. If the output lists `@eN [option] "..."`, click that option ref directly; Omnibot will reopen the owning combobox through `openerSelector` if the dropdown closed during snapshot.
140
-
141
- Use `select @combobox "value"` for native selects or simple controls. Use `click @option` when `snapshot -i` exposes auto-probed combobox option refs. Do not manually reopen every dropdown just to discover options unless `snapshot -i` did not expose option refs.
142
-
143
- ## Rich Text Article Editors
144
-
145
- ContentEditable rich text editors (ProseMirror, Quill, Draft.js, Slate, ByteDance/Toutiao article body, etc.) are often missing from the AX tree. `snapshot -i` appends them under `# DOM Rich Text Editors` as `@eN [richtext] "..." [contenteditable=true]` refs.
146
-
147
- - Detect the body editor: `snapshot -i` → look for `@eN [richtext]` under `# DOM Rich Text Editors`. Do not fill the article body through a `[textbox]` title ref.
148
- - Replace the whole body: `fill @richtext "paragraph 1\n\nparagraph 2"`. Empty lines split paragraphs; the previous content is cleared and `input`/`change` events are dispatched.
149
- - Append to the body: `type @richtext " additional text"`.
150
- - Focus before keyboard input: click `@richtext` first, then `press`/`keyboard`.
151
- - Raw selector fallback: `omnibot fill '[contenteditable="true"]' "..."` also routes through the rich text path when the selector looks like a rich editor.
152
-
153
- Do not use `execute-js` first for rich text writes; `fill`/`type` on the `[richtext]` ref is the supported path.
154
-
155
- ## Quick Routing
156
-
157
- | Need | Read |
158
- | --- | --- |
159
- | Runtime check | `references/runtime-and-status.md` |
160
- | Reading pages | `references/operation-patterns.md#read` |
161
- | Clicking | `references/operation-patterns.md#click` |
162
- | Filling forms | `references/operation-patterns.md#fill` |
163
- | Select / check | `references/operation-patterns.md#select--check` |
164
- | Navigation | `references/operation-patterns.md#navigation` |
165
- | Waiting | `references/operation-patterns.md#wait` |
166
- | Extraction | `references/operation-patterns.md#extraction` |
167
- | Batch | `references/operation-patterns.md#batch` |
168
- | Fallback | `references/fallback-operations.md` |
169
- | Tabs and sessions | `references/session-and-tabs.md` |
170
- | Debug evidence | `references/debugging-and-evidence.md` |
171
- | Network/API capture | `references/debugging-and-evidence.md#network-capture` |
172
- | Commands | `references/command-reference.md` |
173
- | Anti-patterns | `references/anti-patterns.md` |
174
-
175
- ## Runtime First
176
-
177
- Before troubleshooting browser behavior, check runtime state:
178
-
179
- ```bash
180
- omnibot doctor
181
- omnibot tabs
182
- omnibot visibility status
183
- omnibot browser current
184
- omnibot license status
185
- ```
186
-
187
- If the extension is not connected, open Chrome or Edge with the omnibot extension loaded and keep an HTTP/HTTPS tab open.
188
-
189
- ## Site Memory Reuse
190
-
191
- Before operating a complex site, check whether a generated site skill is installed for the current domain.
192
-
193
- 1. Run `omnibot skills list-sites` to see available generated site skills.
194
- 2. If a matching site skill is installed (e.g., `omnibot-xhs`), read its `SKILL.md` and use it for the operation.
195
- 3. If no matching site skill is installed, create one with:
196
- ```bash
197
- omnibot explore run <url> --name <site> --goal "<explicit goal>"
198
- omnibot skills install --agent opencode --site <site>
199
- ```
200
- 4. Generated site skills are not auto-loaded from `~/.omnibot/skills/`; they must be installed into the current agent's skill directory.
201
-
202
- ## Generated Site Skill Installation
203
-
204
- Generated site skills are stored under `~/.omnibot/skills/omnibot-<name>/` but must be installed into each agent's native skill path to be auto-loaded.
205
-
206
- List available generated site skills:
207
-
208
- ```bash
209
- omnibot skills list-sites
210
- ```
211
-
212
- Install one generated site skill:
213
-
214
- ```bash
215
- omnibot skills install --agent opencode --site xhs
216
- omnibot skills install --agent claude --site xhs
217
- omnibot skills install --agent codex --site xhs
218
- ```
219
-
220
- Install all generated site skills:
221
-
222
- ```bash
223
- omnibot skills install --agent opencode --all-sites
224
- ```
225
-
226
- Default `omnibot skills install --agent <agent>` installs only the official packaged omnibot skill, not generated site skills.
227
-
228
- Local site memory is reusable strategy, not user task output. Do not write user inputs, scraped records, or private task results into generated site packages.
229
-
230
- ## Fallback Discipline
231
-
232
- Fallback tiers are for completing operations after better patterns fail. They are not debugging shortcuts.
233
-
234
- Tier order:
235
-
236
- 1. Semantic `find`.
237
- 2. `snapshot -i` refs.
238
- 3. Selectors.
239
- 4. `dom` fallback.
240
- 5. `mouse` fallback.
241
- 6. `execute-js` fallback.
242
- 7. Raw `cdp` fallback.
243
-
244
- When entering a lower tier, state why the higher tier failed. After any fallback action, verify with `snapshot`, `get`, `is`, `wait`, or equivalent evidence.
245
-
246
- ## Debug Evidence
247
-
248
- Debugging is for evidence. Fallback is for completing operations.
249
-
250
- Use screenshots, annotated screenshots, console logs, network logs, trace, record/replay, and CDP inspection to explain failures or prove state. Do not treat `execute-js` as ordinary debug output.
251
-
252
- ## Absolute Prohibitions
253
-
254
- - Missing `OMNIBOT_SESSION_TOKEN` or missing `--tab-id` on page-state commands.
255
- - Acting without verify or claiming success without evidence.
256
- - Using `execute-js` first, raw CSS before semantic find, `@eN` across tabs, implicit tab targeting, or shell sleep instead of `omnibot wait`.
257
- - Using removed commands: `switch-tab`, `focus-tab`, `tab switch`, `tab focus`. These are no longer available.
258
- - Using `tabs[0]` or the first tab as a target. The first tab is often a user tab or transport tab.
259
- - Closing user tabs discovered during cleanup. Only close tabs created by the current workflow.
260
-
261
- See `references/anti-patterns.md` before using shortcuts.
1
+ ---
2
+ name: omnibot
3
+ description: Use when AI agents need to read, inspect, operate, navigate, debug, or verify browser state through the omnibot CLI and connected Chromium extension.
4
+ compatibility: Requires omnibot v2 CLI daemon and the omnibot Chromium extension connected to 127.0.0.1:18765.
5
+ allowed-tools: Bash
6
+ metadata:
7
+ author: omnibot
8
+ version: "2.4.0"
9
+ ---
10
+
11
+ # Omnibot
12
+
13
+ Omnibot is Browser Infrastructure for AI Agents.
14
+
15
+ It connects Hermes, Claude Code, Codex, OpenCode, and other agent systems to a real Chromium browser through the local omnibot daemon and CLI.
16
+
17
+ This skill is an execution specification for agents. It is not a human command manual.
18
+
19
+ ## When to Use
20
+
21
+ - Use Omnibot when browser runtime state matters: login, cookies, storage, client-side rendering, extensions, or visible user tabs.
22
+ - Use Omnibot when an agent must read rendered pages, click controls, fill forms, navigate, extract content, or collect evidence.
23
+ - Do not use Omnibot when static files or plain HTTP content already answer the task.
24
+
25
+ ## Core Rules
26
+
27
+ - Reliability > Convenience.
28
+ - Explicit State > Implicit State.
29
+ - Pattern > Command.
30
+ - Observe -> Act -> Verify.
31
+ - Fallback is allowed, but never first.
32
+ - Do not use `execute-js` first.
33
+ - Run `omnibot <command> --help` before using uncommon or newly introduced commands, especially `batch`, `network`, `cdp`, `record`, `trace`, and `skills`.
34
+ - If a command from memory fails with parser errors, stop using that remembered syntax and re-check `omnibot --help` plus the subcommand help.
35
+ - Prefer semantic locators and `snapshot -i` refs before selectors.
36
+ - Raw `cdp` calls are one-shot. Do not assume `Network.enable` alone creates readable logs. For API/request evidence, use `network clear -> network start -> one action -> network stop -> network logs/summary`.
37
+ - After a failed click by ref, re-observe or use a higher-evidence fallback. Do not keep using stale `@eN` refs from a previous snapshot.
38
+ - For shopping, checkout, payment, banking, or irreversible workflows: Do not click final submit/pay/place-order controls unless the user explicitly confirms that final action in the current turn.
39
+ - Prefer condition-based `wait` over shell sleep.
40
+ - Parse JSON output from commands that return JSON.
41
+ - Do not claim success without verification evidence.
42
+
43
+ ## Workflow Context + Tab Target
44
+
45
+ Every page-state workflow must use both controls:
46
+
47
+ - `OMNIBOT_SESSION_TOKEN=<workflow-name>` for workflow isolation.
48
+ - `--tab-id <TAB_ID>` for page targeting.
49
+
50
+ OMNIBOT_SESSION_TOKEN is a workflow/context token, not a browser session and not a tab target. It isolates agent state such as refs, trace, recording, aliases, and temporary resources. Tab ID controls which page receives the command.
51
+
52
+ Do not rely on default tab, active tab, current tab, or prior targeting state. Every page-state command requires explicit `--tab-id` except when the command is only discovering or creating a tab.
53
+
54
+ Use the same token inside one workflow. Use different tokens for independent workflows.
55
+
56
+ Standard form:
57
+
58
+ ```bash
59
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
60
+ OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id <TAB_ID> @e4
61
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
62
+ ```
63
+
64
+ `@eN` refs are tab-scoped. Refs rule: never reuse `@eN` refs across tabs.
65
+
66
+ The agent dispatch pattern is token + tab-id:
67
+
68
+ 1. Set a stable `OMNIBOT_SESSION_TOKEN`.
69
+ 2. Discover or create the target tab.
70
+ 3. Save the returned tab id.
71
+ 4. Pass `--tab-id <TAB_ID>` on every command that touches page state.
72
+ 5. Run observe -> act -> verify on that same tab.
73
+
74
+ Examples of tab-locked page-state commands:
75
+
76
+ ```bash
77
+ OMNIBOT_SESSION_TOKEN=checkout omnibot get value "input[name=email]" --tab-id <TAB_ID>
78
+ OMNIBOT_SESSION_TOKEN=checkout omnibot find placeholder "Search" --action type --action-value "omnibot" --tab-id <TAB_ID>
79
+ OMNIBOT_SESSION_TOKEN=checkout omnibot dom dblclick n1 --tab-id <TAB_ID>
80
+ OMNIBOT_SESSION_TOKEN=checkout omnibot clipboard read --tab-id <TAB_ID>
81
+ ```
82
+
83
+ Targeting categories:
84
+
85
+ | Command category | Rule |
86
+ | --- | --- |
87
+ | Page-state commands: `snapshot`, `click`, `fill`, `type`, `get`, `is`, `wait`, `screenshot`, `console`, `network`, `execute-js`, `dom`, `mouse`, `clipboard`, `viewport`, `assets`, `goto`, same-tab `navigate` | Require `--tab-id <TAB_ID>`. |
88
+ | Discovery or tab creation: `tabs`, `tab list`, `tab new <URL>`, `open <URL>`, `navigate <URL>` | Return or discover the tab id; save it for later page-state commands. |
89
+ | Read URL exception: `read <URL>` | Opens a temporary read tab and does not need `--tab-id`; reading an existing tab still requires `read --tab-id <TAB_ID>`. |
90
+
91
+ ## Observe -> Act -> Verify
92
+
93
+ All page operations must follow this loop:
94
+
95
+ 1. Observe the current page state.
96
+ 2. Act once using the highest reliable pattern available.
97
+ 3. Verify the expected state change.
98
+
99
+ Click example:
100
+
101
+ ```bash
102
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
103
+ OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id <TAB_ID> @e4
104
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
105
+ ```
106
+
107
+ Read/verify example:
108
+
109
+ ```bash
110
+ OMNIBOT_SESSION_TOKEN=checkout omnibot is enabled "button[type=submit]" --tab-id <TAB_ID>
111
+ OMNIBOT_SESSION_TOKEN=checkout omnibot find role button --name "Submit" --action click --tab-id <TAB_ID>
112
+ OMNIBOT_SESSION_TOKEN=checkout omnibot wait --url "/dashboard" --tab-id <TAB_ID>
113
+ OMNIBOT_SESSION_TOKEN=checkout omnibot get url --tab-id <TAB_ID>
114
+ ```
115
+
116
+ If verification fails, do not repeat blindly. Re-observe, choose the next fallback tier, and verify again.
117
+
118
+ ## Pattern > Command
119
+
120
+ Start from the task, not the command name. Use operation patterns for read, click, fill, select/check, navigation, wait, extraction, and batch.
121
+
122
+ Use fallback tiers only after standard patterns fail. Collect evidence separately from fallback execution. The command reference is only a lookup table; it must not decide behavior.
123
+
124
+ ## Read vs Snapshot Routing
125
+
126
+ Choose by intent before choosing by command name:
127
+
128
+ | Intent | Prefer | Why |
129
+ | --- | --- | --- |
130
+ | Summarize or extract page content, article text, search results, feeds, or long/lazy pages | `read` | Returns clean text/Markdown for agent reasoning. |
131
+ | Quickly observe current visible UI structure before deciding what to do next | `snapshot -i` | Returns actionable refs and page structure for routing. |
132
+ | Find buttons, links, inputs, or refs for a later action | `find` or `snapshot -i` | Produces actionable targets; `read` does not. |
133
+ | Verify one concrete condition | `get`, `is`, or `wait` | Narrow evidence is more reliable than dumping a page. |
134
+
135
+ Do not use `read` as the first step for click/fill workflows unless the user explicitly asked for page content first.
136
+
137
+ ## Dropdowns And Custom Comboboxes
138
+
139
+ `snapshot -i` may auto-probe visible custom comboboxes and append their options as refs. If the output lists `@eN [option] "..."`, click that option ref directly; Omnibot will reopen the owning combobox through `openerSelector` if the dropdown closed during snapshot.
140
+
141
+ Use `select @combobox "value"` for native selects or simple controls. Use `click @option` when `snapshot -i` exposes auto-probed combobox option refs. Do not manually reopen every dropdown just to discover options unless `snapshot -i` did not expose option refs.
142
+
143
+ ## Rich Text Article Editors
144
+
145
+ ContentEditable rich text editors (ProseMirror, Quill, Draft.js, Slate, ByteDance/Toutiao article body, etc.) are often missing from the AX tree. `snapshot -i` appends them under `# DOM Rich Text Editors` as `@eN [richtext] "..." [contenteditable=true]` refs.
146
+
147
+ - Detect the body editor: `snapshot -i` → look for `@eN [richtext]` under `# DOM Rich Text Editors`. Do not fill the article body through a `[textbox]` title ref.
148
+ - Replace the whole body: `fill @richtext "paragraph 1\n\nparagraph 2"`. Empty lines split paragraphs; the previous content is cleared and `input`/`change` events are dispatched.
149
+ - Append to the body: `type @richtext " additional text"`.
150
+ - Focus before keyboard input: click `@richtext` first, then `press`/`keyboard`.
151
+ - Raw selector fallback: `omnibot fill '[contenteditable="true"]' "..."` also routes through the rich text path when the selector looks like a rich editor.
152
+
153
+ Do not use `execute-js` first for rich text writes; `fill`/`type` on the `[richtext]` ref is the supported path.
154
+
155
+ ## Quick Routing
156
+
157
+ | Need | Read |
158
+ | --- | --- |
159
+ | Runtime check | `references/runtime-and-status.md` |
160
+ | Reading pages | `references/operation-patterns.md#read` |
161
+ | Clicking | `references/operation-patterns.md#click` |
162
+ | Filling forms | `references/operation-patterns.md#fill` |
163
+ | Select / check | `references/operation-patterns.md#select--check` |
164
+ | Navigation | `references/operation-patterns.md#navigation` |
165
+ | Waiting | `references/operation-patterns.md#wait` |
166
+ | Extraction | `references/operation-patterns.md#extraction` |
167
+ | Batch | `references/operation-patterns.md#batch` |
168
+ | Fallback | `references/fallback-operations.md` |
169
+ | Tabs and sessions | `references/session-and-tabs.md` |
170
+ | Debug evidence | `references/debugging-and-evidence.md` |
171
+ | Network/API capture | `references/debugging-and-evidence.md#network-capture` |
172
+ | Commands | `references/command-reference.md` |
173
+ | Anti-patterns | `references/anti-patterns.md` |
174
+
175
+ ## Runtime First
176
+
177
+ Before troubleshooting browser behavior, check runtime state:
178
+
179
+ ```bash
180
+ omnibot doctor
181
+ omnibot tabs
182
+ omnibot visibility status
183
+ omnibot browser current
184
+ omnibot license status
185
+ ```
186
+
187
+ If the extension is not connected, open Chrome or Edge with the omnibot extension loaded and keep an HTTP/HTTPS tab open.
188
+
189
+ ## Fallback Discipline
190
+
191
+ Fallback tiers are for completing operations after better patterns fail. They are not debugging shortcuts.
192
+
193
+ Tier order:
194
+
195
+ 1. Semantic `find`.
196
+ 2. `snapshot -i` refs.
197
+ 3. Selectors.
198
+ 4. `dom` fallback.
199
+ 5. `mouse` fallback.
200
+ 6. `execute-js` fallback.
201
+ 7. Raw `cdp` fallback.
202
+
203
+ When entering a lower tier, state why the higher tier failed. After any fallback action, verify with `snapshot`, `get`, `is`, `wait`, or equivalent evidence.
204
+
205
+ ## Debug Evidence
206
+
207
+ Debugging is for evidence. Fallback is for completing operations.
208
+
209
+ Use screenshots, annotated screenshots, console logs, network logs, trace, record/replay, and CDP inspection to explain failures or prove state. Do not treat `execute-js` as ordinary debug output.
210
+
211
+ ## Absolute Prohibitions
212
+
213
+ - Missing `OMNIBOT_SESSION_TOKEN` or missing `--tab-id` on page-state commands.
214
+ - Acting without verify or claiming success without evidence.
215
+ - Using `execute-js` first, raw CSS before semantic find, `@eN` across tabs, implicit tab targeting, or shell sleep instead of `omnibot wait`.
216
+ - Using removed commands: `switch-tab`, `focus-tab`, `tab switch`, `tab focus`. These are no longer available.
217
+ - Using `tabs[0]` or the first tab as a target. The first tab is often a user tab or transport tab.
218
+ - Closing user tabs discovered during cleanup. Only close tabs created by the current workflow.
219
+
220
+ See `references/anti-patterns.md` before using shortcuts.