@bastani/atomic 0.8.25 → 0.8.26-alpha.10
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/CHANGELOG.md +84 -0
- package/README.md +5 -5
- package/dist/builtin/intercom/CHANGELOG.md +60 -0
- package/dist/builtin/intercom/index-heavy.ts +1754 -0
- package/dist/builtin/intercom/index.ts +374 -1746
- package/dist/builtin/intercom/package.json +2 -2
- package/dist/builtin/intercom/result-renderers.ts +77 -0
- package/dist/builtin/mcp/CHANGELOG.md +64 -0
- package/dist/builtin/mcp/index.ts +151 -57
- package/dist/builtin/mcp/package.json +3 -3
- package/dist/builtin/subagents/CHANGELOG.md +61 -0
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +9 -9
- package/dist/builtin/subagents/agents/debugger.md +6 -6
- package/dist/builtin/subagents/package.json +4 -4
- package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +1 -1
- package/dist/builtin/subagents/skills/browser/EXAMPLES.md +151 -0
- package/dist/builtin/subagents/skills/browser/LICENSE.txt +21 -0
- package/dist/builtin/subagents/skills/browser/REFERENCE.md +451 -0
- package/dist/builtin/subagents/skills/browser/SKILL.md +170 -0
- package/dist/builtin/subagents/skills/subagent/SKILL.md +4 -4
- package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +55 -12
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +71 -12
- package/dist/builtin/subagents/src/runs/shared/acceptance.ts +2 -1
- package/dist/builtin/subagents/src/runs/shared/final-drain.ts +34 -0
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +416 -7
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +2 -2
- package/dist/builtin/web-access/CHANGELOG.md +60 -0
- package/dist/builtin/web-access/index-heavy.ts +2060 -0
- package/dist/builtin/web-access/index.ts +182 -2274
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/web-access/result-renderers.ts +364 -0
- package/dist/builtin/workflows/CHANGELOG.md +75 -0
- package/dist/builtin/workflows/README.md +10 -8
- package/dist/builtin/workflows/builtin/deep-research-codebase.ts +11 -8
- package/dist/builtin/workflows/builtin/goal.ts +137 -109
- package/dist/builtin/workflows/builtin/index.d.ts +2 -0
- package/dist/builtin/workflows/builtin/open-claude-design.ts +228 -151
- package/dist/builtin/workflows/builtin/ralph.d.ts +2 -0
- package/dist/builtin/workflows/builtin/ralph.ts +452 -279
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/skills/create-spec/SKILL.md +14 -0
- package/dist/builtin/workflows/skills/research-codebase/SKILL.md +29 -10
- package/dist/builtin/workflows/src/extension/index.ts +23 -5
- package/dist/builtin/workflows/src/extension/runtime.ts +35 -3
- package/dist/builtin/workflows/src/extension/wiring.ts +13 -1
- package/dist/builtin/workflows/src/runs/background/status.ts +52 -6
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +453 -21
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +130 -13
- package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +402 -8
- package/dist/builtin/workflows/src/runs/shared/worktree.ts +2 -2
- package/dist/builtin/workflows/src/shared/authoring-contract.d.ts +2 -2
- package/dist/builtin/workflows/src/shared/persistence-restore.ts +182 -6
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +76 -6
- package/dist/builtin/workflows/src/shared/stage-prompt.ts +33 -2
- package/dist/builtin/workflows/src/shared/store-types.ts +31 -0
- package/dist/builtin/workflows/src/shared/store.ts +160 -18
- package/dist/builtin/workflows/src/shared/types.ts +3 -3
- package/dist/builtin/workflows/src/shared/workflow-failures.ts +758 -132
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +12 -3
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +17 -6
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +39 -3
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +74 -74
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +13 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +33 -6
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +157 -182
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/atomic-guide-command.d.ts.map +1 -1
- package/dist/core/atomic-guide-command.js +11 -9
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +6 -3
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +23 -10
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/context-compaction.d.ts +175 -0
- package/dist/core/compaction/context-compaction.d.ts.map +1 -0
- package/dist/core/compaction/context-compaction.js +1636 -0
- package/dist/core/compaction/context-compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +1 -0
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js +1 -0
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +7 -0
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +16 -3
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +3 -0
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +14 -7
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +17 -0
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/session-manager.d.ts +41 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +146 -7
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/timings.d.ts +9 -0
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +28 -1
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/ask-user-question/tool/format-answer.d.ts +5 -5
- package/dist/core/tools/ask-user-question/tool/format-answer.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/tool/format-answer.js +5 -5
- package/dist/core/tools/ask-user-question/tool/format-answer.js.map +1 -1
- package/dist/core/tools/ask-user-question/tool/response-envelope.d.ts +16 -3
- package/dist/core/tools/ask-user-question/tool/response-envelope.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/tool/response-envelope.js +21 -3
- package/dist/core/tools/ask-user-question/tool/response-envelope.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +4 -2
- package/dist/main.js.map +1 -1
- package/dist/modes/index.d.ts +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +17 -0
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/context-compaction-summary-message.d.ts +17 -0
- package/dist/modes/interactive/components/context-compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/context-compaction-summary-message.js +83 -0
- package/dist/modes/interactive/components/context-compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +36 -4
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +4 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +1 -0
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +94 -17
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +13 -8
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +8 -1
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +4 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +14 -3
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/utils/git-env.d.ts +10 -0
- package/dist/utils/git-env.d.ts.map +1 -0
- package/dist/utils/git-env.js +33 -0
- package/dist/utils/git-env.js.map +1 -0
- package/docs/compaction.md +185 -50
- package/docs/custom-provider.md +11 -9
- package/docs/extensions.md +46 -42
- package/docs/index.md +13 -6
- package/docs/json.md +15 -12
- package/docs/packages.md +2 -0
- package/docs/providers.md +4 -1
- package/docs/quickstart.md +18 -11
- package/docs/rpc.md +38 -23
- package/docs/sdk.md +17 -8
- package/docs/session-format.md +26 -13
- package/docs/sessions.md +3 -3
- package/docs/settings.md +2 -2
- package/docs/skills.md +1 -15
- package/docs/termux.md +9 -10
- package/docs/themes.md +2 -2
- package/docs/tmux.md +3 -3
- package/docs/tui.md +19 -32
- package/docs/usage.md +2 -2
- package/docs/workflows.md +60 -16
- package/package.json +6 -12
- package/dist/builtin/subagents/skills/browser-use/SKILL.md +0 -234
- package/dist/builtin/subagents/skills/browser-use/references/cdp-python.md +0 -76
- package/dist/builtin/subagents/skills/browser-use/references/multi-session.md +0 -92
- package/node_modules/@earendil-works/pi-tui/README.md +0 -779
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +0 -54
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +0 -632
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts +0 -22
- package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/box.js +0 -104
- package/node_modules/@earendil-works/pi-tui/dist/components/box.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts +0 -22
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js +0 -35
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +0 -249
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +0 -1857
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts +0 -28
- package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/image.js +0 -89
- package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts +0 -37
- package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/input.js +0 -378
- package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts +0 -31
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +0 -69
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +0 -96
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +0 -644
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts +0 -50
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js +0 -159
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +0 -50
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +0 -185
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts +0 -12
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js +0 -23
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts +0 -19
- package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/text.js +0 -89
- package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts +0 -13
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js +0 -51
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts +0 -39
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.js +0 -2
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts +0 -16
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js +0 -110
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +0 -23
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js +0 -32
- package/node_modules/@earendil-works/pi-tui/dist/index.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +0 -193
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +0 -174
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts +0 -184
- package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/keys.js +0 -1173
- package/node_modules/@earendil-works/pi-tui/dist/keys.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts +0 -28
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js +0 -44
- package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts +0 -3
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js +0 -53
- package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts +0 -50
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js +0 -361
- package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +0 -90
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +0 -366
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +0 -113
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js +0 -472
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +0 -227
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.js +0 -1106
- package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts +0 -17
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js +0 -25
- package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +0 -84
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/utils.js +0 -1029
- package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts +0 -25
- package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts.map +0 -1
- package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js +0 -96
- package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js.map +0 -1
- package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node +0 -0
- package/node_modules/@earendil-works/pi-tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node +0 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/pi-tui/package.json +0 -47
- package/node_modules/get-east-asian-width/index.d.ts +0 -60
- package/node_modules/get-east-asian-width/index.js +0 -30
- package/node_modules/get-east-asian-width/license +0 -9
- package/node_modules/get-east-asian-width/lookup-data.js +0 -21
- package/node_modules/get-east-asian-width/lookup.js +0 -138
- package/node_modules/get-east-asian-width/package.json +0 -71
- package/node_modules/get-east-asian-width/readme.md +0 -65
- package/node_modules/get-east-asian-width/utilities.js +0 -24
- package/node_modules/marked/LICENSE.md +0 -44
- package/node_modules/marked/README.md +0 -106
- package/node_modules/marked/bin/main.js +0 -282
- package/node_modules/marked/bin/marked.js +0 -15
- package/node_modules/marked/lib/marked.cjs +0 -2211
- package/node_modules/marked/lib/marked.cjs.map +0 -7
- package/node_modules/marked/lib/marked.d.cts +0 -728
- package/node_modules/marked/lib/marked.d.ts +0 -728
- package/node_modules/marked/lib/marked.esm.js +0 -2189
- package/node_modules/marked/lib/marked.esm.js.map +0 -7
- package/node_modules/marked/lib/marked.umd.js +0 -2213
- package/node_modules/marked/lib/marked.umd.js.map +0 -7
- package/node_modules/marked/man/marked.1 +0 -111
- package/node_modules/marked/man/marked.1.md +0 -92
- package/node_modules/marked/marked.min.js +0 -69
- package/node_modules/marked/package.json +0 -111
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.26-alpha.10",
|
|
4
4
|
"description": "Atomic coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"atomicConfig": {
|
|
@@ -63,20 +63,18 @@
|
|
|
63
63
|
"copy-builtin-workflows": "bun run copy-builtin-packages",
|
|
64
64
|
"docs:check": "bun run scripts/validate-docs-links.ts",
|
|
65
65
|
"verify:workflow-types": "bun run scripts/verify-workflow-sdk-types.ts",
|
|
66
|
-
"verify:bundled-pi-tui": "bun run scripts/verify-bundled-pi-tui-install.ts",
|
|
67
66
|
"test": "vitest --run",
|
|
68
|
-
"prepack": "bun run scripts/materialize-bundled-pi-tui.ts",
|
|
69
|
-
"postpack": "bun run scripts/materialize-bundled-pi-tui.ts --clean",
|
|
70
67
|
"prepublishOnly": "bun run clean && bun run build"
|
|
71
68
|
},
|
|
72
69
|
"dependencies": {
|
|
73
|
-
"@earendil-works/pi-agent-core": "^0.78.
|
|
74
|
-
"@earendil-works/pi-ai": "^0.78.
|
|
75
|
-
"@earendil-works/pi-tui": "^0.78.
|
|
70
|
+
"@earendil-works/pi-agent-core": "^0.78.1",
|
|
71
|
+
"@earendil-works/pi-ai": "^0.78.1",
|
|
72
|
+
"@earendil-works/pi-tui": "^0.78.1",
|
|
76
73
|
"@modelcontextprotocol/ext-apps": "^1.7.2",
|
|
77
74
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
78
75
|
"@mozilla/readability": "^0.6.0",
|
|
79
76
|
"@silvia-odwyer/photon-node": "^0.3.4",
|
|
77
|
+
"better-sqlite3": "12.10.0",
|
|
80
78
|
"chalk": "^5.5.0",
|
|
81
79
|
"cross-spawn": "7.0.6",
|
|
82
80
|
"diff": "^8.0.2",
|
|
@@ -97,11 +95,6 @@
|
|
|
97
95
|
"yaml": "^2.9.0",
|
|
98
96
|
"zod": "^3.25.0 || ^4.0.0"
|
|
99
97
|
},
|
|
100
|
-
"bundleDependencies": [
|
|
101
|
-
"@earendil-works/pi-tui",
|
|
102
|
-
"get-east-asian-width",
|
|
103
|
-
"marked"
|
|
104
|
-
],
|
|
105
98
|
"overrides": {
|
|
106
99
|
"rimraf": "6.1.2",
|
|
107
100
|
"gaxios": {
|
|
@@ -112,6 +105,7 @@
|
|
|
112
105
|
"@mariozechner/clipboard": "^0.3.6"
|
|
113
106
|
},
|
|
114
107
|
"devDependencies": {
|
|
108
|
+
"@types/better-sqlite3": "7.6.13",
|
|
115
109
|
"@types/cross-spawn": "6.0.6",
|
|
116
110
|
"@types/diff": "^7.0.2",
|
|
117
111
|
"@types/hosted-git-info": "^3.0.5",
|
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: browser-use
|
|
3
|
-
description: Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, or extract information from web pages.
|
|
4
|
-
allowed-tools: Bash(browser-use:*)
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Browser Automation with browser-use CLI
|
|
8
|
-
|
|
9
|
-
The `browser-use` command provides fast, persistent browser automation. A background daemon keeps the browser open across commands, giving ~50ms latency per call.
|
|
10
|
-
|
|
11
|
-
## Prerequisites
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
browser-use doctor # Verify installation
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
For setup details, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md
|
|
18
|
-
|
|
19
|
-
## Core Workflow
|
|
20
|
-
|
|
21
|
-
1. **Navigate**: `browser-use open <url>` — launches headless browser and opens page
|
|
22
|
-
2. **Inspect**: `browser-use state` — returns clickable elements with indices
|
|
23
|
-
3. **Interact**: use indices from state (`browser-use click 5`, `browser-use input 3 "text"`)
|
|
24
|
-
4. **Verify**: `browser-use state` or `browser-use screenshot` to confirm
|
|
25
|
-
5. **Repeat**: browser stays open between commands
|
|
26
|
-
|
|
27
|
-
If a command fails, run `browser-use close` first to clear any broken session, then retry.
|
|
28
|
-
|
|
29
|
-
To use the user's existing Chrome (preserves logins/cookies): run `browser-use connect` first.
|
|
30
|
-
To use a cloud browser instead: run `browser-use cloud connect` first.
|
|
31
|
-
After either, commands work the same way.
|
|
32
|
-
|
|
33
|
-
### If `browser-use connect` fails
|
|
34
|
-
|
|
35
|
-
When `browser-use connect` cannot find a running Chrome with remote debugging, prompt the user with two options:
|
|
36
|
-
|
|
37
|
-
1. **Use their real Chrome browser** — they need to enable remote debugging first:
|
|
38
|
-
- Open `chrome://inspect/#remote-debugging` in Chrome, or relaunch Chrome with `--remote-debugging-port=9222`
|
|
39
|
-
- Then retry `browser-use connect`
|
|
40
|
-
2. **Use managed Chromium with their Chrome profile** — no Chrome setup needed:
|
|
41
|
-
- Run `browser-use profile list` to show available profiles
|
|
42
|
-
- Ask which profile they want, then use `browser-use --profile "ProfileName" open <url>`
|
|
43
|
-
- This launches a separate Chromium instance with their profile data (cookies, logins, extensions)
|
|
44
|
-
|
|
45
|
-
Let the user choose — don't assume one path over the other.
|
|
46
|
-
|
|
47
|
-
## Browser Modes
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
browser-use open <url> # Default: headless Chromium (no setup needed)
|
|
51
|
-
browser-use --headed open <url> # Visible window (for debugging)
|
|
52
|
-
browser-use connect # Connect to user's Chrome (preserves logins/cookies)
|
|
53
|
-
browser-use cloud connect # Cloud browser (zero-config, requires API key)
|
|
54
|
-
browser-use --profile "Default" open <url> # Real Chrome with specific profile
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
After `connect` or `cloud connect`, all subsequent commands go to that browser — no extra flags needed.
|
|
58
|
-
|
|
59
|
-
## Commands
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
# Navigation
|
|
63
|
-
browser-use open <url> # Navigate to URL
|
|
64
|
-
browser-use back # Go back in history
|
|
65
|
-
browser-use scroll down # Scroll down (--amount N for pixels)
|
|
66
|
-
browser-use scroll up # Scroll up
|
|
67
|
-
browser-use tab list # List all tabs
|
|
68
|
-
browser-use tab new [url] # Open a new tab (blank or with URL)
|
|
69
|
-
browser-use tab switch <index> # Switch to tab by index
|
|
70
|
-
browser-use tab close <index> [index...] # Close one or more tabs
|
|
71
|
-
|
|
72
|
-
# Page State — always run state first to get element indices
|
|
73
|
-
browser-use state # URL, title, clickable elements with indices
|
|
74
|
-
browser-use screenshot [path.png] # Screenshot (base64 if no path, --full for full page)
|
|
75
|
-
|
|
76
|
-
# Interactions — use indices from state
|
|
77
|
-
browser-use click <index> # Click element by index
|
|
78
|
-
browser-use click <x> <y> # Click at pixel coordinates
|
|
79
|
-
browser-use type "text" # Type into focused element
|
|
80
|
-
browser-use input <index> "text" # Click element, clear existing text, then type
|
|
81
|
-
browser-use input <index> "" # Clear a field without typing new text
|
|
82
|
-
browser-use keys "Enter" # Send keyboard keys (also "Control+a", etc.)
|
|
83
|
-
browser-use select <index> "option" # Select dropdown option
|
|
84
|
-
browser-use upload <index> <path> # Upload file to file input
|
|
85
|
-
browser-use hover <index> # Hover over element
|
|
86
|
-
browser-use dblclick <index> # Double-click element
|
|
87
|
-
browser-use rightclick <index> # Right-click element
|
|
88
|
-
|
|
89
|
-
# Data Extraction
|
|
90
|
-
browser-use eval "js code" # Execute JavaScript, return result
|
|
91
|
-
browser-use get title # Page title
|
|
92
|
-
browser-use get html [--selector "h1"] # Page HTML (or scoped to selector)
|
|
93
|
-
browser-use get text <index> # Element text content
|
|
94
|
-
browser-use get value <index> # Input/textarea value
|
|
95
|
-
browser-use get attributes <index> # Element attributes
|
|
96
|
-
browser-use get bbox <index> # Bounding box (x, y, width, height)
|
|
97
|
-
|
|
98
|
-
# Wait
|
|
99
|
-
browser-use wait selector "css" # Wait for element (--state visible|hidden|attached|detached, --timeout ms)
|
|
100
|
-
browser-use wait text "text" # Wait for text to appear
|
|
101
|
-
|
|
102
|
-
# Cookies
|
|
103
|
-
browser-use cookies get [--url <url>] # Get cookies (optionally filtered)
|
|
104
|
-
browser-use cookies set <name> <value> # Set cookie (--domain, --secure, --http-only, --same-site, --expires)
|
|
105
|
-
browser-use cookies clear [--url <url>] # Clear cookies
|
|
106
|
-
browser-use cookies export <file> # Export to JSON
|
|
107
|
-
browser-use cookies import <file> # Import from JSON
|
|
108
|
-
|
|
109
|
-
# Session
|
|
110
|
-
browser-use close # Close browser and stop daemon
|
|
111
|
-
browser-use sessions # List active sessions
|
|
112
|
-
browser-use close --all # Close all sessions
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
For advanced browser control (CDP, device emulation, tab activation), see `references/cdp-python.md`.
|
|
116
|
-
|
|
117
|
-
## Cloud API
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
browser-use cloud connect # Provision cloud browser and connect (zero-config)
|
|
121
|
-
browser-use cloud login <api-key> # Save API key (or set BROWSER_USE_API_KEY)
|
|
122
|
-
browser-use cloud logout # Remove API key
|
|
123
|
-
browser-use cloud v2 GET /browsers # REST passthrough (v2 or v3)
|
|
124
|
-
browser-use cloud v2 POST /tasks '{"task":"...","url":"..."}'
|
|
125
|
-
browser-use cloud v2 poll <task-id> # Poll task until done
|
|
126
|
-
browser-use cloud v2 --help # Show API endpoints
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
`cloud connect` provisions a cloud browser with a persistent profile (auto-created on first use), connects via CDP, and prints a live URL. `browser-use close` disconnects AND stops the cloud browser. For custom browser settings (proxy, timeout, specific profile), use `cloud v2 POST /browsers` directly with the desired parameters.
|
|
130
|
-
|
|
131
|
-
### Agent Self-Registration
|
|
132
|
-
|
|
133
|
-
Only use this if you don't already have an API key (check `browser-use doctor` to see if api_key is set). If already logged in, skip this entirely.
|
|
134
|
-
|
|
135
|
-
1. `browser-use cloud signup` — get a challenge
|
|
136
|
-
2. Solve the challenge
|
|
137
|
-
3. `browser-use cloud signup --verify <challenge-id> <answer>` — verify and save API key
|
|
138
|
-
4. `browser-use cloud signup --claim` — generate URL for a human to claim the account
|
|
139
|
-
|
|
140
|
-
## Tunnels
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
browser-use tunnel <port> # Start Cloudflare tunnel (idempotent)
|
|
144
|
-
browser-use tunnel list # Show active tunnels
|
|
145
|
-
browser-use tunnel stop <port> # Stop tunnel
|
|
146
|
-
browser-use tunnel stop --all # Stop all tunnels
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## Profile Management
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
browser-use profile list # List detected browsers and profiles
|
|
153
|
-
browser-use profile sync --all # Sync profiles to cloud
|
|
154
|
-
browser-use profile update # Download/update profile-use binary
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## Command Chaining
|
|
158
|
-
|
|
159
|
-
Commands can be chained with `&&`. The browser persists via the daemon, so chaining is safe and efficient.
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
browser-use open https://example.com && browser-use state
|
|
163
|
-
browser-use input 5 "user@example.com" && browser-use input 6 "password" && browser-use click 7
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
Chain when you don't need intermediate output. Run separately when you need to parse `state` to discover indices first.
|
|
167
|
-
|
|
168
|
-
## Common Workflows
|
|
169
|
-
|
|
170
|
-
### Authenticated Browsing
|
|
171
|
-
|
|
172
|
-
When a task requires an authenticated site (Gmail, GitHub, internal tools), use Chrome profiles:
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
browser-use profile list # Check available profiles
|
|
176
|
-
# Ask the user which profile to use, then:
|
|
177
|
-
browser-use --profile "Default" open https://github.com # Already logged in
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### Exposing Local Dev Servers
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
browser-use tunnel 3000 # → https://abc.trycloudflare.com
|
|
184
|
-
browser-use open https://abc.trycloudflare.com # Browse the tunnel
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
## Multiple Browsers
|
|
188
|
-
|
|
189
|
-
For subagent workflows or running multiple browsers in parallel, use `--session NAME`. Each session gets its own browser. See `references/multi-session.md`.
|
|
190
|
-
|
|
191
|
-
## Configuration
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
browser-use config list # Show all config values
|
|
195
|
-
browser-use config set cloud_connect_proxy jp # Set a value
|
|
196
|
-
browser-use config get cloud_connect_proxy # Get a value
|
|
197
|
-
browser-use config unset cloud_connect_timeout # Remove a value
|
|
198
|
-
browser-use doctor # Shows config + diagnostics
|
|
199
|
-
browser-use setup # Interactive post-install setup
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
Config stored in `~/.browser-use/config.json`.
|
|
203
|
-
|
|
204
|
-
## Global Options
|
|
205
|
-
|
|
206
|
-
| Option | Description |
|
|
207
|
-
|--------|-------------|
|
|
208
|
-
| `--headed` | Show browser window |
|
|
209
|
-
| `--profile [NAME]` | Use real Chrome (bare `--profile` uses "Default") |
|
|
210
|
-
| `--cdp-url <url>` | Connect via CDP URL (`http://` or `ws://`) |
|
|
211
|
-
| `--session NAME` | Target a named session (default: "default") |
|
|
212
|
-
| `--json` | Output as JSON |
|
|
213
|
-
| `--mcp` | Run as MCP server via stdin/stdout |
|
|
214
|
-
|
|
215
|
-
## Tips
|
|
216
|
-
|
|
217
|
-
1. **Always run `state` first** to see available elements and their indices
|
|
218
|
-
2. **Use `--headed` for debugging** to see what the browser is doing
|
|
219
|
-
3. **Sessions persist** — browser stays open between commands
|
|
220
|
-
4. **CLI aliases**: `bu`, `browser`, and `browseruse` all work
|
|
221
|
-
5. **If commands fail**, run `browser-use close` first, then retry
|
|
222
|
-
|
|
223
|
-
## Troubleshooting
|
|
224
|
-
|
|
225
|
-
- **Browser won't start?** `browser-use close` then `browser-use --headed open <url>`
|
|
226
|
-
- **Element not found?** `browser-use scroll down` then `browser-use state`
|
|
227
|
-
- **Run diagnostics:** `browser-use doctor`
|
|
228
|
-
|
|
229
|
-
## Cleanup
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
browser-use close # Close browser session
|
|
233
|
-
browser-use tunnel stop --all # Stop tunnels (if any)
|
|
234
|
-
```
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Raw CDP & Python Session Reference
|
|
2
|
-
|
|
3
|
-
The CLI commands handle most browser interactions. Use `browser-use python` with raw CDP when you need browser-level control the CLI doesn't expose — activating a tab so the user sees it, intercepting network requests, emulating devices, or working with Chrome target IDs directly.
|
|
4
|
-
|
|
5
|
-
## How the Python session works
|
|
6
|
-
|
|
7
|
-
`browser-use python "statement"` executes one Python statement per call. Variables persist across calls — set a value in one call, use it in the next.
|
|
8
|
-
|
|
9
|
-
A `browser` object is pre-injected with sync wrappers for common operations (`browser.goto()`, `browser.click()`, etc.). For anything beyond those, two internals give you full access:
|
|
10
|
-
|
|
11
|
-
- `browser._run(coroutine)` — run any async coroutine synchronously (60s timeout)
|
|
12
|
-
- `browser._session` — the raw `BrowserSession` with full CDP client access
|
|
13
|
-
|
|
14
|
-
## Getting a CDP client
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
After this, `cdp` persists across calls. Use `cdp.cdp_client.send.<Domain>.<method>()` for any CDP command and `cdp.session_id` for the session parameter.
|
|
21
|
-
|
|
22
|
-
## Recipes
|
|
23
|
-
|
|
24
|
-
### Activate a tab (make it visible to the user)
|
|
25
|
-
|
|
26
|
-
The CLI's `tab switch` only changes the agent's internal focus — Chrome's visible tab doesn't change. To actually show the user a specific tab:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
# Get all targets to find the target ID
|
|
30
|
-
browser-use python "targets = browser._session.session_manager.get_all_page_targets()"
|
|
31
|
-
browser-use python "print([(i, t.url) for i, t in enumerate(targets)])"
|
|
32
|
-
|
|
33
|
-
# Activate target at index 1 so the user sees it
|
|
34
|
-
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session(target_id=None, focus=False))"
|
|
35
|
-
browser-use python "browser._run(cdp.cdp_client.send.Target.activateTarget(params={'targetId': targets[1].target_id}))"
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### List all tabs with target IDs
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
browser-use python "targets = browser._session.session_manager.get_all_page_targets()"
|
|
42
|
-
browser-use python "
|
|
43
|
-
for i, t in enumerate(targets):
|
|
44
|
-
print(f'{i}: {t.target_id[:12]}... {t.url}')
|
|
45
|
-
"
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Run JavaScript and get the result
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
|
|
52
|
-
browser-use python "result = browser._run(cdp.cdp_client.send.Runtime.evaluate(params={'expression': 'document.title', 'returnByValue': True}, session_id=cdp.session_id))"
|
|
53
|
-
browser-use python "print(result['result']['value'])"
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Emulate a mobile device
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
|
|
60
|
-
browser-use python "browser._run(cdp.cdp_client.send.Emulation.setDeviceMetricsOverride(params={'width': 375, 'height': 812, 'deviceScaleFactor': 3, 'mobile': True}, session_id=cdp.session_id))"
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Get cookies via CDP
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
|
|
67
|
-
browser-use python "cookies = browser._run(cdp.cdp_client.send.Network.getCookies(params={}, session_id=cdp.session_id))"
|
|
68
|
-
browser-use python "print(cookies)"
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Tips
|
|
72
|
-
|
|
73
|
-
- Each `browser-use python` call is one statement. Multi-line strings work for `for` loops and `if` blocks, but you can't mix statements and expressions. Use multiple calls.
|
|
74
|
-
- Variables persist: set `cdp = ...` in one call, use `cdp` in the next.
|
|
75
|
-
- The `browser._run()` bridge has a 60-second timeout. For long operations, increase it or use the async internals directly.
|
|
76
|
-
- All CDP domains are available via `cdp.cdp_client.send.<Domain>.<method>()`. See the [Chrome DevTools Protocol docs](https://chromedevtools.github.io/devtools-protocol/) for the full API.
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Multiple Browser Sessions
|
|
2
|
-
|
|
3
|
-
## Why use multiple sessions
|
|
4
|
-
|
|
5
|
-
When you need more than one browser at a time:
|
|
6
|
-
- Cloud browser for scraping + local Chrome for authenticated tasks
|
|
7
|
-
- Two different Chrome profiles simultaneously
|
|
8
|
-
- Isolated browser for testing that won't affect the user's browsing
|
|
9
|
-
- Running a headed browser for debugging while headless runs in background
|
|
10
|
-
|
|
11
|
-
## How sessions are isolated
|
|
12
|
-
|
|
13
|
-
Each `--session NAME` gets:
|
|
14
|
-
- Its own daemon process
|
|
15
|
-
- Its own Unix socket (`~/.browser-use/{name}.sock`)
|
|
16
|
-
- Its own PID file and state file
|
|
17
|
-
- Its own browser instance (completely independent)
|
|
18
|
-
- Its own tab ownership state (multi-agent locks don't cross sessions)
|
|
19
|
-
|
|
20
|
-
## The `--session` flag
|
|
21
|
-
|
|
22
|
-
Must be passed on every command targeting that session:
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
browser-use --session work open <url> # goes to 'work' daemon
|
|
26
|
-
browser-use --session work state # reads from 'work' daemon
|
|
27
|
-
browser-use state # goes to 'default' daemon (different browser)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
If you forget `--session`, the command goes to the `default` session. This is the most common mistake — you'll interact with the wrong browser.
|
|
31
|
-
|
|
32
|
-
## Combining sessions with browser modes
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
# Session 1: cloud browser
|
|
36
|
-
browser-use --session cloud cloud connect
|
|
37
|
-
|
|
38
|
-
# Session 2: connect to user's Chrome
|
|
39
|
-
browser-use --session chrome connect
|
|
40
|
-
|
|
41
|
-
# Session 3: headed Chromium for debugging
|
|
42
|
-
browser-use --session debug --headed open <url>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Each session is fully independent. The cloud session talks to a remote browser, the chrome session talks to the user's Chrome, and the debug session manages its own Chromium — all running simultaneously.
|
|
46
|
-
|
|
47
|
-
## Listing and managing sessions
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
browser-use sessions
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Output:
|
|
54
|
-
```
|
|
55
|
-
SESSION PHASE PID CONFIG
|
|
56
|
-
cloud running 12345 cloud
|
|
57
|
-
chrome running 12346 cdp
|
|
58
|
-
debug ready 12347 headed
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
PHASE shows the daemon lifecycle state: `initializing`, `ready`, `starting`, `running`, `shutting_down`, `stopped`, `failed`.
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
browser-use --session cloud close # close one session
|
|
65
|
-
browser-use close --all # close every session
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Common patterns
|
|
69
|
-
|
|
70
|
-
**Cloud + local authenticated:**
|
|
71
|
-
```bash
|
|
72
|
-
browser-use --session scraper cloud connect
|
|
73
|
-
browser-use --session scraper open https://example.com
|
|
74
|
-
# ... scrape data ...
|
|
75
|
-
|
|
76
|
-
browser-use --session auth --profile "Default" open https://github.com
|
|
77
|
-
browser-use --session auth state
|
|
78
|
-
# ... interact with authenticated site ...
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Throwaway test browser:**
|
|
82
|
-
```bash
|
|
83
|
-
browser-use --session test --headed open https://localhost:3000
|
|
84
|
-
# ... test, debug, inspect ...
|
|
85
|
-
browser-use --session test close # done, clean up
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
**Environment variable:**
|
|
89
|
-
```bash
|
|
90
|
-
export BROWSER_USE_SESSION=work
|
|
91
|
-
browser-use open <url> # uses 'work' session without --session flag
|
|
92
|
-
```
|