@omniaibot/win-x64 0.3.11 → 1.1.0
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/VERSION +1 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/SKILL.md +173 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/anti-patterns.md +29 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/command-reference.md +579 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/debugging-and-evidence.md +95 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/fallback-operations.md +157 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/operation-patterns.md +369 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/runtime-and-status.md +89 -0
- package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/session-and-tabs.md +148 -0
- package/bin/{omnibot-win-x64 → omnibot-windows-x64}/omnibot-windows-x64.exe +0 -0
- package/package.json +5 -2
- package/bin/omnibot-win-x64/VERSION +0 -1
- package/bin/omnibot-win-x64/omnibot/skills/omnibot/SKILL.md +0 -159
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/81d243bd2c585b0f4821__mypyc.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_asyncio.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_bz2.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_cffi_backend.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_ctypes.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_decimal.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_hashlib.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_lzma.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_multiprocessing.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_overlapped.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_queue.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_socket.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_ssl.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_uuid.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_wmi.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/certifi/cacert.pem +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/charset_normalizer/cd.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/charset_normalizer/md.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/cryptography/hazmat/bindings/_rust.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/ffi.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libbz2.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libcrypto-3-x64.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libexpat.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/liblzma.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libmpdec-4.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libssl-3-x64.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/omnibot/sop/tmwebdriver_sop.md +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/omnibot/sop/vue3_component_sop.md +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/pyexpat.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/python3.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/python313.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/select.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/unicodedata.pyd +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/vcruntime140.dll +0 -0
- /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/zlib.dll +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.1.0
|
|
@@ -0,0 +1,173 @@
|
|
|
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.1.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Omnibot
|
|
12
|
+
|
|
13
|
+
Omnibot is Browser Infrastructure for AI Agents.
|
|
14
|
+
|
|
15
|
+
It connects Hermes, Claude Code, Codex, OpenCode, MCP Agent Runtime, 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, upload files, 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
|
+
- Prefer semantic locators and `snapshot -i` refs before selectors.
|
|
34
|
+
- Prefer condition-based `wait` over shell sleep.
|
|
35
|
+
- Parse JSON output from commands that return JSON.
|
|
36
|
+
- Do not claim success without verification evidence.
|
|
37
|
+
|
|
38
|
+
## Session + Tab Double Lock
|
|
39
|
+
|
|
40
|
+
Every page-state workflow must use both controls:
|
|
41
|
+
|
|
42
|
+
- `OMNIBOT_SESSION_TOKEN=<workflow-name>` for workflow isolation.
|
|
43
|
+
- `--tab-id <TAB_ID>` for page targeting.
|
|
44
|
+
|
|
45
|
+
They are not substitutes. Session controls which workflow owns state. Tab ID controls which page receives the command.
|
|
46
|
+
|
|
47
|
+
Do not rely on `switch-tab`, default tab, active tab, current tab, or prior targeting state for multi-step workflows.
|
|
48
|
+
|
|
49
|
+
Use the same token inside one workflow. Use different tokens for independent workflows.
|
|
50
|
+
|
|
51
|
+
Standard form:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
|
|
55
|
+
OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id <TAB_ID> @e4
|
|
56
|
+
OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`@eN` refs are tab-scoped. never reuse `@eN` refs across tabs.
|
|
60
|
+
|
|
61
|
+
The agent dispatch pattern is token + tab-id:
|
|
62
|
+
|
|
63
|
+
1. Set a stable `OMNIBOT_SESSION_TOKEN`.
|
|
64
|
+
2. Discover or create the target tab.
|
|
65
|
+
3. Save the returned tab id.
|
|
66
|
+
4. Pass `--tab-id <TAB_ID>` on every command that touches page state.
|
|
67
|
+
5. Run observe -> act -> verify on that same tab.
|
|
68
|
+
|
|
69
|
+
Examples of tab-locked page-state commands:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot get value "input[name=email]" --tab-id <TAB_ID>
|
|
73
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot find placeholder "Search" --action type --action-value "omnibot" --tab-id <TAB_ID>
|
|
74
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot dom dblclick n1 --tab-id <TAB_ID>
|
|
75
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot clipboard read --tab-id <TAB_ID>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Observe -> Act -> Verify
|
|
79
|
+
|
|
80
|
+
All page operations must follow this loop:
|
|
81
|
+
|
|
82
|
+
1. Observe the current page state.
|
|
83
|
+
2. Act once using the highest reliable pattern available.
|
|
84
|
+
3. Verify the expected state change.
|
|
85
|
+
|
|
86
|
+
Click example:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
|
|
90
|
+
OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id <TAB_ID> @e4
|
|
91
|
+
OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Read/verify example:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot is enabled "button[type=submit]" --tab-id <TAB_ID>
|
|
98
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot find role button --name "Submit" --action click --tab-id <TAB_ID>
|
|
99
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot wait --url "/dashboard" --tab-id <TAB_ID>
|
|
100
|
+
OMNIBOT_SESSION_TOKEN=checkout omnibot get url --tab-id <TAB_ID>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If verification fails, do not repeat blindly. Re-observe, choose the next fallback tier, and verify again.
|
|
104
|
+
|
|
105
|
+
## Pattern > Command
|
|
106
|
+
|
|
107
|
+
Start from the task, not the command name. Use operation patterns for read, click, fill, select/check, navigation, wait, extraction, upload, and batch.
|
|
108
|
+
|
|
109
|
+
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.
|
|
110
|
+
|
|
111
|
+
## Quick Routing
|
|
112
|
+
|
|
113
|
+
| Need | Read |
|
|
114
|
+
| --- | --- |
|
|
115
|
+
| Runtime check | `references/runtime-and-status.md` |
|
|
116
|
+
| Reading pages | `references/operation-patterns.md#read` |
|
|
117
|
+
| Clicking | `references/operation-patterns.md#click` |
|
|
118
|
+
| Filling forms | `references/operation-patterns.md#fill` |
|
|
119
|
+
| Select / check | `references/operation-patterns.md#select--check` |
|
|
120
|
+
| Navigation | `references/operation-patterns.md#navigation` |
|
|
121
|
+
| Waiting | `references/operation-patterns.md#wait` |
|
|
122
|
+
| Extraction | `references/operation-patterns.md#extraction` |
|
|
123
|
+
| Upload | `references/operation-patterns.md#upload` |
|
|
124
|
+
| Batch | `references/operation-patterns.md#batch` |
|
|
125
|
+
| Fallback | `references/fallback-operations.md` |
|
|
126
|
+
| Tabs and sessions | `references/session-and-tabs.md` |
|
|
127
|
+
| Debug evidence | `references/debugging-and-evidence.md` |
|
|
128
|
+
| Commands | `references/command-reference.md` |
|
|
129
|
+
| Anti-patterns | `references/anti-patterns.md` |
|
|
130
|
+
|
|
131
|
+
## Runtime First
|
|
132
|
+
|
|
133
|
+
Before troubleshooting browser behavior, check runtime state:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
omnibot doctor
|
|
137
|
+
omnibot tabs
|
|
138
|
+
omnibot visibility status
|
|
139
|
+
omnibot browser current
|
|
140
|
+
omnibot license status
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
If the extension is not connected, open Chrome or Edge with the omnibot extension loaded and keep an HTTP/HTTPS tab open.
|
|
144
|
+
|
|
145
|
+
## Fallback Discipline
|
|
146
|
+
|
|
147
|
+
Fallback tiers are for completing operations after better patterns fail. They are not debugging shortcuts.
|
|
148
|
+
|
|
149
|
+
Tier order:
|
|
150
|
+
|
|
151
|
+
1. Semantic `find`.
|
|
152
|
+
2. `snapshot -i` refs.
|
|
153
|
+
3. Selectors.
|
|
154
|
+
4. `dom` fallback.
|
|
155
|
+
5. `mouse` fallback.
|
|
156
|
+
6. `execute-js` fallback.
|
|
157
|
+
7. Raw `cdp` fallback.
|
|
158
|
+
|
|
159
|
+
When entering a lower tier, state why the higher tier failed. After any fallback action, verify with `snapshot`, `get`, `is`, `wait`, or equivalent evidence.
|
|
160
|
+
|
|
161
|
+
## Debug Evidence
|
|
162
|
+
|
|
163
|
+
Debugging is for evidence. Fallback is for completing operations.
|
|
164
|
+
|
|
165
|
+
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.
|
|
166
|
+
|
|
167
|
+
## Absolute Prohibitions
|
|
168
|
+
|
|
169
|
+
- Missing `OMNIBOT_SESSION_TOKEN` or missing `--tab-id` on page-state commands.
|
|
170
|
+
- Acting without verify or claiming success without evidence.
|
|
171
|
+
- Using `execute-js` first, raw CSS before semantic find, `@eN` across tabs, `switch-tab` for workflow state, or shell sleep instead of `omnibot wait`.
|
|
172
|
+
|
|
173
|
+
See `references/anti-patterns.md` before using shortcuts.
|
|
@@ -0,0 +1,29 @@
|
|
|
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. |
|
|
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 `switch-tab` | It creates implicit state and is unsafe for concurrent workflows. | Use explicit `--tab-id` on every 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 `get text`, `scan --json`, or `full-scan --text-only`. |
|
|
15
|
+
| 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. |
|
|
16
|
+
| Mixing multiple workflows in one session token | Agents can overwrite each other's default state. | Use different tokens: `research`, `checkout`, `debug`. |
|
|
17
|
+
| Using default tab state in concurrent agents | Active/current tab can change outside the workflow. | Discover or create a tab, save its id, and pass `--tab-id`. |
|
|
18
|
+
| Not checking doctor/tabs before troubleshooting | You may debug page logic when the runtime is disconnected. | Run `omnibot doctor` and `omnibot tabs` first. |
|
|
19
|
+
|
|
20
|
+
## Red Flags
|
|
21
|
+
|
|
22
|
+
- "I can just use the current tab."
|
|
23
|
+
- "This is only one click, no need to verify."
|
|
24
|
+
- "JavaScript is faster."
|
|
25
|
+
- "The ref probably still points to the same element."
|
|
26
|
+
- "A screenshot is enough even though I need text."
|
|
27
|
+
- "Sleep should be fine."
|
|
28
|
+
|
|
29
|
+
All of these mean: stop, re-enter the standard pattern, and make state explicit.
|