@lincoln504/pi-research

Web research for your agents with smart and safe tooling + knowledge store

Packages

Package details

extension

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.5
Published
Aug 26, 2026
Downloads
5,984/mo · 2,004/wk
Author
ldeen
License
MIT
Types
extension
Size
4.2 MB
Dependencies
19 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 --allow-scripts=better-sqlite3
pi-research skill install

On npm 12 or newer, npm skips dependency install scripts by default; the flag allows the one that builds search's SQLite module — without it, every search fails with a missing-module error (the flag is harmless on older npm). pi install passes no flags to npm, so on npm 12 bracket any install or update with the same allowance as config — set, run, delete — because while the setting is in place it can break installs of other projects with git dependencies (npm/cli#9783):

npm config set allow-scripts=better-sqlite3 --location=user
pi install npm:@lincoln504/pi-research
npm config delete allow-scripts --location=user

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. The first install downloads the stealth browser engine, which takes a few minutes.

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:

Prompt-driven multi-round research in the pi TUI

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 — 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.
  • 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.