From 4d6ac0d99f7ef0bc79eddaa16372bb641226828e Mon Sep 17 00:00:00 2001
From: Dmitry Eliseev
<81766219+dmitry-eliseev-devexpress@users.noreply.github.com>
Date: Wed, 8 Oct 2025 12:55:25 +0300
Subject: [PATCH 1/5] Include an existing GIF animation into the Readme.md file
---
README.md | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index c0ce73f..6800069 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
This simple example integrates AI into DevExpress VCL Controls using a 3rd-party AI library (GenAI) available via the GetIt Package Manager.
VCL developers can switch between different AI providers and utilize commands that DevExpress AI Assistant adds to DevExpress Text Editors (such as `TcxMemo` or `TdxRichEditControl`).
-
+
> [!NOTE]
> Until Embarcadero ships official AI-related SDK libraries, VCL developers can plug in third-party libraries or leverage own implementation to support different AI providers. For example, the DevExpress VCL Rich Text Editor demo ("%Public%\DevExpress VCL Demos\MegaDemos\Product Demos\ExpressRichEditControl\dxAI.ChatClient.Azure.pas" uses our Azure OpenAI service deployment via a simple `TdxAIAzureChatClient` implementation (extends our base `TdxAIChatClient` API).
@@ -49,9 +49,10 @@ end;
> DevExpress AI-powered Extensions follow the "bring your own key" principle. DevExpress does not offer a REST API and does not ship any built-in LLMs/SLMs. You need an active subscription for the required AI service to obtain the REST API endpoint, key, and model deployment name. These variables must be specified at application startup to register AI clients and enable DevExpress AI-powered Extensions in your application.
-## Does this example address your development requirements/objectives?
-
-[
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=yes) [
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=no)
-
+## Does this example address your development requirements/objectives?
+
+[
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=yes) [
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=no)
+
(you will be redirected to DevExpress.com to submit your response)
+
From 67013bd6af2daf0b5d92661714adcdc0368551ba Mon Sep 17 00:00:00 2001
From: DevExpressExampleBot
Date: Wed, 8 Oct 2025 13:57:06 +0400
Subject: [PATCH 2/5] Created a new file CODEOWNERS [skip ci]
---
CODEOWNERS | 1 +
1 file changed, 1 insertion(+)
create mode 100644 CODEOWNERS
diff --git a/CODEOWNERS b/CODEOWNERS
new file mode 100644
index 0000000..a88e69e
--- /dev/null
+++ b/CODEOWNERS
@@ -0,0 +1 @@
+* @DevExpressExampleBot
\ No newline at end of file
From d1a50c06fd0b6dbf599f91a5baa9449ef52613a8 Mon Sep 17 00:00:00 2001
From: DevExpressExampleBot
Date: Wed, 8 Oct 2025 13:57:08 +0400
Subject: [PATCH 3/5] Created a new file vale.yml [skip ci]
---
.github/workflows/vale.yml | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 .github/workflows/vale.yml
diff --git a/.github/workflows/vale.yml b/.github/workflows/vale.yml
new file mode 100644
index 0000000..068c35b
--- /dev/null
+++ b/.github/workflows/vale.yml
@@ -0,0 +1,28 @@
+name: vale-validation
+on:
+ pull_request:
+ paths:
+ - README.md
+
+jobs:
+ vale:
+ name: runner / vale
+ runs-on: ubuntu-latest
+ steps:
+ - name: clone repo
+ uses: actions/checkout@v4
+ - name: clone vale-styles repo
+ uses: actions/checkout@v4
+ with:
+ repository: DevExpress/vale-styles
+ path: vale-styles
+ ssh-key: ${{ secrets.VALE_STYLES_ACCESS_KEY }}
+ - name: copy vale rules to the root repo
+ run: shopt -s dotglob && cp -r ./vale-styles/vale/* .
+ - name: vale linter check
+ uses: DevExpress/vale-action@reviewdog
+ with:
+ files: README.md
+ fail_on_error: true
+ filter_mode: nofilter
+ reporter: github-check
From 01965c2d30e8d3345631c05484918b7f35d84047 Mon Sep 17 00:00:00 2001
From: DevExpressExampleBot
Date: Wed, 8 Oct 2025 13:57:14 +0400
Subject: [PATCH 4/5] README auto update [skip ci]
---
README.md | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 6800069..8369fcc 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
-
[](https://supportcenter.devexpress.com/ticket/details/T1296609)
[](https://docs.devexpress.com/GeneralInformation/403183)
[](#does-this-example-address-your-development-requirementsobjectives)
@@ -49,10 +48,10 @@ end;
> DevExpress AI-powered Extensions follow the "bring your own key" principle. DevExpress does not offer a REST API and does not ship any built-in LLMs/SLMs. You need an active subscription for the required AI service to obtain the REST API endpoint, key, and model deployment name. These variables must be specified at application startup to register AI clients and enable DevExpress AI-powered Extensions in your application.
-## Does this example address your development requirements/objectives?
-
-[
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=yes) [
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=no)
-
+## Does this example address your development requirements/objectives?
+
+[
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=yes) [
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=no)
+
(you will be redirected to DevExpress.com to submit your response)
From 4b375df875891359a0598086da8129935eb0edf4 Mon Sep 17 00:00:00 2001
From: Dmitry Eliseev
<81766219+dmitry-eliseev-devexpress@users.noreply.github.com>
Date: Wed, 8 Oct 2025 13:04:07 +0300
Subject: [PATCH 5/5] Apply suggestions from code review
---
README.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 8369fcc..bd03002 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
# DevExpress VCL/Delphi - Integrate a 3rd-party AI/LLM provider library
This simple example integrates AI into DevExpress VCL Controls using a 3rd-party AI library (GenAI) available via the GetIt Package Manager.
-VCL developers can switch between different AI providers and utilize commands that DevExpress AI Assistant adds to DevExpress Text Editors (such as `TcxMemo` or `TdxRichEditControl`).
+VCL developers can switch between different AI providers and utilize commands that DevExpress AI Assistant adds to DevExpress Text Editors (such as [TcxMemo](https://docs.devexpress.com/VCL/cxMemo.TcxMemo) or [TdxRichEditControl](https://docs.devexpress.com/VCL/dxRichEdit.Control.TdxRichEditControl)).

@@ -48,10 +48,10 @@ end;
> DevExpress AI-powered Extensions follow the "bring your own key" principle. DevExpress does not offer a REST API and does not ship any built-in LLMs/SLMs. You need an active subscription for the required AI service to obtain the REST API endpoint, key, and model deployment name. These variables must be specified at application startup to register AI clients and enable DevExpress AI-powered Extensions in your application.
-## Does this example address your development requirements/objectives?
-
-[
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=yes) [
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=no)
-
+## Does this example address your development requirements/objectives?
+
+[
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=yes) [
](https://www.devexpress.com/support/examples/survey.xml?utm_source=github&utm_campaign=vcl-ai-memo-example&~~~was_helpful=no)
+
(you will be redirected to DevExpress.com to submit your response)