@lincoln504/pi-research
Web research for your agents with smart and safe tooling + knowledge store
Package details
Install @lincoln504/pi-research from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@lincoln504/pi-research- Package
@lincoln504/pi-research- Version
1.6.8- Published
- Sep 1, 2026
- Downloads
- 6,282/mo · 1,484/wk
- Author
- ldeen
- License
- MIT
- Types
- extension
- Size
- 4.3 MB
- Dependencies
- 18 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
],
"image": "https://raw.githubusercontent.com/Lincoln504/pi-research/main/docs/media/hero.png"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Search and scraping run locally through a stealth browser with no search provider and no monthly cap. The only cost is LLM tokens.
Install
As a Pi Coding Agent extension:
pi install npm:@lincoln504/pi-research
Standalone, as an agent skill for Claude Code, Codex, and other skills-compatible agents:
npm install -g @lincoln504/pi-research
pi-research skill install
No extra setup is needed. The package uses no install scripts: it ships ready-made bindings for every platform, and the stealth browser (~500MB) downloads on first use, so the first scrape takes a few minutes. npm ≥11.19 skips install scripts by default; leave it that way, nothing needs approving or building. Only Windows with npm older than 11.19 can fail when the install tries to compile from source; upgrading npm fixes it.
In pi it works out of the box on the session's model and pi's configuration. Standalone use (agent skill or SDK) needs a model configured. See Configuration.
How it works
A research run loops through agent teams: a coordinator plans and starts with a search, researcher agents scrape and read in parallel, and a research lead decides whether to go another round, then writes the report from every report collected. The result is one cited Markdown report with findings optionally saved to the knowledge store.
Three depth levels (normal, deep, ultra) set the team size and number of rounds. A natural-language request is enough; the tool picks the right one:

Use cases
- Researching inside pi. Plug and play with no API key needed.
- Researching from Claude Code, Codex, or another coding agent while a cheaper or local model drives the run, so it doesn't spend the main agent's budget.
- Keeping a persistent and searchable knowledge store of findings, scoped globally or per project.
- Building agent systems that find and read web content, or populating a dataset of web sources.
Why
- No quota and no monthly fee. Most AI search providers cap free searches and then charge, with results served from their index on their servers. pi-research searches and scrapes locally through DuckDuckGo in a stealth browser.
- The index is local. Every finding can be saved to a local LanceDB knowledge store that seeds future runs, so repeat questions get faster and cheaper answers.
- Read-only by design. The research agent cannot run shell commands or write, edit, or delete anything, which is the right shape for an agent whose whole job is reading untrusted web pages. Prompt injection picked up mid-run has nothing to act on.
- Search a little or a lot. Depth levels range from a quick pass to a large-scale investigation.
Requirements / limitations
- Node.js >= 22.19.0
- An LLM with a 100k+ context window (an API key or a local model)
- Internet access on a residential IP, since search, scraping, and YouTube transcripts get bot-blocked from datacenter/VPS/cloud IPs
- pi. The pi extension uses the host's copy while the standalone CLI and agent skill install it as a dependency.
- Local knowledge-store embeddings need
@huggingface/transformers, which is an optional dependency: if its native image chain (sharp) cannot install on your machine, npm skips it with a warning, the install still succeeds, and everything except local embeddings works. The store disables embeddings gracefully with a message telling you how to restore them. - Cloudflare Turnstile and similar systems block scraping on some sites. A run compensates with a wide pool of search results to scrape.
Channels
npm (npm:@lincoln504/pi-research) is the stable channel and is kept current with breaking pi changes. A git install is the development channel. It has the latest commits and breaks first.
License
MIT. Bundled third-party licenses are listed in docs/THIRD-PARTY-NOTICES.md.
Package identity
This project is always @lincoln504/pi-research on npm. The pi-research (unscoped) package is unrelated and deprecated.
Versioning
pi-research typically follows the latest pi version and is not actively backwards compatible.
