XrmToolSuite.AiSolutionReviewer
1.2026.7.12
dotnet add package XrmToolSuite.AiSolutionReviewer --version 1.2026.7.12
NuGet\Install-Package XrmToolSuite.AiSolutionReviewer -Version 1.2026.7.12
<PackageReference Include="XrmToolSuite.AiSolutionReviewer" Version="1.2026.7.12" />
<PackageVersion Include="XrmToolSuite.AiSolutionReviewer" Version="1.2026.7.12" />
<PackageReference Include="XrmToolSuite.AiSolutionReviewer" />
paket add XrmToolSuite.AiSolutionReviewer --version 1.2026.7.12
#r "nuget: XrmToolSuite.AiSolutionReviewer, 1.2026.7.12"
#:package XrmToolSuite.AiSolutionReviewer@1.2026.7.12
#addin nuget:?package=XrmToolSuite.AiSolutionReviewer&version=1.2026.7.12
#tool nuget:?package=XrmToolSuite.AiSolutionReviewer&version=1.2026.7.12
π€ AI Solution Reviewer
An XrmToolBox plugin that performs an AI-assisted architecture review of a Dataverse solution. Four
UI-free collectors gather structured facts, the suite ScoreCalculator projects them onto a shared
report model with a 0β100 concern score and band, and an AI layer turns the anonymized facts into a
professional review. AI is opt-in with a deterministic offline fallback; the tool is read-only.
Features
| Area | What it does |
|---|---|
| Fact collection | Four solution-scoped, UI-free collectors β plugins (synchronous unfiltered steps, heavy step footprint, no-step assemblies), JavaScript (deprecated client APIs Xrm.Page/crmForm//2011/Organization.svc/getServerUrl, heavy scripting), automation (classic workflows and sprawl), and ALM/governance (unmanaged solutions, default new_ prefix, version). Each degrades query failures to informational findings. |
| Concern score | Findings score into a 0β100 concern score and band, with an Observations total plus a per-category metric row; grid and headline labels colour by band. |
| AI review | A principal-architect review covering six sections β executive summary, architecture recommendations, modernization guidance, refactoring suggestions, a prioritized backlog, and a sprint plan β landing in the report's AI summary field. |
| Offline fallback | With no key/consent, a deterministic templated generator produces the review and labels it offline. |
Exports
- Word (.docx, via OpenXML)
- PDF (native, MigraDoc/PdfSharp-GDI)
- HTML dashboard
- Markdown
- JSON
Each export embeds the AI (or offline) review narrative.
Help & Support
A right-aligned Help button on the toolbar opens a Help & Support dialog (Documentation, Report an
issue, and a support link, each opened in the browser). The tool implements IHelpPlugin and
IGitHubPlugin pointing at repository kkora/XrmToolSuite.
Build & install
This tool is not single-DLL β it ships the Excel/PDF export dependency chain (ClosedXML + PdfSharp/MigraDoc-GDI; the Word exporter reuses the OpenXML assembly from that chain) into the Plugins root next to the tool DLL. The one-step build copies the whole chain automatically:
dotnet build src\Tools\XrmToolSuite.AiSolutionReviewer\XrmToolSuite.AiSolutionReviewer.csproj -c Release -p:DeployToXTB=true
Restart XrmToolBox and open AI Solution Reviewer. For a manual copy to another machine, copy every
DLL from the tool's bin\Release\net48\ folder β flat in the Plugins root, never a subfolder, or
XrmToolBox silently drops the tool. See ./DEPLOYMENT.md and the suite guide
Deployment_Guide_XrmToolBox.md.
Usage
- Connect to your Dataverse environment.
- Open AI Solution Reviewer and pick a solution (solutions load off the UI thread).
- Run the review β collectors run on a background worker with progress and cancellation.
- Review the concern score, per-area metrics, and the review narrative (AI-authored or offline).
- Export to Word / PDF / HTML / Markdown / JSON.
Notes & limitations
- Read-only β no destructive operations; collectors and the report projection stay UI-free and degrade missing metadata to informational findings.
- AI is opt-in. It only calls a provider β Anthropic / OpenAI / Google (cloud, via raw HTTPS) or Ollama (local) β when the provider is configured and the user approves a payload-preview consent dialog naming the provider/host/model. Only the anonymized summary payload (finding metadata + headline metrics β no record data, credentials or environment names) is sent; for cloud providers the session-only API key is held in memory and never persisted; any error falls back to the offline template.
Local models (Ollama) β no API key, nothing leaves the machine
Run the review against a local model instead of a cloud API. This is the full setup (Windows).
1. Download & install Ollama
winget install Ollama.Ollama # or download the installer from https://ollama.com/download
After install, Ollama runs a background server automatically at http://localhost:11434
(opening that URL shows "Ollama is running"). If it isn't running, start it with:
ollama serve
2. Pull the model(s) you want (downloads once, then cached):
ollama pull qwen2.5:7b # general reasoning β good default for solution review
ollama pull qwen2.5-coder:7b # code-heavy solutions
ollama pull gemma3:4b # faster / lighter
ollama pull llama3.2:3b # smallest / fastest
3. (Optional) Preload / test a model β the tool loads it on demand, but you can warm it up:
ollama run qwen2.5:7b "hello" # loads the model and prints a reply (proves it works)
4. Check what you have and what's loaded:
ollama list # models installed on disk
ollama ps # models currently loaded in memory (with expiry)
ollama stop qwen2.5:7b # unload a model to free RAM/VRAM
5. In the tool: AI options βΈ AI settingsβ¦ β Provider = Ollama (local), put the model id in
Model (e.g. qwen2.5:7b, or click a Suggested button), leave API key blank (it's disabled for
local). Then Generate AI review and approve the consent preview.
Notes: the first request loads the model and can take a while (the tool waits up to 5 minutes); later
requests are fast. If Ollama isn't running or the model isn't pulled, the tool reports it and falls back
to the offline summary. Bigger models (7B) give better reviews but need more RAM/VRAM; 3β4B are faster on
modest machines. nomic-embed-text is an embedding model (for RAG) β it won't work here; use a chat
model like qwen2.5, gemma3, or llama3.2.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net48 is compatible. net481 was computed. |
-
- XrmToolBox (>= 1.2025.10.74)
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.2026.7.12 | 133 | 7/11/2026 |
| 1.2026.7.11 | 97 | 7/11/2026 |
| 1.2026.7.10 | 103 | 7/11/2026 |
| 1.2026.7.9 | 98 | 7/11/2026 |
| 1.2026.7.8 | 102 | 7/11/2026 |
| 1.2026.7.7 | 97 | 7/11/2026 |
| 1.2026.7.6 | 114 | 7/10/2026 |
| 1.2026.7.5 | 105 | 7/9/2026 |
| 1.2026.7.3 | 104 | 7/7/2026 |
| 1.2026.7.2 | 104 | 7/5/2026 |
1.2026.7.12: The AI review now renders with proper line breaks (was one run-on paragraph).