Cette page décrit Calíope 1.5, la version que nous construisons en ce moment. La 1.4 est terminée et en cours d'examen par Apple, et la boutique propose aujourd'hui la 1.3 sur le Mac et la 1.2 sur iPad. Le changelog indique dans quelle version chaque fonction est arrivée.

Ajoute un bouton « Ouvrir dans Calíope » à chaque sujet. Ne fonctionne qu'avec l'app installée.

Assistant IA

Ouvrir l'Assistant IA

Générez du SQL à partir d'instructions en langage naturel.

Où le trouver : Espace de travail › Outils › IA

Appuyez sur IA dans la barre de navigation de l'espace de travail. Saisissez votre demande dans la zone de texte en bas — par exemple : « Donnez-moi les 10 clients ayant le plus d'achats le mois dernier ».

L'assistant génère le SQL correspondant et l'affiche dans un panneau de code. Avec un fournisseur prêt — ceux du cloud demandent votre clé ; Apple Intelligence et Ollama n'en demandent aucune —, les réponses sont générées par le modèle de langage.

Mots-clés : ia, intelligence artificielle, langage naturel, openai, gemini, assistant, ai

Configurer le fournisseur IA

Choisissez le fournisseur de l'assistant : Apple Intelligence ne demande pas de clé, ceux du cloud si.

Où le trouver : Assistant IA › Configuration (engrenage)

Appuyez sur l'icône d'engrenage dans l'en-tête de l'Assistant IA pour ouvrir le panneau de configuration. C'est là que vous choisissez le fournisseur : Apple Intelligence s'exécute sur l'appareil lui-même et ne demande ni clé ni compte ; les fournisseurs cloud demandent votre API key et permettent en plus de choisir le modèle.

Le panneau se dessine selon ce dont le fournisseur choisi a besoin. S'il ne demande pas de clé, la ligne de la clé n'apparaît pas : elle ne manque pas, elle est inutile.

Avec un fournisseur qui demande une clé et n'en a pas encore, l'assistant fonctionne en mode démo, avec des réponses d'exemple basées sur la correspondance de motifs.

Mots-clés : api key, openai, gemini, configurer, modèle, GPT, paramètres, apple intelligence, sans clé, local

Apple Intelligence dans l'assistant

Le modèle du système, sur l'appareil : sans clé, sans coût et sans que rien ne parte sur internet.

Où le trouver : Calíope › Préférences › Assistant IA

Apple Intelligence est le modèle de langage du système. Il s'exécute sur l'appareil lui-même : ni clé ni compte, aucun coût, et votre question ne part pas sur internet.

Deux choses sont nécessaires pour qu'il apparaisse dans le sélecteur : un appareil compatible et Apple Intelligence activée dans les Réglages Système. S'il en manque une, le sélecteur ne le propose pas — il n'apparaît pas grisé, il est simplement absent, et l'assistant continue de fonctionner avec les fournisseurs cloud.

Il est bon sur les demandes courtes : expliquer une erreur, écrire une requête sur une ou deux tables, retrouver une syntaxe. Il ne l'est pas sur les grands schémas : sa fenêtre est petite, et quand le schéma n'y tient pas l'assistant le dit dans la conversation et propose quoi faire.

C'est là qu'intervient l'option Envoyer le schéma au modèle, dans ce même panneau et aussi dans Préférences › Assistant IA. Activée, les noms de tables, de colonnes et de clés étrangères de la base active sont envoyés — jamais les lignes. Désactivée, rien du schéma n'est envoyé : nommez les tables dans votre question.

Conseil : si la requête porte sur peu de tables, nommez-les et désactivez l'option. C'est une ligne de plus à écrire, et avec Apple Intelligence c'est aussi ce qui évite que le schéma déborde.

Mots-clés : apple intelligence, local, sans clé, confidentialité, fenêtre de contexte, schéma, ne tient pas

Ollama : des modèles sur votre propre machine

Un serveur de modèles ouverts qui tourne où vous voulez. Sans clé et sans coût par requête.

Où le trouver : Calíope › Préférences › Assistant IA

Ollama est un programme qui exécute des modèles de langage ouverts sur votre propre Mac. Il s'installe depuis ollama.com et un modèle se récupère avec ollama pull <nom> — par exemple ollama pull qwen2.5-coder. Calíope lui parle comme à n'importe quel autre fournisseur : sans clé et sans coût par requête.

Que mettre dans l'adresse. Celle par défaut — http://127.0.0.1:11434 — convient quand Ollama tourne sur le même Mac. Depuis l'iPad ou l'iPhone, on écrit l'adresse du Mac sur votre réseau (http://192.168.x.x:11434), et il y a là une étape qu'on oublie : par défaut, Ollama n'écoute que lui-même. Pour qu'il accepte les connexions du réseau, il faut le lancer avec OLLAMA_HOST=0.0.0.0 ollama serve.

Ce qui voyage. Votre question et, si l'option Envoyer le schéma au modèle est activée, les noms des tables, colonnes et clés étrangères de la base active — jamais les lignes. Et cela n'arrive qu'à cette adresse : sur le même Mac, rien n'en sort ; sur le réseau, cela va jusqu'à ce Mac et pas plus loin.

Quel modèle. Un modèle pensé pour le code donne un bien meilleur SQL. Un petit modèle peut répondre en prose, sans bloc SQL, et l'assistant affiche alors le texte tel quel sans rien à porter dans l'éditeur ; il peut aussi inventer des noms de colonnes absents de votre schéma. Avec un modèle local, l'attente dépend en plus de votre ordinateur : en cas d'erreur de délai, augmentez la limite de génération dans les Préférences.

S'il ne répond pas. L'assistant le dit, avec l'adresse dedans. Deux choses, à vérifier dans cet ordre : qu'Ollama est lancé, et que l'adresse écrite est bien la sienne.

Mots-clés : ollama, local, sans clé, modèle, llama, qwen, réseau, OLLAMA_HOST, adresse

Serveur MCP : laisser votre client IA interroger Calíope

Un client IA de ce Mac peut lister des bases, décrire des tables et faire des requêtes en lecture.

Où le trouver : Calíope › Préférences › Assistant IA

Avec le serveur MCP activé, un client IA qui tourne sur ce Mac — Claude Desktop, Cursor, tout ce qui parle MCP — peut demander à Calíope de lister des bases, de décrire des tables et d'exécuter des requêtes en lecture seule sur les connexions que vous cochez.

Où il tourne. Dans Calíope, à l'écoute sur 127.0.0.1 — c'est-à-dire sur ce Mac uniquement — et seulement tant que Calíope est ouverte. Rien n'est exposé à votre réseau ni à internet : ce n'est pas une option, c'est ainsi qu'il est fait.

Ce qu'il voit. Uniquement les connexions cochées dans Préférences › Assistant IA › Serveur MCP. Ce qui n'est pas coché n'existe pas pour le client : cela n'apparaît même pas.

Ce qu'il peut faire. Lire, et rien d'autre. Une instruction par appel, et uniquement SELECT, SHOW, EXPLAIN ou DESCRIBE : un INSERT, un UPDATE, un DROP ou un SELECT … FOR UPDATE sont rejetés avant même de toucher le serveur. Les réponses sont plafonnées à 200 lignes.

La clé. Le serveur ne répond pas sans elle. Elle vit dans le trousseau de ce Mac, ne part pas vers iCloud et n'entre pas dans la sauvegarde des réglages. Si vous pensez qu'elle a fuité, « Générer une nouvelle clé » invalide l'ancienne immédiatement — et il faut recoller la configuration dans le client.

Si le port choisi est déjà pris par un autre programme, Calíope vous le dit et ne démarre pas.

Mots-clés : mcp, serveur, client, claude desktop, cursor, lecture seule, token, port

Configurer votre client IA pour parler à Calíope

Activer, cocher les connexions, copier la configuration et la coller dans le client.

Cinq étapes, dans cet ordre :

1. Dans Préférences › Assistant IA › Serveur MCP, activez l'interrupteur.
2. Cochez les connexions que le client doit voir. Ce qui n'est pas coché lui reste invisible.
3. Appuyez sur Copier la configuration. Deux blocs partent dans le presse-papiers, un par client, avec votre port et votre clé déjà dedans.
4. Collez le bloc qui vous concerne dans le fichier de votre client :
- Cursor~/.cursor/mcp.json
- Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
5. Redémarrez le client. Les clients lisent leur configuration au démarrage.

Claude Desktop ne parle que par entrée et sortie standard, pas en HTTP : son bloc utilise donc mcp-remote comme passerelle — c'est ce que fait npx dans cette configuration.

Calíope doit être ouverte pour que le client trouve quoi que ce soit. Si vous la fermez, les outils cessent de répondre jusqu'à ce que vous la rouvriez.

Mots-clés : mcp, configurer, cursor, claude desktop, mcp-remote, json, client

Ce que voit votre client IA, et ce qu'il en fait ensuite

Via MCP, des lignes circulent. Elles vont à votre client, sur votre machine ; la suite lui appartient.

L'assistant de Calíope envoie au modèle, tout au plus, les noms du schéma. Le serveur MCP, c'est autre chose, et autant le dire clairement : ici, des lignes circulent, parce que la réponse à une requête ce sont les données.

Où elles vont. Vers le client que vous avez configuré, qui tourne sur cette même machine. Calíope n'envoie rien sur internet.

Et ensuite. Ce que ce client fait de ce qu'il reçoit — l'envoyer à son modèle dans le cloud pour rédiger la réponse, par exemple — est décidé par ce client et sa politique de confidentialité, pas par Calíope. Si cela compte pour vos données, la décision se prend avant de cocher la connexion.

Comment couper, du moins au plus :
- Décochez la connexion : elle cesse d'exister pour le client.
- Éteignez le serveur : elles cessent toutes de répondre.
- Générez une nouvelle clé : l'ancienne ne sert plus, immédiatement, même si quelqu'un l'avait.

Ce qui reste écrit. Tout ce qui s'exécute via MCP figure dans le journal des requêtes, avec la connexion et le résultat, comme ce que vous tapez vous-même. Ce qui est rejeté n'atteint pas le serveur et ne laisse aucune ligne.

Mots-clés : mcp, confidentialité, lignes, données, client, cloud, journal des requêtes

Charger le SQL généré dans l'éditeur

Envoyez le SQL généré par l'IA directement vers l'Éditeur SQL.

Où le trouver : Assistant IA › Ouvrir dans l'éditeur

Lorsque l'assistant génère un bloc SQL, le bouton Ouvrir dans l'éditeur apparaît sous le code. En appuyant dessus, Calíope ouvre un nouvel onglet de l'Éditeur SQL avec le SQL pré-chargé, prêt à être examiné et exécuté.

Mots-clés : charger, éditeur, ouvrir, sql généré, insérer, envoyer

Contexte de schéma : ce qui est envoyé

L'assistant reçoit la structure de la base active tant que l'option est activée.

Où le trouver : Espace de travail › Outils › IA

Avec l'option Envoyer le schéma au modèle activée — elle l'est par défaut — et une base sélectionnée, Calíope lit la liste des tables, colonnes et clés étrangères du schéma actif et l'envoie au modèle avec votre demande. C'est ce qui permet d'obtenir du SQL adapté à vos tables réelles sans les décrire à la main. Aucune ligne de données n'est envoyée. Vous pouvez changer la base de contexte depuis le sélecteur de l'en-tête de l'assistant ; il s'ouvre avec un champ de filtre, pour trouver une base par son nom quand le serveur en compte beaucoup.

Option désactivée, rien du schéma n'est envoyé et les tables doivent être nommées dans la question. C'est le bon choix quand la requête porte sur peu de tables, et avec Apple Intelligence c'est aussi ce qui évite que le schéma déborde la fenêtre du modèle.

Si le compte du serveur n'a pas les autorisations de lire le catalogue, l'assistant avertit que le contexte n'a pas pu être chargé. Cet avertissement concerne une lecture qui a échoué : désactiver l'option ne le produit pas, puisqu'alors rien n'a été lu parce que personne ne l'a demandé.

Mots-clés : schéma, contexte, tables, information_schema, permissions, schema context

Longueur maximale du SQL généré

Contrôlez la quantité de texte que le modèle peut générer par réponse.

Où le trouver : Calíope › Préférences › Assistant IA

Les modèles IA fonctionnent avec des tokens — des fragments de texte d'environ 0,75 mot chacun. Le paramètre Longueur maximale du SQL détermine le nombre de tokens que le modèle peut générer en une seule réponse. Il affecte uniquement la sortie ; il ne limite pas la longueur de votre demande ni le schéma envoyé.

Options disponibles (dans Préférences › Assistant IA › Génération) :

- Compact (800 tokens) — Suffisant pour les requêtes simples : SELECT avec une ou deux tables, filtres basiques, GROUP BY simple. Réduit le coût par appel et raccourcit le temps d'attente. À utiliser si vos requêtes habituelles sont courtes et directes.

- Standard (2 000 tokens) — Valeur par défaut. Adapté à la grande majorité des requêtes, y compris les JOINs multi-tables, les sous-requêtes et les CTEs modérées.

- Étendu (4 000 tokens) — Pour les requêtes très complexes : JOINs enchaînés multiples, CTEs à plusieurs branches, procédures stockées ou longues requêtes analytiques. À utiliser si le SQL apparaît tronqué avec les autres options.

Quand augmenter la longueur ? Si le SQL généré semble incomplet — par exemple, la clause FROM est coupée à mi-chemin ou la fermeture d'un JOIN est manquante — c'est le signe que le modèle a atteint la limite avant de terminer. Passez en mode Étendu pour corriger cela.

Quand la réduire ? Si vous n'exécutez que des requêtes de maintenance ou de diagnostic rapide, le mode Compact est suffisant et réduit les coûts quand le fournisseur facture au token, et raccourcit l'attente quand le modèle tourne sur votre propre machine — là, ce que vous payez, c'est du temps.

Le paramètre prend effet immédiatement ; il n'est pas nécessaire de redémarrer l'application ni de rouvrir l'assistant.

Mots-clés : tokens, longueur, max tokens, sql tronqué, tronqué, coût, génération, longueur maximale

Délai d'expiration de la réponse du modèle

Ajustez le temps d'attente de Calíope avant d'annuler un appel à l'API IA.

Où le trouver : Calíope › Préférences › Assistant IA

Certains modèles prennent leur temps : ceux de raisonnement — o1, o3 ou o4 d'OpenAI, ou Gemini Ultra — et ceux qui tournent sur votre propre machine, qui répondent à la vitesse de l'ordinateur qui les exécute. Ils peuvent mettre plus de 30 secondes à générer une réponse pour des requêtes complexes. Si Calíope annule l'appel avant que le modèle n'ait terminé, vous verrez une erreur de timeout qui ressemble à un dysfonctionnement de l'application alors qu'il suffisait simplement d'attendre plus longtemps.

Dans Préférences › Assistant IA › Génération, deux curseurs sont disponibles :

- Délai de chargement des modèles (5–60 s, par défaut 15 s) — contrôle le temps que Calíope attend lors de la récupération de la liste des modèles publiée par le fournisseur choisi.

- Délai de génération SQL (10–120 s, par défaut 30 s) — contrôle le temps que Calíope attend pour recevoir le SQL généré par le modèle.

Quand augmenter le délai de génération ? Si vous utilisez un modèle de raisonnement, ou un modèle local sur un Mac sans beaucoup de mémoire, et recevez des erreurs lors de la génération de requêtes complexes, augmentez la valeur à 60–90 s. Ces modèles réfléchissent avant de répondre et nécessitent plus de temps.

Quand le laisser à la valeur par défaut ? Avec gpt-4o ou gemini-1.5-flash, 30 s est largement suffisant pour la grande majorité des requêtes.

Les modifications prennent effet immédiatement sans redémarrer l'application.

Mots-clés : timeout, délai, attente, lent, o1, o3, o4, gemini ultra, erreur, annuler, raisonnement

Dicter des requêtes par la voix

Utilisez le microphone pour transcrire vos requêtes à l'assistant en temps réel, sans que votre voix quitte l'appareil.

Où le trouver : Assistant IA › Microphone

Appuyez sur le bouton microphone à côté du champ de texte pour activer la dictée. Parlez dans la langue indiquée par la capsule à côté du microphone ; le texte apparaît en temps réel pendant que vous parlez. L'icône devient rouge pendant l'enregistrement.

Appuyer à nouveau sur le bouton arrête la dictée et le texte transcrit reste dans le champ, prêt à être modifié ou envoyé directement avec ↩.

Première utilisation : le système ne demande qu'une autorisation, celle du microphone. Celle de reconnaissance vocale n'est plus nécessaire, puisque la transcription ne quitte pas l'appareil. Si vous la refusez, vous pouvez la rétablir dans Réglages Système › Confidentialité et sécurité › Microphone.

Langue : à côté du microphone se trouve une capsule avec le code de la langue écoutée — FR, EN, IT… —, et pendant l'enregistrement le champ l'écrit en entier. Par défaut, c'est la langue choisie dans Calíope, avec la variante régionale de votre système lorsqu'elle existe : l'app en français sur un Mac canadien dicte en français canadien. Appuyez sur la capsule pour en choisir une autre. Les langues dont le modèle n'est pas encore sur l'appareil le disent au moment où elles sont proposées, et si vous en choisissez une, un avis au-dessus du champ rappelle qu'elle sera téléchargée à la première dictée ; le téléchargement n'a lieu qu'une fois et ensuite cela fonctionne hors connexion.

Votre voix ne quitte pas l'appareil : la transcription se fait entièrement ici, sans envoyer d'audio à un serveur, et fonctionne donc aussi hors connexion. C'est pourquoi, lorsque le modèle de la langue manque, Calíope vous le dit au lieu de dicter via Internet.

Erreur au démarrage : si un message d'erreur apparaît en appuyant sur le microphone, vérifiez que les autorisations sont actives et qu'aucune autre application n'utilise le microphone de manière exclusive.

Mots-clés : voix, microphone, dictée, transcription, parole, speech, mic, reconnaissance vocale

Exporter la conversation avec l'IA

Enregistrez l'intégralité de l'historique de conversation avec l'assistant sous forme de fichier texte.

Où le trouver : Assistant IA › Exporter (↑)

Appuyez sur le bouton (carré avec flèche) dans l'en-tête de l'Assistant IA pour exporter la conversation active. Le bouton n'est actif que lorsqu'il y a au moins un message de votre part dans l'historique.

En appuyant dessus, la boîte de dialogue d'enregistrement du système s'ouvre. Le nom de fichier par défaut inclut la date et l'heure actuelles : caliope_ai_AAAAMMJJ_HHmm.txt.

Contenu du fichier exporté :
- En-tête avec la date et l'heure d'exportation
- Base de données active, fournisseur IA et modèle utilisés
- Tous les messages de l'historique, marqués avec [Vous] ou [Assistant IA]
- Blocs SQL générés (le cas échéant), délimités par --- SQL ---

Le fichier est enregistré en texte brut (.txt) avec encodage UTF-8, compatible avec tout éditeur de texte ou outil d'analyse.

Remarque : l'historique est volatile — il se réinitialise à la fermeture de l'onglet de l'assistant. Exportez la conversation avant de la fermer si vous souhaitez la conserver.

Mots-clés : exporter, enregistrer, conversation, texte, historique, export, save, txt, fichier

Historique des conversations

Chaque conversation avec l'assistant est enregistrée et peut être reprise.

Où le trouver : Assistant IA › Historique (horloge)

Cliquez sur l'icône horloge dans l'en-tête de l'Assistant IA pour ouvrir le panneau d'historique à côté du chat. Chaque conversation est enregistrée dès l'envoi de la première question : une réponse en échec ou un changement de connexion n'emporte donc pas ce que vous avez demandé.

Reprendre une conversation. Cliquez sur une ligne de la liste : elle devient la conversation active avec tout son contexte, et les questions suivantes prolongent ce même fil. Pour repartir de zéro, utilisez le bouton + de l'en-tête ; le fil précédent reste dans l'historique.

Rechercher. Le champ du haut cherche en texte brut dans le titre et dans tous les tours — y compris le SQL généré —, pas seulement dans les titres.

Ce que montre chaque ligne. Le titre vient de votre première question ; en dessous figurent la date, la base de données qui servait de contexte et le nombre de questions du fil.

Supprimer. Menu contextuel sur une ligne pour l'effacer, ou icône de corbeille en bas pour supprimer tout l'historique.

Où c'est stocké. Sur cet appareil, dans ~/Library/Application Support/Caliope/ai_history.json. Les 200 conversations les plus récentes sont conservées ; à ce plafond, le pied du panneau l'indique. Dans une fenêtre étroite, le panneau se replie en tiroir et reste accessible depuis la bande latérale.

Mots-clés : historique, conversations, enregistrer, reprendre, rechercher, horloge, supprimer

Synchroniser l'historique avec iCloud

Facultatif : envoyez vos conversations vers votre iCloud privé pour les avoir sur tous vos appareils.

Où le trouver : Assistant IA › Historique › iCloud (nuage)

L'historique est local par défaut. La synchronisation s'active avec l'icône nuage au pied du panneau d'historique, et Calíope demande d'abord quoi faire de l'existant : envoyer les conversations déjà là ou ne synchroniser que les nouvelles.

Ce qui est envoyé. Le titre, la date, le contexte (connexion, base de données, fournisseur et modèle) et le transcript complet : vos questions, les réponses et le SQL généré. Tout va dans la base privée de votre compte iCloud, pas sur un serveur de Calíope.

Identifiants. Avant de quitter l'appareil, le texte passe par le même caviardage que le journal des requêtes : un IDENTIFIED BY '…' ou un SET PASSWORD devient '***REDACTED***'. Le fichier local garde le texte original.

À la désactivation, Calíope demande si vous voulez conserver sur cet appareil les conversations présentes dans iCloud ; si vous les téléchargez, elles sont fusionnées avec les locales en gardant la version la plus récente de chacune.

En cas d'échec, l'icône passe au rouge : cliquez pour voir la raison (compte iCloud absent, restrictions, réseau) et réessayer ou désactiver la synchronisation.

Suppression. Supprimer une conversation ou tout l'historique avec la synchronisation active les efface aussi d'iCloud.

Mots-clés : icloud, synchroniser, nuage, cloudkit, appareils, confidentialité, caviarder

Copier les réponses de l'assistant

Copiez une réponse, seulement son SQL, ou toute la conversation.

Où le trouver : Assistant IA › Copier la réponse

Sous chaque bulle, un bouton Copier la réponse copie le texte et, si la réponse contient un bloc SQL, le SQL aussi. Le bouton confirme par une coche pendant deux secondes.

Seulement le SQL. Dans l'en-tête du panneau de code, à côté de Ouvrir dans l'éditeur, il y a Copier le SQL.

Un extrait. Le texte des bulles et du panneau SQL est sélectionnable : glissez sur une partie et copiez avec ⌘C.

Toute la conversation. Menu contextuel sur une bulle pour copier ce tour, ou menu contextuel sur une ligne de l'historique › Copier la conversation pour récupérer le transcript complet avec son en-tête de date et de contexte — le même format que le bouton d'export.

Mots-clés : copier, presse-papiers, sql, sélectionner, transcript, réponse