Expand description
Gemini adapter — talks to gemini.google.com’s internal web API
using cookies from a signed-in session. No Chrome, no DOM scraping.
Uses your Google One AI Premium / Advanced subscription (whatever your logged-in browser account has).
§Typical use
use std::path::Path;
use tail_fin_gemini::GeminiClient;
let client = GeminiClient::from_cookie_file(Path::new("~/.tail-fin/gemini-cookies.txt"))?;
let reply = client.ask("Hello Gemini", None).await?;
println!("{}", reply.response);Re-exports§
pub use client::GeminiClient;pub use cookies::load_netscape;pub use cookies::Cookies;pub use parsing::extract_push_id;pub use parsing::extract_response_text;pub use parsing::extract_snlm0e;pub use parsing::SessionTokens;pub use signing::build_sapisidhash;pub use signing::current_sapisidhash;pub use signing::ORIGIN;pub use types::GeminiResponse;
Modules§
- client
reqwest-backed Gemini client — no Chrome, no DOM. Talks directly to the same HTTP endpointsgemini.google.comcalls from the browser.- cookies
- parsing
- HTML / response parsers. Pure functions, no network — easy to unit-test.
- signing
- SAPISIDHASH — Google’s auth scheme for cookie-authenticated web endpoints. Format:
- types