Agent
Start Lightpanda as an interactive AI agent that can browse the web.
lightpanda agentOptions
Arguments:
[SCRIPT] Optional path to a .js script. Runs the script
(no LLM calls) and exits. With no script and no
--task, the REPL starts; from there /load runs a
script and /save exports the session to a file.
Caution: .js files can contain evaluate(...) calls
that run arbitrary JavaScript in the page. Only run
scripts you trust, the same way you would a shell
script.
Options:
--provider <PROVIDER> The AI provider.
When omitted, lightpanda auto-detects an API key
from your environment (ANTHROPIC_API_KEY,
OPENAI_API_KEY, GOOGLE_API_KEY/GEMINI_API_KEY,
HF_TOKEN).
With exactly one key set: that provider is used.
With multiple keys on a TTY: you'll be prompted
to pick; in non-interactive contexts, pass
--provider explicitly. With no keys set: falls
back to the basic REPL (slash commands only, no
natural-language input, no LOGIN /
ACCEPT_COOKIES keywords).
ollama is never auto-detected (it needs no key);
select it explicitly with --provider ollama.
Allowed values:
"anthropic", "openai", "gemini",
"huggingface", "ollama".
In the REPL, use /provider to list and change
providers.
--no-llm Force the basic REPL even when an API key is
present or --provider is set. Useful for testing
slash commands without burning tokens, or for
disabling the LLM in a saved command without
editing the existing flags. Wins over --provider.
--model <MODEL> The model name to use.
Defaults to a sensible default per provider.
In the REPL, use /model to list and change
models for the active provider.
--base-url <URL> Override the API base URL for the provider.
Defaults to the provider's standard endpoint.
Ollama default: http://localhost:11434/v1.
Hugging Face default is the serverless router
(https://router.huggingface.co/v1); point this
at a dedicated Inference Endpoint to use one.
--system-prompt <STRING> Override the default system prompt.
--task <STRING> One-shot mode: run a single user turn, print the
final answer to stdout, and exit. Conflicts with
the positional script.
-a, --attach <PATH> Feed a local file to the model alongside --task.
Repeatable, one file per flag. Text files are
inlined (max 512 KiB each); images/audio/pdf are
base64-encoded (max 20 MiB each). Requires --task.
--list-models Print the model IDs usable with `agent` for
--provider, one per line, sorted, and exit.
Auto-detects the provider from env when
--provider is omitted.
--verbosity <LEVEL> Stderr chatter level.
Default: high when --task captures stderr to a
pipe or file; low otherwise. low/medium also
raise --log-level to err (mutes page-side
console.error spam) unless --log-level is set
explicitly.
Allowed values:
low Silent in --task mode (final answer to
stdout only); spinner + summary in REPL.
medium + one `● [tool: ...]` line per call.
high + the matching `[result: ...]` body
(required by the benchmarks harness).
--effort <LEVEL> Per-turn reasoning budget, mapped to each
provider's native thinking/reasoning knob.
Default: low in the REPL (snappy turns),
medium in one-shot --task mode. In the REPL,
use /effort to change it.
Allowed values:
none, minimal, low, medium, high, xhigh.
The provider, model, effort, and verbosity you choose in the REPL are
remembered per-directory in .lp-agent.zon and reused on the next run.
API keys are read from the environment: ANTHROPIC_API_KEY, OPENAI_API_KEY,
GOOGLE_API_KEY/GEMINI_API_KEY, or HF_TOKEN. Ollama does not require an API
key.
common options:
--insecure-disable-tls-host-verification
Disables host verification on all HTTP requests.
Only set this if you understand and accept the risk.
--obey-robots
Fetches and obeys robots.txt of the target page.
Defaults to false.
--disable-subframes
Skip loading <iframe> elements. The parser still registers them in the
DOM, but no child frame or Page.frameAttached events are produced.
Defaults to false.
--disable-workers
Skip loading dedicated Web Workers. The Worker constructor still
returns a Worker object, but no script fetch is initiated and its scope
never runs.
Defaults to false.
--enable-external-stylesheets
Fetch external <link rel=stylesheet> resources so their rules
contribute to computed styles (and therefore to visibility checks like
display, visibility, opacity, pointer-events).
Defaults to false, except in agent mode with an LLM, where it is on.
--block-private-networks
Block HTTP requests to private/internal IP addresses after DNS
resolution.
Defaults to false.
--block-cidrs <LIST>
Additional CIDR ranges to block, comma-separated.
Prefix with '-' to allow (exempt from blocking).
e.g. --block-cidrs 10.0.0.0/8,-10.0.0.42/32
Can be combined with --block-private-networks.
--http-proxy <URL>
HTTP proxy for all HTTP requests.
username:password may be included for basic auth.
Defaults to none.
--proxy-bearer-token <TOKEN>
Token sent for bearer authentication with the proxy:
Proxy-Authorization: Bearer <token>.
--http-max-concurrent <INT>
Maximum number of concurrent HTTP requests.
Defaults to 10.
--http-max-host-open <INT>
Maximum open connections to a given host:port.
Defaults to 4.
--http-connect-timeout <INT>
Time in ms to establish an HTTP connection before timing out. 0 means
never.
Defaults to 0.
--http-timeout <INT>
Maximum time in ms the transfer is allowed to complete. 0 means never.
Defaults to 10000.
--http-max-response-size <INT>
Limits the acceptable response size for any request
e.g. XHR, fetch, script loading.
Defaults to no limit.
--ws-max-concurrent <INT>
Maximum number of concurrent WebSocket connections.
Defaults to 8.
--log-level <LEVEL>
The log level.
Defaults to warn.
Allowed values: "debug", "info", "warn", "error", "fatal".
--log-format <FORMAT>
The log format.
Defaults to logfmt.
Allowed values: "pretty", "logfmt".
--log-filter-scopes <SCOPES>
Filter out too-verbose logs per scope, comma-separated.
e.g. http, unknown_prop, event.
--user-agent <STRING>
Override the User-Agent header entirely. Must not impersonate other
browsers; any value containing "Mozilla" is forbidden. The browser
still sends Sec-Ch-Ua. Incompatible with --user-agent-suffix.
--user-agent-suffix <STRING>
Suffix appended to the Lightpanda/X.Y User-Agent.
--web-bot-auth-key-file <PATH>
Path to the Ed25519 private key PEM file.
--web-bot-auth-keyid <STRING>
The JWK thumbprint of your public key.
--web-bot-auth-domain <DOMAIN>
Your domain, e.g. yourdomain.com.
--http-cache-dir <PATH>
Directory used as a filesystem cache for network resources. Omitting
this disables caching.
Defaults to no caching.
--cookie <PATH>
Path to a JSON file to load cookies from (read-only).
Defaults to no cookie loading.
--cookie-jar <PATH>
Path to a JSON file to save cookies to on exit (write-only).
Defaults to no cookie saving.
--storage-engine <ENGINE>
The storage engine to use.
Defaults to none.
Allowed values: "none", "sqlite".
--storage-sqlite-path <PATH>
Path to the SQLite database file for persistent storage.
Use ":memory:" for in-memory storage.Find details about the Agent and PandaScript usage.