{"_id":"@0xkobold/pi-web","_rev":"2-52352f407e0c014a028868c4223acee0","name":"@0xkobold/pi-web","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@0xkobold/pi-web","version":"0.1.0","keywords":["pi-package","pi-extension","web","search","fetch","scraping","playwright"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-web@0.1.0","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-web#readme","bugs":{"url":"https://github.com/0xKobold/pi-web/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"406b45e8bb32a7e99a6d7585934fe2a9925ac4ff","tarball":"https://registry.npmjs.org/@0xkobold/pi-web/-/pi-web-0.1.0.tgz","fileCount":10,"integrity":"sha512-MXpH4FeIfgKDxQtkYlpzWRiMO8iY7zzeYPJn67HYl11IcumKEby38fuNo16udWaD5E9nci62c/w84QPuvb1tuA==","signatures":[{"sig":"MEYCIQCQiMYMK71HSBSySEbjXWklkH3yn3qa3V/YD4yTgiKJ2gIhALvxvD4q0BWk/h4TrhYTOrZ4+OOxemJyW+xrRVxndl4x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77688},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d506f7f4fc611e71ec5de3ce92c717171bb11992","scripts":{"dev":"tsc --watch","test":"bun test","build":"tsc","prepublishOnly":"rm -rf dist && tsc"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-web.git","type":"git"},"_npmVersion":"11.6.2","description":"Web search and content extraction for pi agents — DuckDuckGo/SearX search, cascade fetching (fast → readability → Playwright), deep research","directories":{},"_nodeVersion":"25.1.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.2","@types/node":"^20.19.37"},"peerDependencies":{"@sinclair/typebox":">=0.32.0","@mariozechner/pi-coding-agent":">=0.65.0"},"optionalDependencies":{"playwright":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-web_0.1.0_1775769106880_0.7105707115614353","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@0xkobold/pi-web","version":"0.2.0","description":"Web search and content extraction for pi agents — DuckDuckGo/SearX search, cascade fetching (fast → readability → Playwright), deep research","author":{"name":"0xKobold"},"license":"MIT","keywords":["pi-package","pi-extension","web","search","fetch","scraping","playwright"],"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","dev":"tsc --watch","test":"bun test","prepublishOnly":"rm -rf dist && tsc"},"dependencies":{},"peerDependencies":{"@mariozechner/pi-coding-agent":">=0.65.0","@sinclair/typebox":">=0.32.0"},"optionalDependencies":{"playwright":"^1.40.0"},"devDependencies":{"@types/node":"^20.19.37","typescript":"^6.0.2"},"pi":{"extensions":["./dist/index.js"]},"repository":{"type":"git","url":"git+https://github.com/0xKobold/pi-web.git"},"gitHead":"eb0826beac48649bfc526d45aa9da15b1ec82c69","_id":"@0xkobold/pi-web@0.2.0","bugs":{"url":"https://github.com/0xKobold/pi-web/issues"},"homepage":"https://github.com/0xKobold/pi-web#readme","_nodeVersion":"25.1.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-u7DKObtqD/mmxbHjoLT5JLm/QmJ7KuFIZpBBht2+uZhmbOfKj1zK/8VPOZsxJCgmi1t8xISsPNwoLUD62gG52w==","shasum":"cd9c28cf818fd1fbe480039a1ba67508cbccbee9","tarball":"https://registry.npmjs.org/@0xkobold/pi-web/-/pi-web-0.2.0.tgz","fileCount":10,"unpackedSize":77744,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDOAdyc5C7lap+GM7P3CHVekuFNaYNAS5Vk54qdSvj/QgIhAIMA2e5Aa5cSnrM6TmlKbPPAR5vswiWk2aliY3nRJ/la"}]},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"directories":{},"maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-web_0.2.0_1775859507646_0.3955942860168076"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-09T21:11:46.721Z","modified":"2026-04-10T22:18:27.946Z","0.1.0":"2026-04-09T21:11:47.018Z","0.2.0":"2026-04-10T22:18:27.803Z"},"bugs":{"url":"https://github.com/0xKobold/pi-web/issues"},"author":{"name":"0xKobold"},"license":"MIT","homepage":"https://github.com/0xKobold/pi-web#readme","keywords":["pi-package","pi-extension","web","search","fetch","scraping","playwright"],"repository":{"type":"git","url":"git+https://github.com/0xKobold/pi-web.git"},"description":"Web search and content extraction for pi agents — DuckDuckGo/SearX search, cascade fetching (fast → readability → Playwright), deep research","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"readme":"# pi-web\n\nWeb search and content extraction for [pi-coding-agent](https://github.com/badlobby/pi-mono) — cascade fetching, multi-engine search, deep research.\n\n## Installation\n\n```bash\npi install npm:@0xkobold/pi-web\n```\n\nOr as part of the meta-extension:\n\n```bash\npi install npm:@0xkobold/pi-kobold\n```\n\n## Features\n\n- **Cascade Fetching** — Fast HTML → Readability → Playwright for JS sites\n- **Multi-Engine Search** — DuckDuckGo (default) + SearXNG (fallback)\n- **Deep Research** — Search + fetch + synthesize from multiple sources\n- **Playwright Pool** — Browser reuse with concurrency limits and retries\n- **Optional Dependency** — Playwright is optional; fast fetch works without it\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `web_fetch` | Fetch and extract content from a URL |\n| `web_search` | Search web, optionally fetch content from results |\n| `web_research` | Deep research: search + fetch + multi-source synthesis |\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `/deep-fetch <url>` | Fetch JS-rendered content using Playwright |\n| `/web-search-deep <query>` | Search + fetch from top results |\n\n## Parameters\n\n### web_fetch\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `url` | string | required | Full URL to fetch |\n| `max_length` | number | 5000 | Maximum characters to retrieve |\n| `use_playwright` | boolean | false | Force Playwright for JS content |\n| `timeout_ms` | number | 15000 | Timeout in ms (max: 60000) |\n\n### web_search\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `query` | string | required | Search query |\n| `limit` | number | 5 | Number of results (1-10) |\n| `fetch_content` | boolean | false | Fetch full content from top results |\n| `fetch_sources` | number | 3 | How many sources to fetch |\n\n### web_research\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `question` | string | required | Research question |\n| `sources` | number | 5 | Number of sources to analyze (1-10) |\n\n## Architecture\n\n```\n┌────────────────────────────────────────┐\n│              pi-web                     │\n├─────────────┬──────────────────────────┤\n│  Search     │  Content Extraction      │\n│  ─────────  │  ──────────────────────  │\n│  DuckDuckGo │  1. Fast fetch (HTML)    │\n│  SearXNG    │  2. Readability (regex)  │\n│             │  3. Playwright (JS)       │\n├─────────────┴──────────────────────────┤\n│        Playwright Browser Pool          │\n│        (concurrency: 2, pool TTL: 2m)  │\n└────────────────────────────────────────┘\n```\n\n## Development\n\n```bash\ncd packages/pi-web\nbun install\nbun run build\n```\n\n## Optional: Playwright\n\nFor JavaScript-rendered content, install Playwright:\n\n```bash\nnpm install playwright\nnpx playwright install chromium\n```\n\nWithout Playwright, `web_fetch` still works using fast HTML fetch and readability extraction.","readmeFilename":"README.md"}