ECAssistant.TUI
12.9.15
dotnet add package ECAssistant.TUI --version 12.9.15
NuGet\Install-Package ECAssistant.TUI -Version 12.9.15
<PackageReference Include="ECAssistant.TUI" Version="12.9.15" />
<PackageVersion Include="ECAssistant.TUI" Version="12.9.15" />
<PackageReference Include="ECAssistant.TUI" />
paket add ECAssistant.TUI --version 12.9.15
#r "nuget: ECAssistant.TUI, 12.9.15"
#:package ECAssistant.TUI@12.9.15
#addin nuget:?package=ECAssistant.TUI&version=12.9.15
#tool nuget:?package=ECAssistant.TUI&version=12.9.15
ECAssistant.TUI
The terminal UI layer of ECAssistant. Streaming chat, session tabs, tool-call rendering, and setup wizards — a reusable library for building assist-first AI experiences in a plain terminal. macOS, Linux, Windows.
ECAssistant exists to assist people — and the TUI is how that assistance looks and feels: every token streamed live, every tool call rendered inline with its approval and result, nothing hidden behind a spinner. If you're building your own host on ECAssistantCore, this library gives you that experience for free.
Part of ECAssistant — your models, your keys, your machine. MIT.
Features
- Streaming chat rendering — token-by-token output with thinking/reasoning blocks
- Session tabs — multiple concurrent conversations, independent scrollback
- Tool-call visualization — tool invocations, approvals, and results rendered inline
- Setup wizards — first-run model install and provider configuration flows
- Cross-platform — raw ANSI/VT handling; no mouse sequences, terminal-native scrolling
- Async-safe — all rendering marshaled to the UI thread; no deadlocks on streaming
What makes it different
- Interactive decision checkpoints — the agent surfaces genuine ambiguity as a real numbered choice in your terminal (Enter = autonomous fallback); permission prompts and approvals render the same way — you're never guessing what it wants
- Everything visible, inline — streamed tokens, thinking blocks, tool invocations, approvals, and results all render in place; nothing hides behind a spinner
- Cross-thread-safe by construction — all rendering marshaled to the UI thread (the freeze-bug class common to terminal UIs is designed out)
- A library, not a framework — bring your own host around ECAssistantCore; no hidden coupling to any specific wiring
Install
Public on nuget.org — no token, no auth:
dotnet add package ECAssistant.TUI
See it in action
ECAssistantConsole is the reference host built on this library — run it and you're looking at the TUI doing its thing.
The ecosystem
| Repo | What it is |
|---|---|
| ECAssistant | Start here — overview & docs |
| ECAssistantCore | The embeddable agent library |
| ECAssistantLLM | OpenAI-compatible local LLM server |
| ECAssistantConsole | Reference host / end-user CLI |
License
MIT — © 2026 SideDevEC
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- ECAssistant.Core (>= 12.9.13)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
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 |
|---|