How nicobailon/pi-web-access works
Pi Web Access is a Pi agent extension that searches the web, fetches and extracts page content, and supports GitHub cloning, PDFs, and video understanding. The primary workflow starts in the extension, routes a query through provider selection and fallback, then returns results; users can separately fetch URLs or request curator summaries. The README documents a broad provider and media capability set, but only selected routing and storage internals were sampled, so uncertain implementation links are omitted.
Main entry points: index.ts Extension tools · gemini-search.ts Search routing · extract.ts Page extraction · curator-run.ts Curator runs
Components 24
Agent entry
- Extension tools
index.ts
Web search
- Search routing
gemini-search.ts - OpenAI search
openai-search.ts - Exa search
exa.ts - Brave search
brave.ts - Parallel search
parallel.ts - Private and hosted search
searxng.ts - Other search adapters
jina-search.ts
Content access
- Page extraction
extract.ts - GitHub cloning
github-extract.ts - PDF extraction
pdf-extract.ts - Video understanding
video-extract.ts
Analysis and state
- Curator server
curator-server.ts - Curator runs
curator-run.ts - Summary generation
summary-review.ts - Query rewriting
query-rewrite.ts - Page answers
page-query.ts - Fetch cache
storage.ts
Other components
- Pi agent
- Search services
- Fetch services
- Pi model registry
- Model providers
- Local files
Connections 31
- Pi agent → Extension tools: invokes tools
- Extension tools → Search routing: routes queries
- Search routing → OpenAI search: tries provider
- Search routing → Exa search: tries provider
- Search routing → Brave search: tries provider
- Search routing → Parallel search: tries provider
- Search routing → Private and hosted search: tries private search
- Search routing → Other search adapters: tries providers
- OpenAI search → Search services: sends searches
- Exa search → Search services: sends searches
- Brave search → Search services: sends searches
- Parallel search → Search services: sends searches
- Private and hosted search → Search services: sends searches
- Other search adapters → Search services: sends searches
- Extension tools → Page extraction: fetches URLs
- Page extraction → Fetch services: requests pages
- Extension tools → GitHub cloning: clones repositories
- GitHub cloning → Local files: writes clone
- Extension tools → PDF extraction: extracts PDFs
- Extension tools → Video understanding: analyzes video
- Extension tools → Curator server: starts curation
- Curator server → Curator runs: dispatches run
- Curator runs → Search routing: searches queries
- Curator runs → Summary generation: requests summary
- Summary generation → Pi model registry: resolves model
- Query rewriting → Pi model registry: resolves model
- Page answers → Pi model registry: resolves model
- Pi model registry → Model providers: completes requests
- Extension tools → Fetch cache: stores results
- Page extraction → Fetch cache: caches content
- Fetch cache → Local files: reads and writes