Również w serwisie YouTube.

sgcUI 2026.11: sgcChat, asystent AI i czat zespołowy dla Delphi i .NET | Blog eSeGeCe

sgcUI 2026.11: sgcChat, asystent AI i czat zespołowy dla Delphi, C++ Builder i .NET

· Wydania
sgcUI 2026.11: sgcChat, asystent AI i czat zespołowy dla Delphi i .NET | Blog eSeGeCe
✦  Nowe wydanie · sgcUI 2026.11

Poznaj sgcChat.
Czat w Twojej aplikacji.

Asystent AI, który strumieniuje odpowiedzi jako sformatowany Markdown, oraz czat zespołowy z obecnością, wskaźnikiem pisania, potwierdzeniami odczytu i reakcjami. Natywne kontrolki dla Delphi, C++ Builder i .NET.

  • VCL
  • FireMonkey
  • WinForms
  • WPF
  • Avalonia
  • Headless SVG i PNG
Rozmowa z asystentem AI i czat zespołowy obok siebie, narysowane przez sgcChat
16produktów sgcUI
4kontrolki czatu
5frameworków UI
12języków

Dziś wydajemy sgcUI 2026.11. Wersja dodaje nowy produkt, sgcChat, który umieszcza w Twojej aplikacji czat z asystentem AI i czat zespołowy, a ponadto uzupełnia szereg mniejszych braków w całym pakiecie: wskaźniki przyjmujące dane od użytkownika, wiązanie danych działające w obie strony, dashboard publikowany jako strona WWW, serie cykliczne Outlooka w planerze, skrypty w raportach i więcej.

sgcChat jest szesnastym produktem sgcUI. Działa w VCL i FireMonkey dla Delphi i C++ Builder oraz w WinForms, WPF i Avalonia dla .NET i wchodzi w skład sgcUI Enterprise oraz All-Access. Nie jest sprzedawany jako osobny pakiet.

sgcChat: asystent AI w Twojej aplikacji

Odpowiedź AI nadchodzi w małych porcjach, a użytkownicy chcą ją czytać w trakcie pisania. TsgcChatAI wiąże rozmowę z dostawcą, wysyła historię i prompt systemowy oraz pokazuje każdą porcję jako sformatowany Markdown, gdy tylko nadejdzie. Dostawca działa w wątku roboczym, więc okno pozostaje responsywne, a panel czatu oferuje zatrzymanie, ponowne wygenerowanie oraz edycję i ponowne wysłanie dla każdej odpowiedzi.

Rozmowa z asystentem AI w panelu sgcChat
Asystent AI w panelu czatu.

sgcChat nie wiąże Cię z jednym dostawcą AI. TsgcChatAIProvider_AIChat łączy się z TsgcAIChat z sgcWebSockets, który komunikuje się z OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok i Mistral. TsgcChatAIProvider_UICore korzysta z warstwy dostawców AI współdzielonej przez każdy produkt sgcUI, a TsgcChatAIEventProvider pozwala strumieniować z własnego backendu w zdarzeniu. Tak TsgcChatAI odpowiada przez OpenAI:

uses
  SysUtils, Classes,
  // sgcWebSockets
  sgcAI, sgcAI_Chat,
  // sgc
  sgcChat_AI, sgcChatWS_AI;

procedure UseOpenAI(aAI: TsgcChatAI; const aApiKey: string);
var
  oChat: TsgcAIChat;
  oProvider: TsgcChatAIProvider_AIChat;
begin
  oChat := TsgcAIChat.Create(aAI.Owner);
  oChat.Provider := aicpOpenAI;
  oChat.ChatOptions.ApiKey := aApiKey;
  oChat.ChatOptions.Model := 'gpt-4o-mini';

  oProvider := TsgcChatAIProvider_AIChat.Create(aAI.Owner);
  oProvider.Chat := oChat;

  aAI.Model := oChat.ChatOptions.Model;
  aAI.Provider := oProvider;
end;

Zmień Provider, aby użyć Anthropic, Gemini, DeepSeek, Ollama, Grok lub Mistral. Pomoc sgcChat zawiera pełny przewodnik szybkiego startu.

Rozmowa z Claude, OpenAI, Gemini i innymi dostawcami LLM wymaga sgcWebSockets, który jest zawarty w All-Access. TsgcChatAIProvider_AIChat znajduje się w pakiecie mostu sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Bez sgcWebSockets TsgcChatAIEventProvider pozwala własnemu kodowi wywoływać dowolną usługę AI.

sgcChat: czat zespołowy na Twoim serwerze

Działy wsparcia, zespoły terenowe i narzędzia wewnętrzne potrzebują czatu, który ich użytkownicy już umieją obsługiwać. Widok czatu grupuje wiadomości każdego autora z awatarem i nazwą, pokazuje, kto jest online, nieobecny lub zajęty, pokazuje, kto pisze, i oznacza każdą wiadomość jako wysłaną, dostarczoną lub przeczytaną. Użytkownicy odpowiadają na wiadomość, reagują na nią, edytują lub usuwają własne wiadomości i wysyłają załączniki z miniaturami obrazów i znacznikami plików.

Czat zespołowy z awatarami, obecnością i potwierdzeniami odczytu w sgcChat
Czat zespołowy z obecnością, wskaźnikiem pisania i potwierdzeniami odczytu.

Czat nie zależy od jednego serwera. TsgcChatEventTransport przekazuje do Twojego kodu każdą wiadomość, zmianę stanu pisania, potwierdzenie i reakcję jako udokumentowaną ramkę JSON. W sgcWebSockets TsgcChatTransport_WebSocket łączy klienta, a TsgcChatServer_WebSocket przekazuje wiadomości między klientami kanału, śledzi obecność każdego użytkownika i wysyła ostatnie wiadomości użytkownikom, którzy dołączają później. Przekaźnik działa w usłudze lub w programie konsolowym:

function CreateRelay(aOwner: TComponent; aPort: Integer)
  : TsgcChatServer_WebSocket;
var
  oServer: TsgcWebSocketServer;
begin
  oServer := TsgcWebSocketServer.Create(aOwner);
  oServer.Port := aPort;
  // the relay needs no main thread
  oServer.NotifyEvents := neNoSync;

  Result := TsgcChatServer_WebSocket.Create(aOwner);
  Result.Server := oServer;
  // the last 100 messages of every channel go to late joiners
  Result.HistoryCount := 100;

  oServer.Active := True;
end;

Oba powyższe przykłady w Delphi zostały skopiowane bez zmian z przykładów w pomocy sgcChat, które skompilowano w Delphi 13 (Win32) względem źródeł sgcUI i sgcWebSockets.

Czat zespołowy WebSocket wymaga sgcWebSockets, który jest zawarty w All-Access. TsgcChatTransport_WebSocket i TsgcChatServer_WebSocket znajdują się w pakiecie mostu sgcChatWS (.NET: esegece.sgcChat.sgcWebSockets). Bez sgcWebSockets TsgcChatEventTransport łączy czat z dowolnym backendem.

sgcChat: natywny podgląd Markdown

Silnik stojący za dymkami czatu jest także osobną kontrolką. TsgcVCLMarkdownViewer i TsgcFMXMarkdownViewer pokazują nagłówki, wyróżnienia, cytaty, listy, listy zadań, tabele, odnośniki i obrazy oraz podświetlają bloki kodu w Pascalu, C#, C++, JavaScript, Pythonie, JSON, SQL i innych językach. AppendMarkdown dodaje tekst w miarę nadchodzenia, a użytkownicy zaznaczają i kopiują tekst lub cały blok kodu przyciskiem kopiowania. Użyj go do informacji o wydaniach, stron pomocy i wiadomości pisanych w Markdown.

Podgląd Markdown sgcChat w jasnym motywie
Podgląd Markdown, jasny
Podgląd Markdown sgcChat w ciemnym motywie
Podgląd Markdown, ciemny

sgcChat pasuje do reszty pakietu

Czat stosuje jasny, ciemny i Fluent motyw sgcUI. Rozmowa po arabsku lub hebrajsku jest odbijana lustrzanie, a teksty kontrolek są przetłumaczone na 12 języków sgcUI. W Windows widok czatu jest dla czytników ekranu listą wiadomości, z autorem i czasem każdej wiadomości. Model rozmowy, dokument Markdown i widok nie zależą od VCL ani FireMonkey, więc usługa może wyrenderować rozmowę lub dokument Markdown do SVG albo PNG bez okna, także w Linux64.

Komponenty to TsgcVCLChatPanel, TsgcVCLChatView, TsgcVCLChatInput i TsgcVCLMarkdownViewer, ten sam zestaw z prefiksem TsgcFMX dla FireMonkey oraz te same kontrolki dla WinForms, WPF i Avalonia, takie jak TsgcWinFormsChatPanel, TsgcWpfChatPanel i TsgcAvaloniaChatPanel. Dema obejmują asystenta AI, klienta czatu zespołowego wraz z serwerem przekaźnikowym oraz podgląd Markdown, dla VCL, FireMonkey, C++ Builder, WinForms, WPF i Avalonia.

sgcChat jest sprzedawany w ramach sgcUI Enterprise i pakietu All-Access, który zawiera także sgcWebSockets dla dostawcy AI i mostka WebSocket. Zobacz stronę sgcChat i macierz funkcji.

W całym pakiecie: wejście, dane i wyjście

Reszta wydania uzupełnia mniejsze braki w produktach: kontrolki przyjmujące dane od użytkownika, wiązanie danych działające w obie strony oraz więcej sposobów na wyprowadzenie ekranu poza aplikację.

sgcGauges: wskaźniki wejściowe i skórki

Cztery wskaźniki wejściowe, TsgcVCLKnobGauge, TsgcVCLSliderGauge, TsgcVCLToggleSwitchGauge i TsgcVCLPushButtonGauge (TsgcFMX w FireMonkey oraz te same nazwy w WinForms, WPF i Avalonia), pozwalają użytkownikowi ustawić wartość myszą, dotykiem, kółkiem lub klawiaturą. OnUserChange zachodzi tylko dla zmian dokonanych przez użytkownika, a czytniki ekranu widzą je jako suwak, przełącznik i przycisk. sgcGauges ma teraz szesnaście typów wskaźników, wliczając wskaźniki zbiornika i symboli procesowych z pakietu HMI opisanego niżej.

Skin nadaje każdemu wskaźnikowi nowy wygląd: Classic, Modern, Industrial, ISA101, Dark lub własną skórkę zarejestrowaną przez sgcGaugesRegisterSkin. TsgcGaugeDataLink pokazuje pole zbioru danych na dowolnym wskaźniku i zapisuje zmiany wskaźnika wejściowego z powrotem do pola. Zobacz funkcje sgcGauges i pomoc o wskaźnikach wejściowych.

Wiązanie danych na żywo i w dwie strony

Produkty śledzą TDataSet w Delphi, lub DataTable w .NET, w trakcie jego zmian, a produkty edycyjne zapisują zmiany użytkownika z powrotem:

sgcDiagram, sgcPivotGrid, sgcGauges i sgcDashboard mają to samo wiązanie w .NET. Macierz funkcji sgcUI pokazuje, co zawiera każda edycja.

sgcPlanner: serie Outlooka, przypomnienia Google i pojemność

TsgcPlannerGraphSync przenosi teraz serie cykliczne Outlooka jako jeden element cykliczny z jego RRULE, zmienione wystąpienia jako zmodyfikowane wystąpienia, a anulowane jako wyjątki, oraz odsyła do Outlooka serie utworzone w planerze. TsgcPlannerGoogleSync wysyła do Kalendarza Google przypomnienia zmienione w planerze podczas aktualizacji zdarzenia i odczytuje te zmienione w Google. Capacity na zasób (1 dla osoby na pełny etat, 0.5 dla pół etatu, 3 dla zespołu trzech osób) steruje linią pojemności histogramu obciążenia i jest odczytywane oraz zapisywane jako MaxUnits w Microsoft Project XML. Zobacz funkcje sgcPlanner.

sgcDashboard: publikacja w sieci i kafelek mapy wszędzie

SaveToHTML zapisuje dashboard jako jedną samodzielną stronę HTML. Każdy kafelek jest rysowany jako SVG tym samym kodem, który go drukuje, na siatce CSS zgodnej z punktami przełamania dashboardu, a każdy kafelek ma nagłówek i alternatywę tekstową dla czytników ekranu. Bez adresu odświeżania strona nie zawiera żadnego skryptu. W .NET kafelek mapy istnieje teraz także dla WPF i Avalonia, a mapy pojawiają się w wydruku, PDF i HTML dashboardu. Przeczytaj pomoc o publikacji w sieci i funkcje sgcDashboard.

sgcMaps: rysowanie mapy na dowolnym canvasie

DrawTo w TsgcVCLMap, TsgcFMXMap i WinForms SgcMapControl rysuje bieżący widok z załadowanymi kafelkami w prostokącie dowolnego canvasu sgcUI, a mapy WPF i Avalonia także renderują się na dowolnym canvasie sgcUI. Tak mapa w kafelku dashboardu trafia do wydruku, PDF i strony HTML. Zobacz funkcje sgcMaps.

sgcWizard: przejścia i strona podsumowania

Transition animuje zmianę strony przesunięciem, zanikaniem lub oboma naraz, z odbiciem lustrzanym w układach od prawej do lewej, a ReduceMotion stosuje się do ustawienia animacji w Windows. Z ShowSummary kreator dodaje ostatnią stronę, która wymienia pola i wartości wpisane przez użytkownika na każdej odwiedzonej stronie, z zamaskowanymi hasłami i odnośnikiem Edytuj wracającym do każdej strony. Zobacz funkcje sgcWizard i pomoc o stronie podsumowania.

sgcReports: skrypty i podgląd FireMonkey na każdej platformie

TsgcReport.Script zawiera procedury w małym języku podobnym do Pascala, przechowywane w definicji raportu i w JSON. Raport uruchamia skrypt na początku i na końcu, a także przed i po wydrukowaniu każdego pasma i każdego elementu, więc skrypt może ukryć pasmo albo zmienić tekst, kolor czcionki lub wysokość elementu w bieżącym wydruku. Projektanty VCL, FireMonkey, WinForms, WPF i Avalonia edytują skrypt z przyciskiem Check, który pokazuje wiersz i kolumnę błędu. Podgląd FireMonkey działa w Windows, macOS, iOS i Android, z przesuwaniem dotykiem i powiększaniem szczypnięciem, a w iOS i Android Drukuj i Zapisz PDF otwierają systemowy arkusz udostępniania. Zobacz funkcje sgcReports i pomoc o skryptach.

sgcPDF dla .NET: edycja adnotacji i wypełnianie formularzy w WPF i Avalonia

Przeglądarki WPF i Avalonia robią teraz to, co przeglądarka WinForms: użytkownicy tworzą, przesuwają, zmieniają rozmiar, edytują i usuwają adnotacje myszą (AnnotationEditing i AnnotationTool), a z FormFilling wypełniają pola tekstowe, pola wyboru, przyciski opcji, listy rozwijane i listy, przy czym Tab przechodzi po polach w ich kolejności tabulacji. Zobacz funkcje sgcPDF.

Dostępność sprawdzona na każdej platformie

Drzewo UI Automation każdego dema produktu, czyli drzewo odczytywane przez czytniki ekranu takie jak Narrator i NVDA, zostało sprawdzone klientem UI Automation w VCL, FireMonkey, WinForms, WPF i Avalonia, a znalezione problemy naprawiono. Edytory VCL ogłaszają teraz etykietę pola zamiast jego wartości, płaski pasek nawigacji jest listą, a nie drzewem, paski stanu WinForms i WPF nie przejmują już fokusu klawiatury, komórki siatki Avalonia nie powtarzają już nazwy kolumny, a punkty wykresów i inne rysowane elementy kontrolek Avalonia zgłaszają swoje położenie na ekranie.

Inteligentne znaczniki Visual Studio i XAML

Inteligentne znaczniki wszystkich 69 komponentów przybornika WinForms przetestowano na powierzchni projektowej: każdą właściwość, edytor kolekcji, listę źródeł danych, akcję i czynność. W WPF i Avalonia kafelki sgcDashboard i skórki sgcGauges są deklarowane w XAML pod tym samym prefiksem sgc co kolumny, pola i serie pozostałych produktów.

sgcEditors: kontrolka układu i formularze danych

Nowa kontrolka układu, TsgcVCLLayoutControl i TsgcFMXLayoutControl (oraz te same nazwy w WinForms, WPF i Avalonia), rozmieszcza kontrolki formularza w grupach, grupach z kartami i kolumnach, z etykietami wyrównanymi do jednej szerokości, rozdzielaczami, które użytkownik może przeciągać, i układami od prawej do lewej. SaveLayout i LoadLayout zachowują rozmieszczenie wykonane przez użytkownika jako JSON. Kontrolka układu jest we wszystkich edycjach, także w Community. Delphi Community nie ma pakietu czasu projektowania dla sgcEditors, więc tam tworzy się ją w kodzie.

Formularz danych jest zbudowany na niej. TsgcVCLDataForm i TsgcFMXDataForm generują kompletny formularz edycji ze zbioru TDataSet albo z published właściwości klasy przez BindObject, a formularze danych WinForms, WPF i Avalonia przyjmują DataTable, listę lub obiekt. Każde pole dostaje kontrolkę sgcEditors, reguły walidatora sgcUICore i miejsce w grupie lub na karcie, a nawigator przegląda, dodaje, edytuje, usuwa i zatwierdza rekordy. Smart Paste wypełnia cały rekord z wklejonego tekstu przez warstwę AI, której edytory już używają, i oznacza pola, które wypełnił. Formularz danych jest w edycji Zarejestrowanej, na VCL, FireMonkey, C++Builder, WinForms, WPF i Avalonia:

uses
  Forms, Controls, DB,
  sgcUICore_AI, sgcEditors_DataForm, sgcEditors_VCL_DataForm;

function CreateCustomerForm(aOwner: TForm; aSource: TDataSource;
  aProvider: TsgcUIAIProvider): TsgcVCLDataForm;
var
  oField: TsgcDataFormField;
begin
  Result := TsgcVCLDataForm.Create(aOwner);
  Result.Parent := aOwner;
  Result.Align := alClient;
  // an open dataset: one field, one editor and one rule per TField
  Result.DataSource := aSource;
  oField := Result.Fields.FindField('EMAIL');
  oField.Kind := edfEmail;
  oField.Required := True;
  oField.Group := 'Contact';
  Result.Fields.FindField('PHONE').Group := 'Contact';
  Result.RebuildEditors;
  // the Smart Paste button of the navigator fills every field from the
  // clipboard; without a provider a local parser reads "Name: value" lines
  Result.Provider := aProvider;
end;

Zobacz funkcje sgcEditors i pomoc formularza danych.

Pakiet sgcUI HMI: zbiorniki, P&ID, alarmy i NumPad

Pakiet HMI wnosi do sgcUI ekrany procesowe: panele operatorskie, zbiornikownie, przepompownie i inne wyświetlacze instalacji. To nie jest nowy produkt. Każdy element żyje w produkcie, który rozszerza, i podąża za jego edycją, w VCL i FireMonkey, C++Builder oraz w WinForms, WPF i Avalonia w .NET. Wywołaj raz sgcUIApplyISA101, a każda kontrolka sgcUI przełączy się na szary schemat ISA-101, w którym kolor jest zachowany dla stanów nietypowych i alarmów.

Aplikacja nadal steruje instalacją: pobiera wartości z własnych sterowników, bazy danych lub mostu wskaźników i sama decyduje, kiedy alarm jest zgłaszany. Nie ma sterownika OPC UA ani Modbus. Wskaźniki zbiornika i symboli procesowych, lista alarmów i NumPad są w każdej edycji, także w Community, natomiast szablony P&ID, stany procesu i animowane rury, zasilanie wskaźników oraz dziennik potwierdzeń alarmów są w edycji Zarejestrowanej. Demo HMI w pakiecie łączy te elementy na małej zbiornikowni sterowanej symulatorem. Przeczytaj stronę pakietu sgcUI HMI oraz pomoc pakietu HMI.

Pakiet sgcUI Realtime UI: obecność, powiadomienia, kanały aktywności i dzienniki na żywo

Pakiet Realtime UI daje sgcUI elementy ekranu na żywo dla Delphi, C++Builder i .NET. To nie jest nowy produkt. Każdy element znajduje się w produkcie, który rozszerza. sgcUICore dodaje model obecności z awatarami, grupą awatarów i wskaźnikiem obecności. sgcNavigation dodaje centrum powiadomień z toastami, skrzynką pogrupowaną według dni i preferencjami dla kategorii i kanału, a TsgcToolbarBadgeLink z sgcToolbar pokazuje liczbę nieprzeczytanych na elemencie paska narzędzi lub wstążki. sgcDashboard dodaje kanał aktywności i ślad audytu, jako samodzielne kontrolki i jako kafelki pulpitu, a sgcGrid dodaje przeglądarkę dzienników na żywo z poziomami, filtrami, śledzeniem końca, pauzą i eksportem.

Każdy model przyjmuje jeden komunikat JSON na każdą zmianę. W edycji Zarejestrowanej źródła na żywo WebSocket, MQTT i SSE mostu sgcUICoreWS zasilają je z sgcWebSockets bez kodu. Każda kontrolka jest dostępna w edycji swojego produktu. Bez serwera lub w wersji Community aplikacja aktualizuje zamiast tego modele przez ich API. Przeczytaj stronę pakietu sgcUI Realtime UI.

Przewodniki Getting Started dla każdego produktu

Każdy produkt sgcUI zawiera teraz pięć dem QuickStart dla Delphi (VCL) oraz przewodnik Getting Started, w HTML obok dem i w formie PDF. Dema prowadzą od pierwszego formularza do małej kompletnej aplikacji, a przewodnik wyjaśnia każdy krok. Zacznij od przewodnika sgcGrid, przewodnika sgcCharts lub przewodnika sgcChat. Przewodniki są po angielsku.

Wszystkie 16 przewodników jest wymienionych w sekcji przewodników w szybkim starcie sgcUI.

Wypróbuj sgcChat i sgcUI 2026.11

Jedna wersja próbna dla Delphi i jedna dla C++ Builder instalują wszystkie 16 produktów sgcUI.

Pytania lub uwagi? Skontaktuj się z nami, odpowie Ci ktoś z ludzi, którzy napisali ten kod.