Fast, secure, and context-aware offline AI assistant powered by Llama 3.2.
- π€ Claude Code-style Interface - Just type and chat, no need to prefix every message
- πΎ Persistent Chat History - All conversations auto-saved locally
- π Project Context - Automatically includes relevant files from your project
- π¨ Interactive TUI - Beautiful full-screen chat interface
- π 100% Offline - No data leaves your machine
- π§ CPU Optimized - Runs on CPU with Llama-3.2-1B (~650MB model)
# Add the repository key
curl -fsSL https://raxcore-dev.github.io/rax-offline-cli/repo.key | \
sudo gpg --dearmor -o /usr/share/keyrings/rax-archive-keyring.gpg
# Add the repository
echo "deb [signed-by=/usr/share/keyrings/rax-archive-keyring.gpg] https://raxcore-dev.github.io/rax-offline-cli/ /" | \
sudo tee /etc/apt/sources.list.d/rax.list
# Update and install
sudo apt update
sudo apt install rax# Download the latest release
wget https://github.com/Raxcore-dev/rax-offline-cli/releases/latest/download/rax_0.1.0_amd64.deb
# Install
sudo apt install ./rax_0.1.0_amd64.deb# Download and run the installer
curl -fsSL https://raw.githubusercontent.com/Raxcore-dev/rax-offline-cli/main/install-official.sh | bash# Clone the repository
git clone https://github.com/rax-cli/rax-cli.git
cd rax-cli
# Build
cargo build --release
# Run
./target/release/rax
# Or install system-wide
./install.shAfter installation, just run:
raxThe first run will:
- Show a welcome screen
- Download the AI model (~650 MB, one-time)
- Start the interactive chat
rax # Start interactive chat
rax "What is Rust?" # Quick single question
rax -c "Fix this code" # Include project context
rax -i # Full TUI mode/help # Show commands
/clear # Clear chat history
/list # List saved conversations
/save # Save current chat
/quit # Exit
rax -i # Full TUI mode
rax -c "Question" # Include project context
rax --list-chats # List all conversations
rax --resume 3 # Resume conversation #3
rax --delete-chat 2 # Delete conversation #2
rax --status # Show install status
rax --uninstall # Remove model & data
rax --export chat.md # Export chat to Markdownβ― What does this Rust code do?
π€ This code implements a thread-safe counter using Arc and Mutex...
β― I'm getting a borrow checker error
π€ The borrow checker is complaining because you're trying to...
# Automatically includes relevant files
rax -c "How can I improve this architecture?"All data stored locally in ~/.local/share/RaxCli/:
model.gguf- The Llama model (downloaded once)chat_history.json- All conversationsconfig.json- Settingscontext_cache.json- Cached project files
# Remove package (keeps chat history)
sudo apt remove rax
# Remove completely (including chat history)
sudo apt purge rax
# Or manually
rm -rf ~/.local/share/RaxCli- Ubuntu 20.04+ or Debian 11+
- curl or wget
- Rust 1.70+
- build-essential, libssl-dev, pkg-config
- ~700MB disk space for model
- 4GB+ RAM recommended
| Key | Action |
|---|---|
| Enter | Send message |
| Ctrl+C | Exit |
| Esc | Exit (TUI mode) |
| β/β | Scroll history (TUI) |
# Retry by running rax again
raxrax --statusrax --update-model# Make sure the binary is executable
chmod +x ~/.local/bin/raxcargo build --releasecargo test./build-deb.sh./update-repo.shThe project uses GitHub Actions for:
- CI: Build and test on every push/PR
- Release: Create GitHub releases with artifacts
- Deploy: Automatically deploy apt repository to GitHub Pages
rax-cli/
βββ src/
β βββ main.rs # Main application code
βββ .github/
β βββ workflows/
β βββ ci.yml # Continuous integration
β βββ release.yml # Release automation
β βββ deploy-repo.yml # apt repository deployment
βββ repo/
β βββ ... # apt repository structure
βββ build-deb.sh # Debian package builder
βββ install-official.sh # Official installer script
βββ README.md # This file
MIT License - see LICENSE for details.
Built with:
- llama-cpp-2 - Rust bindings for llama.cpp
- Llama 3.2 - Meta's efficient LLM
- indicatif - Progress bar library
- crossterm - Terminal manipulation
- clap - Command line argument parser
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki