@intent-systems/nexus 2026.1.5-3
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 +222 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +462 -0
- package/dist/agents/agent-paths.js +16 -0
- package/dist/agents/agent-scope.js +44 -0
- package/dist/agents/auth-profiles.js +626 -0
- package/dist/agents/bash-process-registry.js +126 -0
- package/dist/agents/bash-tools.js +838 -0
- package/dist/agents/chutes-oauth.js +47 -0
- package/dist/agents/clawdbot-tools.js +62 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/memory-search.js +80 -0
- package/dist/agents/model-auth.js +115 -0
- package/dist/agents/model-catalog.js +55 -0
- package/dist/agents/model-fallback.js +210 -0
- package/dist/agents/model-scan.js +263 -0
- package/dist/agents/model-selection.js +152 -0
- package/dist/agents/models-config.js +171 -0
- package/dist/agents/nexus-tools.js +46 -0
- package/dist/agents/pi-embedded-block-chunker.js +188 -0
- package/dist/agents/pi-embedded-helpers.js +139 -0
- package/dist/agents/pi-embedded-runner.js +932 -0
- package/dist/agents/pi-embedded-subscribe.js +541 -0
- package/dist/agents/pi-embedded-utils.js +20 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
- package/dist/agents/pi-tool-definition-adapter.js +17 -0
- package/dist/agents/pi-tools.js +510 -0
- package/dist/agents/pi-tools.schema.js +358 -0
- package/dist/agents/sandbox-paths.js +68 -0
- package/dist/agents/sandbox.js +667 -0
- package/dist/agents/shell-utils.js +53 -0
- package/dist/agents/skill-runner.js +224 -0
- package/dist/agents/skill-state.js +164 -0
- package/dist/agents/skill-tools.js +191 -0
- package/dist/agents/skill-usage.js +43 -0
- package/dist/agents/skills-install.js +244 -0
- package/dist/agents/skills-status.js +157 -0
- package/dist/agents/skills.js +472 -0
- package/dist/agents/subagent-registry.js +321 -0
- package/dist/agents/subagent-registry.store.js +47 -0
- package/dist/agents/system-prompt.js +179 -0
- package/dist/agents/timeout.js +26 -0
- package/dist/agents/tool-display.js +155 -0
- package/dist/agents/tool-display.json +236 -0
- package/dist/agents/tool-images.js +138 -0
- package/dist/agents/tool-policy.js +87 -0
- package/dist/agents/tools/agent-step.js +41 -0
- package/dist/agents/tools/browser-tool.js +295 -0
- package/dist/agents/tools/canvas-tool.js +193 -0
- package/dist/agents/tools/common.js +88 -0
- package/dist/agents/tools/cron-tool.js +141 -0
- package/dist/agents/tools/discord-actions-guild.js +186 -0
- package/dist/agents/tools/discord-actions-messaging.js +313 -0
- package/dist/agents/tools/discord-actions-moderation.js +70 -0
- package/dist/agents/tools/discord-actions.js +56 -0
- package/dist/agents/tools/discord-schema.js +199 -0
- package/dist/agents/tools/discord-tool.js +16 -0
- package/dist/agents/tools/gateway-tool.js +46 -0
- package/dist/agents/tools/gateway.js +28 -0
- package/dist/agents/tools/image-tool.js +140 -0
- package/dist/agents/tools/memory-tool.js +92 -0
- package/dist/agents/tools/nodes-tool.js +413 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/sessions-announce-target.js +35 -0
- package/dist/agents/tools/sessions-helpers.js +88 -0
- package/dist/agents/tools/sessions-history-tool.js +137 -0
- package/dist/agents/tools/sessions-list-tool.js +196 -0
- package/dist/agents/tools/sessions-send-helpers.js +103 -0
- package/dist/agents/tools/sessions-send-tool.js +371 -0
- package/dist/agents/tools/sessions-spawn-tool.js +319 -0
- package/dist/agents/tools/slack-actions.js +129 -0
- package/dist/agents/tools/slack-schema.js +59 -0
- package/dist/agents/tools/slack-tool.js +16 -0
- package/dist/agents/tools/telegram-actions.js +159 -0
- package/dist/agents/tools/telegram-schema.js +28 -0
- package/dist/agents/tools/telegram-tool.js +16 -0
- package/dist/agents/tools/whatsapp-login-tool.js +63 -0
- package/dist/agents/usage.js +58 -0
- package/dist/agents/workspace.js +264 -0
- package/dist/auto-reply/chunk.js +177 -0
- package/dist/auto-reply/command-auth.js +44 -0
- package/dist/auto-reply/command-detection.js +22 -0
- package/dist/auto-reply/envelope.js +30 -0
- package/dist/auto-reply/group-activation.js +20 -0
- package/dist/auto-reply/heartbeat.js +58 -0
- package/dist/auto-reply/model.js +22 -0
- package/dist/auto-reply/reply/abort.js +14 -0
- package/dist/auto-reply/reply/agent-runner.js +426 -0
- package/dist/auto-reply/reply/bash-command.js +314 -0
- package/dist/auto-reply/reply/block-streaming.js +34 -0
- package/dist/auto-reply/reply/body.js +29 -0
- package/dist/auto-reply/reply/commands.js +332 -0
- package/dist/auto-reply/reply/directive-handling.js +626 -0
- package/dist/auto-reply/reply/directives.js +59 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
- package/dist/auto-reply/reply/followup-runner.js +181 -0
- package/dist/auto-reply/reply/groups.js +152 -0
- package/dist/auto-reply/reply/mentions.js +64 -0
- package/dist/auto-reply/reply/model-selection.js +209 -0
- package/dist/auto-reply/reply/queue.js +399 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
- package/dist/auto-reply/reply/reply-tags.js +26 -0
- package/dist/auto-reply/reply/session-updates.js +103 -0
- package/dist/auto-reply/reply/session.js +169 -0
- package/dist/auto-reply/reply/typing.js +125 -0
- package/dist/auto-reply/reply.js +655 -0
- package/dist/auto-reply/send-policy.js +28 -0
- package/dist/auto-reply/status.js +197 -0
- package/dist/auto-reply/templating.js +9 -0
- package/dist/auto-reply/thinking.js +49 -0
- package/dist/auto-reply/tokens.js +2 -0
- package/dist/auto-reply/tool-meta.js +74 -0
- package/dist/auto-reply/transcription.js +57 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-server.js +37 -0
- package/dist/browser/cdp.js +382 -0
- package/dist/browser/chrome.js +432 -0
- package/dist/browser/client-actions-core.js +67 -0
- package/dist/browser/client-actions-observe.js +24 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +3 -0
- package/dist/browser/client-fetch.js +43 -0
- package/dist/browser/client.js +105 -0
- package/dist/browser/config.js +155 -0
- package/dist/browser/constants.js +5 -0
- package/dist/browser/profiles-service.js +124 -0
- package/dist/browser/profiles.js +96 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-session.js +144 -0
- package/dist/browser/pw-tools-core.js +363 -0
- package/dist/browser/routes/agent.js +535 -0
- package/dist/browser/routes/basic.js +155 -0
- package/dist/browser/routes/index.js +8 -0
- package/dist/browser/routes/tabs.js +105 -0
- package/dist/browser/routes/utils.js +62 -0
- package/dist/browser/screenshot.js +40 -0
- package/dist/browser/server-context.js +377 -0
- package/dist/browser/server.js +81 -0
- package/dist/browser/target-id.js +18 -0
- package/dist/browser/trash.js +21 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
- package/dist/canvas-host/a2ui/index.html +246 -0
- package/dist/canvas-host/a2ui.js +187 -0
- package/dist/canvas-host/server.js +382 -0
- package/dist/channel-web.js +8 -0
- package/dist/cli/browser-cli-actions-input.js +459 -0
- package/dist/cli/browser-cli-actions-observe.js +56 -0
- package/dist/cli/browser-cli-examples.js +31 -0
- package/dist/cli/browser-cli-inspect.js +97 -0
- package/dist/cli/browser-cli-manage.js +286 -0
- package/dist/cli/browser-cli-shared.js +1 -0
- package/dist/cli/browser-cli.js +26 -0
- package/dist/cli/canvas-cli.js +416 -0
- package/dist/cli/cloud-cli.js +336 -0
- package/dist/cli/credential-cli.js +227 -0
- package/dist/cli/cron-cli.js +454 -0
- package/dist/cli/deps.js +17 -0
- package/dist/cli/dns-cli.js +180 -0
- package/dist/cli/gateway-cli.js +665 -0
- package/dist/cli/gateway-rpc.js +20 -0
- package/dist/cli/hooks-cli.js +135 -0
- package/dist/cli/memory-cli.js +101 -0
- package/dist/cli/models-cli.js +248 -0
- package/dist/cli/nodes-camera.js +57 -0
- package/dist/cli/nodes-canvas.js +26 -0
- package/dist/cli/nodes-cli.js +946 -0
- package/dist/cli/nodes-screen.js +37 -0
- package/dist/cli/pairing-cli.js +100 -0
- package/dist/cli/parse-duration.js +20 -0
- package/dist/cli/plugins-cli.js +158 -0
- package/dist/cli/ports.js +97 -0
- package/dist/cli/profile.js +81 -0
- package/dist/cli/program.js +162 -0
- package/dist/cli/prompt.js +19 -0
- package/dist/cli/run-main.js +48 -0
- package/dist/cli/skills-cli.js +132 -0
- package/dist/cli/skills-hub-cli.js +1093 -0
- package/dist/cli/telegram-cli.js +56 -0
- package/dist/cli/tool-connector-cli.js +118 -0
- package/dist/cli/tui-cli.js +35 -0
- package/dist/cli/upstream-sync-cli.js +2833 -0
- package/dist/cli/usage-cli.js +24 -0
- package/dist/cli/wait.js +8 -0
- package/dist/commands/agent-via-gateway.js +115 -0
- package/dist/commands/agent.js +665 -0
- package/dist/commands/antigravity-oauth.js +327 -0
- package/dist/commands/auth-choice-options.js +80 -0
- package/dist/commands/auth-choice.js +134 -0
- package/dist/commands/auth-token.js +31 -0
- package/dist/commands/bootstrap-preset.js +214 -0
- package/dist/commands/capabilities.js +36 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/claude-md.js +137 -0
- package/dist/commands/config-view.js +11 -0
- package/dist/commands/configure.js +648 -0
- package/dist/commands/credential.js +236 -0
- package/dist/commands/cursor-rules.js +230 -0
- package/dist/commands/doctor-state-migrations.js +358 -0
- package/dist/commands/doctor-ui.js +113 -0
- package/dist/commands/doctor.js +673 -0
- package/dist/commands/health.js +112 -0
- package/dist/commands/identity.js +54 -0
- package/dist/commands/init.js +167 -0
- package/dist/commands/models/aliases.js +85 -0
- package/dist/commands/models/fallbacks.js +123 -0
- package/dist/commands/models/image-fallbacks.js +123 -0
- package/dist/commands/models/list.js +347 -0
- package/dist/commands/models/scan.js +271 -0
- package/dist/commands/models/set-image.js +27 -0
- package/dist/commands/models/set.js +27 -0
- package/dist/commands/models/shared.js +73 -0
- package/dist/commands/models.js +7 -0
- package/dist/commands/onboard-auth.js +101 -0
- package/dist/commands/onboard-channels.js +814 -0
- package/dist/commands/onboard-eve-identity.js +98 -0
- package/dist/commands/onboard-github.js +153 -0
- package/dist/commands/onboard-helpers.js +303 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive.js +228 -0
- package/dist/commands/onboard-providers.js +829 -0
- package/dist/commands/onboard-quickstart.js +185 -0
- package/dist/commands/onboard-remote.js +120 -0
- package/dist/commands/onboard-skills.js +148 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +19 -0
- package/dist/commands/openai-codex-model-default.js +38 -0
- package/dist/commands/poll.js +64 -0
- package/dist/commands/quest.js +27 -0
- package/dist/commands/reset.js +61 -0
- package/dist/commands/send.js +124 -0
- package/dist/commands/sessions-ingest.js +359 -0
- package/dist/commands/sessions.js +212 -0
- package/dist/commands/setup.js +59 -0
- package/dist/commands/signal-install.js +135 -0
- package/dist/commands/skills-manifest.js +235 -0
- package/dist/commands/status.js +139 -0
- package/dist/commands/suggestions.js +54 -0
- package/dist/commands/systemd-linger.js +71 -0
- package/dist/commands/update.js +16 -0
- package/dist/commands/usage-upload.js +27 -0
- package/dist/config/config.js +6 -0
- package/dist/config/defaults.js +140 -0
- package/dist/config/group-policy.js +49 -0
- package/dist/config/includes.js +183 -0
- package/dist/config/io.js +188 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +425 -0
- package/dist/config/paths.js +82 -0
- package/dist/config/port-defaults.js +32 -0
- package/dist/config/schema.js +173 -0
- package/dist/config/sessions.js +611 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/types.js +1 -0
- package/dist/config/validation.js +29 -0
- package/dist/config/zod-schema.js +1110 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
- package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/index.html +16 -0
- package/dist/cron/isolated-agent.js +529 -0
- package/dist/cron/normalize.js +73 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/run-log.js +72 -0
- package/dist/cron/schedule.js +24 -0
- package/dist/cron/service.js +471 -0
- package/dist/cron/store.js +43 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +10 -0
- package/dist/daemon/launchd.js +295 -0
- package/dist/daemon/legacy.js +63 -0
- package/dist/daemon/program-args.js +141 -0
- package/dist/daemon/schtasks.js +269 -0
- package/dist/daemon/service.js +69 -0
- package/dist/daemon/systemd.js +332 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor.js +1089 -0
- package/dist/discord/probe.js +54 -0
- package/dist/discord/send.js +652 -0
- package/dist/discord/token.js +8 -0
- package/dist/entry.js +16 -0
- package/dist/gateway/auth.js +121 -0
- package/dist/gateway/call.js +103 -0
- package/dist/gateway/chat-attachments.js +41 -0
- package/dist/gateway/client.js +180 -0
- package/dist/gateway/config-reload.js +274 -0
- package/dist/gateway/control-ui.js +184 -0
- package/dist/gateway/hooks-mapping.js +282 -0
- package/dist/gateway/hooks.js +168 -0
- package/dist/gateway/net.js +29 -0
- package/dist/gateway/protocol/index.js +62 -0
- package/dist/gateway/protocol/schema.js +577 -0
- package/dist/gateway/server-bridge-subscriptions.js +93 -0
- package/dist/gateway/server-bridge.js +1066 -0
- package/dist/gateway/server-browser.js +11 -0
- package/dist/gateway/server-channels.js +680 -0
- package/dist/gateway/server-chat.js +159 -0
- package/dist/gateway/server-constants.js +8 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +165 -0
- package/dist/gateway/server-methods/agent-job.js +114 -0
- package/dist/gateway/server-methods/agent.js +254 -0
- package/dist/gateway/server-methods/channels.js +239 -0
- package/dist/gateway/server-methods/chat.js +207 -0
- package/dist/gateway/server-methods/config.js +50 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +89 -0
- package/dist/gateway/server-methods/health.js +28 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.js +294 -0
- package/dist/gateway/server-methods/providers.js +257 -0
- package/dist/gateway/server-methods/send.js +254 -0
- package/dist/gateway/server-methods/sessions.js +382 -0
- package/dist/gateway/server-methods/skills.js +83 -0
- package/dist/gateway/server-methods/system.js +118 -0
- package/dist/gateway/server-methods/talk.js +22 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +81 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods.js +53 -0
- package/dist/gateway/server-providers.js +687 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server.js +1478 -0
- package/dist/gateway/session-utils.js +355 -0
- package/dist/gateway/ws-log.js +343 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/gmail-ops.js +236 -0
- package/dist/hooks/gmail-setup-utils.js +278 -0
- package/dist/hooks/gmail-watcher.js +190 -0
- package/dist/hooks/gmail.js +177 -0
- package/dist/imessage/client.js +165 -0
- package/dist/imessage/index.js +3 -0
- package/dist/imessage/monitor.js +365 -0
- package/dist/imessage/probe.js +26 -0
- package/dist/imessage/send.js +83 -0
- package/dist/imessage/targets.js +176 -0
- package/dist/index.js +55 -0
- package/dist/infra/agent-events.js +46 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-discovery.js +163 -0
- package/dist/infra/bonjour.js +200 -0
- package/dist/infra/bridge/server.js +564 -0
- package/dist/infra/canvas-host-url.js +54 -0
- package/dist/infra/channel-summary.js +78 -0
- package/dist/infra/control-ui-assets.js +112 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env.js +8 -0
- package/dist/infra/errors.js +28 -0
- package/dist/infra/event-log.js +251 -0
- package/dist/infra/gateway-lock.js +8 -0
- package/dist/infra/git-commit.js +91 -0
- package/dist/infra/heartbeat-events.js +21 -0
- package/dist/infra/heartbeat-runner.js +458 -0
- package/dist/infra/heartbeat-wake.js +61 -0
- package/dist/infra/is-main.js +37 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +40 -0
- package/dist/infra/nexus-root.js +56 -0
- package/dist/infra/node-pairing.js +212 -0
- package/dist/infra/path-env.js +93 -0
- package/dist/infra/ports.js +87 -0
- package/dist/infra/provider-summary.js +80 -0
- package/dist/infra/provider-usage.auth.js +189 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +6 -0
- package/dist/infra/provider-usage.fetch.minimax.js +214 -0
- package/dist/infra/provider-usage.fetch.shared.js +11 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +77 -0
- package/dist/infra/provider-usage.js +145 -0
- package/dist/infra/provider-usage.load.js +54 -0
- package/dist/infra/provider-usage.shared.js +19 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart.js +29 -0
- package/dist/infra/retry.js +16 -0
- package/dist/infra/runtime-guard.js +59 -0
- package/dist/infra/shell-env.js +88 -0
- package/dist/infra/system-events.js +71 -0
- package/dist/infra/system-presence.js +217 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +149 -0
- package/dist/infra/unhandled-rejections.js +19 -0
- package/dist/infra/usage-suggestions.js +241 -0
- package/dist/infra/usage-upload.js +290 -0
- package/dist/infra/voicewake.js +78 -0
- package/dist/infra/widearea-dns.js +123 -0
- package/dist/infra/ws.js +13 -0
- package/dist/logger.js +52 -0
- package/dist/logging.js +506 -0
- package/dist/macos/gateway-daemon.js +145 -0
- package/dist/macos/relay.js +49 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/host.js +42 -0
- package/dist/media/image-ops.js +119 -0
- package/dist/media/mime.js +123 -0
- package/dist/media/parse.js +83 -0
- package/dist/media/server.js +64 -0
- package/dist/media/store.js +139 -0
- package/dist/polls.js +43 -0
- package/dist/process/command-queue.js +97 -0
- package/dist/process/exec.js +75 -0
- package/dist/provider-web.js +8 -0
- package/dist/providers/github-copilot-auth.js +123 -0
- package/dist/providers/github-copilot-models.js +35 -0
- package/dist/providers/github-copilot-token.js +11 -0
- package/dist/providers/location.js +48 -0
- package/dist/providers/web/index.js +2 -0
- package/dist/runtime.js +8 -0
- package/dist/sessions/level-overrides.js +9 -0
- package/dist/sessions/send-policy.js +68 -0
- package/dist/signal/client.js +134 -0
- package/dist/signal/daemon.js +69 -0
- package/dist/signal/index.js +3 -0
- package/dist/signal/monitor.js +411 -0
- package/dist/signal/probe.js +46 -0
- package/dist/signal/send.js +91 -0
- package/dist/slack/actions.js +97 -0
- package/dist/slack/index.js +5 -0
- package/dist/slack/monitor.js +1270 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/send.js +131 -0
- package/dist/slack/token.js +10 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/bot.js +724 -0
- package/dist/telegram/download.js +34 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/monitor.js +47 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +63 -0
- package/dist/telegram/proxy.js +9 -0
- package/dist/telegram/reaction-level.js +45 -0
- package/dist/telegram/send.js +151 -0
- package/dist/telegram/sent-message-cache.js +65 -0
- package/dist/telegram/token.js +30 -0
- package/dist/telegram/update-offset-store.js +61 -0
- package/dist/telegram/webhook-set.js +12 -0
- package/dist/telegram/webhook.js +56 -0
- package/dist/tui/commands.js +87 -0
- package/dist/tui/components/assistant-message.js +16 -0
- package/dist/tui/components/chat-log.js +92 -0
- package/dist/tui/components/custom-editor.js +55 -0
- package/dist/tui/components/selectors.js +8 -0
- package/dist/tui/components/tool-execution.js +111 -0
- package/dist/tui/components/user-message.js +17 -0
- package/dist/tui/gateway-chat.js +140 -0
- package/dist/tui/theme/theme.js +80 -0
- package/dist/tui/tui.js +708 -0
- package/dist/utils.js +153 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +86 -0
- package/dist/web/active-listener.js +25 -0
- package/dist/web/auto-reply.js +1256 -0
- package/dist/web/inbound.js +649 -0
- package/dist/web/login-qr.js +230 -0
- package/dist/web/login.js +71 -0
- package/dist/web/media.js +175 -0
- package/dist/web/outbound.js +102 -0
- package/dist/web/qr-image.js +97 -0
- package/dist/web/reconnect.js +60 -0
- package/dist/web/session.js +370 -0
- package/dist/wizard/clack-prompter.js +56 -0
- package/dist/wizard/onboarding.js +620 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +203 -0
- package/docs/AGENTS.default.md +116 -0
- package/docs/CAPABILITIES.md +444 -0
- package/docs/CNAME +1 -0
- package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
- package/docs/RELEASING.md +69 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +145 -0
- package/docs/agent-assisted-install.md +95 -0
- package/docs/agent-loop.md +61 -0
- package/docs/agent-send.md +21 -0
- package/docs/agent.md +108 -0
- package/docs/android.md +133 -0
- package/docs/architecture.md +114 -0
- package/docs/assets/markdown.css +133 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/terminal.css +470 -0
- package/docs/assets/theme.js +55 -0
- package/docs/audio.md +48 -0
- package/docs/automation/nexus-sync.md +371 -0
- package/docs/background-process.md +74 -0
- package/docs/bash.md +32 -0
- package/docs/bedrock.md +71 -0
- package/docs/bonjour.md +159 -0
- package/docs/browser-linux-troubleshooting.md +114 -0
- package/docs/browser.md +293 -0
- package/docs/bun.md +56 -0
- package/docs/camera.md +152 -0
- package/docs/clawd.md +212 -0
- package/docs/concepts/usage-tracking.md +29 -0
- package/docs/configuration.md +1666 -0
- package/docs/control-ui.md +83 -0
- package/docs/cron.md +385 -0
- package/docs/dashboard.md +17 -0
- package/docs/device-models.md +46 -0
- package/docs/discord.md +308 -0
- package/docs/discovery.md +112 -0
- package/docs/docker.md +258 -0
- package/docs/docs.json +105 -0
- package/docs/doctor.md +68 -0
- package/docs/elevated.md +31 -0
- package/docs/faq.md +736 -0
- package/docs/feature-inventory/overview.md +141 -0
- package/docs/feature-inventory/rollout-checklist.md +53 -0
- package/docs/feature-inventory/test-matrix.md +87 -0
- package/docs/feature-inventory.md +9 -0
- package/docs/gateway/configuration-examples.md +221 -0
- package/docs/gateway/configuration.md +172 -0
- package/docs/gateway/cron.md +61 -0
- package/docs/gateway/heartbeat.md +207 -0
- package/docs/gateway/pairing.md +109 -0
- package/docs/gateway-lock.md +28 -0
- package/docs/gateway.md +227 -0
- package/docs/gmail-pubsub.md +191 -0
- package/docs/grammy.md +27 -0
- package/docs/group-messages.md +73 -0
- package/docs/groups.md +130 -0
- package/docs/health.md +28 -0
- package/docs/heartbeat.md +73 -0
- package/docs/home-userspace.md +277 -0
- package/docs/hubs.md +148 -0
- package/docs/images.md +51 -0
- package/docs/imessage.md +94 -0
- package/docs/index.md +196 -0
- package/docs/ios.md +372 -0
- package/docs/linux.md +11 -0
- package/docs/location-command.md +95 -0
- package/docs/location.md +46 -0
- package/docs/logging.md +110 -0
- package/docs/lore.md +131 -0
- package/docs/mac/bun.md +133 -0
- package/docs/mac/canvas.md +161 -0
- package/docs/mac/child-process.md +72 -0
- package/docs/mac/dev-setup.md +81 -0
- package/docs/mac/health.md +28 -0
- package/docs/mac/icon.md +26 -0
- package/docs/mac/logging.md +51 -0
- package/docs/mac/menu-bar.md +69 -0
- package/docs/mac/peekaboo.md +170 -0
- package/docs/mac/permissions.md +40 -0
- package/docs/mac/release.md +76 -0
- package/docs/mac/remote.md +57 -0
- package/docs/mac/signing.md +41 -0
- package/docs/mac/skills.md +27 -0
- package/docs/mac/voice-overlay.md +52 -0
- package/docs/mac/voicewake.md +56 -0
- package/docs/mac/webchat.md +27 -0
- package/docs/mac/xpc.md +40 -0
- package/docs/macos.md +104 -0
- package/docs/model-failover.md +75 -0
- package/docs/models.md +91 -0
- package/docs/multi-agent.md +74 -0
- package/docs/nix.md +95 -0
- package/docs/nodes.md +157 -0
- package/docs/onboarding-config-protocol.md +34 -0
- package/docs/onboarding.md +189 -0
- package/docs/pairing.md +85 -0
- package/docs/plans/cron-add-hardening.md +72 -0
- package/docs/plans/group-policy-hardening.md +121 -0
- package/docs/poll.md +52 -0
- package/docs/prereqs.md +67 -0
- package/docs/presence.md +133 -0
- package/docs/proposals/model-config.md +147 -0
- package/docs/provider-routing.md +25 -0
- package/docs/queue.md +78 -0
- package/docs/reference/templates/AGENTS.md +164 -0
- package/docs/remote-gateway-readme.md +153 -0
- package/docs/remote.md +61 -0
- package/docs/research/memory.md +227 -0
- package/docs/rpc.md +35 -0
- package/docs/security.md +200 -0
- package/docs/session-ingestion.md +119 -0
- package/docs/session-tool.md +154 -0
- package/docs/session.md +85 -0
- package/docs/sessions.md +8 -0
- package/docs/setup.md +131 -0
- package/docs/showcase.md +37 -0
- package/docs/signal.md +122 -0
- package/docs/skills-config.md +58 -0
- package/docs/skills.md +153 -0
- package/docs/slack.md +221 -0
- package/docs/subagents.md +72 -0
- package/docs/tailscale.md +71 -0
- package/docs/talk.md +79 -0
- package/docs/telegram.md +96 -0
- package/docs/templates/AGENTS.md +286 -0
- package/docs/templates/BOOTSTRAP.md +35 -0
- package/docs/templates/IDENTITY.md +17 -0
- package/docs/templates/PROFILE.md +14 -0
- package/docs/templates/SOUL.md +41 -0
- package/docs/templates/TOOLS.md +41 -0
- package/docs/templates/USER.md +8 -0
- package/docs/test.md +43 -0
- package/docs/testing-onboarding-quickstart.md +76 -0
- package/docs/testing-philosophy.md +211 -0
- package/docs/thinking.md +46 -0
- package/docs/timezone.md +40 -0
- package/docs/tools.md +346 -0
- package/docs/troubleshooting.md +257 -0
- package/docs/tui.md +71 -0
- package/docs/typebox.md +42 -0
- package/docs/updating.md +138 -0
- package/docs/usage-cloud-aggregation-spec.md +133 -0
- package/docs/usage-suggestions-pipeline.md +126 -0
- package/docs/voicewake.md +61 -0
- package/docs/web.md +115 -0
- package/docs/webchat.md +34 -0
- package/docs/webhook.md +132 -0
- package/docs/whatsapp-clawd.jpg +0 -0
- package/docs/whatsapp.md +170 -0
- package/docs/windows.md +11 -0
- package/docs/wizard.md +167 -0
- package/package.json +209 -0
- package/skills/1password/SKILL.md +54 -0
- package/skills/1password/docs/setup.md +85 -0
- package/skills/1password/docs/troubleshooting.md +63 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/agent-browser/SKILL.md +450 -0
- package/skills/agent-browser/docs/browser-use-eval.md +95 -0
- package/skills/agent-browser/docs/first-tests.md +261 -0
- package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
- package/skills/aix/SKILL.md +93 -0
- package/skills/aix/docs/embeddings.md +40 -0
- package/skills/aix/docs/setup.md +58 -0
- package/skills/aix/docs/troubleshooting.md +41 -0
- package/skills/aix/references/sql.md +48 -0
- package/skills/apple-notes/SKILL.md +50 -0
- package/skills/apple-reminders/SKILL.md +67 -0
- package/skills/bear-notes/SKILL.md +79 -0
- package/skills/bird/SKILL.md +32 -0
- package/skills/bird/docs/auth.md +31 -0
- package/skills/bird/docs/troubleshooting.md +31 -0
- package/skills/blogwatcher/SKILL.md +46 -0
- package/skills/blucli/SKILL.md +27 -0
- package/skills/brave-search/SKILL.md +36 -0
- package/skills/brave-search/docs/setup.md +40 -0
- package/skills/brave-search/docs/troubleshooting.md +37 -0
- package/skills/brave-search/docs/usage.md +28 -0
- package/skills/brave-search/scripts/content.mjs +53 -0
- package/skills/brave-search/scripts/search.mjs +79 -0
- package/skills/browser-use-agent-sdk/SKILL.md +90 -0
- package/skills/camsnap/SKILL.md +25 -0
- package/skills/clawdhub/SKILL.md +53 -0
- package/skills/coding-agent/SKILL.md +274 -0
- package/skills/comms/SKILL.md +249 -0
- package/skills/comms/docs/adapters.md +54 -0
- package/skills/comms/docs/setup.md +56 -0
- package/skills/comms/docs/troubleshooting.md +44 -0
- package/skills/comms/references/schema.md +49 -0
- package/skills/computer-use/SKILL.md +204 -0
- package/skills/computer-use/docs/open-interpreter.md +26 -0
- package/skills/computer-use/docs/peekaboo.md +26 -0
- package/skills/computer-use/docs/setup.md +47 -0
- package/skills/computer-use/docs/troubleshooting.md +33 -0
- package/skills/discord/SKILL.md +370 -0
- package/skills/eightctl/SKILL.md +29 -0
- package/skills/eve/SKILL.md +215 -0
- package/skills/eve/docs/dual-account.md +84 -0
- package/skills/eve/docs/intelligence.md +58 -0
- package/skills/eve/docs/setup.md +60 -0
- package/skills/eve/docs/troubleshooting.md +54 -0
- package/skills/eve/scripts/setup-dual-account.sh +125 -0
- package/skills/filesystem/SKILL.md +217 -0
- package/skills/food-order/SKILL.md +41 -0
- package/skills/gemini/SKILL.md +23 -0
- package/skills/gh/SKILL.md +22 -0
- package/skills/gh/docs/usage.md +41 -0
- package/skills/gifgrep/SKILL.md +47 -0
- package/skills/github/SKILL.md +26 -0
- package/skills/github/docs/setup.md +21 -0
- package/skills/github/docs/troubleshooting.md +24 -0
- package/skills/gog/SKILL.md +104 -0
- package/skills/gog/docs/portability.md +94 -0
- package/skills/gog/docs/setup.md +76 -0
- package/skills/gog/docs/troubleshooting.md +94 -0
- package/skills/gog/scripts/cdp/README.md +90 -0
- package/skills/gog/scripts/cdp/add_test_users.py +69 -0
- package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
- package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
- package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
- package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
- package/skills/google-oauth/SKILL.md +94 -0
- package/skills/goplaces/SKILL.md +30 -0
- package/skills/imsg/SKILL.md +25 -0
- package/skills/json-render/SKILL.md +154 -0
- package/skills/json-render/assets/components/README.md +21 -0
- package/skills/json-render/assets/components/catalog.ts +78 -0
- package/skills/json-render/assets/components/registry.tsx +172 -0
- package/skills/json-render/assets/demo/App.css +397 -0
- package/skills/json-render/assets/demo/App.tsx +897 -0
- package/skills/json-render/assets/demo/README.md +22 -0
- package/skills/json-render/assets/demo/catalog.ts +78 -0
- package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
- package/skills/json-render/assets/demo/index.css +27 -0
- package/skills/json-render/assets/demo/registry.tsx +150 -0
- package/skills/json-render/docs/nexus-state-demo.md +84 -0
- package/skills/json-render/docs/shadcn-preset.md +33 -0
- package/skills/json-render/scripts/create-vite-demo.sh +45 -0
- package/skills/json-render/scripts/llm-server/README.md +33 -0
- package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
- package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
- package/skills/json-render/scripts/llm-server/package.json +18 -0
- package/skills/json-render/scripts/llm-server/server.ts +285 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +91 -0
- package/skills/local-places/pyproject.toml +27 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/mcporter/SKILL.md +38 -0
- package/skills/model-usage/SKILL.md +45 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +30 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/nexus-cloud/SKILL.md +53 -0
- package/skills/nexus-cloud/docs/security.md +24 -0
- package/skills/nexus-cloud/docs/setup.md +51 -0
- package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
- package/skills/notion/SKILL.md +156 -0
- package/skills/obsidian/SKILL.md +55 -0
- package/skills/onboarding/SKILL.md +515 -0
- package/skills/onboarding/docs/CAPABILITIES.md +444 -0
- package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
- package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
- package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
- package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
- package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
- package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
- package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
- package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
- package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
- package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
- package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
- package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
- package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
- package/skills/onboarding/docs/agent-apple-id.md +289 -0
- package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
- package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
- package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
- package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
- package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
- package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
- package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
- package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
- package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
- package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
- package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
- package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
- package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
- package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
- package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
- package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
- package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
- package/skills/onboarding/scripts/ralph/prd.json +215 -0
- package/skills/onboarding/scripts/ralph/progress.txt +99 -0
- package/skills/onboarding/scripts/ralph/prompt.md +87 -0
- package/skills/onboarding/scripts/ralph/ralph.log +84 -0
- package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
- package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
- package/skills/openai-image-gen/SKILL.md +31 -0
- package/skills/openai-image-gen/scripts/gen.py +173 -0
- package/skills/openai-whisper/SKILL.md +19 -0
- package/skills/openai-whisper-api/SKILL.md +43 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +30 -0
- package/skills/oracle/SKILL.md +105 -0
- package/skills/ordercli/SKILL.md +47 -0
- package/skills/peekaboo/SKILL.md +153 -0
- package/skills/qmd/SKILL.md +32 -0
- package/skills/qmd/docs/mcp.md +30 -0
- package/skills/qmd/docs/ollama.md +42 -0
- package/skills/qmd/docs/setup.md +44 -0
- package/skills/sag/SKILL.md +62 -0
- package/skills/skill-cli-template/SKILL.md +109 -0
- package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +29 -0
- package/skills/sonoscli/SKILL.md +26 -0
- package/skills/spotify-player/SKILL.md +34 -0
- package/skills/summarize/SKILL.md +49 -0
- package/skills/telegram/SKILL.md +20 -0
- package/skills/telegram/docs/pairing.md +30 -0
- package/skills/telegram/docs/setup.md +41 -0
- package/skills/telegram/docs/webhook.md +17 -0
- package/skills/things-mac/SKILL.md +61 -0
- package/skills/tmux/SKILL.md +121 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +84 -0
- package/skills/upstream-sync/SKILL.md +151 -0
- package/skills/upstream-sync/scripts/auto-port.sh +227 -0
- package/skills/upstream-sync/scripts/check-all.sh +88 -0
- package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
- package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
- package/skills/video-frames/SKILL.md +29 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/wacli/SKILL.md +48 -0
- package/skills/wacli/docs/auth.md +21 -0
- package/skills/wacli/docs/backup.md +9 -0
- package/skills/wacli/docs/troubleshooting.md +21 -0
- package/skills/weather/SKILL.md +53 -0
- package/skills/weather/docs/usage.md +40 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-browser
|
|
3
|
+
description: Headless browser automation using the agent-browser CLI. Use when tasks require real browser navigation, clicking, form filling, or accessibility-tree snapshots of dynamic pages.
|
|
4
|
+
homepage: https://github.com/vercel-labs/agent-browser
|
|
5
|
+
type: tool
|
|
6
|
+
capabilities: [browser-automation]
|
|
7
|
+
license: Apache-2.0
|
|
8
|
+
source:
|
|
9
|
+
repo: https://github.com/vercel-labs/agent-browser
|
|
10
|
+
commit: main
|
|
11
|
+
security:
|
|
12
|
+
openSource: true
|
|
13
|
+
audit: required
|
|
14
|
+
requires:
|
|
15
|
+
bins: [agent-browser, node]
|
|
16
|
+
install:
|
|
17
|
+
- id: npm
|
|
18
|
+
kind: node
|
|
19
|
+
package: agent-browser
|
|
20
|
+
bins: [agent-browser]
|
|
21
|
+
label: Install agent-browser (npm)
|
|
22
|
+
- id: chromium
|
|
23
|
+
kind: shell
|
|
24
|
+
script: "agent-browser install"
|
|
25
|
+
label: Download Chromium for agent-browser
|
|
26
|
+
metadata: {"nexus":{"emoji":"🌐","os":["darwin","linux","win32"],"requires":{"bins":["agent-browser","node"]},"install":[{"id":"npm","kind":"node","package":"agent-browser","bins":["agent-browser"],"label":"Install agent-browser (npm)"},{"id":"chromium","kind":"shell","script":"agent-browser install","label":"Download Chromium for agent-browser"}]}}
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# agent-browser
|
|
30
|
+
|
|
31
|
+
Headless browser automation CLI for AI agents. Use it when you need real browser navigation on dynamic sites, not just HTML fetching.
|
|
32
|
+
|
|
33
|
+
## Quick start
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
agent-browser open https://example.com
|
|
37
|
+
agent-browser snapshot -i --json
|
|
38
|
+
agent-browser click @e2
|
|
39
|
+
agent-browser fill @e3 "test@example.com"
|
|
40
|
+
agent-browser get text @e1 --json
|
|
41
|
+
agent-browser close
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Recommended workflow
|
|
45
|
+
|
|
46
|
+
1. `open` the URL.
|
|
47
|
+
2. `snapshot -i --json` to capture interactive elements with refs (`@e1`, `@e2`, ...).
|
|
48
|
+
3. Use refs for actions (`click`, `fill`, `get text`).
|
|
49
|
+
4. Re-snapshot after page changes.
|
|
50
|
+
5. `close` when done.
|
|
51
|
+
|
|
52
|
+
## Speed / model choice
|
|
53
|
+
|
|
54
|
+
- Default to Claude Haiku 4.5 (use the latest Haiku in Claude Code).
|
|
55
|
+
- Claude Code is the preferred dispatcher for fast runs.
|
|
56
|
+
- Escalate only for complex reasoning or ambiguous flows.
|
|
57
|
+
- The CLI is deterministic; keep planning short and execute quickly.
|
|
58
|
+
|
|
59
|
+
## Targeting elements
|
|
60
|
+
|
|
61
|
+
- **Refs (preferred):** Use refs from `snapshot`.
|
|
62
|
+
- **Semantic finders:** `find role button click --name "Submit"`.
|
|
63
|
+
- **CSS selectors:** `click "#submit"`, `fill "input[name=email]" "..."`.
|
|
64
|
+
|
|
65
|
+
## Sessions and auth
|
|
66
|
+
|
|
67
|
+
- Isolate work with sessions: `agent-browser --session login open https://...`.
|
|
68
|
+
- Reuse login state:
|
|
69
|
+
- `agent-browser state save auth.json`
|
|
70
|
+
- `agent-browser state load auth.json`
|
|
71
|
+
- Prefer header-based auth over UI logins:
|
|
72
|
+
- `agent-browser open https://api.example.com --headers '{"Authorization":"Bearer TOKEN"}'`
|
|
73
|
+
|
|
74
|
+
## Tips
|
|
75
|
+
|
|
76
|
+
- Use `wait` when pages are dynamic: `agent-browser wait --text "Welcome"`.
|
|
77
|
+
- For debugging, run headed: `agent-browser open https://... --headed`.
|
|
78
|
+
- If elements are off-screen, use `scroll` or `scrollintoview`.
|
|
79
|
+
|
|
80
|
+
## Guardrails
|
|
81
|
+
|
|
82
|
+
- Avoid typing or storing user passwords unless explicitly instructed.
|
|
83
|
+
- Expect CAPTCHAs/2FA to require human intervention.
|
|
84
|
+
- Close sessions after completing the task.
|
|
85
|
+
|
|
86
|
+
## Demo playbook (embedded)
|
|
87
|
+
|
|
88
|
+
This playbook gives two demos: a fast visible check and a harder "solver" flow.
|
|
89
|
+
Both avoid API keys and OAuth.
|
|
90
|
+
|
|
91
|
+
### Immediate value
|
|
92
|
+
|
|
93
|
+
- Real browser automation on dynamic sites (not just HTML fetches).
|
|
94
|
+
- Deterministic element refs from snapshots (stable, less brittle selectors).
|
|
95
|
+
- Quick smoke tests for links, forms, and navigation.
|
|
96
|
+
|
|
97
|
+
### Speed / model choice
|
|
98
|
+
|
|
99
|
+
- Default to Claude Haiku 4.5 (use the latest Haiku in Claude Code).
|
|
100
|
+
- Claude Code is the preferred dispatcher for fast runs.
|
|
101
|
+
- Wordle uses a local word list; no answer lookup.
|
|
102
|
+
|
|
103
|
+
### Prereqs
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
agent-browser --version
|
|
107
|
+
agent-browser install
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Test 1: Hacker News headline (easy, visible)
|
|
111
|
+
|
|
112
|
+
Goal: show a real page open, click, and read content.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Visible browser window
|
|
116
|
+
agent-browser --session demo open https://news.ycombinator.com --headed
|
|
117
|
+
|
|
118
|
+
# Get interactive elements (refs)
|
|
119
|
+
agent-browser --session demo snapshot -i -c -d 3
|
|
120
|
+
|
|
121
|
+
# Pick the first story link ref from snapshot (example: @e1)
|
|
122
|
+
agent-browser --session demo click @e1
|
|
123
|
+
|
|
124
|
+
# Read the new page title and URL
|
|
125
|
+
agent-browser --session demo get title
|
|
126
|
+
agent-browser --session demo get url
|
|
127
|
+
|
|
128
|
+
# Optional screenshot
|
|
129
|
+
agent-browser --session demo screenshot /tmp/agent-browser-hn.png
|
|
130
|
+
|
|
131
|
+
agent-browser --session demo close
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Success looks like:
|
|
135
|
+
- A headed browser opens.
|
|
136
|
+
- Snapshot lists interactive links with refs.
|
|
137
|
+
- Title/URL change after the click.
|
|
138
|
+
|
|
139
|
+
### Test 2: NYT Wordle solver (harder, real site)
|
|
140
|
+
|
|
141
|
+
Goal: solve Wordle using only a local word list and math, plus browser control.
|
|
142
|
+
|
|
143
|
+
#### Approach
|
|
144
|
+
|
|
145
|
+
1. Keep a local candidate list of valid words.
|
|
146
|
+
2. After each guess, read tile evaluations (green/yellow/gray).
|
|
147
|
+
3. Filter candidates by the feedback.
|
|
148
|
+
4. Pick the next guess by maximizing letter information.
|
|
149
|
+
|
|
150
|
+
#### One-time setup: word list + solver
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words \
|
|
154
|
+
-o /tmp/wordle-words.txt
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Create `~/nexus/home/projects/wordle-solver.mjs`:
|
|
158
|
+
|
|
159
|
+
```js
|
|
160
|
+
import fs from "fs";
|
|
161
|
+
|
|
162
|
+
const WORDS_PATH = process.env.WORDLE_WORDS ?? "/tmp/wordle-words.txt";
|
|
163
|
+
const STATE_PATH = process.env.WORDLE_STATE ?? "/tmp/wordle-state.json";
|
|
164
|
+
|
|
165
|
+
if (!fs.existsSync(WORDS_PATH)) {
|
|
166
|
+
console.error(
|
|
167
|
+
"Missing word list. Download with: curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words -o /tmp/wordle-words.txt",
|
|
168
|
+
);
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const words = fs.readFileSync(WORDS_PATH, "utf8").trim().split(/\s+/);
|
|
173
|
+
|
|
174
|
+
function score(guess, answer) {
|
|
175
|
+
const result = Array(5).fill("b");
|
|
176
|
+
const counts = {};
|
|
177
|
+
for (let i = 0; i < 5; i++) {
|
|
178
|
+
const g = guess[i];
|
|
179
|
+
const a = answer[i];
|
|
180
|
+
if (g === a) {
|
|
181
|
+
result[i] = "g";
|
|
182
|
+
} else {
|
|
183
|
+
counts[a] = (counts[a] ?? 0) + 1;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
for (let i = 0; i < 5; i++) {
|
|
187
|
+
if (result[i] === "g") continue;
|
|
188
|
+
const g = guess[i];
|
|
189
|
+
if ((counts[g] ?? 0) > 0) {
|
|
190
|
+
result[i] = "y";
|
|
191
|
+
counts[g]--;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return result.join("");
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
function bestGuess(candidates) {
|
|
198
|
+
const freq = Array.from({ length: 5 }, () => ({}));
|
|
199
|
+
for (const w of candidates) {
|
|
200
|
+
for (let i = 0; i < 5; i++) {
|
|
201
|
+
const c = w[i];
|
|
202
|
+
freq[i][c] = (freq[i][c] ?? 0) + 1;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
let best = candidates[0];
|
|
206
|
+
let bestScore = -1;
|
|
207
|
+
for (const w of candidates) {
|
|
208
|
+
let scoreSum = 0;
|
|
209
|
+
for (let i = 0; i < 5; i++) {
|
|
210
|
+
scoreSum += freq[i][w[i]] ?? 0;
|
|
211
|
+
}
|
|
212
|
+
if (scoreSum > bestScore) {
|
|
213
|
+
bestScore = scoreSum;
|
|
214
|
+
best = w;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return best;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function loadState() {
|
|
221
|
+
if (!fs.existsSync(STATE_PATH)) return { candidates: words };
|
|
222
|
+
return JSON.parse(fs.readFileSync(STATE_PATH, "utf8"));
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
function saveState(state) {
|
|
226
|
+
fs.writeFileSync(STATE_PATH, JSON.stringify(state, null, 2));
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
const args = new Map(
|
|
230
|
+
process.argv.slice(2).map((arg) => {
|
|
231
|
+
const [k, v] = arg.replace(/^--/, "").split("=");
|
|
232
|
+
return [k, v];
|
|
233
|
+
}),
|
|
234
|
+
);
|
|
235
|
+
|
|
236
|
+
const guess = args.get("guess");
|
|
237
|
+
const pattern = args.get("pattern");
|
|
238
|
+
|
|
239
|
+
const state = loadState();
|
|
240
|
+
if (guess && pattern) {
|
|
241
|
+
state.candidates = state.candidates.filter((w) => score(guess, w) === pattern);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
const suggestion = bestGuess(state.candidates);
|
|
245
|
+
saveState(state);
|
|
246
|
+
|
|
247
|
+
console.log(`remaining=${state.candidates.length}`);
|
|
248
|
+
console.log(`suggested=${suggestion}`);
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Run flow
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
agent-browser --session wordle open https://www.nytimes.com/games/wordle/index.html --headed
|
|
255
|
+
|
|
256
|
+
# Close intro modal / cookie banner
|
|
257
|
+
agent-browser --session wordle find role button click --name "Play"
|
|
258
|
+
agent-browser --session wordle find role button click --name "Continue"
|
|
259
|
+
agent-browser --session wordle find role button click --name "Close"
|
|
260
|
+
agent-browser --session wordle press Escape
|
|
261
|
+
|
|
262
|
+
# If needed, inspect refs
|
|
263
|
+
agent-browser --session wordle snapshot -i -c -d 4
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Submit a guess:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
node ~/nexus/home/projects/wordle-solver.mjs
|
|
270
|
+
# example output: suggested=slate
|
|
271
|
+
|
|
272
|
+
agent-browser --session wordle click "body"
|
|
273
|
+
for c in s l a t e; do agent-browser --session wordle press "$c"; done
|
|
274
|
+
agent-browser --session wordle press Enter
|
|
275
|
+
agent-browser --session wordle wait 1200
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Extract the last row feedback:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# Use the NYT eval helper to avoid shell-escaping issues
|
|
282
|
+
agent-browser --session wordle eval "$(cat {baseDir}/docs/wordle-nyt-eval.js)" --json
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Feed the pattern back into the solver and repeat:
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
node ~/nexus/home/projects/wordle-solver.mjs --guess=slate --pattern=bybgb
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Stop when the pattern is `ggggg`, then:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
agent-browser --session wordle screenshot /tmp/agent-browser-wordle.png
|
|
295
|
+
agent-browser --session wordle close
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
Notes:
|
|
299
|
+
- If `pattern` includes `?`, wait longer and re-run the eval.
|
|
300
|
+
- If a guess is rejected, your word list is wrong; re-download the Wordle list.
|
|
301
|
+
|
|
302
|
+
### Fast path (Claude Code + Haiku 4.5)
|
|
303
|
+
|
|
304
|
+
Recommended for demos and LLM-in-loop runs. This uses the optimized runner flags
|
|
305
|
+
that minimize wait time and block ads.
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
claude --model haiku --print --permission-mode bypassPermissions \
|
|
309
|
+
"Run: bash ~/nexus/home/projects/wordle-nyt-run.sh \
|
|
310
|
+
--session demo-haiku \
|
|
311
|
+
--timing end-to-end \
|
|
312
|
+
--block-ads \
|
|
313
|
+
--wait-ms 0 \
|
|
314
|
+
--key-delay-ms 0 \
|
|
315
|
+
--poll-delay-ms 50 \
|
|
316
|
+
--max-poll-tries 14 \
|
|
317
|
+
--no-screenshot"
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
Notes:
|
|
321
|
+
- The speedup comes from the runner flags, not model reasoning.
|
|
322
|
+
- For loop-only timing, change to `--timing guess-only`.
|
|
323
|
+
|
|
324
|
+
### Fast benchmarking (no cheating)
|
|
325
|
+
|
|
326
|
+
Use the automation script to compare models or tune speed:
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
bash ~/nexus/home/projects/wordle-nyt-run.sh \
|
|
330
|
+
--session bench-haiku \
|
|
331
|
+
--first-guess crane \
|
|
332
|
+
--timing end-to-end \
|
|
333
|
+
--block-ads \
|
|
334
|
+
--wait-ms 0 \
|
|
335
|
+
--key-delay-ms 0 \
|
|
336
|
+
--poll-delay-ms 50 \
|
|
337
|
+
--max-poll-tries 14 \
|
|
338
|
+
--no-screenshot
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Notes:
|
|
342
|
+
- `--timing guess-only` excludes page load and modal dismissal.
|
|
343
|
+
- Lower `--wait-ms` and `--key-delay-ms` reduces latency.
|
|
344
|
+
- Lower `--poll-delay-ms` reduces time between visual update and action.
|
|
345
|
+
- `--block-ads` can reduce page load time (best-effort).
|
|
346
|
+
- Use unique `--session` names per run to avoid Wordle state collisions.
|
|
347
|
+
|
|
348
|
+
## Browser-use skills eval (embedded)
|
|
349
|
+
|
|
350
|
+
This is a lightweight eval matrix for the browser-automation skills in this
|
|
351
|
+
workspace. All tests are **no-cheating** and operate on the real internet.
|
|
352
|
+
|
|
353
|
+
### Goals
|
|
354
|
+
|
|
355
|
+
- Measure end-to-end latency and success rate.
|
|
356
|
+
- Compare deterministic vs LLM-in-loop behaviors.
|
|
357
|
+
- Keep tasks simple and reproducible.
|
|
358
|
+
|
|
359
|
+
### Which is best?
|
|
360
|
+
|
|
361
|
+
**Short answer:** use `agent-browser` for speed and determinism; use
|
|
362
|
+
`browser-use/agent-sdk` when the task is unknown, ambiguous, or needs
|
|
363
|
+
LLM reasoning and recovery.
|
|
364
|
+
|
|
365
|
+
#### Key differences
|
|
366
|
+
|
|
367
|
+
- **Control plane:** `agent-browser` is a deterministic CLI; `browser-use` is an
|
|
368
|
+
LLM-driven agent framework.
|
|
369
|
+
- **Inputs:** `agent-browser` uses DOM refs/snapshots; `browser-use` typically
|
|
370
|
+
relies on screenshots + LLM decisions.
|
|
371
|
+
- **Speed:** `agent-browser` is usually faster because it avoids vision + long
|
|
372
|
+
reasoning loops.
|
|
373
|
+
- **Flexibility:** `browser-use` can handle novel UI flows better, at the cost
|
|
374
|
+
of latency and cost.
|
|
375
|
+
|
|
376
|
+
### Performance tips (browser-use)
|
|
377
|
+
|
|
378
|
+
- **Default model:** use Claude Haiku 4.5 via Claude Code for fast LLM-in-loop runs.
|
|
379
|
+
- **Minimize perception:** avoid full-page screenshots when possible; keep the
|
|
380
|
+
viewport consistent and avoid repeated OCR.
|
|
381
|
+
- **Wait for minimum readiness:** poll for interactive elements instead of
|
|
382
|
+
sleeping for full page load.
|
|
383
|
+
- **Block ads/trackers:** reduces layout shifts and network churn (best-effort).
|
|
384
|
+
- **Input timing:** use zero delays for benchmarks; add 20-80ms jitter for real
|
|
385
|
+
flows to reduce bot-detection risk.
|
|
386
|
+
- **Keep prompts short:** one action per step; avoid long chain-of-thought.
|
|
387
|
+
|
|
388
|
+
### Common setup
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words \
|
|
392
|
+
-o /tmp/wordle-words.txt
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### Skill: agent-browser
|
|
396
|
+
|
|
397
|
+
#### Wordle (scripted)
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
bash ~/nexus/home/projects/wordle-nyt-run.sh \
|
|
401
|
+
--session eval-agent-browser \
|
|
402
|
+
--first-guess crane \
|
|
403
|
+
--timing guess-only \
|
|
404
|
+
--wait-ms 300 \
|
|
405
|
+
--key-delay-ms 10 \
|
|
406
|
+
--no-screenshot
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
#### HN click (smoke)
|
|
410
|
+
|
|
411
|
+
```bash
|
|
412
|
+
agent-browser --session eval-hn open https://news.ycombinator.com --headed
|
|
413
|
+
agent-browser --session eval-hn snapshot -i -c -d 3
|
|
414
|
+
agent-browser --session eval-hn click @e1
|
|
415
|
+
agent-browser --session eval-hn get title
|
|
416
|
+
agent-browser --session eval-hn close
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### Skill: computer-use (Peekaboo / interpreter)
|
|
420
|
+
|
|
421
|
+
#### HN click (visual)
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
peekaboo app switch --to "Google Chrome"
|
|
425
|
+
peekaboo hotkey --keys "cmd,l"
|
|
426
|
+
peekaboo paste --text "https://news.ycombinator.com"
|
|
427
|
+
peekaboo press return
|
|
428
|
+
sleep 2
|
|
429
|
+
peekaboo see --annotate --path /tmp/hn.png
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Skill: browser-use/agent-sdk
|
|
433
|
+
|
|
434
|
+
#### Wordle (LLM-in-loop)
|
|
435
|
+
|
|
436
|
+
```bash
|
|
437
|
+
LLM_MODEL=haiku python /tmp/bu_wordle_eval.py
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Notes:
|
|
441
|
+
- See `skills/browser-use-agent-sdk/SKILL.md` for the eval harness.
|
|
442
|
+
- This wraps the existing Wordle script as a tool to keep the test stable.
|
|
443
|
+
|
|
444
|
+
## References
|
|
445
|
+
|
|
446
|
+
- Demo playbook: `docs/first-tests.md`
|
|
447
|
+
- NYT Wordle eval helper: `docs/wordle-nyt-eval.js`
|
|
448
|
+
- Browser-use eval matrix: `docs/browser-use-eval.md`
|
|
449
|
+
- CLI docs: https://github.com/vercel-labs/agent-browser#commands
|
|
450
|
+
- Install and setup: https://github.com/vercel-labs/agent-browser#installation
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Browser-use skills eval
|
|
2
|
+
|
|
3
|
+
This is a lightweight eval matrix for the browser‑automation skills in this
|
|
4
|
+
workspace. All tests are **no‑cheating** and operate on the real internet.
|
|
5
|
+
|
|
6
|
+
## Goals
|
|
7
|
+
|
|
8
|
+
- Measure end‑to‑end latency and success rate.
|
|
9
|
+
- Compare deterministic vs LLM‑in‑loop behaviors.
|
|
10
|
+
- Keep tasks simple and reproducible.
|
|
11
|
+
|
|
12
|
+
## Which is best?
|
|
13
|
+
|
|
14
|
+
**Short answer:** use `agent-browser` for speed and determinism; use
|
|
15
|
+
`browser-use/agent-sdk` when the task is unknown, ambiguous, or needs
|
|
16
|
+
LLM reasoning and recovery.
|
|
17
|
+
|
|
18
|
+
### Key differences
|
|
19
|
+
|
|
20
|
+
- **Control plane:** `agent-browser` is a deterministic CLI; `browser-use` is an
|
|
21
|
+
LLM‑driven agent framework.
|
|
22
|
+
- **Inputs:** `agent-browser` uses DOM refs/snapshots; `browser-use` typically
|
|
23
|
+
relies on screenshots + LLM decisions.
|
|
24
|
+
- **Speed:** `agent-browser` is usually faster because it avoids vision + long
|
|
25
|
+
reasoning loops.
|
|
26
|
+
- **Flexibility:** `browser-use` can handle novel UI flows better, at the cost
|
|
27
|
+
of latency and cost.
|
|
28
|
+
|
|
29
|
+
## Performance tips (browser-use)
|
|
30
|
+
|
|
31
|
+
- **Default model:** use Claude Haiku 4.5 via Claude Code for fast LLM-in-loop runs.
|
|
32
|
+
- **Minimize perception:** avoid full-page screenshots when possible; keep the
|
|
33
|
+
viewport consistent and avoid repeated OCR.
|
|
34
|
+
- **Wait for minimum readiness:** poll for interactive elements instead of
|
|
35
|
+
sleeping for full page load.
|
|
36
|
+
- **Block ads/trackers:** reduces layout shifts and network churn (best‑effort).
|
|
37
|
+
- **Input timing:** use zero delays for benchmarks; add 20–80ms jitter for real
|
|
38
|
+
flows to reduce bot‑detection risk.
|
|
39
|
+
- **Keep prompts short:** one action per step; avoid long chain‑of‑thought.
|
|
40
|
+
|
|
41
|
+
## Common setup
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
curl -fsSL https://raw.githubusercontent.com/tabatkins/wordle-list/main/words \
|
|
45
|
+
-o /tmp/wordle-words.txt
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Skill: agent-browser
|
|
49
|
+
|
|
50
|
+
### Wordle (scripted)
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
bash ~/nexus/home/projects/wordle-nyt-run.sh \
|
|
54
|
+
--session eval-agent-browser \
|
|
55
|
+
--first-guess crane \
|
|
56
|
+
--timing guess-only \
|
|
57
|
+
--wait-ms 300 \
|
|
58
|
+
--key-delay-ms 10 \
|
|
59
|
+
--no-screenshot
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### HN click (smoke)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
agent-browser --session eval-hn open https://news.ycombinator.com --headed
|
|
66
|
+
agent-browser --session eval-hn snapshot -i -c -d 3
|
|
67
|
+
agent-browser --session eval-hn click @e1
|
|
68
|
+
agent-browser --session eval-hn get title
|
|
69
|
+
agent-browser --session eval-hn close
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Skill: computer-use (Peekaboo / interpreter)
|
|
73
|
+
|
|
74
|
+
### HN click (visual)
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
peekaboo app switch --to "Google Chrome"
|
|
78
|
+
peekaboo hotkey --keys "cmd,l"
|
|
79
|
+
peekaboo paste --text "https://news.ycombinator.com"
|
|
80
|
+
peekaboo press return
|
|
81
|
+
sleep 2
|
|
82
|
+
peekaboo see --annotate --path /tmp/hn.png
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Skill: browser-use/agent-sdk
|
|
86
|
+
|
|
87
|
+
### Wordle (LLM‑in‑loop)
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
LLM_MODEL=haiku python /tmp/bu_wordle_eval.py
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Notes:
|
|
94
|
+
- See `skills/browser-use-agent-sdk/SKILL.md` for the eval harness.
|
|
95
|
+
- This wraps the existing Wordle script as a tool to keep the test stable.
|