A next-generation, native Go AI coding agent crafted for your terminal.
Fast Bubble Tea v2 TUI • Autonomous Multi-Agent Delegation • Streaming Reasoning & Tool Calls • Git Diff Review • Pure Go & Zero Dependencies
Overview • Terminal Preview • Features • Quick Start • Controls • Multi-Agent • Architecture • Themes
Uinxed-Agent 2.0 is a complete, ground-up rewrite in pure Go. It discards the heavy Node.js + React + Ink runtime in favor of a native, single-binary architecture built for performance, stability, and terminal ergonomics.
💡 Zero Runtime Dependencies: No Node.js, npm, Python, or external
libsqlite3libraries are needed. Download or build a single binary and start pair-programming with AI immediately.
| Capability | Legacy (v1.x) | Uinxed-Agent 2.0 |
|---|---|---|
| Runtime | Node.js + npm + React Ink | Native Go 1.25+ (Single static binary) |
| Startup Time | ~1.5s – 3.0s | < 2ms cold launch |
| Memory (RSS) | ~180MB – 350MB | < 30MB base footprint |
| TUI Engine | React Ink DOM emulation | Bubble Tea v2 + Lip Gloss v2 + Glamour v2 |
| Storage | Fragile JSON files | Embedded Pure-Go SQLite WAL (modernc.org/sqlite) |
| Mouse Support | None | Native Click, Wheel Routing & Text Selection |
| Tool Execution | Blocking child processes | Concurrent Scheduler + Context Cancellation |
| Distribution | npm install -g + hundreds of dependencies |
Single independent executable |
| 🚀 Pure Go & Single Binary | ⚡ Real-Time Streaming | 🤖 Autonomous Multi-Agent |
|---|---|---|
| Zero dependencies. Instant cold start. Built-in free Router provider for zero-friction trial. Pure-Go SQLite WAL. | Live SSE streaming for content and deep reasoning (thinking_content), with Claude Code's shimmering ✻ Verb… (elapsed · ↓ tokens) working line. |
Primary agents (build, coding, plan) + isolated parallel subagents (explorer, coding, general). |
| 🛠️ Full Developer Toolchain | 🖱️ Modern Bubble Tea v2 TUI | 🔒 Local-First Security |
|---|---|---|
| Sandboxed shell, atomic file patches, AST grep/glob, web search & scrape, interactive Todos. | Claude Code's transcript grammar — ⏺ Tool(args) with ⎿ results, read-only calls grouped, tasks above the composer. |
Project-root boundary sandbox, AES-256-GCM encrypted API keys, credential redaction in logs. |
go install github.com/ViudiraTech/Uinxed-Agent/cmd/ux-agent@latest
ux-agent# Clone repository
git clone https://github.com/ViudiraTech/Uinxed-Agent.git
cd Uinxed-Agent
# Compile (same as `make all`)
make
# Launch
./ux-agentOn Windows (PowerShell):
go build -trimpath -o ux-agent.exe .\cmd\ux-agent
.\ux-agent.exeUinxed-Agent works out-of-the-box with built-in free trial endpoints and supports any OpenAI-compatible API (DeepSeek, StepFun, OpenAI, Claude gateways, Ollama, vLLM, etc.).
Uinxed-Agent comes pre-configured with the Router provider (https://api.hcnsec.cn/v1) so you can start interacting immediately without entering any API key:
/provider # Select "Router"
/model # Select "step-3.7-flash" or "DeepSeek-V4-Pro"
Warning
Free Tier & Quantization Notice:
- The built-in Router endpoint is a free community gateway. The provided DeepSeek model is a quantized version (量化裁剪版) rather than the full-precision official checkpoint.
- Free endpoints are subject to community traffic, latency fluctuations, or rate limits during peak hours.
- Recommended usage: Great for initial installation verification, learning keyboard shortcuts, exploring TUI features, and small code queries.
- For serious production coding: For large refactors, architectural planning, and autonomous multi-agent coding (
/effort supercode), we strongly recommend configuring official unquantized API keys (e.g. DeepSeek official, StepFun official, OpenAI, or Claude proxies) via/connector/key.
Launch ux-agent and run:
/connect
The wizard guides you through naming, base URL, API key, and model selection.
/provider # Open provider selector
/model # Select model for current session
/key # Enter and AES-256-GCM encrypt your API key
# Start directly with provider credentials
./ux-agent --provider deepseek --key "sk-..." --model deepseek-v4-flash
# Override base URL for custom gateway / local LLM
./ux-agent --provider custom --base http://localhost:11434/v1 --model qwen2.5-coder| Shortcut | Scope | Action |
|---|---|---|
Ctrl+P |
Global | Open Command Palette (search all commands & actions) |
Ctrl+T |
Global | Expand / collapse Reasoning (Thinking) blocks |
Ctrl+O |
Global | Expand / collapse Tool Execution Details (the cards advertise it) |
Ctrl+E |
Global | Alias for Ctrl+O |
Tab |
Composer | Accept @ or / autocomplete; cycle primary agents if prompt is empty |
PgUp / PgDn |
Chat / Overlay | Scroll conversation history or active overlay |
Esc |
Global | Close overlay; interrupt active agent generation |
Ctrl+C |
Global | Cancel turn; exit application when idle |
Mouse Click |
UI | Focus regions, switch sessions, toggle tools, click status pills |
Mouse Wheel |
Viewports | Smoothly scroll whichever region is directly under the pointer |
Type @ in the prompt composer to trigger fuzzy suggestions:
@path/to/file— Ephemerally attach file contents into model context (bounded reads).@explorer <task>— Launch an isolated read-only subagent to investigate code.@coding <task>— Launch an autonomous subagent for focused implementation.@general <task>— Launch a versatile subagent for multi-step tasks.@skill:<name>— Discover and activate specialized skill prompts.
The repository's own conventions are loaded into every turn automatically. Put them
in AGENTS.md or CLAUDE.md at the working directory root, or in .ux-agent/
inside it; /init writes the first version by reading the repository. Files are
capped at 32 KiB each and 64 KiB in total, and a checked-in document can narrow
what the agent does — it can never widen its permissions.
Type / in the prompt or press Ctrl+P to access commands:
| Command | Category | Description |
|---|---|---|
/connect |
Provider | Launch interactive provider connection wizard |
/provider |
Provider | Switch active provider |
/model |
Provider | Switch model for active session |
/key |
Provider | Set or update encrypted API key |
/thinking |
Reasoning | Toggle reasoning mode on/off |
/effort |
Reasoning | Open the effort slider. /effort auto clears the session's level; /effort supercode toggles orchestration |
/agent |
Agent | Switch primary agent (build, coding, plan) |
/diff |
Git | Open interactive visual diff viewer with per-file navigation |
/todos |
Tasks | View task progress and checklist items |
/plan |
Tasks | View the structured plan recorded by plan_write |
/context |
Context | Inspect token budget and context window utilization |
/compact |
Context | Trigger intelligent LLM-driven context compaction |
/sessions |
Session | Browse and switch between saved conversation sessions |
/search |
Session | Search session names and message text, then jump to a match |
/export |
Session | Export the current session to Markdown |
/new |
Session | Create a new isolated session |
/theme |
Interface | Switch active color palette (tokyonight, nord, catppuccin, etc.) |
/mouse |
Interface | Toggle mouse capture (/mouse on, /mouse off) |
/init |
Instructions | Write AGENTS.md from this repository, or refresh an existing one |
/skills |
Skills | Browse and load agent skills |
/cd |
Session | Change the session's working directory |
/pwd |
Session | Print the working directory |
/rename |
Session | Rename the current session |
/parent |
Session | Return to the parent agent session |
/delete |
Session | Delete a session |
/storage |
Storage | Switch between SQLite and config.json storage |
/migrate |
Storage | Alias for /storage |
/quota |
Provider | Query the gateway account and balance |
/clear |
Session | Clear the current session's transcript |
/restore |
System | Restore factory settings (confirmation required) |
/exit |
System | Quit (/quit is an alias) |
/help |
System | View shortcuts and command reference |
Uinxed-Agent features a hierarchical multi-agent architecture designed for autonomous, verified software development:
┌──────────────────┐
│ Primary Agent │
│ (build/coding) │
└────────┬─────────┘
│
delegate (parallel & isolated)
┌────────────────────┼────────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ explorer │ │ coding │ │ general │
│ (read-only) │ │ (expert dev) │ │ (multi-step)│
└──────────────┘ └──────────────┘ └──────────────┘
build(Default): Full tool access, interactive development, shell commands, and code editing.coding: Rigorous software engineer following the red-green-refactor loop: Understand → Plan → Implement → Verify → Review.plan: Read-only strategic analysis. Formulates implementation plans without mutating workspace files.
plan_write is gated by the session's working mode, not the active agent: it is available to every agent that can see the tool, but only while the session is in plan mode, and /plan shows the recorded steps. When the plan is ready the model must call exit_plan, which opens a plan-approval dialog (auto-accept edits, approve each edit, or keep planning). Every primary agent can also call switch_mode to propose a working-mode change: entering plan mode applies immediately; leaving plan via switch_mode is refused (use exit_plan); any other switch requires user confirmation (unless "always allow switch_mode" was granted for the session); delegated subagents can never switch modes.
explorer: High-speed, read-only code exploration using grep, glob, and AST inspection.coding: Sandboxed expert coder handling independent modules or complex sub-features.general: Versatile worker for running benchmarks, compiling dependencies, or multi-step tasks.
Toggle supercode with /effort supercode, or by pressing Tab in the effort slider. Complex prompts are decomposed into parallel subagent workflows that explore, implement and verify at once.
supercode is deliberately not an effort level: it answers "fan the work out", not "think harder", and turning it on leaves the reasoning level alone. While it is on, the composer's top border carries a static supercode tag and ring, so the mode is visible without opening the slider; the animated water surface lives in the effort panel, which keeps the row directly above the input still while you type.
Uinxed-Agent maintains a clean, decoupled boundary between presentation, orchestration, and execution:
┌─────────────────────────────────────────────────────────────┐
│ Bubble Tea v2 TUI │
│ Conversation View · Viewports · Overlays · Mouse Router │
└──────────────────────────────┬──────────────────────────────┘
│ Typed UI Events (SSE deltas, tool events)
┌──────────────────────────────▼──────────────────────────────┐
│ Application Controller │
│ Event Coalescing · Session Management · File Indexer │
└──────────────┬───────────────────────────────┬──────────────┘
│ │
│ Storage Ops ▼
│ ┌─────────────────────────┐
│ │ Session Store │
│ │ SQLite WAL / JSONStore │
▼ └─────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ Agent Runtime │
│ Turn Loop · Token Budgeting · Delegation · Compaction │
└──────────────┬───────────────────────────────┬──────────────┘
│ │
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ Provider Gateway │ │ Tool Registry │
│ OpenAI / Claude SSE │ │ Shell, Files, Search, │
│ Connection Pooling │ │ Web, Skills, Todos │
└─────────────────────────┘ └─────────────────────────┘
- Zero Coupling:
internal/agentandinternal/toolshave zero dependencies on Bubble Tea or terminal UI libraries. - Resilient Tool Loop: Automatic detection and healing of offset tool call streams (
index: 2, 3...) and orphan responses. - Non-Blocking SSE Streaming: Token streaming bypasses UI queue bottlenecks; high-frequency cumulative stdout chunks are smoothly coalesced to prevent terminal tearing.
Switch themes anytime with /theme <name>:
| Theme | Style & Aesthetic |
|---|---|
claude |
Claude Code's own palette — warm terracotta accent (default) |
uinxed |
Native branded terminal aesthetic — purple and cyan neon |
tokyonight |
Deep midnight blue with neon cyan & magenta accents |
catppuccin |
Warm, soothing pastel palette (Mocha variant) |
nord |
Arctic, elegant ice-blue & cool slate tones |
gruvbox |
Earthy, retro warm grooved colors |
dracula |
Classic high-contrast dark vampire theme |
dark |
Neutral high-contrast dark |
light |
Bright paper-like light |
An existing config keeps whichever theme it names; a fresh one starts on claude.
Automatic terminal adaptability:
- Set
NO_COLOR=1orTERM=dumbfor automatic color stripping. - Unpatched terminals automatically fall back to clean ASCII glyphs (no Nerd Font required).
- Cold Startup: ~1ms process launch (
ux-agent --version). - Memory Footprint: Under 30MB base RSS during active sessions.
- Zero Lockup: Tool streams are bounded, cancellable via
Esc, and isolated from parent session state. - SQLite WAL: Ultra-fast ACID writes with zero CGO compilation dependencies.
Run the benchmark suite on your machine:
./scripts/benchmark.shWe welcome contributions! Ensure tests and formatting pass before submitting PRs:
make # compile ./ux-agent
make help # list all targets
make test # unit tests
make race # race detector
make fmt # gofmt
make check # fmt + test + race + vet + buildUinxed-Agent is licensed under the Apache License 2.0.