Snow CLI
Give Snow CLI's web search a SpecStream engine: one .mjs file in ~/.snow/plugin/search_engines/ and one pick in the Search Engine: field. The websearch-search tool then gets its results from SpecStream's Search API, in place of the DuckDuckGo or Bing results page Snow CLI reads in a headless browser.
What you need
- Snow CLI, installed with
npm install -g snow-ai. - A SpecStream key. Get your key on the Search API screen of your SpecStream workspace. New accounts start with $10 of credit, no card.
- 1
1. Put your key in the environment
The engine reads the key from
SPECSTREAM_API_KEY, so the key never sits in the engine file. Add the line to your shell profile, open a new terminal, and start Snow CLI from it. On Windows, runsetx SPECSTREAM_API_KEY "YOUR_SPECSTREAM_KEY"and open a new terminal.~/.zshrc or ~/.bashrc - 2
2. Add the engine file
Snow CLI loads
.js,.mjsand.cjsengine files from~/.snow/plugin/search_engines/and reloads them when a file changes, with no restart. Create the folder withmkdir -p ~/.snow/plugin/search_enginesand save this file in it. If you setSNOW_CONFIG_DIR, the folder isplugin/search_enginesunder that directory.The engine has the
id,nameandsearch(page, query, maxResults)that Snow CLI's loader checks for. It returns an empty list on any failure, as Snow CLI's guide asks, and writes the reason to the log.~/.snow/plugin/search_engines/specstream.mjs - 3
3. Pick SpecStream in Search Engine
Start
snow, or type/homein a session to go back to the start menu, and open Proxy & Browser Settings. Move to Search Engine: with the arrow keys, press Enter, choose SpecStream, and press Ctrl+S or Esc to save and return.Snow CLI saves the choice in
~/.snow/proxy-config.jsonas"searchEngine": "specstream". You can also write that line in the file yourself. - 4
4. Ask something that needs the web
Ask a question about something recent, so the agent calls
websearch-search:In Snow CLI
What the engine changes
Snow CLI's websearch-search tool resolves the engine saved in proxy-config.json, opens a browser page and hands the search to the engine. The built-in duckduckgo and bing engines read a results page in that browser. The SpecStream engine calls GET https://api.specstream.ai/v1/web-search with speed=fast and num set to the tool's maxResults, and maps each of data.sources to Snow CLI's result fields: title, url, snippet, and site as displayUrl.
Snow CLI then applies your blocked site rules to the results as before, and websearch-fetch still opens the page the agent picks. Snow CLI still opens its browser page before it calls an engine, so keep a Chrome or Edge it can find, or set Browser Path on the same screen.
The Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions; scores and method are on the benchmarks page.
What each search costs
The engine asks for the fast search: a search of up to 10 results is $0.001, $1 per 1,000. websearch-search asks for 10 results by default and at most 20, and a search of 20 results is $0.0022. A search that returns no results costs nothing.
Searches come out of your balance with no quote and no approval, and every call, charged or not, is in your account's request log. To cap what Snow CLI can spend, give the key a spending limit when you create it under Agents & API. Prices are on the pricing page.
If searches come back empty
- Look for a
[specstream]line in Snow CLI's log.SPECSTREAM_API_KEY is not setmeans Snow CLI started from a shell without the key: open a new terminal and startsnowagain. search failed 401means the key is wrong or revoked. Create a new one on the Search API screen.search failed 503means the account used its calls for the minute. Nothing is charged; the next search goes through.- If SpecStream is not in the picker, check that the file ends in
.mjsand look fordid not export a valid SearchEnginein the log.
Add the MCP server too
The engine gives Snow CLI search results. SpecStream's MCP server adds page reading and lists: search_web, read_pages, which reads up to 20 pages a call with the Extract API at $0.80 per 1,000 pages, and Deep Search, which returns every match on the live web as rows under a price you approve first.
Add it under mcpServers in ~/.snow/settings.json, or in .snow/settings.json for one project. Merge it into the file's existing mcpServers rather than replacing the file. Snow CLI fills ${SPECSTREAM_API_KEY} from the environment.
| Field | Value |
|---|---|
type | http |
url | https://api.specstream.ai/mcp |
headers | {"Authorization": "Bearer ${SPECSTREAM_API_KEY}"} |
Go back to DuckDuckGo or Bing
Open Proxy & Browser Settings and pick DuckDuckGo or Bing in Search Engine:. If you delete specstream.mjs while it is still the saved engine, Snow CLI uses DuckDuckGo. Questions: [email protected].
More
SpecStream for Snow CLI covers what it does in Snow CLI on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and the matches are paid from your balance. Billing has the details. For help, email [email protected].