Skip to Content

Agent

Start Lightpanda as an interactive AI agent that can browse the web.

lightpanda agent

Options

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.