Novolis.Avalonia.Agent
2026.1.6.229
dotnet add package Novolis.Avalonia.Agent --version 2026.1.6.229
NuGet\Install-Package Novolis.Avalonia.Agent -Version 2026.1.6.229
<PackageReference Include="Novolis.Avalonia.Agent" Version="2026.1.6.229" />
<PackageVersion Include="Novolis.Avalonia.Agent" Version="2026.1.6.229" />
<PackageReference Include="Novolis.Avalonia.Agent" />
paket add Novolis.Avalonia.Agent --version 2026.1.6.229
#r "nuget: Novolis.Avalonia.Agent, 2026.1.6.229"
#:package Novolis.Avalonia.Agent@2026.1.6.229
#addin nuget:?package=Novolis.Avalonia.Agent&version=2026.1.6.229
#tool nuget:?package=Novolis.Avalonia.Agent&version=2026.1.6.229
Novolis.Avalonia.Agent
Embeds a LocalIpc ui.* agent host in an Avalonia window so MCP / tooling can dump the visual tree, screenshot, click, type, select list/tab items, focus, and scroll.
Install
dotnet add package Novolis.Avalonia.Agent
Quick start
using Novolis.Avalonia.Agent;
// After MainWindow is created:
AgentHost.TryAttachFromEnvironment(desktop.MainWindow);
// Or always:
AgentHost.Attach(desktop.MainWindow);
// Dedicated pipe (when multiple Avalonia apps may run):
AgentHost.Attach(desktop.MainWindow, "novolis-avalonia-agent-myapp");
// Tag controls for stable ids:
AgentProperties.SetId(button, "lab.recovery");
AgentProperties.SetRole(button, AgentRoleNames.Button);
Methods
| Method | Purpose |
|---|---|
ui.hello |
Handshake |
ui.get |
Compact multi-id read (text/enabled/visible) |
ui.items |
ListBox / ComboBox / TabControl item dump |
ui.tree |
Interactive control dump (agent lists emit item rows) |
ui.screenshot |
Window/control PNG |
ui.click |
Click by id or coordinates (button: left/right/middle; clickCount for double-click) |
ui.type |
Type/replace text + special keys (Clear replaces TextBox contents) |
ui.select |
Select ListBox / ComboBox / TabControl by index or item text |
ui.focus |
Focus a control by id |
ui.scroll |
Scroll nearest ScrollViewer by delta, or bringIntoView |
ui.wait |
Host-side wait (blocks UI thread — prefer MCP ui_poll while simulating) |
Protocol version: 1.2. Unknown methods return a typed fault (clients do not hang).
Crash guard
CrashGuard.Install("MyApp");
// After Avalonia setup:
CrashGuard.InstallAvalonia(Dispatcher.UIThread);
Unhandled UI / task faults write %LocalAppData%/Novolis/<app>/crashes/crash-*.log (+ .dmp on fatal
Windows process faults), open Notepad once, and mark dispatcher exceptions handled so the window
stays up. Agent IPC faults are logged silently (ReportSilent) without killing the host.
Enable with env NOVOLIS_AVALONIA_AGENT=1. Optional endpoint override: NOVOLIS_AVALONIA_AGENT_ENDPOINT.
| Product | Versions 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. |
-
net10.0
- Avalonia (>= 12.1.3)
- MessagePack (>= 3.1.11)
- Novolis.Avalonia.Agent.Protocol (>= 2026.1.6.229)
- Novolis.Transports.LocalIpc (>= 2026.1.6.229)
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 |
|---|---|---|
| 2026.1.6.229 | 41 | 10/4/2026 |
| 2026.1.6.228 | 42 | 10/4/2026 |
| 2026.1.6.226 | 37 | 10/4/2026 |
| 2026.1.6.221 | 40 | 10/4/2026 |
| 2026.1.6.220 | 36 | 10/3/2026 |
| 2026.1.6.218 | 52 | 10/3/2026 |
| 2026.1.6.196 | 35 | 10/2/2026 |
| 2026.1.6.195 | 42 | 10/2/2026 |
| 2026.1.6.194 | 41 | 10/1/2026 |
| 2026.1.6.192 | 48 | 9/30/2026 |