Skip to main content

WebPilot

Self-contained browser agent: OODA loop (observe → orient → decide → act) → Playwright spec.

No FastAPI or database. LLM profiles live in llms.json, agent settings in webpilot.yaml. The interactive shell is OpenTUI. Headless run is for CI.

The loop matches the WebPilot design in test-agent-nexus (backend/docs/WEBPILOT_FLOW.md): DOM observe with shadow roots, viewport JPEG, one JSON action per step, then click / type / select / navigate. See docs/ARCHITECTURE.md and HOW_TO_USE.md.

Install

OpenTUI needs Bun 1.3+. Node cannot load the native renderer.

The CLI is published on npm as @capagents/webpilot (the unscoped name is too close to an existing package). PyPI package webpilot-cli is a pip launcher for the same webpilot command (webpilot is already another project on PyPI).

curl -fsSL https://bun.sh/install | bash

# npm
npm install -g @capagents/webpilot
npx @capagents/webpilot --help

# pip (launcher; runs the npm package via bun)
pip install webpilot-cli
webpilot --help

Live browser profiles also need Chromium: bunx playwright install chromium. The mock profile does not.

From this repo:

cd WebPilot
bun install
bun src/index.ts init
bun src/index.ts start

One-shot release (same version on both registries; assumes npm and twine are already logged in):

./scripts/publish.sh           # current version
./scripts/publish.sh 0.2.0     # bump + publish
./scripts/publish.sh --dry-run # pack only

npm is published first. The pip launcher runs bun x @capagents/webpilot@<version>.

Configure

init writes:

File Purpose
webpilot.yaml Browser, prompts, export, active profile
llms.json Named LLM profiles
.env.example API key names
webpilot models
webpilot run --goal "Read the homepage" --url https://example.com --profile mock --plain

mock uses a synthetic page, writes workflow.yaml and webpilot.spec.ts, and does not call a model. Switch llm.active to azure-gpt4o or openai-gpt4o for a real browser run.

CLI

webpilot start
webpilot start -u https://example.com -g "Find the documentation link" -p openai-gpt4o

webpilot run --goal "Get a quote" --url https://example.com --profile azure-gpt4o --headed
webpilot run --goal "..." --url https://example.com --profile mock --plain --out ./out/demo

Inside the shell: /url, /goal, /run, /stop, /headed, /steps, /profile, /export, /exit. A line without a slash sets the goal and starts when a URL is known.

Metadata

Release files for webpilot-cli 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for webpilot-cli 0.1.0
File Size Uploaded
webpilot_cli-0.1.0.tar.gz 3.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for webpilot-cli 0.1.0
File Interpreter ABI Platform
webpilot_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.9 kB

Release files / webpilot_cli-0.1.0.tar.gz

Download URL webpilot_cli-0.1.0.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
09a18e68193e7e0855749b754d31efe9daeb1c74b74abed1b858f2ea15708a6d
BLAKE2b-256 checksum
How to use checksums
45afedbdba60aa491aaee0be8896f2ad0f4a02895225fa9f10ba04f799412d51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / webpilot_cli-0.1.0-py3-none-any.whl

Download URL webpilot_cli-0.1.0-py3-none-any.whl
Size 4.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a15b17202c77168cc292344541f3c5f41cac3bc40a63c32c1c2447b0f2f410da
BLAKE2b-256 checksum
How to use checksums
52c795d30311d471957cb35c162bde8101fa1f78bd3a96062728000029199537
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release history Release notifications | RSS feed

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page