tree, grep, cat, find. No API key, no account, no install — one npx command and the docs are a directory you (or your agent) can cd into.
Why a filesystem? Agents were pre-trained on Unix. They already know
cat README.md and grep -r "auth" .. Giving them a filesystem instead of yet another MCP tool means zero schema overhead, zero context tax, and no new abstractions to learn.Quick start
Browse any docs site
tree, ls, cat, grep, find, head, tail, wc, cd, pipes, aliases. The shell starts in the docs root — use . for relative paths.
One-shot mode (for agents and scripts)
Use-c to run a single command and exit. This is the mode most agents use:
Wire it into your agent
agentsearch ships with two helpers —setup and agents — that generate an agent-ready instruction snippet for any URL. Pipe the snippet into your agent or append it to its rules file.
Claude Code
Codex / OpenAI
Append to AGENTS.md / CLAUDE.md / .cursorrules
OpenCode
Gemini CLI
GitHub Copilot CLI
How it works
Three pieces, no magic.1. Index
The backend crawls the site once. It respectsllms.txt, auto-detects OpenAPI specs (which appear under /api-spec/ in the filesystem), and normalizes URL paths so the filesystem mirrors how you think about the docs, not how the URLs are structured. For example, https://better-auth.com/docs/installation becomes /installation.md, not /docs/installation.md.
Indexes are namespaced by canonical site ID and shared across all users — index docs.stripe.com once, everyone benefits. Public docs only, unauthenticated by design.
2. Serve
The backend exposes filesystem operations as HTTP endpoints (load, read, grep, ls, tree, find). Everything is gzip-compressed. The CLI maintains a disk cache at ~/.cache/nia-docs/ keyed by namespace and indexed_at timestamp. Backend cache TTL is 5 days.
3. Shell
The shell runs on the client, not in a container or VM. agentsearch usesjust-bash — a TypeScript bash reimplementation that supports grep, cat, ls, find, cd, tree, pipes, and aliases. The whole filesystem is an in-memory JavaScript object, so a grep -r "webhook" . over 500 pages completes in milliseconds because it’s pure string matching in memory.
Result:
- ~100ms to boot when locally cached
- ~2s when the site is already indexed on the backend
- ~30–120s for a cold index of a brand-new site
- Zero per-session compute on the server
Telemetry
Every command run inside a shell session is logged: command name, success/failure, duration, file count for greps. Not the content — just the patterns. We use this to understand how agents navigate docs so we can keep making the filesystem better. Opt out:When to use agentsearch vs. other Nia products
| Use this | If you want |
|---|---|
| agentsearch | Zero-install, public docs only, no account. Best for ad-hoc lookups and dropping any agent into fresh docs in one line. |
| Nia CLI | Persistent indexes, private repos and folders, oracle/tracer research, full platform access. |
| MCP Server | IDE-native integration via the Model Context Protocol. Best for in-editor agents. |
| Agent Skill | Single-file skill that calls the Nia API directly. Best for lightweight setups. |
Links
agentsearch.sh
Manifesto, live demo, and source
GitHub
nia-docs source code

