@cynos-ai/tools
v0.1.2
Published
Cynos universal search, vision, and browser tools for the pi coding agent.
Maintainers
Readme
Cynos Tools
Search, vision, and browser tools for the pi coding agent.
What it gives you
Four capabilities, exposed as pi tools the agent can call directly:
- Web search —
cynos_searchfinds current documentation and references. - Web fetch —
cynos_fetchpulls the full text of public pages. - Vision —
cynos_visionanalyzes local image files (screenshots, UI, charts, diagrams) with a vision-capable model. - Browser automation —
cynos_browser_*drives an isolated browser: navigate, interact, capture snapshot/screenshot/console/network evidence, and close.
Install once at the user level and every project gets these tools.
Install
pi install npm:@cynos-ai/toolsOr project-locally (writes to .pi/settings.json, shareable with your team):
pi install npm:@cynos-ai/tools -lUpdate or remove:
pi update --extensions # upgrade all installed packages
pi remove npm:@cynos-ai/toolsTools
| Tool | Purpose |
|---|---|
| cynos_search | Search the web. Exa REST / Tavily REST (API key), free Exa MCP fallback. |
| cynos_fetch | Fetch full page content for one or more public http/https URLs. |
| cynos_vision | Analyze local image files with the configured vision model (describe / ocr / compare / ui). |
| cynos_browser_navigate | Open a URL in an isolated browser session (localhost allowed for dev servers). |
| cynos_browser_interact | click / fill / press / select / hover / scroll / wait on the current page. |
| cynos_browser_inspect | snapshot (element refs) / screenshot / console / requests / eval. |
| cynos_browser_close | Close the current session's browser. |
Commands
/cynos-tools-config— edit search API keys, vision model, and browser launch options./cynos-tools-browser-setup— probe system browsers; optionally install Chromium.
Configuration
Config lives at ~/.pi/agent/cynos-tools.json:
{
"schemaVersion": 1,
"exaApiKey": "optional",
"tavilyApiKey": "optional",
"visionModel": "provider/model-id",
"browser": {
"channel": "chrome",
"executablePath": null,
"headless": true,
"timeoutMs": 30000
}
}exaApiKey / tavilyApiKey may also come from the EXA_API_KEY / TAVILY_API_KEY environment variables; the config file wins. Edit interactively with /cynos-tools-config — no need to touch JSON by hand.
Search providers
Order: user-preferred REST → other configured REST → free Exa MCP. Search works out of the box via MCP even without an API key; configuring Exa or Tavily improves quality and quota.
Vision
cynos_vision runs the configured visionModel in an isolated child process. Configure a vision-capable model via /cynos-tools-config. When the main agent's model does not support image input, Tools reminds the agent to use cynos_vision instead of read (which would fail).
Images are sent to the configured model provider. Don't pass images you cannot send to that provider.
Browser
Tools uses playwright-core and does not bundle a browser. On first use:
- If a system Chrome / Chromium / Edge is detected, Tools launches it directly.
- Otherwise Tools returns a clear setup pointer. Run
/cynos-tools-browser-setupto probe, or to install Chromium viaplaywright-core(explicit confirmation required — ~150 MB download).
Each pi session gets an isolated, ephemeral browser context — no persistent profile, no user cookies, no login state.
URL policy:
- Allowed: public
http/https, andlocalhost/127.0.0.1/[::1](for local dev verification). - Blocked:
file:,data:,javascript:,chrome:,devtools:,about:, link-local and cloud-metadata addresses.
Workflow: cynos_browser_navigate → cynos_browser_inspect(action="snapshot") to get element refs → cynos_browser_interact using those refs → cynos_browser_inspect(action="screenshot"|"console"|"requests"|"eval") to capture evidence → cynos_browser_close. Refs are invalidated by navigation, so re-snapshot after navigating.
Security notes
- Browser tools run with your full system permissions and can drive a real browser on your machine. Review what you ask the agent to do.
evalruns arbitrary JavaScript in the page context and can change page state — treat it as the same trust level asbash.- API-key config files are written
0600. Never commit them. - Browser console/network buffers drop request/response bodies and sensitive headers (
authorization,cookie, etc.).
License
Copyright (c) 2026 Jay Shen. Proprietary — see LICENSE. Permits installation and use (including inside AI coding agents), with copyright attribution required and redistribution prohibited.
