Matrice des fonctionnalités de sgcChat
Tout ce que fait sgcChat, regroupé par tâche. sgcChat fait partie de sgcUI Enterprise et d'All-Access, chaque fonctionnalité est dans chaque licence, et il n'existe pas d'édition Community.
Tout ce que fait sgcChat, regroupé par tâche. sgcChat fait partie de sgcUI Enterprise et d'All-Access, chaque fonctionnalité est dans chaque licence, et il n'existe pas d'édition Community.
4 contrôles
6 fonctionnalités
6 fonctionnalités
6 fonctionnalités
6 fonctionnalités
4 fonctionnalités
4 fonctionnalités
SVG et PNG
Delphi, C++ Builder et .NET
| Contrôle | Détails |
|---|---|
| Panneau de chat | TsgcVCLChatPanel et TsgcFMXChatPanel combinent un en-tête avec le titre, l'avatar et la présence, la vue de chat et la zone de saisie. Renseigne AI pour un assistant ou Transport pour un chat d'équipe, et le panneau envoie, arrête, régénère, modifie, supprime et réagit par son intermédiaire. |
| Vue de chat | TsgcVCLChatView et TsgcFMXChatView affichent une TsgcChatConversation sous forme de bulles de message. |
| Zone de saisie | TsgcVCLChatInput et TsgcFMXChatInput : une saisie multiligne avec un bouton de pièce jointe et un bouton d'envoi qui devient un bouton d'arrêt pendant qu'une réponse arrive en flux. |
| Visionneuse Markdown | TsgcVCLMarkdownViewer et TsgcFMXMarkdownViewer affichent du Markdown seuls, sans conversation. |
| Fonctionnalité | Détails |
|---|---|
| Markdown | Titres, emphases, code en ligne, citations, listes imbriquées, listes de tâches, liens, images et tableaux, lus par le moteur Markdown de sgcRichEdit. |
| Blocs de code | Coloration syntaxique pour Pascal, C#, C++, C, JavaScript, TypeScript, Python, JSON, SQL, XML et HTML, et Bash, avec un bouton de copie sur chaque bloc. |
| Affichage en flux | AppendMarkdown ajoute du texte au fur et à mesure de son arrivée et Flush affiche aussitôt le texte en attente. Un bloc de code ou un tableau pas encore fermé s'affiche à mesure qu'il grandit. |
| Sélection et presse-papiers | Sélection à la souris ou au clavier, copie avec Ctrl+C, et un menu contextuel avec Copier et Tout sélectionner. |
| Liens et images | L'événement OnLinkClick décide de ce qu'ouvre un lien ; l'événement OnGetImage fournit les images. |
| Thèmes | Les couleurs du texte, des liens, des blocs de code et des citations proviennent du thème sgcUI. |
| Fonctionnalité | Détails |
|---|---|
| Bulles de message | Les messages de l'utilisateur d'un côté et ceux des autres de l'autre, avec avatar, nom de l'auteur, heure, coches d'état et séparateurs de date. Les messages consécutifs d'un même auteur sont regroupés. |
| Options | ShowAvatars, ShowTimestamps, ShowStatus, GroupMessages, ShowDateSeparators et BubbleMaxWidthPercent. |
| Actions sur les messages | Copier, répondre, modifier, régénérer et supprimer, signalés par l'événement OnMessageAction. |
| Grandes conversations | Seuls les messages visibles sont mesurés, et la mise en page de chaque message est mise en cache, si bien que les longues conversations défilent avec fluidité. |
| Défilement | La vue reste en bas pendant qu'une réponse arrive en flux, sauf si l'utilisateur a remonté ; une pastille indique alors que de nouveaux messages sont arrivés. |
| Saisie | Entrée envoie et Maj+Entrée commence une nouvelle ligne, de façon configurable. Les pièces jointes en attente s'affichent sous forme de pastilles, et un texte indicatif s'affiche quand la saisie est vide. |
| Fonctionnalité | Détails |
|---|---|
| Liaison IA | TsgcChatAI connecte une conversation à un fournisseur avec SystemPrompt, Model, MaxHistory et les événements OnBeforeSend, OnAnswer, OnError et OnToolCall. |
| Affichage en flux | Le fournisseur s'exécute dans un thread de travail ; chaque morceau de la réponse s'affiche dans le thread principal en Markdown mis en forme. |
| Arrêt, régénération, modification et renvoi | Stop met fin à une réponse en cours, Regenerate repose la question, et EditAndResend modifie une question et la repose à partir de ce point. |
| Appels d'outil | Cartes d'appel d'outil avec le nom de l'outil, les arguments, le résultat et un état en cours, terminé ou erreur ; les utilisateurs développent et réduisent chaque carte. |
| Fournisseurs | TsgcChatAIProvider_AIChat sur TsgcAIChat de sgcWebSockets (OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok et Mistral), TsgcChatAIProvider_UICore sur la couche de fournisseurs IA de sgcUI, et TsgcChatAIEventProvider pour ton propre backend. |
| Historique | SaveToJSON, LoadFromJSON, SaveToFile et LoadFromFile conservent la conversation d'une session à l'autre. |
| Fonctionnalité | Détails |
|---|---|
| Utilisateurs et avatars | Chaque utilisateur a un nom, des initiales ou une image d'avatar et une couleur. |
| Présence | En ligne, absent, occupé et hors ligne, affiché sous forme de point sur l'avatar et dans l'en-tête du panneau. |
| Saisie en cours | Un indicateur de saisie avec le nom de l'utilisateur ; un utilisateur qui cesse d'envoyer des changements de saisie est effacé après TypingTimeout. |
| Accusés de lecture | États en cours d'envoi, envoyé, remis, lu et échec, et, dans les conversations de groupe, le nombre d'utilisateurs ayant lu un message. |
| Réactions et réponses | Réactions par emoji avec un compteur par emoji, et réponses qui citent le message d'origine. |
| Pièces jointes, modification et suppression | Miniatures d'image et pastilles de fichier, messages modifiés signalés comme tels, et messages supprimés. |
| Fonctionnalité | Détails |
|---|---|
| Transport par événement | TsgcChatEventTransport transmet à ton code les messages, changements de saisie, accusés, réactions, présence, modifications et suppressions, pour n'importe quel backend. |
| Format de transmission | Une trame JSON documentée par événement, avec accusé de réception, nouvelle tentative et détection des doublons ; les changements sont appliqués à la conversation dans le thread principal. |
| Client WebSocket | TsgcChatTransport_WebSocket connecte une conversation à un canal via un TsgcWebSocketClient de sgcWebSockets. |
| Serveur relais | TsgcChatServer_WebSocket relaie les messages entre les clients d'un canal via un TsgcWebSocketServer, conserve la présence de chaque utilisateur et envoie les derniers messages aux utilisateurs qui se connectent plus tard. |
| Fonctionnalité | Détails |
|---|---|
| Thèmes | Les thèmes clair, sombre et Fluent de sgcUI, partagés avec les autres produits sgcUI. |
| De droite à gauche | Les conversations en arabe et en hébreu sont inversées, avec les messages de l'utilisateur à gauche. |
| Localisation | Les textes des contrôles en 12 langues : anglais, espagnol, allemand, français, italien, portugais (Brésil), néerlandais, polonais, turc, japonais, coréen et chinois. |
| Accessibilité | Sous Windows, UI Automation expose la vue de chat comme une liste de messages avec auteur et heure, la visionneuse Markdown comme un document avec son texte, et la zone de saisie comme un champ de texte. |
| Fonctionnalité | Détails |
|---|---|
| Aucune fenêtre nécessaire | TsgcChatMarkdownDocument et TsgcChatViewCore mettent en page et dessinent un document Markdown ou une conversation sans VCL ni FireMonkey. |
| SVG et PNG | Dessin sur le canevas SVG de sgcUI ou sur le canevas raster, puis enregistrement d'un fichier SVG ou PNG. Les images de la page produit sgcChat sont réalisées ainsi. |
| Linux64 | Les unités indépendantes du framework se compilent pour Linux64 à partir de Delphi 10.2. |
| Cible | Composants | Versions |
|---|---|---|
| VCL | TsgcVCLChatPanel, TsgcVCLChatView, TsgcVCLChatInput, TsgcVCLMarkdownViewer | Delphi 7 à 13, C++ Builder 2007 à 13 |
| FireMonkey | TsgcFMXChatPanel, TsgcFMXChatView, TsgcFMXChatInput, TsgcFMXMarkdownViewer | Delphi et C++ Builder XE6 et versions ultérieures |
| Linux64 | Modèle, document Markdown, vue, noyaux IA et de transport, sortie SVG et PNG | Delphi 10.2 et versions ultérieures |
| Pont sgcWebSockets | TsgcChatAIProvider_AIChat, TsgcChatTransport_WebSocket, TsgcChatServer_WebSocket | Toutes les versions de Delphi prises en charge par sgcWebSockets |
| WinForms | TsgcWinFormsChatPanel et les autres contrôles WinForms | .NET Framework 4.7.2, .NET 8, 9 et 10 sous Windows |
| WPF | TsgcWpfChatPanel et les autres contrôles WPF | .NET Framework 4.7.2, .NET 8, 9 et 10 sous Windows |
| Avalonia | TsgcAvaloniaChatPanel et les autres contrôles Avalonia | .NET 8, 9 et 10 |
Un portage C# avec les mêmes noms de classes et de membres. Les paquets sont uniquement Registered et ne sont pas publiés sur nuget.org.
| Paquet | Édition | Contenu |
|---|---|---|
esegece.sgcChat | Registered | Modèle de conversation, document Markdown, noyaux de vue et de saisie, liaison IA, transports et sortie SVG |
esegece.sgcChat.Rendering | Registered | La couche de rendu des contrôles et la sortie PNG |
esegece.sgcChat.WinForms | Registered | Contrôles Windows Forms |
esegece.sgcChat.Wpf | Registered | Contrôles WPF |
esegece.sgcChat.Avalonia | Registered | Contrôles Avalonia |
esegece.sgcChat.sgcWebSockets | Registered | Fournisseur IA, transport WebSocket et serveur relais sur sgcWebSockets .NET |
sgcChat est documenté dans l'aide de sgcUI, avec une version pour chaque environnement de développement.
L'aide de sgcUI pour chaque environnement de développement.
Delphi →L'aide complète de sgcUI sous forme de fichier PDF, à lire hors ligne ou à imprimer.
Delphi (PDF) →