feat: add web_fetch tool, rename to pi-web
- Rename package to @evan/pi-web (repo rename handled separately). - Rename existing 'search' tool to 'web_search' for consistency. - Add 'web_fetch' tool: navigates via the shared headless Firefox, extracts via Mozilla Readability, falls back to <body> when no article is detected, converts with Turndown. 50KB cap, 15s nav timeout. Description steers LLM to curl for raw/non-text content. - Reuses the shared driver, so search + fetch share one warm browser.
This commit is contained in:
11
package.json
11
package.json
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "@evan/pi-search",
|
||||
"name": "@evan/pi-web",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "Web search tool for pi: Kagi (session token via headless Firefox) or SearXNG (JSON API).",
|
||||
"description": "Web tools for pi: web_search (Kagi session token / SearXNG) and web_fetch (Readability + Turndown over headless Firefox).",
|
||||
"pi": {
|
||||
"extensions": [
|
||||
"./index.ts"
|
||||
@@ -14,12 +14,17 @@
|
||||
"lint": "oxlint . --ignore-pattern=.direnv/** --ignore-pattern=node_modules/**"
|
||||
},
|
||||
"dependencies": {
|
||||
"selenium-webdriver": "^4.43.0"
|
||||
"@mozilla/readability": "^0.6.0",
|
||||
"jsdom": "^29.1.1",
|
||||
"selenium-webdriver": "^4.43.0",
|
||||
"turndown": "^7.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@mariozechner/pi-coding-agent": "^0.72.0",
|
||||
"@types/jsdom": "^28.0.3",
|
||||
"@types/node": "^22.10.0",
|
||||
"@types/selenium-webdriver": "^4.35.5",
|
||||
"@types/turndown": "^5.0.6",
|
||||
"oxlint": "^1.62.0",
|
||||
"tsx": "^4.19.2",
|
||||
"typebox": "^1.1.37",
|
||||
|
||||
Reference in New Issue
Block a user