sgcChat Feature Matrix

Everything sgcChat does, grouped by task. sgcChat is part of sgcUI Enterprise and All-Access, every feature is in every license, and there is no Community edition.

Controls

4 controls

Markdown Viewer

6 features

AI Assistant

6 features

Team Chat

6 features

Headless Output

SVG and PNG

Platforms and IDE Versions

Delphi, C++ Builder and .NET

Controls

ControlDetails
Chat panelTsgcVCLChatPanel and TsgcFMXChatPanel combine a header with the title, the avatar and the presence, the chat view and the chat input. Set AI for an assistant or Transport for a team chat, and the panel sends, stops, regenerates, edits, deletes and reacts through it.
Chat viewTsgcVCLChatView and TsgcFMXChatView show a TsgcChatConversation as message bubbles.
Chat inputTsgcVCLChatInput and TsgcFMXChatInput: a multi line input with an attach button and a send button that turns into a stop button while an answer streams.
Markdown viewerTsgcVCLMarkdownViewer and TsgcFMXMarkdownViewer show Markdown on their own, without a conversation.

Markdown Viewer

FeatureDetails
MarkdownHeadings, emphasis, code spans, quotes, nested lists, task lists, links, images and tables, read by the Markdown engine of sgcRichEdit.
Code blocksSyntax highlight for Pascal, C#, C++, C, JavaScript, TypeScript, Python, JSON, SQL, XML and HTML, and Bash, with a copy button on every block.
StreamingAppendMarkdown adds text as it arrives and Flush shows the pending text at once. A code block or a table that is not closed yet is shown as it grows.
Selection and clipboardSelect with the mouse or the keyboard, copy with Ctrl+C, and a context menu with Copy and Select all.
Links and imagesThe OnLinkClick event decides what a link opens; the OnGetImage event supplies the images.
ThemesText, link, code block and quote colours come from the sgcUI theme.

Chat View and Input

FeatureDetails
Message bubblesOwn messages on one side and the others on the other, with avatar, author name, time, status ticks and date separators. Consecutive messages of one author are grouped.
OptionsShowAvatars, ShowTimestamps, ShowStatus, GroupMessages, ShowDateSeparators and BubbleMaxWidthPercent.
Message actionsCopy, reply, edit, regenerate and delete, reported by the OnMessageAction event.
Large conversationsOnly the visible messages are measured, and the layout of each message is cached, so long conversations scroll smoothly.
ScrollingThe view stays at the bottom while an answer streams, unless the user scrolled up; a pill then shows that new messages arrived.
InputEnter sends and Shift+Enter starts a new line, configurable. Pending attachments are shown as chips, and a placeholder text is shown when the input is empty.

AI Assistant

FeatureDetails
AI bindingTsgcChatAI connects a conversation to a provider with SystemPrompt, Model, MaxHistory and the OnBeforeSend, OnAnswer, OnError and OnToolCall events.
StreamingThe provider runs on a worker thread; each piece of the answer is shown on the main thread as formatted Markdown.
Stop, regenerate, edit and resendStop ends a running answer, Regenerate asks again, and EditAndResend changes a question and asks again from that point.
Tool callsTool call cards with the tool name, the arguments, the result and a running, done or error state; users expand and collapse each card.
ProvidersTsgcChatAIProvider_AIChat over TsgcAIChat of sgcWebSockets (OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok and Mistral), TsgcChatAIProvider_UICore over the sgcUI AI provider layer, and TsgcChatAIEventProvider for your own backend.
HistorySaveToJSON, LoadFromJSON, SaveToFile and LoadFromFile keep the conversation between sessions.

Team Chat

FeatureDetails
Users and avatarsEach user has a name, initials or an avatar image and a colour.
PresenceOnline, away, busy and offline, shown as a dot on the avatar and in the panel header.
TypingA typing indicator with the name of the user; a user who stops sending typing changes is cleared after TypingTimeout.
Read receiptsSending, sent, delivered, read and failed states, and in group conversations how many users read a message.
Reactions and repliesEmoji reactions with a count per emoji, and replies that quote the original message.
Attachments, edit and deleteImage thumbnails and file chips, edited messages marked as edited, and deleted messages.

Transports and the sgcWebSockets Bridge

FeatureDetails
Event transportTsgcChatEventTransport hands messages, typing changes, receipts, reactions, presence, edits and deletes to your code, for any backend.
Wire formatA documented JSON frame per event, with acknowledgement, retry and duplicate detection; the changes are applied to the conversation on the main thread.
WebSocket clientTsgcChatTransport_WebSocket connects a conversation to a channel through a TsgcWebSocketClient of sgcWebSockets.
Relay serverTsgcChatServer_WebSocket relays messages between the clients of a channel through a TsgcWebSocketServer, keeps the presence of each user and sends the last messages to users who join later.

Themes, Languages and Accessibility

FeatureDetails
ThemesThe light, dark and Fluent themes of sgcUI, shared with the other sgcUI products.
Right to leftConversations in Arabic and Hebrew are mirrored, with the own messages on the left.
LocalizationThe texts of the controls in 12 languages: English, Spanish, German, French, Italian, Portuguese (Brazil), Dutch, Polish, Turkish, Japanese, Korean and Chinese.
AccessibilityOn Windows, UI Automation exposes the chat view as a list of messages with author and time, the Markdown viewer as a document with its text, and the input as an edit box.

Headless Output

FeatureDetails
No window neededTsgcChatMarkdownDocument and TsgcChatViewCore lay out and paint a Markdown document or a conversation without VCL or FireMonkey.
SVG and PNGPaint on the sgcUI SVG canvas or on the raster canvas and save an SVG or a PNG file. The pictures on the sgcChat product page are made this way.
Linux64The framework neutral units compile for Linux64 from Delphi 10.2.

Platforms and IDE Versions

TargetComponentsVersions
VCLTsgcVCLChatPanel, TsgcVCLChatView, TsgcVCLChatInput, TsgcVCLMarkdownViewerDelphi 7 to 13, C++ Builder 2007 to 13
FireMonkeyTsgcFMXChatPanel, TsgcFMXChatView, TsgcFMXChatInput, TsgcFMXMarkdownViewerDelphi and C++ Builder XE6 and later
Linux64Model, Markdown document, view, AI and transport cores, SVG and PNG outputDelphi 10.2 and later
sgcWebSockets bridgeTsgcChatAIProvider_AIChat, TsgcChatTransport_WebSocket, TsgcChatServer_WebSocketEvery Delphi version that sgcWebSockets supports
WinFormsTsgcWinFormsChatPanel and the other WinForms controls.NET Framework 4.7.2, .NET 8, 9 and 10 on Windows
WPFTsgcWpfChatPanel and the other WPF controls.NET Framework 4.7.2, .NET 8, 9 and 10 on Windows
AvaloniaTsgcAvaloniaChatPanel and the other Avalonia controls.NET 8, 9 and 10

sgcChat for .NET

A C# port with the same class and member names. The packages are Registered only and are not published on nuget.org.

PackageEditionContents
esegece.sgcChatRegisteredConversation model, Markdown document, view and input cores, AI binding, transports and SVG output
esegece.sgcChat.RenderingRegisteredThe rendering layer of the controls and PNG output
esegece.sgcChat.WinFormsRegisteredWindows Forms controls
esegece.sgcChat.WpfRegisteredWPF controls
esegece.sgcChat.AvaloniaRegisteredAvalonia controls
esegece.sgcChat.sgcWebSocketsRegisteredAI provider, WebSocket transport and relay server over sgcWebSockets .NET

Documentation

sgcChat is documented in the sgcUI help, with one build for each development environment.

Online Help

The sgcUI help for each development environment.

Delphi →
C++ Builder →
.NET →

PDF Manuals

The complete sgcUI help as a PDF file, to read offline or print.

Delphi (PDF) →
C++ Builder (PDF) →
.NET (PDF) →
Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.
See All-Access pricing

Build with sgcChat

Download the sgcUI trial and add an AI assistant or a team chat to your Delphi or C++ Builder application.