From 725dd0e07987e7b351a4a5c7f1d66e6bad51ca47 Mon Sep 17 00:00:00 2001 From: CodAr-man Date: Thu, 14 May 2026 22:19:43 +0530 Subject: [PATCH] feat(capture): support OpenRouter as alternative vision provider Adds OpenRouter alongside Gemini. Provider selected by API key at runtime: - OPENROUTER_API_KEY set: uses google/gemma-4-26b-a4b-it via OpenRouter - GEMINI_API_KEY set: existing Gemini behavior (unchanged) - Neither: existing DOM-only behavior (unchanged) Purely additive - Gemini code path untouched. --- packages/cli/src/capture/contentExtractor.ts | Bin 13839 -> 30004 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/cli/src/capture/contentExtractor.ts b/packages/cli/src/capture/contentExtractor.ts index cde0562b72e4adace374df783152e3fb78de29ea..1d2627c4ec4b89ffddecdde47329ec73ae0a547d 100644 GIT binary patch literal 30004 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