@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.
- package/bin/omnibot-windows-x64/81d243bd2c585b0f4821__mypyc.pyd +0 -0
- package/bin/omnibot-windows-x64/VERSION +1 -1
- package/bin/omnibot-windows-x64/_asyncio.pyd +0 -0
- package/bin/omnibot-windows-x64/_bz2.pyd +0 -0
- package/bin/omnibot-windows-x64/_cffi_backend.pyd +0 -0
- package/bin/omnibot-windows-x64/_ctypes.pyd +0 -0
- package/bin/omnibot-windows-x64/_decimal.pyd +0 -0
- package/bin/omnibot-windows-x64/_hashlib.pyd +0 -0
- package/bin/omnibot-windows-x64/_lzma.pyd +0 -0
- package/bin/omnibot-windows-x64/_multiprocessing.pyd +0 -0
- package/bin/omnibot-windows-x64/_overlapped.pyd +0 -0
- package/bin/omnibot-windows-x64/_queue.pyd +0 -0
- package/bin/omnibot-windows-x64/_socket.pyd +0 -0
- package/bin/omnibot-windows-x64/_ssl.pyd +0 -0
- package/bin/omnibot-windows-x64/_uuid.pyd +0 -0
- package/bin/omnibot-windows-x64/_wmi.pyd +0 -0
- package/bin/omnibot-windows-x64/certifi/cacert.pem +70 -0
- package/bin/omnibot-windows-x64/charset_normalizer/cd.pyd +0 -0
- package/bin/omnibot-windows-x64/charset_normalizer/md.pyd +0 -0
- package/bin/omnibot-windows-x64/cryptography/hazmat/bindings/_rust.pyd +0 -0
- package/bin/omnibot-windows-x64/libcrypto-3.dll +0 -0
- package/bin/omnibot-windows-x64/libffi-8.dll +0 -0
- package/bin/omnibot-windows-x64/libssl-3.dll +0 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/SKILL.md +220 -261
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/anti-patterns.md +57 -57
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/command-reference.md +709 -755
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/css-only-dropdown-js.md +50 -50
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/debugging-and-evidence.md +129 -129
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/fallback-operations.md +177 -177
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/operation-patterns.md +432 -432
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/runtime-and-status.md +121 -121
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/session-and-tabs.md +164 -164
- package/bin/omnibot-windows-x64/omnibot/sop/tmwebdriver_sop.md +128 -128
- package/bin/omnibot-windows-x64/omnibot/sop/vue3_component_sop.md +163 -163
- package/bin/omnibot-windows-x64/omnibot-windows-x64.exe +0 -0
- package/bin/omnibot-windows-x64/pyexpat.pyd +0 -0
- package/bin/omnibot-windows-x64/python3.dll +0 -0
- package/bin/omnibot-windows-x64/python312.dll +0 -0
- package/bin/omnibot-windows-x64/select.pyd +0 -0
- package/bin/omnibot-windows-x64/unicodedata.pyd +0 -0
- package/bin/omnibot-windows-x64/vcruntime140.dll +0 -0
- package/bin/omnibot-windows-x64/vcruntime140_1.dll +0 -0
- package/package.json +1 -1
- package/bin/omnibot-windows-x64/libcrypto-3-x64.dll +0 -0
- package/bin/omnibot-windows-x64/libssl-3-x64.dll +0 -0
- package/bin/omnibot-windows-x64/python313.dll +0 -0
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
# Anti-Patterns
|
|
2
|
-
|
|
3
|
-
| Bad | Why bad | Good |
|
|
4
|
-
| --- | --- | --- |
|
|
5
|
-
| Missing `OMNIBOT_SESSION_TOKEN` | Workflows can share implicit state across agents. | `OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>` |
|
|
6
|
-
| Missing `--tab-id` | The command may target the wrong page. | Pass `--tab-id <TAB_ID>` on every page-state command. |
|
|
7
|
-
| `execute-js` first | JavaScript bypasses standard browser interaction and hides better evidence. | Try semantic find, snapshot refs, selectors, DOM, and mouse first. For CSS-only dropdowns, use JavaScript only after the trigger clicked, options remain absent from `snapshot -i`, and higher tiers cannot complete open-then-select. |
|
|
8
|
-
| Reusing `@eN` across tabs | Refs are tab-scoped and may point to a different element elsewhere. | Take a fresh `snapshot -i --tab-id <TAB_ID>` per tab. |
|
|
9
|
-
| Relying on implicit tab targeting | It is unavailable and unsafe for concurrent workflows. | Use explicit `--tab-id` on every page-state command. |
|
|
10
|
-
| Using sleep instead of wait | Fixed sleeps are flaky and either too short or too slow. | Use `omnibot wait --text`, `--url`, selector state, load state, or `--fn`. |
|
|
11
|
-
| Acting without verify | Command success is not task success. | Run `snapshot`, `get`, `is`, or `wait` after every action. |
|
|
12
|
-
| Claiming success without evidence | The browser may not have changed as expected. | Cite verified URL, text, element state, screenshot, console, or network evidence. |
|
|
13
|
-
| Raw CSS before semantic find | CSS is more brittle and less tied to user intent. | Start with `find role/text/label/placeholder/testid`. |
|
|
14
|
-
| Screenshot when text extraction is enough | Screenshots cost more and are harder to parse. | Use `read` for page content or `get text` for a selector. |
|
|
15
|
-
| Using `read` before an action workflow | `read` returns text, not stable action targets. | Use `find`, `snapshot -i`, `get`, or `is` for click/fill/verify workflows. |
|
|
16
|
-
| Headless expecting existing user login | Headless does not automatically share the user's visible browser session. | Use visible/background mode for existing login or explicitly log in headless. |
|
|
17
|
-
| Mixing multiple workflows in one session token | Agents can overwrite each other's default state. | Use different tokens: `research`, `checkout`, `debug`. |
|
|
18
|
-
| Using default tab state in concurrent agents | There is no default tab. Every page command requires explicit `--tab-id`. | Discover or create a tab, save its id, and pass `--tab-id`. |
|
|
19
|
-
| Not checking doctor/tabs before troubleshooting | You may debug page logic when the runtime is disconnected. | Run `omnibot doctor` and `omnibot tabs` first. |
|
|
20
|
-
| Using `tabs[0]` or the first tab | The first tab is often a user tab or the transport tab, not the workflow target. | Create or identify the intended tab and store its full id. |
|
|
21
|
-
| Treating transport as target | Extension routing may use a different tab than the page being acted on. | Always pass `--tab-id <TAB_ID>` and verify with `get url --tab-id <TAB_ID>`. |
|
|
22
|
-
| Closing discovered user tabs | Cleanup can destroy the user's real work. | Track only tool-created tabs and close only those ids. |
|
|
23
|
-
| Leaving worker-token tabs untracked | Cross-token test tabs can remain open or auto-close later. | Add every worker-created tab id to cleanup tracking. |
|
|
24
|
-
| Manually reopening every combobox after snapshot | `snapshot -i` may already include auto-probed option refs; reopening all dropdowns wastes time and can change focus/state. | If `[option]` refs are present, click the option ref and verify. |
|
|
25
|
-
| JavaScript fallback for a visible combobox before refs | Auto-probed combobox option refs are a higher reliability tier than ad-hoc JS. | Run `snapshot -i`, use `@option` refs, then fallback only if refs are absent or fail verification. |
|
|
26
|
-
| Stale CLI memory | Parser failures waste browser state and can lead to wrong conclusions about page behavior. | Run `omnibot --help` and `omnibot <command> --help` before using uncommon or newly introduced commands. |
|
|
27
|
-
| Unsafe checkout capture | Clicking through all checkout controls until an order is placed is irreversible and may charge the user. | Capture only the transition into confirmation/preview pages, stop before final submit/pay/place-order controls, and report only non-sensitive request metadata. |
|
|
28
|
-
| Revealing sensitive network data | Cookies, auth headers, full addresses, phone numbers, and payment data must not be pasted into reports. | Report host, path, method, status, and non-sensitive payload shape only. |
|
|
29
|
-
| Using stale `@eN` refs after a failed click | Refs may have expired or the page may have changed. | Re-observe with `snapshot -i` or use a higher-evidence fallback. |
|
|
30
|
-
| `Network.enable` without log retrieval | Raw `cdp` calls are one-shot and do not persist events for later reading. | Use `network clear -> network start -> one action -> network stop -> network logs/summary`. |
|
|
31
|
-
| Writing the article body into the title field | Rich text article body editors are often missing from the AX tree; filling the only visible `[textbox]` (title) overwrites the wrong control. | Run `snapshot -i`, find the body under `# DOM Rich Text Editors` as `@eN [richtext]`, then `fill @richtext "..."`. |
|
|
32
|
-
| `execute-js` for rich text body before `fill @richtext` | ContentEditable writes need event dispatch and framework integration; ad-hoc `innerHTML` bypasses Omnibot's supported path. | Use `fill @richtext "p1\n\np2"` or `type @richtext " text"` first. |
|
|
33
|
-
| Counting `<img>` nodes to detect duplicate images in a rich editor | ProseMirror/Toutiao image cards keep a hidden `<templ>` template and a visible `<mask>` copy of the same `<img>`, so `.ProseMirror img` returns 2 for one logical image and falsely reports duplication. | Count image card containers (`.ProseMirror [__syl_tag=true]` or `.ProseMirror .pgc-image`), one per inserted image. |
|
|
34
|
-
| Inserting an image via `click @richtext` + `press End` | The caret stays on the first line; the image lands at the editor root instead of the target paragraph. | Use `find text "<anchor phrase>" --action click` to collapse the selection at the end of the matched phrase, then open the image tool and upload. |
|
|
35
|
-
|
|
36
|
-
Do not manually reopen a dropdown just to discover options if `snapshot -i` already lists them.
|
|
37
|
-
|
|
38
|
-
## Red Flags
|
|
39
|
-
|
|
40
|
-
- "I can just use the current tab."
|
|
41
|
-
- "This is only one click, no need to verify."
|
|
42
|
-
- "JavaScript is faster."
|
|
43
|
-
- "The ref probably still points to the same element."
|
|
44
|
-
- "A screenshot is enough even though I need text."
|
|
45
|
-
- "Sleep should be fine."
|
|
46
|
-
- "The trigger clicked, so another `find text` should eventually select the option."
|
|
47
|
-
- "`snapshot -i` cannot see the option, so the element must not exist."
|
|
48
|
-
- "This dropdown is custom, so I can start with JavaScript."
|
|
49
|
-
- "I remember the command syntax from before."
|
|
50
|
-
- "`Network.enable` should be enough to capture requests."
|
|
51
|
-
- "It is just a checkout preview, clicking pay should be fine."
|
|
52
|
-
- "The article body is not in `snapshot -i`, so I will fill the title textbox."
|
|
53
|
-
- "I will just set `innerHTML` on the contenteditable with `execute-js`."
|
|
54
|
-
- "`.ProseMirror img` returned 2, so the image was inserted twice."
|
|
55
|
-
- "I clicked the editor and pressed End, so the caret must be after the last paragraph."
|
|
56
|
-
|
|
57
|
-
All of these mean: stop, re-enter the standard pattern, and make state explicit.
|
|
1
|
+
# Anti-Patterns
|
|
2
|
+
|
|
3
|
+
| Bad | Why bad | Good |
|
|
4
|
+
| --- | --- | --- |
|
|
5
|
+
| Missing `OMNIBOT_SESSION_TOKEN` | Workflows can share implicit state across agents. | `OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>` |
|
|
6
|
+
| Missing `--tab-id` | The command may target the wrong page. | Pass `--tab-id <TAB_ID>` on every page-state command. |
|
|
7
|
+
| `execute-js` first | JavaScript bypasses standard browser interaction and hides better evidence. | Try semantic find, snapshot refs, selectors, DOM, and mouse first. For CSS-only dropdowns, use JavaScript only after the trigger clicked, options remain absent from `snapshot -i`, and higher tiers cannot complete open-then-select. |
|
|
8
|
+
| Reusing `@eN` across tabs | Refs are tab-scoped and may point to a different element elsewhere. | Take a fresh `snapshot -i --tab-id <TAB_ID>` per tab. |
|
|
9
|
+
| Relying on implicit tab targeting | It is unavailable and unsafe for concurrent workflows. | Use explicit `--tab-id` on every page-state command. |
|
|
10
|
+
| Using sleep instead of wait | Fixed sleeps are flaky and either too short or too slow. | Use `omnibot wait --text`, `--url`, selector state, load state, or `--fn`. |
|
|
11
|
+
| Acting without verify | Command success is not task success. | Run `snapshot`, `get`, `is`, or `wait` after every action. |
|
|
12
|
+
| Claiming success without evidence | The browser may not have changed as expected. | Cite verified URL, text, element state, screenshot, console, or network evidence. |
|
|
13
|
+
| Raw CSS before semantic find | CSS is more brittle and less tied to user intent. | Start with `find role/text/label/placeholder/testid`. |
|
|
14
|
+
| Screenshot when text extraction is enough | Screenshots cost more and are harder to parse. | Use `read` for page content or `get text` for a selector. |
|
|
15
|
+
| Using `read` before an action workflow | `read` returns text, not stable action targets. | Use `find`, `snapshot -i`, `get`, or `is` for click/fill/verify workflows. |
|
|
16
|
+
| Headless expecting existing user login | Headless does not automatically share the user's visible browser session. | Use visible/background mode for existing login or explicitly log in headless. |
|
|
17
|
+
| Mixing multiple workflows in one session token | Agents can overwrite each other's default state. | Use different tokens: `research`, `checkout`, `debug`. |
|
|
18
|
+
| Using default tab state in concurrent agents | There is no default tab. Every page command requires explicit `--tab-id`. | Discover or create a tab, save its id, and pass `--tab-id`. |
|
|
19
|
+
| Not checking doctor/tabs before troubleshooting | You may debug page logic when the runtime is disconnected. | Run `omnibot doctor` and `omnibot tabs` first. |
|
|
20
|
+
| Using `tabs[0]` or the first tab | The first tab is often a user tab or the transport tab, not the workflow target. | Create or identify the intended tab and store its full id. |
|
|
21
|
+
| Treating transport as target | Extension routing may use a different tab than the page being acted on. | Always pass `--tab-id <TAB_ID>` and verify with `get url --tab-id <TAB_ID>`. |
|
|
22
|
+
| Closing discovered user tabs | Cleanup can destroy the user's real work. | Track only tool-created tabs and close only those ids. |
|
|
23
|
+
| Leaving worker-token tabs untracked | Cross-token test tabs can remain open or auto-close later. | Add every worker-created tab id to cleanup tracking. |
|
|
24
|
+
| Manually reopening every combobox after snapshot | `snapshot -i` may already include auto-probed option refs; reopening all dropdowns wastes time and can change focus/state. | If `[option]` refs are present, click the option ref and verify. |
|
|
25
|
+
| JavaScript fallback for a visible combobox before refs | Auto-probed combobox option refs are a higher reliability tier than ad-hoc JS. | Run `snapshot -i`, use `@option` refs, then fallback only if refs are absent or fail verification. |
|
|
26
|
+
| Stale CLI memory | Parser failures waste browser state and can lead to wrong conclusions about page behavior. | Run `omnibot --help` and `omnibot <command> --help` before using uncommon or newly introduced commands. |
|
|
27
|
+
| Unsafe checkout capture | Clicking through all checkout controls until an order is placed is irreversible and may charge the user. | Capture only the transition into confirmation/preview pages, stop before final submit/pay/place-order controls, and report only non-sensitive request metadata. |
|
|
28
|
+
| Revealing sensitive network data | Cookies, auth headers, full addresses, phone numbers, and payment data must not be pasted into reports. | Report host, path, method, status, and non-sensitive payload shape only. |
|
|
29
|
+
| Using stale `@eN` refs after a failed click | Refs may have expired or the page may have changed. | Re-observe with `snapshot -i` or use a higher-evidence fallback. |
|
|
30
|
+
| `Network.enable` without log retrieval | Raw `cdp` calls are one-shot and do not persist events for later reading. | Use `network clear -> network start -> one action -> network stop -> network logs/summary`. |
|
|
31
|
+
| Writing the article body into the title field | Rich text article body editors are often missing from the AX tree; filling the only visible `[textbox]` (title) overwrites the wrong control. | Run `snapshot -i`, find the body under `# DOM Rich Text Editors` as `@eN [richtext]`, then `fill @richtext "..."`. |
|
|
32
|
+
| `execute-js` for rich text body before `fill @richtext` | ContentEditable writes need event dispatch and framework integration; ad-hoc `innerHTML` bypasses Omnibot's supported path. | Use `fill @richtext "p1\n\np2"` or `type @richtext " text"` first. |
|
|
33
|
+
| Counting `<img>` nodes to detect duplicate images in a rich editor | ProseMirror/Toutiao image cards keep a hidden `<templ>` template and a visible `<mask>` copy of the same `<img>`, so `.ProseMirror img` returns 2 for one logical image and falsely reports duplication. | Count image card containers (`.ProseMirror [__syl_tag=true]` or `.ProseMirror .pgc-image`), one per inserted image. |
|
|
34
|
+
| Inserting an image via `click @richtext` + `press End` | The caret stays on the first line; the image lands at the editor root instead of the target paragraph. | Use `find text "<anchor phrase>" --action click` to collapse the selection at the end of the matched phrase, then open the image tool and upload. |
|
|
35
|
+
|
|
36
|
+
Do not manually reopen a dropdown just to discover options if `snapshot -i` already lists them.
|
|
37
|
+
|
|
38
|
+
## Red Flags
|
|
39
|
+
|
|
40
|
+
- "I can just use the current tab."
|
|
41
|
+
- "This is only one click, no need to verify."
|
|
42
|
+
- "JavaScript is faster."
|
|
43
|
+
- "The ref probably still points to the same element."
|
|
44
|
+
- "A screenshot is enough even though I need text."
|
|
45
|
+
- "Sleep should be fine."
|
|
46
|
+
- "The trigger clicked, so another `find text` should eventually select the option."
|
|
47
|
+
- "`snapshot -i` cannot see the option, so the element must not exist."
|
|
48
|
+
- "This dropdown is custom, so I can start with JavaScript."
|
|
49
|
+
- "I remember the command syntax from before."
|
|
50
|
+
- "`Network.enable` should be enough to capture requests."
|
|
51
|
+
- "It is just a checkout preview, clicking pay should be fine."
|
|
52
|
+
- "The article body is not in `snapshot -i`, so I will fill the title textbox."
|
|
53
|
+
- "I will just set `innerHTML` on the contenteditable with `execute-js`."
|
|
54
|
+
- "`.ProseMirror img` returned 2, so the image was inserted twice."
|
|
55
|
+
- "I clicked the editor and pressed End, so the caret must be after the last paragraph."
|
|
56
|
+
|
|
57
|
+
All of these mean: stop, re-enter the standard pattern, and make state explicit.
|