@arcadia64/pi-ddgs
Pi extension for web search and page fetch with curl_cffi + Chrome + Camoufox fallback chain. Backed by a local Docker service.
Package details
Install @arcadia64/pi-ddgs from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@arcadia64/pi-ddgs- Package
@arcadia64/pi-ddgs- Version
1.0.1- Published
- Apr 28, 2026
- Downloads
- 235/mo · 235/wk
- Author
- arcadia64
- License
- MIT
- Types
- extension
- Size
- 17.5 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-ddgs
Pi (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).
Source / backend / docs: 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.
Tools
| Name | Purpose |
|---|---|
web_search |
DuckDuckGo web search |
web_search_news |
DuckDuckGo news search |
get_search_results |
Retrieve a previous search by ID (cached in memory, LRU-bounded) |
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. |
Install
You need the backend running first. Clone the repo and run:
docker compose up -d --build
Then install the Pi extension.
Option 1 — npm (cleanest)
pi install npm:@arcadia64/pi-ddgs
Or add it directly to ~/.pi/agent/settings.json:
{
"packages": ["npm:@arcadia64/pi-ddgs"]
}
Pi auto-installs missing packages on startup.
Option 2 — local path (development)
Add the absolute path to the cloned pi-ddgs/ directory to packages:
{
"packages": ["C:/absolute/path/to/ddgs-api/pi-ddgs"]
}
Reload Pi.
Config
Optional. 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.
Common overrides:
{
"ddgsApiUrl": "http://my-other-pc:8091",
"defaultEngine": "camoufox",
"safesearch": "off"
}
License
MIT