AgentSpace.VtDotNet
0.1.1
dotnet add package AgentSpace.VtDotNet --version 0.1.1
NuGet\Install-Package AgentSpace.VtDotNet -Version 0.1.1
<PackageReference Include="AgentSpace.VtDotNet" Version="0.1.1" />
<PackageVersion Include="AgentSpace.VtDotNet" Version="0.1.1" />
<PackageReference Include="AgentSpace.VtDotNet" />
paket add AgentSpace.VtDotNet --version 0.1.1
#r "nuget: AgentSpace.VtDotNet, 0.1.1"
#:package AgentSpace.VtDotNet@0.1.1
#addin nuget:?package=AgentSpace.VtDotNet&version=0.1.1
#tool nuget:?package=AgentSpace.VtDotNet&version=0.1.1
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 | 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
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AgentSpace.VtDotNet:
| Package | Downloads |
|---|---|
|
AgentSpace.Avalonia.XTerm
An Avalonia terminal control: real PTY, 24-bit truecolor rendering, full mouse reporting, blinking cursor, OSC title, bell, color schemes, transparent background, and middle-click PRIMARY paste. The VT/xterm parser ships as a separate package (AgentSpace.VtDotNet) referenced here as a dependency. |
GitHub repositories
This package is not used by any popular GitHub repositories.