@omniaibot/win-x64 1.6.8 → 1.6.12
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
1.6.
|
|
1
|
+
1.6.12
|
|
@@ -57,9 +57,15 @@ omnibot --version
|
|
|
57
57
|
If the current workspace contains `pyproject.toml` and the global command is not the workspace version, run the test commands as `uv run omnibot ...` (or use the workspace `.venv/bin/omnibot`) so the agent exercises the code under test. Do not infer command support from memory or from a different packaged version; run the relevant subcommand `--help` after selecting the runtime.
|
|
58
58
|
|
|
59
59
|
For a source-checkout test, make this concrete before the first browser action:
|
|
60
|
+
define the command prefix once:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
export OMNIBOT="uv run omnibot --no-start"
|
|
64
|
+
```
|
|
65
|
+
|
|
60
66
|
stop any existing daemon, start the workspace daemon with
|
|
61
67
|
`uv run python -m omnibot --api-port 18764 --ws-port 18765 daemon run`, and
|
|
62
|
-
invoke every subsequent CLI command as
|
|
68
|
+
invoke every subsequent CLI command as `$OMNIBOT ...` (or the
|
|
63
69
|
workspace `.venv/bin/omnibot --no-start ...`). Never use bare `omnibot` in that
|
|
64
70
|
workflow, because it can auto-start the globally installed packaged daemon and
|
|
65
71
|
silently test different code.
|
|
@@ -71,6 +77,16 @@ Before any page-state operation, choose the narrowest native command that expres
|
|
|
71
77
|
| Intent | Native command path | Do not start with |
|
|
72
78
|
| --- | --- | --- |
|
|
73
79
|
| Current page identity | `get title`, `get url`, then `snapshot -i` or `read` if needed | `execute-js "return document.title/location.href"` |
|
|
80
|
+
| Browser history | `browser history [text]` (also `history search [text]`) | reading browser history through page JavaScript |
|
|
81
|
+
| Bookmarks | `browser bookmarks` (also `bookmarks tree`) | reading the browser bookmark tree |
|
|
82
|
+
| Downloads | `browser downloads [terms]` (also `downloads search [terms]`, `downloads open <id>`) | inspecting/opening browser downloads |
|
|
83
|
+
| Recently closed | `browser recently-closed` | reading recently closed tabs/windows |
|
|
84
|
+
| Top sites | `browser top-sites` | reading browser frequent/top sites |
|
|
85
|
+
| Installed extensions | `browser extensions` | listing extension name, ID, enabled state, type, and version (read-only) |
|
|
86
|
+
| Content settings | `browser content-settings [TYPE] [URL]` | reading site permission state, default `automaticDownloads` (read-only) |
|
|
87
|
+
| Mouse visual state | `browser mouse-visual-state --tab-id <TAB_ID>` | verifying the extension cursor overlay and asset load state (read-only diagnostic) |
|
|
88
|
+
| Notifications | `browser notify <title> [message]` | showing a browser notification |
|
|
89
|
+
| Tab groups | `tab group <TAB_ID> [NAME]`, `tab group-info <TAB_ID>`, `tab ungroup <TAB_ID>` | grouping and inspecting browser tabs |
|
|
74
90
|
| Page text/content | `read --screens N`, `get text`, `get html`, `get attr`, `get count` | `execute-js "document.body.innerText"` |
|
|
75
91
|
| Iframe context | `frame <iframe-id/name/title/src>`, then `snapshot`/page-state commands | Assuming host selectors reach child frames |
|
|
76
92
|
| Click | `find ... --action click` -> `snapshot -i` + `click @eN` -> `click selector` -> `dom click` -> `mouse click` | `document.querySelector(...).click()` |
|
|
@@ -82,6 +98,14 @@ If you are about to write `document.querySelector`, `document.body.innerText`, `
|
|
|
82
98
|
|
|
83
99
|
Text entry rule: when the user asks to enter, type, fill, or replace text, use `fill` or `type`. `keyboard` and `press` dispatch key events for shortcuts and key semantics; they are not text insertion commands and must not be substituted for text entry.
|
|
84
100
|
|
|
101
|
+
Form commit rule: after `fill`, `type`, `select`, `check`, `uncheck`, or `upload`, verify the control itself with `get value`, `get attr`, or `is` before judging the workflow. Many pages keep a separate saved/rendered status that does not change until a visible `Save`, `Apply`, `Submit`, or equivalent control is activated. If such a commit control exists and the task expects business-state verification, observe it, activate it with a native command, then verify the resulting status. Do not report a form action as failed merely because an unrelated status element is still stale, and do not report it as complete without verifying both the control value and any required commit result.
|
|
102
|
+
|
|
103
|
+
Form terminal-timeout rule: keep form workflows as short observe → one control action → one verification steps. If a terminal call times out after `fill`, `select`, `check`, or `Save`, query the browser state first; do not repeat the action blindly because the browser may already have applied it. Continue from the first unverified control and finish with one commit click plus one final status read.
|
|
104
|
+
|
|
105
|
+
Mutation retry rule: issue at most one mutating browser command (`fill`, `type`, `select`, `check`, `uncheck`, `click`, `dblclick`, `drag`, `upload`, or `navigate`) per agent request. If its terminal output is empty, delayed, or times out, the next request must be read-only (`get`, `is`, `snapshot`, `read`, `tabs`, or `wait`) to determine whether the mutation already happened. Never replay the mutation merely because the tool response was missing; duplicate fills can append text and duplicate clicks can change business state.
|
|
106
|
+
|
|
107
|
+
Drag performance rule: selector-based `drag` may take longer than a terminal tool's short default timeout because it dispatches a human-like event sequence. For agent workflows where exact trajectory is not required, prefer `snapshot -i` plus coordinate `mouse drag --fast` after verifying source/target boxes; then verify the target state. If semantic `drag` is required, allow a longer command timeout and do not retry blindly while the first drag may still be running.
|
|
108
|
+
|
|
85
109
|
Clipboard rule: both `clipboard read` and `clipboard write` require the explicit
|
|
86
110
|
`--tab-id <TAB_ID>` on every invocation, even though the clipboard is shared by
|
|
87
111
|
the browser extension. If no tab id is known, discover a safe target tab first;
|
|
@@ -144,6 +168,7 @@ Targeting categories:
|
|
|
144
168
|
Navigation safety invariant:
|
|
145
169
|
|
|
146
170
|
- When the task says "open", "open a new tab", or "create a test page", use `open <URL>` or `tab new <URL>` and use the returned tab id. Do not substitute `goto`, plain `navigate`, or the currently active tab.
|
|
171
|
+
- `navigate <URL>` also opens a new tab by default; `navigate <URL> --new-tab` is an explicit equivalent accepted for agent compatibility. Use `navigate <URL> --same-tab --tab-id <TAB_ID>` only for deliberate same-tab reuse.
|
|
147
172
|
- Use `goto --tab-id <TAB_ID>` or `navigate --same-tab --tab-id <TAB_ID>` only when the task explicitly asks to reuse an existing tab.
|
|
148
173
|
- After creating a tab, verify `get url --tab-id <TAB_ID>` before any clipboard, upload, form, or other page-state operation. This prevents a failed or misinterpreted tab-creation result from mutating a user-owned page.
|
|
149
174
|
- Tool-created tabs are temporary workflow resources and may be auto-closed by cleanup after inactivity. Complete the intended tab workflow in the same token/context, keep the returned tab id, and do not assume it will still exist after a long model pause or a separate one-shot agent process. If a later close reports `not found`, re-list tabs before retrying; the cleanup may already have closed it.
|
|
@@ -189,12 +214,28 @@ Choose by intent before choosing by command name:
|
|
|
189
214
|
| Intent | Prefer | Why |
|
|
190
215
|
| --- | --- | --- |
|
|
191
216
|
| Summarize or extract page content, article text, search results, feeds, or long/lazy pages | `read` | Returns clean text/Markdown for agent reasoning. |
|
|
192
|
-
| Quickly observe current visible UI structure before deciding what to do next | `snapshot -i` | Returns
|
|
217
|
+
| Quickly observe current visible UI structure before deciding what to do next | `snapshot -i` | Returns interactive refs plus visual-region refs for screenshot targeting. |
|
|
193
218
|
| Find buttons, links, inputs, or refs for a later action | `find` or `snapshot -i` | Produces actionable targets; `read` does not. |
|
|
194
219
|
| Verify one concrete condition | `get`, `is`, or `wait` | Narrow evidence is more reliable than dumping a page. |
|
|
195
220
|
|
|
196
221
|
Do not use `read` as the first step for click/fill workflows unless the user explicitly asked for page content first.
|
|
197
222
|
|
|
223
|
+
## Screenshots And Visual Regions
|
|
224
|
+
|
|
225
|
+
`screenshot --tab-id <TAB_ID>` without `--ref` remains a full current-viewport screenshot.
|
|
226
|
+
For a specific visual region, run `snapshot -i` and choose a ref marked `[visual=true]`, such as
|
|
227
|
+
`article`, `region`, `dialog`, `listitem`, `image`, or `video`:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
OMNIBOT_SESSION_TOKEN=visual omnibot snapshot -i --tab-id <TAB_ID>
|
|
231
|
+
OMNIBOT_SESSION_TOKEN=visual omnibot screenshot --ref @e146 --tab-id <TAB_ID> -o /tmp/region.png
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Visual-region refs are intended for complete content containers, cards, posts, dialogs, media, and similar areas.
|
|
235
|
+
Do not screenshot a button, link, or textbox as a standalone target unless the user explicitly asks for that control.
|
|
236
|
+
The ref screenshot path re-resolves the live DOM node, scrolls it into view, waits for layout to settle, and then captures its region.
|
|
237
|
+
After `read` or scrolling, refresh the snapshot before using a stale ref. Raw `get box` plus `cdp Page.captureScreenshot` is not the normal screenshot workflow.
|
|
238
|
+
|
|
198
239
|
## Dropdowns And Custom Comboboxes
|
|
199
240
|
|
|
200
241
|
`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.
|
|
@@ -112,7 +112,7 @@ Fallback relation: Prefer for page content. Use `snapshot -i` when the next step
|
|
|
112
112
|
|
|
113
113
|
### snapshot -i
|
|
114
114
|
|
|
115
|
-
Purpose: Read accessibility tree and produce actionable `@eN` refs.
|
|
115
|
+
Purpose: Read accessibility tree and produce actionable `@eN` refs. With `-i`, it includes both interactive refs and visual-region refs marked `[visual=true]` for targeted screenshots.
|
|
116
116
|
|
|
117
117
|
For visible custom comboboxes, `snapshot -i` may auto-probe options and append `[option]` refs under DOM Popup Controls. These refs remain actionable after the dropdown closes because they carry `openerSelector` internally.
|
|
118
118
|
|
|
@@ -351,6 +351,13 @@ Fallback relation: Tier 1. Explain failure before using refs, selectors, DOM, mo
|
|
|
351
351
|
### mouse
|
|
352
352
|
|
|
353
353
|
Purpose: Coordinate-based mouse operations.
|
|
354
|
+
|
|
355
|
+
All coordinate mouse operations are mirrored in the connected extension's
|
|
356
|
+
visible page: a cursor, movement trail, pressed state, drag path, and click
|
|
357
|
+
wave are shown at the same viewport coordinates as the dispatched input. The
|
|
358
|
+
visual layer is best-effort and never changes whether the underlying action
|
|
359
|
+
succeeds. It is recreated after a page reload when the last mouse position is
|
|
360
|
+
known.
|
|
354
361
|
Usage tier: Tier 5 fallback only.
|
|
355
362
|
|
|
356
363
|
> **Development status:** The realistic trajectory mode (`mouse drag` without `--fast`) is experimental and has not been validated in production workflows. The trajectory parameters, step count, and timing are still being tuned. Use `--fast` for stable linear drags until the realistic mode is proven.
|
|
@@ -556,9 +563,16 @@ Purpose: Capture visual evidence from a browser tab.
|
|
|
556
563
|
|
|
557
564
|
```bash
|
|
558
565
|
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot screenshot --tab-id <TAB_ID> -o /tmp/omni-shot.png
|
|
566
|
+
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot snapshot -i --tab-id <TAB_ID>
|
|
567
|
+
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot screenshot --ref @e146 --tab-id <TAB_ID> -o /tmp/omni-region.png
|
|
559
568
|
OMNIBOT_SESSION_TOKEN=debug-checkout omnibot screenshot --annotate --tab-id <TAB_ID> -o /tmp/omni-annotated.png
|
|
560
569
|
```
|
|
561
570
|
|
|
571
|
+
Without `--ref`, screenshot captures the current viewport. `--ref` accepts a visual ref marked
|
|
572
|
+
`[visual=true]`, such as `[article]`, `[region]`, `[dialog]`, `[listitem]`, `[image]`, or `[video]`.
|
|
573
|
+
Do not use ordinary button/link/textbox refs as standalone screenshot targets. Re-run `snapshot -i`
|
|
574
|
+
after scrolling or `read` before using a ref that may be stale.
|
|
575
|
+
|
|
562
576
|
Preferred pattern: See `debugging-and-evidence.md#screenshot`.
|
|
563
577
|
Fallback relation: Evidence collection, not operation fallback.
|
|
564
578
|
|
|
Binary file
|