Skip to content

About

一个基于 Go 的 TUI Agent,支持多子 agent。使用 Apache-2.0 License。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

⚡ Uinxed-Agent 2.0

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

CI Go Version TUI Framework Zero CGO License Platform

English • 简体中文

Overview • Terminal Preview • Features • Quick Start • Controls • Multi-Agent • Architecture • Themes


🌟 Overview

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 libsqlite3 libraries are needed. Download or build a single binary and start pair-programming with AI immediately.

Why 2.0?

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

🖥️ Terminal Preview

Uinxed-Agent Terminal Preview

✨ Key Features

🚀 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.

⚡ Quick Start

1. Installation

Option A: Install with Go (Recommended)

go install github.com/ViudiraTech/Uinxed-Agent/cmd/ux-agent@latest
ux-agent

Option B: Build from Source

# Clone repository
git clone https://github.com/ViudiraTech/Uinxed-Agent.git
cd Uinxed-Agent

# Compile (same as `make all`)
make

# Launch
./ux-agent

On Windows (PowerShell):

go build -trimpath -o ux-agent.exe .\cmd\ux-agent
.\ux-agent.exe

2. Connect a Model Provider

Uinxed-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.).

🎁 Built-in Free Trial: Router Provider (Zero Configuration)

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 /connect or /key.

Method A: Built-in Interactive Wizard (Connect Your Own Provider)

Launch ux-agent and run:

/connect

The wizard guides you through naming, base URL, API key, and model selection.

Method B: In-App Slash Commands

/provider      # Open provider selector
/model         # Select model for current session
/key           # Enter and AES-256-GCM encrypt your API key

Method C: CLI Startup Flags

# 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

⌨️ Keybindings & Controls

Global Shortcuts

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

Context Injection & Mentions (@)

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.

Project Instructions

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.


Slash Commands (/)

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

🤖 Multi-Agent System

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)│
  └──────────────┘     └──────────────┘     └──────────────┘

1. Primary Agents (Interactive)

  • 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.

2. Subagents (Delegated)

  • 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.

⚡ Supercode Mode

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.


🏗️ Architecture

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/agent and internal/tools have 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.

🎨 Themes

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=1 or TERM=dumb for automatic color stripping.
  • Unpatched terminals automatically fall back to clean ASCII glyphs (no Nerd Font required).

📊 Performance & Reliability

  • 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.sh

🛠️ Development & Contributing

We 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 + build

📄 License

Uinxed-Agent is licensed under the Apache License 2.0.

Built with ❤️ by the ViudiraTech team.

About

一个基于 Go 的 TUI Agent,支持多子 agent。使用 Apache-2.0 License。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages