{"_id":"@arcadia64/pi-ddgs","_rev":"3-de708f8b1c2945f4afe5a5333ada4b4d","name":"@arcadia64/pi-ddgs","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@arcadia64/pi-ddgs","version":"1.0.0","keywords":["pi","pi-coding-agent","extension","search","duckduckgo","fetch","scraping","camoufox","playwright"],"license":"MIT","_id":"@arcadia64/pi-ddgs@1.0.0","maintainers":[{"name":"arcadia64","email":"arcadia62091@gmail.com"}],"homepage":"https://github.com/Arcadia64/ddgs-api/tree/main/pi-ddgs","bugs":{"url":"https://github.com/Arcadia64/ddgs-api/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"d012a0fd955662a0d3a0f0b779b43db94d5f0538","tarball":"https://registry.npmjs.org/@arcadia64/pi-ddgs/-/pi-ddgs-1.0.0.tgz","fileCount":5,"integrity":"sha512-lLLW5E5mUSkXalYTOYmidTdcNeJAl9gFmKaQdMGkPrGf5XSgCaOskQ+iB9OZA/oHjc78uA1Vn48FX2j5CADgKQ==","signatures":[{"sig":"MEQCIG2/YNGs1B+KLxjb6xrgxdd5Z6uwSOuU47+djAzajJYyAiABOtmHMuyeGA1blJPcDqX8L/pZuOlUUbuTMbmrPSb76A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17950},"type":"module","gitHead":"b3a6b147983297c2ceeb74909f892acacceaff59","_npmUser":{"name":"arcadia64","email":"arcadia62091@gmail.com"},"repository":{"url":"git+https://github.com/Arcadia64/ddgs-api.git","type":"git","directory":"pi-ddgs"},"_npmVersion":"10.9.2","description":"Pi extension for web search and page fetch with curl_cffi + Chrome + Camoufox fallback chain. Backed by a local Docker service.","directories":{},"_nodeVersion":"23.5.0","_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-ai":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-ddgs_1.0.0_1777360693521_0.2111033990042015","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arcadia64/pi-ddgs","version":"1.0.1","keywords":["pi-package","pi","pi-coding-agent","extension","search","duckduckgo","fetch","scraping","camoufox","playwright"],"license":"MIT","_id":"@arcadia64/pi-ddgs@1.0.1","maintainers":[{"name":"arcadia64","email":"arcadia62091@gmail.com"}],"homepage":"https://github.com/Arcadia64/ddgs-api/tree/main/pi-ddgs","bugs":{"url":"https://github.com/Arcadia64/ddgs-api/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"545ec5b79a8014b405b443c6d9ba29ea02d7c5da","tarball":"https://registry.npmjs.org/@arcadia64/pi-ddgs/-/pi-ddgs-1.0.1.tgz","fileCount":5,"integrity":"sha512-7iNKS62HVnvvho12CbM+zKtNKXt25BYyANo5X5XoboN7YTSTbn5ulS7WVagcz3cMk+D4cjwfzv4HoaISK5qd+A==","signatures":[{"sig":"MEYCIQCcWDfexyv88iSxdVz+Y0d8zUqnzLlJwl/eAKnzzxjzmAIhAMRgQ2vK7m8YKLBEV+rm5zy4G3VKFmmzzXSAbPVPjiF8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17968},"type":"module","gitHead":"046403544a098565cace885c52339d64fac4fde7","_npmUser":{"name":"arcadia64","email":"arcadia62091@gmail.com"},"repository":{"url":"git+https://github.com/Arcadia64/ddgs-api.git","type":"git","directory":"pi-ddgs"},"_npmVersion":"10.9.2","description":"Pi extension for web search and page fetch with curl_cffi + Chrome + Camoufox fallback chain. Backed by a local Docker service.","directories":{},"_nodeVersion":"23.5.0","_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-ai":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-ddgs_1.0.1_1777361216608_0.2823103032537957","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arcadia64/pi-ddgs","version":"1.1.0","description":"Pi extension for web search and page fetch with curl_cffi + Chrome + Camoufox fallback chain. Backed by a local Docker service.","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Arcadia64/ddgs-api.git","directory":"pi-ddgs"},"homepage":"https://github.com/Arcadia64/ddgs-api/tree/main/pi-ddgs","bugs":{"url":"https://github.com/Arcadia64/ddgs-api/issues"},"keywords":["pi-package","pi","pi-coding-agent","extension","search","duckduckgo","fetch","scraping","camoufox","playwright"],"pi":{"extensions":["./index.ts"]},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*"},"gitHead":"06267419f3ea1d549cae3b2089e8b3bab01f12e3","_id":"@arcadia64/pi-ddgs@1.1.0","_nodeVersion":"26.1.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-nRQHJdX5RTlLVMe3gpKLvIioDkE9KW12gDPgJkQAOx7DTo9KHi4zm23yenNSwUyVFK4yiP+5+bxztcUwVFNHMg==","shasum":"2836f9c6a2e3428cd44b737b19cffe3688fc0c30","tarball":"https://registry.npmjs.org/@arcadia64/pi-ddgs/-/pi-ddgs-1.1.0.tgz","fileCount":5,"unpackedSize":19738,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB1LhLsR0/2mtDO6bMbx2Cv0MGp1d3hawC1lBpxhk2B4AiEAksk3nKwb12y/jbNgciBmBSSmoUsMFRjtKNhcTffHK44="}]},"_npmUser":{"name":"arcadia64","email":"arcadia62091@gmail.com"},"directories":{},"maintainers":[{"name":"arcadia64","email":"arcadia62091@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ddgs_1.1.0_1784267342559_0.14252069941328727"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-28T07:18:13.427Z","modified":"2026-07-17T05:49:02.826Z","1.0.0":"2026-04-28T07:18:13.679Z","1.0.1":"2026-04-28T07:26:56.761Z","1.1.0":"2026-07-17T05:49:02.696Z"},"bugs":{"url":"https://github.com/Arcadia64/ddgs-api/issues"},"license":"MIT","homepage":"https://github.com/Arcadia64/ddgs-api/tree/main/pi-ddgs","keywords":["pi-package","pi","pi-coding-agent","extension","search","duckduckgo","fetch","scraping","camoufox","playwright"],"repository":{"type":"git","url":"git+https://github.com/Arcadia64/ddgs-api.git","directory":"pi-ddgs"},"description":"Pi extension for web search and page fetch with curl_cffi + Chrome + Camoufox fallback chain. Backed by a local Docker service.","maintainers":[{"name":"arcadia64","email":"arcadia62091@gmail.com"}],"readme":"# pi-ddgs\n\nPi ([`pi-coding-agent`](https://www.npmjs.com/package/@earendil-works/pi-coding-agent)) extension that gives the agent web search and page fetch via a local Docker backend with a three-tier anti-bot fallback (curl_cffi → real Chrome → Camoufox).\n\n**Source / backend / docs:** [github.com/Arcadia64/ddgs-api](https://github.com/Arcadia64/ddgs-api) — the Docker backend lives there too. This package is the Pi extension half; you'll want to clone the repo and run the backend container alongside it.\n\n## Tools\n\n| Name | Purpose |\n|---|---|\n| `web_search` | DuckDuckGo web search |\n| `web_search_news` | DuckDuckGo news search |\n| `get_search_results` | Retrieve a previous search by ID (cached in memory, LRU-bounded) |\n| `fetch_url` | Fetch a URL and extract clean text. Auto-falls-back through three tiers: static (curl_cffi) → Chrome render → Camoufox render. Honors abort signal. |\n\n## Install\n\nYou need the backend running first. Clone [the repo](https://github.com/Arcadia64/ddgs-api) and run:\n\n```bash\ndocker compose up -d --build\n```\n\nThen install the Pi extension.\n\n### Option 1 — npm (cleanest)\n\n```bash\npi install npm:@arcadia64/pi-ddgs\n```\n\nOr add it directly to `~/.pi/agent/settings.json`:\n\n```json\n{\n  \"packages\": [\"npm:@arcadia64/pi-ddgs\"]\n}\n```\n\nPi auto-installs missing packages on startup.\n\n### Option 2 — local path (development)\n\nAdd the absolute path to the cloned `pi-ddgs/` directory to `packages`:\n\n```json\n{\n  \"packages\": [\"C:/absolute/path/to/ddgs-api/pi-ddgs\"]\n}\n```\n\nReload Pi.\n\n## Config\n\nOptional. Defaults work without a file. Drop a JSON file at `~/.pi/ddgs.json` to override any field — see the [full config table in the project README](https://github.com/Arcadia64/ddgs-api#3-optional-drop-a-config-at-pidgsjson).\n\nCommon overrides:\n\n```json\n{\n  \"ddgsApiUrl\": \"http://my-other-pc:8091\",\n  \"defaultEngine\": \"camoufox\",\n  \"safesearch\": \"off\"\n}\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}