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
<PackageReference Include="Epicweb.Optimizely.AIAssistant" Version="4.0.0" />
<PackageVersion Include="Epicweb.Optimizely.AIAssistant" Version="4.0.0" />
<PackageReference Include="Epicweb.Optimizely.AIAssistant" />
paket add Epicweb.Optimizely.AIAssistant --version 4.0.0
#r "nuget: Epicweb.Optimizely.AIAssistant, 4.0.0"
#:package Epicweb.Optimizely.AIAssistant@4.0.0
#addin nuget:?package=Epicweb.Optimizely.AIAssistant&version=4.0.0
#tool nuget:?package=Epicweb.Optimizely.AIAssistant&version=4.0.0
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.0andnet10.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.Loggingmoving 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:
- List all visitor groups with
GetAllVisitorGroupsto discover what targeting options exist. - Inspect a specific group with
GetVisitorGroupto understand its criteria and scope. - Apply the correct group by ID or name when updating ContentArea items via the
allowedRolesproperty.
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, findsid: "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
- Update the NuGet packages to version 4.0.0.
- Register the new tools (
VisitorGroupTools,DisplayOptionTools) inStartup.cs— this is optional but recommended. - No breaking changes in the public API. Existing chat conversations, instructions, and custom tools continue to work as before.
- If you are migrating from CMS 12 to CMS 13, simply retarget your project to
net10.0and update Optimizely packages to 13.x — the AI Assistant package handles the rest.
Links
| Product | Versions 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. |
-
net10.0
- EPiServer.CMS (>= 13.0.0 && < 14.0.0)
- EPiServer.Logging (>= 13.0.0 && < 14.0.0)
-
net8.0
- EPiServer.CMS (>= 12.18.0 && < 13.0.0)
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.
More information check project github repository