AgentSpace.Avalonia.XTerm 0.1.7

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

AgentSpace

An Avalonia 24-bit truecolor terminal control, an X11 PRIMARY-selection clipboard, and two desktop tools built on both.

A Linux/Windows monorepo with three NuGet libraries and two dotnet tool apps. All five ship from the same v* tag.

<table> <tr> <td><img src="docs/screenshots/myterm.png" alt="MyTerm" width="460"></td> <td><img src="docs/screenshots/agentspace.png" alt="AgentSpace" width="460"></td> </tr> <tr> <td align="center"><sub><b>MyTerm</b> — tabbed terminal, drag tear-off / merge, tint, profiles. Here it's rendering this very README to itself.</sub></td> <td align="center"><sub><b>AgentSpace</b> — workspace launcher, SSH file tree, SQLite history. Sidebar tracks active and recent spaces.</sub></td> </tr> </table>

<details> <summary><sub>more AgentSpace shots</sub></summary> <table> <tr> <td><img src="docs/screenshots/agentspace-files.png" alt="File tree + code preview" width="460"></td> <td><img src="docs/screenshots/agentspace-agent.png" alt="Agent + terminal" width="460"></td> </tr> <tr> <td align="center"><sub>File tree with transparent AvaloniaEdit code preview, syntax-highlighted via TextMate grammars.</sub></td> <td align="center"><sub>Agent / terminal split — the XTerm control hosting an agent CLI alongside a free shell.</sub></td> </tr> </table> </details>

What's in here

What Install
AgentSpace.Avalonia.XTerm 24-bit truecolor terminal control with a real PTY. Transparent background, OSC title, bell, color schemes, middle-click paste, auto-copy on selection. URI detection + Ctrl/Cmd+click, OSC 8 hyperlinks, triple-click line / Alt-drag block select, OSC 133 prompt-mark events. dotnet add package AgentSpace.Avalonia.XTerm
AgentSpace.Avalonia.PrimarySelection X11 PRIMARY-selection clipboard (highlight-to-copy, middle-click-to-paste) via direct libX11 P/Invoke. Linux X11 implementation; safe no-op stub on Windows and macOS. dotnet add package AgentSpace.Avalonia.PrimarySelection
AgentSpace.VtDotNet VT100/220/xterm terminal-emulator parser. Heavily-modified derivative of VtNetCore (MIT, attribution preserved). Currently a private dependency of AgentSpace.Avalonia.XTerm. dotnet add package AgentSpace.VtDotNet
MyTerm Tabbed terminal app. Drag tear-off, drag-to-merge, bell + activity badges, hue-tint overlay, font zoom. dotnet tool install -g MyTerm  →  myterm
AgentSpace Agent-workspace launcher with a per-workspace telemetry spine: SQLite + FTS5 store, UDS / syslog / HTTP raw / OTLP/HTTP push listeners, journald / kmsg / /proc / file-tail pullers, MCP server (17 tools incl. telemetry.enable/disable/status/query/find/tail/subscribe/logs/metrics/traces and user-gated cross-workspace + backend management), federated query over Prometheus / Loki / Tempo, SSH-routed remote backends, per-workspace Logs / Traces / Metrics UI. CLI: agentspace [path \| ssh://…] auto-creates a workspace; agentspace query "SELECT …" proxies through MCP; second invocation delegates to the running instance over UDS. dotnet tool install -g AgentSpace  →  agentspace

Quick start (library)

<Window xmlns:xterm="clr-namespace:AgentSpace.Avalonia.XTerm;assembly=AgentSpace.Avalonia.XTerm">
  <xterm:XTermControl Shell="bash" FontSize="14"
                      Background="#FF1E1E1E" Foreground="#FFCCCCCC" />
</Window>
Terminal.TitleChanged += (_, e) => Title = e.Title;
Terminal.BellEvent    += (_, _) => SystemSounds.Beep.Play();

Properties: Shell, WorkingDirectory, FontFamily, FontSize, Background, Foreground, CursorBlink, MaxScrollback, ColorScheme, BackgroundOpacity.

Events: TitleChanged, BellEvent, OutputReceived, SessionEnded.

Color schemes: ColorScheme.Default, Solarized, Dracula (swap at runtime).

Quick start (PRIMARY clipboard)

using AgentSpace.Avalonia.PrimarySelection;

// Middle-click paste handler
var text = await PrimarySelection.GetTextAsync();

// Selection-complete handler
PrimarySelection.SetText(highlightedText);

Safe no-op on Windows, macOS, and headless Linux. IsSupported tells you up front whether PRIMARY is available. The package ships a Windows / macOS stub plus a Linux X11 implementation under runtimes/linux/ — Windows and macOS binaries don't carry any libX11 metadata.

Repository layout

src/
├── AgentSpace.Avalonia.XTerm/             the terminal control
├── AgentSpace.Avalonia.PrimarySelection/  X11 PRIMARY clipboard (stub variant)
├── AgentSpace.Avalonia.PrimarySelection.Linux/
│                                          X11 implementation (packed into runtimes/linux/)
├── AgentSpace.VtDotNet/                   VT/ANSI parser, separate assembly
└── Avalonia.AgentDebug/                   Debug-only: HTTP/1.0 over named pipe
                                           so agents can drive the running app via curl
apps/
├── MyTerm/                                tabbed terminal app
└── AgentSpace/                            workspace launcher
samples/
└── BasicSample/                           ~10 lines — minimal embedding example
tests/
└── AgentSpace.Avalonia.XTerm.Tests/       526 xUnit tests
scripts/
└── pack.sh                                builds ./artifacts/nuget/*.nupkg

Shared MSBuild config (authors, package metadata, SourceLink) lives in /Directory.Build.props.

Driving the apps from a shell (Debug builds only)

Avalonia.AgentDebug opens a Unix domain socket / named pipe per app and speaks HTTP/1.0. Built into Debug builds, completely absent from Release.

# Inspect the visual tree
curl --unix-socket /tmp/CoreFxPipe_MyTerm-debug http://_/tree

# Click a named control
curl --unix-socket /tmp/CoreFxPipe_AgentSpace-debug "http://_/click?path=NewSpaceButton"

# Save a screenshot
curl --unix-socket /tmp/CoreFxPipe_MyTerm-debug -o shot.png http://_/screenshot

# Send a key
curl --unix-socket /tmp/CoreFxPipe_AgentSpace-debug "http://_/key?path=PathBox&key=Enter"

(The screenshots at the top of this README were captured this way.)

Building / packing

dotnet build AgentSpace.slnx       # everything
dotnet test  AgentSpace.slnx       # 526 tests
scripts/pack.sh                    # all .nupkgs → artifacts/nuget/

Requirements

  • .NET 10 SDK
  • Avalonia 12.0+
  • Linux, Windows, macOS for the libraries; PTY apps need Linux/macOS PTY or Windows ConPTY (handled by Porta.Pty).

License

MIT — see LICENSE. AgentSpace.VtDotNet is a derivative of VtNetCore — MIT, attribution preserved in LICENSE.VtNetCore and NOTICE.md.

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
0.1.7 84 5/18/2026
0.1.6 83 5/18/2026
0.1.5 83 5/18/2026
0.1.4 102 5/18/2026
0.1.2 86 5/18/2026
0.1.1 91 5/18/2026
0.0.1 86 5/17/2026