ECAssistant.Console
1.0.12
dotnet tool install --global ECAssistant.Console --version 1.0.12
dotnet new tool-manifest
dotnet tool install --local ECAssistant.Console --version 1.0.12
#tool dotnet:?package=ECAssistant.Console&version=1.0.12
nuke :add-package ECAssistant.Console --version 1.0.12
ECAssistant Console
ECAssistant in your terminal, five minutes from now. The assistant-first CLI: a local-first AI agent with tools, memory, sub-agents, and vision — running entirely on your machine. No cloud, no API keys.
We named it ECAssistant because we believe AI is there to assist people — and the Console is that promise in its most direct form: a colleague in your terminal that reads files, runs shell commands, edits code, and shows you everything it does. Every tool call is permission-gated (approve once / always this session / deny). You stay in the loop, always.
Part of ECAssistant — your models, your keys, your machine. MIT.
Install
Public on nuget.org — no token, no auth:
dotnet tool install -g ECAssistant.Console
ecassistant
(Or clone and dotnet run for a source checkout.)
First run
The setup wizard walks you through everything:
- Choose local or remote — local GGUF models, or any OpenAI-compatible endpoint. Only what you pick is ever downloaded.
- Model selection — pick from the built-in catalog (chat, vision, embedding models), downloaded with SHA-256 verification.
- LLM server install (local mode) — server binaries come from the NuGet package; the wizard stages them to
~/.ECAssistantLLM/server/. - Backend runtimes — ternary models (e.g. Bonsai/Qwen3.8-27B) get their required llama.cpp runtime installed automatically.
After setup, nothing is downloaded at chat time — it's a finished, offline-capable product.
What you get
- 🧠 Tools — files, shell, git, dotnet, code editing, sub-agents, vision structure. All permission-gated.
- 🖥️ Terminal UI — streaming chat, session tabs, tool-call rendering (powered by ECAssistant.TUI).
- 👁️ Vision — images and PDFs to structured JSON — screenshots, UI mockups, or scanned documents become a fixed, versioned JSON schema (elements, bounding boxes, label↔input associations, semantic groups) — analyzed locally, ready for programmatic use.
- 🤝 AskUser checkpoints — when the model is genuinely unsure it asks you a real question with options instead of guessing.
- 🔒 Local-first — everything runs on your machine; nothing phones home.
Configuration
appsettings.json— app-level settings (written by the wizard)~/.ECAssistantLLM/llm-server.json— LLM server models and endpoints (managed by the wizard)
Build your own host
The Console is deliberately thin — ~100 lines of wiring around ECAssistantCore. Read ConsoleApplication.cs as the reference for embedding an agent in your app.
The ecosystem
| Repo | What it is |
|---|---|
| ECAssistant | Start here — overview & docs |
| ECAssistantCore | The embeddable agent library |
| ECAssistantLLM | OpenAI-compatible local LLM server |
| ECAssistantTUI | Terminal UI library |
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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|