Skip to main content

The most powerful TUI AI Coding Agent — surpasses Claude Code & OpenCode with NVIDIA NIM, multi-key rotation, KIMI K2.6 & DeepSeek V4 Pro support

Project description

NovaCode ⚡

The most powerful TUI AI Coding Agent — surpasses Claude Code and OpenCode.

pip install npm install Python 3.10+ MIT License

  ╔══════════════════════════════════════════╗
  ║          NovaCode — AI Coding Agent      ║
  ║    More powerful than Claude Code ✨      ║
  ╚══════════════════════════════════════════╝

✨ What makes NovaCode special?

Feature NovaCode Claude Code OpenCode
Multi-key rotation ✅ Auto-failover
NVIDIA NIM ✅ Native
KIMI K2.6 via NIM ✅ No separate key
DeepSeek V4 Pro streaming ✅ True SSE streaming
Agentic tool loop ✅ Parallel execution ✅ Sequential ✅ Sequential
Web search ✅ Built-in
Context windowing ✅ Smart
Plan/Build modes
File tree sidebar ✅ Coming
Token tracking ✅ Real-time

🚀 Quick Start

Install via pip (recommended)

pip install novacode-tui

Install via npm

npm install -g novacode-tui
# npm wrapper will detect Python and prompt to install the Python package

Install from source

git clone https://github.com/novacode-ai/novacode.git
cd novacode
pip install -e .
# Or via npm:
npm link ./npm

🔑 Configuration

1. Add NVIDIA NIM API Keys

Get free NIM keys from build.nvidia.com:

novacode keys add
# Paste your NVIDIA NIM API key

# Add multiple keys for auto-rotation:
novacode keys add
novacode keys add

2. Add NIM API keys (same keys used for all models, including KIMI K2.6)

# Add as many keys as you want — NovaCode auto-rotates
novacode keys add
# Paste your NVIDIA NIM API key

3. List configured keys

novacode keys list

🎮 Usage

# Launch the TUI (interactive chat)
novacode

# Use a specific model
novacode --model moonshotai/kimi-k2.6
novacode --model deepseek/deepseek-v4-pro

# Send a one-off message (non-TUI)
novacode chat "refactor this code to use async/await"

# List available models
novacode models

# Edit configuration
novacode config

TUI Keyboard Shortcuts

Key Action
Ctrl+C Quit
Ctrl+L Clear chat
Ctrl+N New session
Ctrl+S Focus input
Ctrl+A Toggle auto-approve
Esc Focus input

🤖 Supported Models

Model ID Description
nvidia/llama-3.3-nemotron-super-49b NVIDIA's best — speed + quality
moonshotai/kimi-k2.6 KIMI K2.6 thinking model (served via NVIDIA NIM)
deepseek/deepseek-v4-pro DeepSeek V4 Pro with true reasoning streaming
nvidia/llama-3.1-8b-instruct Fast, lightweight

Model-specific behavior

  • KIMI K2.6: Served via NVIDIA NIM (uses the same NIM keys). Thinking mode requires temperature=1.0, non-thinking requires 0.6. No tool_choice: "required".
  • DeepSeek V4 Pro: Uses reasoning_content field for CoT streaming (no chunked dump). Can disable thinking via config.

🛠 Agentic Capabilities

NovaCode includes a powerful suite of tools:

Tool Description Auto-confirm
read Read file contents with line offsets
write Write content to files
edit Targeted find-and-replace edits
search Regex codebase search
bash Execute shell commands
list_dir List directory contents
glob Find files by glob pattern
file_info Get file metadata
web_search Search the web

🔄 Multi-Key Rotation

NovaCode's key rotation system automatically:

  • Round-robins through available NIM keys
  • Detects 429 rate limits and moves to the next key
  • Cooldowns rate-limited keys for configurable intervals
  • Resets expired cooldowns automatically
  • Tracks usage per key (uses least-used strategy when configured)
# Configure strategy
novacode config  # Edit rotation_strategy: "round-robin" or "least-used"

🧠 Architecture

novacode/
├── __main__.py       # CLI entry point (click)
├── config.py         # JSON config, multi-key, multi-model
├── client/
│   ├── nim.py        # NVIDIA NIM + OpenAI-compatible client
│   └── rotation.py   # Multi-key rotation engine
├── agent/
│   ├── engine.py     # Tool execution loop
│   ├── tools.py      # Tool definitions (9 built-in tools)
│   └── context.py    # Token-aware context windowing
├── ui/
│   └── app.py        # Textual TUI application
├── models/
│   └── ...           # Model definitions & configs
└── utils/
    └── helpers.py    # Utility functions

📦 Development

git clone https://github.com/novacode-ai/novacode.git
cd novacode
pip install -e ".[dev]"

# Run tests
pytest

# Type check
mypy src/novacode

# Lint
ruff check src/novacode

🌟 Roadmap

  • LSP integration for context-aware code understanding
  • Multi-session management
  • Custom tool creation DSL
  • Project-level memory & patterns
  • VSCode / JetBrains extension
  • Local model support (Ollama, llama.cpp)
  • Collaborative sessions

📄 License

MIT License — see LICENSE


NovaCode — Because your code deserves the best agent.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

novacode_tui-0.1.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novacode_tui-0.1.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file novacode_tui-0.1.1.tar.gz.

File metadata

  • Download URL: novacode_tui-0.1.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for novacode_tui-0.1.1.tar.gz
Algorithm Hash digest
SHA256 20d546f11327aaf6829bb7903b64e109774ed34645cc9da6c2ba4ac6a084a300
MD5 e5bf2a895906022f3e65aec5efa19730
BLAKE2b-256 a847142758c7333fabec6b053aea33b80be24ee48bde5ddfa2f8bf3f195526ba

See more details on using hashes here.

File details

Details for the file novacode_tui-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: novacode_tui-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for novacode_tui-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43b0d9d9e83a7a608edbc754764c392e9842e889777e89dd26b7c514e4c3eef6
MD5 c97c2b78a17f191988fb8fb0924e729f
BLAKE2b-256 d1f0f3d2b51c9a4bc4bfb1271d60814cdef328cdb6bb343fb2ac0ebbd7cf55cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page