Google Gemini (google-genai)
Provider IA first-party livré avec arka-deck. Runtime de chat sur l’API Google Generative Language.
| Champ | Valeur |
|---|---|
| Manifest id | google-genai |
| Addon id | google-genai (kebab-case, convention respectée) |
| Maturité | beta |
| Modèles | gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.5-pro |
| Authentification | API key |
| Doc API key | aistudio.google.com/apikey |
Surfaces
Section intitulée « Surfaces »| Surface | Détail |
|---|---|
ChatRuntime | providers/google-genai/runtime.ts |
ProviderTester | GoogleGenAITester (probe REST gemini-2.5-flash-lite:generateContent) |
LlmInvoker | Utilisé par certains workers (1-shot JSON) |
| Manifest catalogue | composition/addons/provider-manifests.ts (entrée google-genai) |
| Spec provider | addons/google-genai/specs/SPEC-...md |
Modèles disponibles
Section intitulée « Modèles disponibles »| Modèle | Profil d’usage |
|---|---|
gemini-2.5-flash | Rédaction structurée, extraction, tâches moyennes |
gemini-2.5-flash-lite | Probes rapides, classement, test connexion |
gemini-2.5-pro | Tâches complexes, raisonnement étendu |
Sécurité — chiffrement clé API
Section intitulée « Sécurité — chiffrement clé API »| Propriété | Mécanisme |
|---|---|
| Clé jamais en clair sur disque | AES-256-GCM dans SQLite (api_key_ciphertext) |
| Clé maître protégée | <arkaHome>/secrets/secrets.key, mode 600 |
| Clé jamais retournée à l’UI | DTO public expose seulement apiKeyConfigured: boolean |
| Pas de log de la clé | Le tester reçoit la clé déchiffrée en mémoire éphémère |
| Transmission externe contrôlée | Seul le live test POST la clé à Google (header x-goog-api-key), explicite et user-triggered |
Format ciphertext : v1:<iv-base64>:<tag-base64>:<encrypted-base64>.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Tutoriel “écrire un provider” : ../extension/ecrire-un-provider (à venir)
- Politique anti-SSRF : ADR 0006
- Politique secrets : ADR 0005