Epicweb.Optimizely.AIAssistant 4.0.0

dotnet add package Epicweb.Optimizely.AIAssistant --version 4.0.0
                    
NuGet\Install-Package Epicweb.Optimizely.AIAssistant -Version 4.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Epicweb.Optimizely.AIAssistant" Version="4.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Epicweb.Optimizely.AIAssistant" Version="4.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Epicweb.Optimizely.AIAssistant" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Epicweb.Optimizely.AIAssistant --version 4.0.0
                    
#r "nuget: Epicweb.Optimizely.AIAssistant, 4.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Epicweb.Optimizely.AIAssistant@4.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Epicweb.Optimizely.AIAssistant&version=4.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Epicweb.Optimizely.AIAssistant&version=4.0.0
                    
Install as a Cake Tool

Introducing AI Assistant v4 for Optimizely CMS 12 and 13

Version 4.0 of Epicweb AI Assistant is here — bringing full support for Optimizely CMS 13 on .NET 10 while remaining fully compatible with CMS 12 on .NET 8. This release also introduces powerful new AI tools for Visitor Groups and Display Options, giving content editors even more control over personalization and layout — all through natural language in AI Chat.

CMS 13 and .NET 10 Support

AI Assistant v4 is the first release to target both CMS generations from a single NuGet package. Whether your project runs on CMS 12 (.NET 8) or the brand-new CMS 13 (.NET 10), you install the same Epicweb.Optimizely.AIAssistant package — the correct build and dependencies are selected automatically.

What changed under the hood

  • The main package now multi-targets net8.0 and net10.0, with framework-conditional dependency groups so that CMS 12 projects receive EPiServer 12.x packages and CMS 13 projects receive the new 13.x packages.
  • Logging, framework, and CMS dependencies that were reorganised in CMS 13 (e.g. EPiServer.Logging moving to its own package) are handled transparently — no extra configuration needed.
  • Both the Tools (Epicweb.Optimizely.AIAssistant.Tools) and LanguageManager companion packages follow the same multi-target strategy.

Getting started on CMS 13

The setup is identical to CMS 12. Add to Startup.cs:

services.AddAIAssistant();

No additional steps are required for CMS 13 — the plugin detects the host framework at restore time.


New Tool: Visitor Group Discovery

The new VisitorGroupTools class gives the AI full visibility into the personalization visitor groups configured in your CMS instance. When an editor asks the AI to personalise a content area — for example "Show this banner only to VIP customers" — the AI can now:

  1. List all visitor groups with GetAllVisitorGroups to discover what targeting options exist.
  2. Inspect a specific group with GetVisitorGroup to understand its criteria and scope.
  3. Apply the correct group by ID or name when updating ContentArea items via the allowedRoles property.

Example conversation

Editor: "Personalise the hero area so only mobile users see the promo block."

AI Assistant: Calls GetAllVisitorGroups, finds the "Mobile Users" group, then updates the ContentArea item with "allowedRoles": ["Mobile Users"].

No manual GUID copy-pasting required.

New Tool: Display Option Discovery

Content areas in Optimizely support display options — layout hints like full width, half width, or narrow — but editors often don't know the exact IDs configured in their project. The new DisplayOptionTools class solves this.

GetAvailableDisplayOptions returns every registered display option with its ID, name, and tag, so the AI can suggest and apply the right layout automatically.

Example conversation

Editor: "Put the testimonial block in the sidebar area at half width."

AI Assistant: Calls GetAvailableDisplayOptions, finds id: "half", then sets "displayOption": "half" on the ContentArea item.

Registration

Here is the full recommended tool registration for AI Chat in version 4:

using Epicweb.Optimizely.AIAssistant.Tools;

services
    .AddAIAssistant()
    .RegisterMcpToolType(typeof(BuiltinTools))
    .RegisterMcpToolType(typeof(BuiltinChatTools))
    .RegisterMcpToolType(typeof(BuiltinPublishChatTools))
    .RegisterMcpToolType(typeof(BuiltinUpdateChatTools))
    .RegisterMcpToolType(typeof(VisitorGroupTools))       // NEW in v4
    .RegisterMcpToolType(typeof(DisplayOptionTools))      // NEW in v4
    .RegisterMcpToolType(typeof(BuiltinChatImageTools))
    .RegisterMcpToolType(typeof(BuiltinChatCreateImageTools));

Upgrading from v3

  1. Update the NuGet packages to version 4.0.0.
  2. Register the new tools (VisitorGroupTools, DisplayOptionTools) in Startup.cs — this is optional but recommended.
  3. No breaking changes in the public API. Existing chat conversations, instructions, and custom tools continue to work as before.
  4. If you are migrating from CMS 12 to CMS 13, simply retarget your project to net10.0 and update Optimizely packages to 13.x — the AI Assistant package handles the rest.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Epicweb.Optimizely.AIAssistant:

Package Downloads
Epicweb.Optimizely.AIAssistant.LanguageManager

Automatic translation of pages and blocks thru the EPiServer.Labs.LanguageManager package. Works only with Epicweb AI-Assistant for Optimizely

Epicweb.Optimizely.AIAssistant.Tools

Integrated tools for AI and MCP ServerTool capabilities designed to work with Epicweb AI-Assistant for Optimizely

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.0 105 4/20/2026
3.0.1 114 4/20/2026
2.1.0 82 4/20/2026
2.0.3 126 1/20/2026
2.0.0.1 413 10/26/2025
1.17.4 230 10/9/2025

More information check project github repository