MyTerm 0.1.2

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global MyTerm --version 0.1.2
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local MyTerm --version 0.1.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MyTerm&version=0.1.2
                    
nuke :add-package MyTerm --version 0.1.2
                    

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.

This package has no dependencies.

Version Downloads Last Updated
0.1.7 48 5/18/2026
0.1.6 47 5/18/2026
0.1.5 47 5/18/2026
0.1.4 52 5/18/2026
0.1.2 76 5/18/2026
0.1.1 75 5/18/2026
0.0.3 81 5/17/2026
0.0.2 72 5/17/2026
0.0.1 74 5/17/2026