AI.Diagnostics 1.0.6

dotnet add package AI.Diagnostics --version 1.0.6
                    
NuGet\Install-Package AI.Diagnostics -Version 1.0.6
                    
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="AI.Diagnostics" Version="1.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AI.Diagnostics" Version="1.0.6" />
                    
Directory.Packages.props
<PackageReference Include="AI.Diagnostics" />
                    
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 AI.Diagnostics --version 1.0.6
                    
#r "nuget: AI.Diagnostics, 1.0.6"
                    
#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 AI.Diagnostics@1.0.6
                    
#: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=AI.Diagnostics&version=1.0.6
                    
Install as a Cake Addin
#tool nuget:?package=AI.Diagnostics&version=1.0.6
                    
Install as a Cake Tool

πŸ€– AI Diagnostics For Umbraco 17+

Analyze errors in your Umbraco website using Artificial Intelligence!

Stop wasting hours reading through log files. Let AI analyze your website's errors and give you clear, actionable solutions in plain English.


✨ Features

🧠 Smart AI Analysis

Your logs are analyzed by powerful AI models that understand common web application issues and can explain them clearly.

πŸ”„ Automatic Grouping

If the same error appears 100 times, you'll see it as one issue with a count of "100" - not 100 separate items!

🎯 Multiple AI Options

AI is provided through Umbraco.AI. Install provider packages (for example Google Gemini, OpenAI, Azure OpenAI, or others supported by Umbraco.AI) and configure them in the backoffice AI sectionβ€”no AIProvider or provider API keys inside AI:Diagnostics anymore.

🎨 Beautiful Dashboard

Easy-to-use interface right inside your Umbraco admin panel.

πŸ“Š Comprehensive Reports

Get detailed analysis with:

  • Overall health summary
  • Likely causes for each issue
  • Step-by-step fix suggestions
  • Reference documentation links
  • Severity assessments

πŸ“¦ Installation

Using .NET CLI

dotnet add package AI.Diagnostics

Using NuGet Package Manager

Install-Package AI.Diagnostics

Using Visual Studio

  1. Right-click on your project in Visual Studio
  2. Click "Manage NuGet Packages..."
  3. Click the "Browse" tab
  4. Search for: AI.Diagnostics
  5. Click "Install"

Installing AI.Diagnostics also brings in the Umbraco.AI NuGet dependency. You still add at least one Umbraco.AI provider package on your site (see configuration below).


βš™οΈ Configuration

How AI is wired: Umbraco.AI

This package does not embed Gemini, OpenAI, Ollama, or Azure clients in appsettings.json the way older versions did. Instead:

  • AI.Diagnostics depends on Umbraco.AI.
  • Connections, models, and API keys live in Umbraco.AI (backoffice AI section and Umbraco.AI configuration).
  • AI:Diagnostics only holds diagnostics behaviour (batch size, optional chat profile alias, prompt path, etc.). Log levels are chosen in the backoffice for each analysis.

Step 1: Install Umbraco.AI providers and set up the backoffice

  1. Add provider packages compatible with your Umbraco.AI version, for example:
    dotnet add package Umbraco.AI.Google
    dotnet add package Umbraco.AI.OpenAI
    
  2. Open the AI section in the Umbraco backoffice.
  3. Create a connection, a chat profile, and set a default chat profile (or use UmbracoAiProfileAlias in Step 2).

Step 2: Configure appsettings.json (AI:Diagnostics)

Open appsettings.json in your Umbraco project and add or merge this section.

Example
{
  "AI": {
    "Diagnostics": {
      "MaxBatchSize": 100,
      "EnableAI": true,
      "UmbracoAiProfileAlias": "my-diagnostics-profile",
      "PromptFilePath": "prompt/analysis-prompt.txt"
    }
  }
}
Default values (if you skip a key)
Setting Default
MaxBatchSize 100
EnableAI true
UmbracoAiProfileAlias (empty β†’ use Umbraco.AI default chat profile)
PromptFilePath prompt/analysis-prompt.txt
Settings explained
  • Log levels in the UI use Umbraco / Serilog names (Verbose, Debug, Information, Warning, Error, Fatal). Legacy Critical is accepted and mapped to Fatal when querying the log viewer.
  • MaxBatchSize: Maximum number of unique issues to analyze in one batch.
  • EnableAI: true = call AI through Umbraco.AI; false = grouped logs without AI calls.
  • UmbracoAiProfileAlias: Optional Umbraco.AI chat profile alias. If not set, the site default chat profile is used.
  • PromptFilePath: Optional custom analysis prompt file under the site content root.

Note: Older versions used AIProvider, Gemini, Ollama, OpenAI, AzureOpenAI under AI:Diagnostics. That shape is removed. Configure providers only through Umbraco.AI.


Step 3: Start Using It!

  1. Start your Umbraco website (press F5 in Visual Studio)
  2. Log in to the Umbraco admin panel (the backoffice)
  3. Click on "Settings" in the left menu
  4. Click "AI Diagnostics"
  5. Choose which types of errors to analyze (Error, Warning, Fatal)
  6. Select a time range (last hour, day, week, etc.)
  7. Click the big "Analyze Logs" button
  8. Wait a few seconds while AI does its magic! ✨

In Settings β†’ Log Viewer β†’ Search, you can use AI Analysis on individual rows when levels match.


Understanding Your Results

The analysis report includes:

πŸ“ˆ Summary Statistics

  • Total logs analyzed
  • Number of unique issues found
  • Overall health assessment from AI

πŸ” Detailed Analysis for Each Issue

  • Log Entry: The actual error message and when it occurred
  • Occurrence Count: How many times this exact issue appeared
  • Likely Cause: AI's explanation of what's wrong (in plain English!)
  • Suggested Fixes: Step-by-step solutions to try (ordered from easiest to most complex)
  • Reference Links: Helpful documentation and guides
  • Severity Assessment: How serious the issue is (Low, Medium, High, Critical)

πŸš€ Coming Soon

We're actively working on exciting new features:

  • πŸ“„ Export to PDF/Excel: Download analysis reports
  • πŸ“Š Trend Analysis: Track if errors are increasing or decreasing over time
  • 🎨 Enhanced Visualizations: More charts and graphs

πŸ› Issues & Support

Found a bug or have a suggestion? We'd love to hear from you!

πŸ‘‰ Report Issues: GitHub Issues

When reporting an issue, please include:

  • What you expected to happen
  • What actually happened
  • Error messages (if any)
  • Your configuration (without API keys!)
  • Steps to reproduce

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

Built with:

  • ❀️ Love for the Umbraco community
  • πŸ€– Powered by Umbraco.AI and your chosen providers
  • β˜• Lots of coffee

Happy debugging! πŸŽ‰

Made with ❀️ for the Umbraco community

Product Compatible and additional computed target framework versions.
.NET 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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.6 105 5/5/2026
1.0.5 133 3/11/2026
1.0.4 118 2/8/2026
1.0.3 117 2/1/2026
1.0.2 123 1/31/2026
1.0.1 117 1/31/2026
1.0.0 113 1/31/2026