@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.
Files changed (48) hide show
  1. package/bin/omnibot-windows-x64/VERSION +1 -0
  2. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/SKILL.md +173 -0
  3. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/anti-patterns.md +29 -0
  4. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/command-reference.md +579 -0
  5. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/debugging-and-evidence.md +95 -0
  6. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/fallback-operations.md +157 -0
  7. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/operation-patterns.md +369 -0
  8. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/runtime-and-status.md +89 -0
  9. package/bin/omnibot-windows-x64/omnibot/skills/omnibot/references/session-and-tabs.md +148 -0
  10. package/bin/{omnibot-win-x64 → omnibot-windows-x64}/omnibot-windows-x64.exe +0 -0
  11. package/package.json +5 -2
  12. package/bin/omnibot-win-x64/VERSION +0 -1
  13. package/bin/omnibot-win-x64/omnibot/skills/omnibot/SKILL.md +0 -159
  14. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/81d243bd2c585b0f4821__mypyc.pyd +0 -0
  15. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_asyncio.pyd +0 -0
  16. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_bz2.pyd +0 -0
  17. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_cffi_backend.pyd +0 -0
  18. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_ctypes.pyd +0 -0
  19. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_decimal.pyd +0 -0
  20. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_hashlib.pyd +0 -0
  21. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_lzma.pyd +0 -0
  22. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_multiprocessing.pyd +0 -0
  23. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_overlapped.pyd +0 -0
  24. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_queue.pyd +0 -0
  25. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_socket.pyd +0 -0
  26. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_ssl.pyd +0 -0
  27. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_uuid.pyd +0 -0
  28. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/_wmi.pyd +0 -0
  29. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/certifi/cacert.pem +0 -0
  30. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/charset_normalizer/cd.pyd +0 -0
  31. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/charset_normalizer/md.pyd +0 -0
  32. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/cryptography/hazmat/bindings/_rust.pyd +0 -0
  33. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/ffi.dll +0 -0
  34. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libbz2.dll +0 -0
  35. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libcrypto-3-x64.dll +0 -0
  36. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libexpat.dll +0 -0
  37. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/liblzma.dll +0 -0
  38. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libmpdec-4.dll +0 -0
  39. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/libssl-3-x64.dll +0 -0
  40. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/omnibot/sop/tmwebdriver_sop.md +0 -0
  41. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/omnibot/sop/vue3_component_sop.md +0 -0
  42. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/pyexpat.pyd +0 -0
  43. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/python3.dll +0 -0
  44. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/python313.dll +0 -0
  45. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/select.pyd +0 -0
  46. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/unicodedata.pyd +0 -0
  47. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/vcruntime140.dll +0 -0
  48. /package/bin/{omnibot-win-x64 → omnibot-windows-x64}/zlib.dll +0 -0
@@ -0,0 +1,148 @@
1
+ # Sessions and Tabs
2
+
3
+ Sessions and tabs are core reliability concepts, not advanced usage.
4
+
5
+ ## Session First
6
+
7
+ `OMNIBOT_SESSION_TOKEN` is mandatory for every workflow.
8
+
9
+ ```bash
10
+ OMNIBOT_SESSION_TOKEN=research omnibot tabs
11
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
12
+ ```
13
+
14
+ The same token keeps one workflow isolated. Different tokens prevent independent agents from sharing default state.
15
+
16
+ ## Tab Explicit
17
+
18
+ `--tab-id <TAB_ID>` is mandatory for every page-state command.
19
+
20
+ ```bash
21
+ OMNIBOT_SESSION_TOKEN=checkout omnibot get url --tab-id <TAB_ID>
22
+ OMNIBOT_SESSION_TOKEN=checkout omnibot click --tab-id <TAB_ID> @e4
23
+ OMNIBOT_SESSION_TOKEN=checkout omnibot get url --tab-id <TAB_ID>
24
+ ```
25
+
26
+ Do not rely on default tab, active tab, current tab, or previous targeting state.
27
+
28
+ ## Why Both
29
+
30
+ - Session = workflow isolation.
31
+ - Tab ID = page targeting.
32
+
33
+ Session alone does not prove which page receives a command. Tab ID alone does not isolate concurrent agents. Use both.
34
+
35
+ ## Ref Scope
36
+
37
+ `@eN` refs are tab-scoped.
38
+
39
+ Never reuse `@eN` across tabs. Never assume a ref remains valid after navigation, reload, major DOM changes, or a different snapshot.
40
+
41
+ ```bash
42
+ OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
43
+ OMNIBOT_SESSION_TOKEN=checkout omnibot click --tab-id <TAB_ID> @e4
44
+ OMNIBOT_SESSION_TOKEN=checkout omnibot snapshot -i --tab-id <TAB_ID>
45
+ ```
46
+
47
+ ## Multi-Agent Pattern
48
+
49
+ Agent A:
50
+
51
+ ```bash
52
+ OMNIBOT_SESSION_TOKEN=research
53
+ ```
54
+
55
+ Agent B:
56
+
57
+ ```bash
58
+ OMNIBOT_SESSION_TOKEN=checkout
59
+ ```
60
+
61
+ Agent C:
62
+
63
+ ```bash
64
+ OMNIBOT_SESSION_TOKEN=debug
65
+ ```
66
+
67
+ Each agent must:
68
+
69
+ 1. Set a stable token.
70
+ 2. Discover or create a tab.
71
+ 3. Save the tab id.
72
+ 4. Pass `--tab-id <TAB_ID>` on every page-state command.
73
+ 5. Run `snapshot` -> action -> verify, or `get/is` -> action -> `get/is`.
74
+
75
+ Example:
76
+
77
+ ```bash
78
+ OMNIBOT_SESSION_TOKEN=research omnibot tab new https://example.com --label research
79
+ OMNIBOT_SESSION_TOKEN=research omnibot get url --tab-id <TAB_ID>
80
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id <TAB_ID>
81
+ ```
82
+
83
+ ## switch-tab
84
+
85
+ `switch-tab` is only for casual single-step usage.
86
+
87
+ Do not build a multi-step workflow on `switch-tab`. It creates implicit state and can be stale or crossed by concurrent agents.
88
+
89
+ Bad:
90
+
91
+ ```bash
92
+ OMNIBOT_SESSION_TOKEN=research omnibot switch-tab 123
93
+ OMNIBOT_SESSION_TOKEN=research omnibot click @e4
94
+ ```
95
+
96
+ Good:
97
+
98
+ ```bash
99
+ OMNIBOT_SESSION_TOKEN=research omnibot click --tab-id 123 @e4
100
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id 123
101
+ ```
102
+
103
+ ## focus-tab
104
+
105
+ Use `focus-tab` only when the user needs to see the browser UI.
106
+
107
+ It is not a reliable targeting primitive for agent workflows.
108
+
109
+ ```bash
110
+ OMNIBOT_SESSION_TOKEN=demo omnibot focus-tab 123
111
+ OMNIBOT_SESSION_TOKEN=demo omnibot snapshot -i --tab-id 123
112
+ ```
113
+
114
+ ## browser claim/release
115
+
116
+ Use `browser claim` and `browser release` in multi-browser or multi-runtime scenarios where an agent must explicitly own or release a browser tab.
117
+
118
+ ```bash
119
+ OMNIBOT_SESSION_TOKEN=research omnibot browser list
120
+ OMNIBOT_SESSION_TOKEN=research omnibot browser current
121
+ OMNIBOT_SESSION_TOKEN=research omnibot browser claim 123
122
+ OMNIBOT_SESSION_TOKEN=research omnibot snapshot -i --tab-id 123
123
+ OMNIBOT_SESSION_TOKEN=research omnibot browser release 123
124
+ ```
125
+
126
+ Claiming does not replace `--tab-id`. It only documents or coordinates ownership.
127
+
128
+ ## visibility
129
+
130
+ Visibility controls where automation runs:
131
+
132
+ - `visible`: controls the user's already-open real browser tabs and preserves visible session state.
133
+ - `background`: avoids foregrounding tabs unless requested.
134
+ - `dedicated-profile`: launches or uses a separate profile.
135
+ - `headless`: uses a headless browser context.
136
+ - `launch`: starts a dedicated-profile or headless browser with an explicit user data dir.
137
+
138
+ Examples:
139
+
140
+ ```bash
141
+ omnibot visibility status
142
+ omnibot visibility set visible
143
+ omnibot visibility set background
144
+ omnibot visibility set headless --user-data-dir /tmp/omnibot-headless
145
+ omnibot visibility launch headless --user-data-dir /tmp/omnibot-headless
146
+ ```
147
+
148
+ Headless and dedicated-profile modes do not automatically share the user's current tabs or login state. Verify login state before assuming access.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omniaibot/win-x64",
3
- "version": "0.3.11",
3
+ "version": "1.1.0",
4
4
  "description": "omnibot executable for Windows x64",
5
5
  "os": [
6
6
  "win32"
@@ -8,6 +8,9 @@
8
8
  "cpu": [
9
9
  "x64"
10
10
  ],
11
+ "bin": {
12
+ "omnibot": "bin/omnibot-windows-x64/omnibot-windows-x64.exe"
13
+ },
11
14
  "files": [
12
15
  "bin/"
13
16
  ],
@@ -23,4 +26,4 @@
23
26
  "type": "git",
24
27
  "url": "git+https://github.com/DennisJcy/omnibot.git"
25
28
  }
26
- }
29
+ }
@@ -1 +0,0 @@
1
- 0.3.11
@@ -1,159 +0,0 @@
1
- ---
2
- name: omnibot
3
- description: Use when reading, inspecting, navigating, operating, debugging, installing skills, checking daemon status, or troubleshooting the omnibot CLI extension connection.
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.0.0"
9
- ---
10
-
11
- # omnibot CLI
12
-
13
- omnibot connects agents to the user's real Chromium browser session through a local daemon and CLI commands.
14
-
15
- ## Prerequisites
16
-
17
- - Confirm the extension is connected with `omnibot doctor` or `omnibot tabs`.
18
- - For browser actions, run commands through Bash and parse the returned JSON.
19
- - The CLI auto-starts the local daemon. Users do not need to run `omnibot daemon start` for normal CLI operations.
20
-
21
- ## Command Discovery
22
-
23
- ```bash
24
- omnibot --help
25
- omnibot scan --help
26
- omnibot execute-js --help
27
- omnibot batch --help
28
- ```
29
-
30
- ---
31
-
32
- ## Install Skills
33
-
34
- ```bash
35
- omnibot skills install --agent hermes --profile nuwa
36
- omnibot skills install --agent opencode
37
- omnibot skills install --agent claude
38
- omnibot skills install --agent codex
39
- ```
40
-
41
- ## Check Runtime
42
-
43
- ```bash
44
- omnibot doctor
45
- omnibot tabs
46
- ```
47
-
48
- ## Common Failures
49
-
50
- - Extension not connected: open Chrome or Edge with the omnibot extension loaded and keep an HTTP/HTTPS tab open.
51
- - Wrong port: align extension Bridge Port with `--ws-port`; default is `18765`.
52
- - No tabs: open an HTTP or HTTPS page; extension ignores non-scriptable pages.
53
- - Daemon startup failed: run `omnibot doctor` and check the daemon log path from the error output.
54
-
55
- ---
56
-
57
- ## Page Reading
58
-
59
- Use real browser rendering when normal HTTP fetches cannot see logged-in, client-rendered, or dynamic content.
60
-
61
- ```bash
62
- omnibot scan
63
- omnibot scan --json
64
- omnibot full-scan --duration 10
65
- omnibot full-scan --duration 0 --text-only
66
- ```
67
-
68
- **Selection Rules:**
69
- - Use `scan` before any action because it does not scroll.
70
- - Use `full-scan` for read-only article/search/feed pages because it scrolls to trigger lazy loading.
71
- - Use `--json` when controls, forms, links, or list candidates are needed for a follow-up action.
72
- - Use `--text-only` when the answer needs prose only and HTML tags would waste tokens.
73
-
74
- **Search Workflow:**
75
- ```bash
76
- omnibot navigate 'https://www.google.com/search?q=omnibot+cli'
77
- omnibot full-scan --duration 5 --text-only
78
- ```
79
-
80
- ---
81
-
82
- ## Page Operation
83
-
84
- Operate pages only after observing the current viewport.
85
-
86
- **Required Order:**
87
- 1. Run `omnibot snapshot --json`.
88
- 2. Identify the target control, link, selector, `@eN` reference, or visible text.
89
- 3. Run the smallest operation command.
90
- 4. Run `omnibot snapshot --json` again to verify the page state.
91
-
92
- **Common Commands:**
93
- ```bash
94
- omnibot execute-js "document.querySelector('button[type=submit]').click()"
95
- omnibot execute-js "window.scrollBy(0, 800)"
96
- omnibot wait "return !!document.querySelector('.loaded')" --timeout 15 --interval 0.5
97
- omnibot switch-tab <TAB_ID>
98
- omnibot focus-tab <TAB_ID>
99
- omnibot click @e11
100
- omnibot click @e11 --new-tab
101
- omnibot dblclick @e11
102
- omnibot dblclick @e11 --new-tab
103
- ```
104
-
105
- **Snapshot and Interaction Order:**
106
- 1. Run `omnibot snapshot --json`.
107
- 2. Find the target `@eN` reference from the snapshot output.
108
- 3. Run `omnibot click @eN`, `omnibot dblclick @eN`, or the matching `--new-tab` variant.
109
- 4. Run `omnibot navigate --same-tab <url>` when only the current tab content should change.
110
- 5. Run `omnibot snapshot --json` again to verify the page changed.
111
-
112
- **`@eN` Target Rules:**
113
- - Prefer `@eN` over raw CSS selectors when snapshot output exposes an accessible role/name pair.
114
- - Use `@eN` for buttons, links, tabs, tree nodes, list items, and other interactive elements returned by snapshot.
115
- - Use `--new-tab` when the link or action should open in a new browser tab.
116
- - Use `dblclick` only for folder/list/tree/text editors and similar controls that need a double activation.
117
- - Use `navigate --same-tab` for in-page navigation or soft navigations that reuse the current tab.
118
- - Run `omnibot snapshot --json` after the interaction to confirm the expected DOM/page state change.
119
-
120
- **Rules:**
121
- - Do not use `execute-js` for ordinary page reading.
122
- - Prefer `wait` over sleeping in shell commands.
123
- - Use `focus-tab` only when the user needs to see that tab in Chrome.
124
- - Use `switch-tab` when only the CLI target tab should change.
125
-
126
- ---
127
-
128
- ## Debugging
129
-
130
- Use debug commands when scan output is insufficient or when browser-level APIs are required.
131
-
132
- ```bash
133
- omnibot screenshot -o /tmp/omni-shot.png
134
- omnibot batch --commands-json '[{"cmd":"cdp","method":"DOM.getDocument","params":{"depth":1}}]'
135
- omnibot execute-js "return location.href"
136
- ```
137
-
138
- **Batch Rules:**
139
- - Use `batch` for multiple CDP or extension commands that share one target tab.
140
- - Pass `--tab-id` when the target is not the active CLI tab.
141
- - Keep batch JSON valid and quote it with single quotes in shell commands.
142
-
143
- ---
144
-
145
- ## Command Reference
146
-
147
- | Former MCP tool | CLI command | Default output |
148
- | --- | --- | --- |
149
- | `browser_get_tabs` | `omnibot tabs` | JSON |
150
- | `browser_scan` | `omnibot scan [--json]` | Text |
151
- | `browser_full_scan` | `omnibot full-scan [--json]` | Text |
152
- | `browser_execute_js` | `omnibot execute-js <script>` | JSON |
153
- | `browser_switch_tab` | `omnibot switch-tab <tab_id>` | JSON |
154
- | `browser_focus_tab` | `omnibot focus-tab <tab_id>` | JSON |
155
- | `browser_batch` | `omnibot batch --commands-json '<json>'` | JSON |
156
- | `browser_wait` | `omnibot wait <condition_js>` | JSON |
157
- | `browser_navigate` | `omnibot navigate <url>` | JSON |
158
- | `browser_screenshot` | `omnibot screenshot [-o path]` | JSON |
159
- | `get_license_status` | `omnibot license status` | JSON |