From e59a0c1897614952af390679c14084f114564ad6 Mon Sep 17 00:00:00 2001 From: chruffins <23645059+chruffins@users.noreply.github.com> Date: Fri, 2 Oct 2026 20:04:02 +0000 Subject: [PATCH 1/2] Remove gated search from CLI overview --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d7042489..604b70c1 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ Kernel provides sandboxed, ready-to-use Chrome browsers for browser automations - Invoke app actions (sync or async) and stream logs - Create, list, view, and delete managed browser sessions - Get a live view URL for visual monitoring and remote control -- Search the web across providers and retrieve page content for results ## Installation From 09eb7308a5a1bbb7150cab824defa903ae442d2e Mon Sep 17 00:00:00 2001 From: chruffins <23645059+chruffins@users.noreply.github.com> Date: Fri, 2 Oct 2026 20:12:29 +0000 Subject: [PATCH 2/2] Remove gated search docs from CLI README --- README.md | 97 ------------------------------------------------------- 1 file changed, 97 deletions(-) diff --git a/README.md b/README.md index 604b70c1..7830c6ef 100644 --- a/README.md +++ b/README.md @@ -137,54 +137,6 @@ Commands with JSON output support: - **Browser Sub-commands**: `replays list/start`, `process exec/spawn`, `fs file-info/list-files`, `webmcp list`, `webmcp custom-tools list/add` (`webmcp invoke` always prints JSON output) - **Browser NDJSON streaming**: `telemetry stream` -### Search - -Search commands always return the full API response as JSON, including results, -warnings, provider attempts, usage, and expiry. They use the normal API key or -OAuth authentication and global `--project` scope. Your organization must have -Search API access enabled. - -```bash -# Discover currently configured providers and capabilities -kernel search providers - -# Automatic routing -kernel search "Playwright browser automation" --max-results 5 - -# Retrieve a retained result without another provider call or search charge -kernel search get srch_01jsearchresult - -# Use portable filters or other advanced request fields -kernel search --request '{"query":"browser automation","include_domains":["example.com"],"strict_params":true}' - -# Fetch content for the top results of a retained search -kernel search contents srch_01jsearchresult --limit 3 --content-source browser -``` - -- `--max-results` accepts 1–100; the API may clamp it to the provider cap. -- `--request` accepts the complete Search API JSON object, including `max_results`, - typed strategies (`auto`, `pinned`, or `fallback`), portable filters, `content`, - `include_raw`, date/locale filters, and provider-specific options. It cannot be - combined with a positional query, `--provider`, or `--max-results`. Provider-specific - and advanced request validation is performed by the API. -- Create requests are not automatically retried, to avoid duplicate billable - searches after an ambiguous failure. If a request fails ambiguously, use - `search get` only when the API returned a retained search ID. -- Retained searches return 404 when missing, expired, or inaccessible. -- `search contents ` retrieves content for selected results of a retained - search. Provide exactly one of `--result-ids` (in desired response order) or - `--limit` (top N results, 1–100). `--timeout-ms` sets the overall deadline - (1000–120000). Content options: `--content-source` (`auto`, `provider`, or - `browser`; default `auto`), `--content-format` (`markdown` or `text`), - `--content-max-chars`, `--content-max-age-hours`, `--content-timeout-ms`, - `--content-browser-id` (reuse an existing browser session), and - `--content-browser-mode` (`curl` or `render`). When no browser ID is given and a - result needs browser retrieval, Kernel creates a temporary browser for the - request; it is billed like any other browser. Requests are not automatically - retried. -- To search for a literal query equal to a subcommand name (`get` or `providers`), - use `--request '{"query":"providers"}'`. - ### Authentication - `kernel login [--force]` - Login via OAuth 2.0 @@ -1259,55 +1211,6 @@ Automated authentication for web services. The `run` command orchestrates the fu - `--default-project-max-concurrent-sessions ` - Default maximum concurrent browsers for projects without an explicit override (`0` to remove the default) - `--output json`, `-o json` - Output raw JSON object -### Search - -- `kernel search ` - Search the web through Kernel's search providers - - `--country ` - ISO 3166-1 alpha-2 search locale preference - - `--language ` - BCP 47 search language preference - - `--max-results ` - Requested result count, 1-100 (clamped to the serving provider's cap) - - `--recency ` - Relative search window: `hour`, `day`, `week`, `month`, or `year` - - `--safe-search ` - Safety preference: `off`, `moderate`, or `strict` - - `--start-date ` / `--end-date ` - Inclusive publication-date bounds (`--recency` takes precedence) - - `--include-domains ` / `--exclude-domains ` - Hostname preferences, matching a hostname and its subdomains - - `--strict-params` - Require every supplied portable parameter to be honored exactly instead of approximated - - `--include-raw` - Include untouched provider payloads in the response's raw fields - - `--timeout-ms ` - Overall deadline across search attempts and inline retrieval - - `--content` - Retrieve page content for each result using portable defaults - - `--show-content` - Print the extracted content text for each result (implies `--content`) - - `--content-source ` - Retrieval source: `auto`, `provider`, or `browser` - - `--content-format ` - Extracted content format: `markdown` or `text` - - `--content-max-chars ` - Per-result Unicode character limit after extraction - - `--content-max-age-hours ` - Maximum acceptable age of cached page content; `0` forces a live fetch - - `--content-timeout-ms ` - Per-result retrieval deadline - - `--content-browser-id ` - Retrieve through an existing browser session (requires `--content-source browser`) - - `--content-browser-mode ` - Browser retrieval mode: `curl` or `render` - - `--provider ` - Pin a single provider (`brave`, `exa`, `perplexity`, `context`, `parallel`, `valyu`, `octen`, `you`, `tavily`, `serpapi`) - - `--fallback-providers ` - Ordered provider chain to try in turn - - `--fallback-on ` - Outcomes that advance to the next provider: `error`, `timeout`, `empty` - - `--provider-options ` - Provider-native options as a JSON object keyed by provider slug - - `--output json`, `-o json` - Output raw JSON object -- `kernel search get ` - Re-read a retained search without calling a provider or incurring cost - - `--show-content` - Print the extracted content text for each result - - `--output json`, `-o json` - Output raw JSON object -- `kernel search providers` - List providers, result caps, and content capabilities - - `--slug ` - Filter to a single provider; also prints its portable-parameter support matrix and notes - - `--output json`, `-o json` - Output raw JSON array -- `kernel search contents ` - Fetch content for selected results of a retained search - - `--result-ids ` - Result IDs from the retained search, in the desired response order - - `--limit ` - Number of results to fetch starting from rank 1 (mutually exclusive with `--result-ids`) - - `--timeout-ms ` - Overall deadline across all selected results - - `--content-source ` - `auto` (default), `provider`, or `browser` - - `--content-format ` - `markdown` or `text` - - `--content-max-chars ` - Per-result character limit after extraction - - `--content-max-age-hours ` - For `auto`, maximum age of retained provider content; `0` always uses a browser - - `--content-timeout-ms ` - Per-result deadline - - `--content-browser-id ` - Retrieve through an existing browser session - - `--content-browser-mode ` - `curl` or `render` - -Searches are retained for 24 hours. Omitting the strategy flags lets Kernel pick an -eligible provider; portable filters a provider cannot honor are approximated or -dropped and reported as warnings unless `--strict-params` is set. - ## Examples ### Create a new app