@bacnh85/pi-web 0.10.5 → 0.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -264,3 +264,11 @@ All notable changes to `pi-web` will be documented in this file.
264
264
 
265
265
  - Consolidated 14 backend-specific tools into 7 unified tools (`web_search`, `web_extract`, `web_map`, `web_crawl`, `web_screenshot`, `web_pdf`, `web_status`).
266
266
  - Auto-selection and adaptive fallback between static (JSDOM), dynamic (Firecrawl), and full (Crawl4AI) backends.
267
+ ## 0.10.6
268
+
269
+ Docs correction: Deep Research is **not** Gemini-Advanced-gated. Live
270
+ verification (2026-09-13, free-tier account): Deep Research plan creation
271
+ succeeds via a browser-impersonating client, while this package's Node
272
+ transport is refused with 1184/FEATURE_NOT_AVAILABLE on the same fresh
273
+ session. The 1184 error is a client-transport artifact; README,
274
+ `web_research` descriptions, and troubleshooting updated accordingly.
package/README.md CHANGED
@@ -229,8 +229,12 @@ web_research(query="compare the top 3 cloud providers' AI offerings", mode="rese
229
229
  Google Search). Works **without any cookie** in guest mode (Flash-only).
230
230
  Sent as a temporary chat so your Gemini history stays clean.
231
231
  - **`mode: "research"`** — full Gemini **Deep Research**: plan → autonomous web
232
- browsing (minutes) → cited report. Requires the cookie **and a Gemini
233
- Advanced subscription** on the account. Default timeout 600 s, cap 1 800 000.
232
+ browsing (minutes) → cited report. Requires the cookie and a **fresh session**.
233
+ **Known limitation (2026-09):** Gemini refuses Deep Research for non-browser
234
+ clients, so this mode currently fails with 1184/FEATURE_NOT_AVAILABLE even on
235
+ free-tier accounts that *can* run Deep Research (proven via a
236
+ browser-impersonating client — it is not an Advanced-entitlement gate).
237
+ Default timeout 600 s, cap 1 800 000.
234
238
 
235
239
  Both modes return the text plus **Sources** — URLs extracted from the
236
240
  answer/report markdown (the web protocol exposes no structured citations field).
@@ -265,10 +269,12 @@ Troubleshooting:
265
269
 
266
270
  - *"cookie expired or invalid"* — re-copy `__Secure-1PSID` (it rotates).
267
271
  - *"temporarily blocked this IP"* — set `GEMINI_WEB_PROXY`.
268
- - *research mode: "Unknown API error: 1184"* — on this account Deep Research
269
- was rejected; usually means no Gemini Advanced subscription on the account
270
- (Deep Research is Advanced-only), or Google changed the protocol. `ask`
271
- mode is unaffected.
272
+ - *research mode: "Unknown API error: 1184"* — **not** an entitlement error:
273
+ Deep Research plan creation succeeds on free-tier accounts via
274
+ browser-impersonating clients (verified 2026-09-13). Gemini refuses
275
+ privileged tools to non-browser clients; this tool's transport is plain
276
+ Node, so research currently fails regardless of plan. `ask` mode is
277
+ unaffected.
272
278
 
273
279
  ### `web_image` — free upstream image generation
274
280
 
@@ -114,7 +114,7 @@ const WEB_ROUTING_GUIDANCE = `## Web Tool Routing (pi-web)
114
114
  - **web_map** — discover site URLs (Firecrawl Map).
115
115
  - **web_crawl** — multi-page crawl: \`mode: "light"\` (Firecrawl, url) or \`mode: "full"\` (Crawl4AI, urls[]).
116
116
  - **web_screenshot** / **web_pdf** — page capture (Crawl4AI).
117
- - **web_research** — AI-synthesized research via Gemini web (mode "ask" = grounded answer, guest OK; mode "research" = Deep Research report, needs cookie + Gemini Advanced, takes minutes).
117
+ - **web_research** — AI-synthesized research via Gemini web (mode "ask" = grounded answer, guest OK; mode "research" = Deep Research report currently blocked by Gemini's non-browser-client refusal (1184), not by entitlement; takes minutes when available).
118
118
  - **web_image** — text→image generation via free upstreams (auto: Gemini web → Z.ai GLM-Image → custom OpenAI-images endpoint; \`model\`/\`n\` params).
119
119
  - **web_chat** — one-off chat completion via an OpenAI-compatible gateway (\`WEB_CHAT_API_BASE_URL\`; non-streaming).
120
120
  - **web_status** — provider config + health.
@@ -485,7 +485,7 @@ export default function piWebExtension(pi: ExtensionAPI) {
485
485
  name: "web_research",
486
486
  label: "Web Research (Gemini)",
487
487
  description:
488
- "AI-synthesized web research via Gemini (gemini.google.com web tier, cookie auth). Mode 'ask' returns a quick grounded answer with source links (works guest-mode, Flash only). Mode 'research' runs Gemini Deep Research — an autonomous agent browses the web for minutes and returns a comprehensive cited report (requires GEMINI_WEB_SECURE_1PSID cookie and a Gemini Advanced subscription).",
488
+ "AI-synthesized web research via Gemini (gemini.google.com web tier, cookie auth). Mode 'ask' returns a quick grounded answer with source links (works guest-mode, Flash only). Mode 'research' runs Gemini Deep Research — plan, autonomous web browsing, cited report. Requires GEMINI_WEB_SECURE_1PSID and a fresh session; note Gemini currently refuses Deep Research to non-browser clients (1184) the error is a transport artifact, not an entitlement gate.",
489
489
  promptSnippet: "AI-synthesized research with citations",
490
490
  promptGuidelines: [
491
491
  "Use for AI-synthesized research with sources (mode ask = quick grounded answer; mode research = multi-minute Deep Research report). NOT for URL-list searches (web_search) or single-URL extraction (web_extract). Cite the returned source URLs.",
@@ -494,7 +494,7 @@ export default function piWebExtension(pi: ExtensionAPI) {
494
494
  query: Type.String({ description: "Research question or topic." }),
495
495
  mode: Type.Optional(Type.Union(
496
496
  [Type.Literal("ask"), Type.Literal("research")],
497
- { default: "ask", description: "ask = quick grounded answer (guest OK); research = full Deep Research report (cookie + Gemini Advanced required, takes minutes)." },
497
+ { default: "ask", description: "ask = quick grounded answer (guest OK); research = full Deep Research report (fresh cookie required; currently refused to non-browser clients with 1184)." },
498
498
  )),
499
499
  model: Type.Optional(Type.String({ description: "Gemini model for ask mode (e.g. gemini-3-flash). Discovered from the account by default." })),
500
500
  ...sharedControlSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bacnh85/pi-web",
3
- "version": "0.10.5",
3
+ "version": "0.10.6",
4
4
  "description": "Pi extension for web search, page extraction, Firecrawl scraping/crawling, Crawl4AI headless browser crawling, Gemini web-tier research, free upstream image generation, and one-off gateway chat.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -17,7 +17,7 @@ Use the **10 unified tools** from the `pi-web` extension for all web-related tas
17
17
  | `web_crawl` | Crawl multiple pages from a site | Light (Firecrawl) or Full (Crawl4AI) |
18
18
  | `web_screenshot` | Capture page screenshot as PNG | Crawl4AI daemon (public URLs) or local headless Chrome (localhost/LAN/file URLs — auto-detected) |
19
19
  | `web_pdf` | Generate page PDF | Crawl4AI daemon (public URLs) or local headless Chrome (localhost/LAN/file URLs — auto-detected) |
20
- | `web_research` | AI-synthesized research with sources | Gemini web tier: ask = grounded answer (guest OK); research = Deep Research report (cookie + Gemini Advanced) |
20
+ | `web_research` | AI-synthesized research with sources | Gemini web tier: ask = grounded answer (guest OK); research = Deep Research report (fresh cookie; currently refused to non-browser clients with 1184) |
21
21
  | `web_image` | Generate images from a text prompt | Gemini web (guest/cookie) → Z.ai GLM-Image (`ZAI_API_KEY`) → custom OpenAI-images endpoint |
22
22
  | `web_chat` | One-off chat via an OpenAI-compatible gateway | `WEB_CHAT_API_BASE_URL` (ChatGPT web bridge, official OpenAI, …) |
23
23
  | `web_status` | Check provider configuration and health | — |
@@ -59,7 +59,7 @@ What do you need?
59
59
  ├── AI-synthesized research with sources (synthesis, comparisons, reports)
60
60
  │ → web_research
61
61
  │ ├─ quick grounded answer: mode=ask (default; guest OK, Flash-only)
62
- │ └─ multi-minute Deep Research report: mode=research (needs cookie + Gemini Advanced)
62
+ │ └─ multi-minute Deep Research report: mode=research (fresh cookie; currently blocked by Gemini's non-browser refusal)
63
63
 
64
64
  ├── Generate an image from a text prompt (NOT capturing an existing page)
65
65
  │ → web_image