An AI-powered assistant for Linux — in your terminal and as a full GUI app
Perfect for beginners learning Linux and pros who want to move faster
New to Linux? Just tell CLI Assistant what you want in plain language.
A pro? Stop memorizing flags — describe the task and move on.
🚀 Quick Install · 📖 How It Works · 🤖 AI Providers · 📸 Screenshots · ⌨️ Commands
Linux is powerful — but the learning curve is steep. Remembering the exact flags for find, awk, rsync, journalctl, or systemctl takes years. CLI Assistant bridges the gap:
| Without CLI Assistant | With CLI Assistant |
|---|---|
find /var/log -name "*.log" -mtime +7 -exec rm {} \; |
"Delete log files older than 7 days" |
du -sh /* 2>/dev/null | sort -rh | head -10 |
"What's taking up the most disk space?" |
systemctl list-units --failed |
"Show me what services are broken" |
ss -tulpn | grep LISTEN |
"What ports are open on my system?" |
The AI explains every action before doing it, so you learn while you work — no blind commands.
|
|
Full graphical window — launch from your app menu or run
cli-assistant-gui
┌─────────────────────────────────────────────────────────────────────┐
│ CLI Assistant OpenAI · llama-3.3-70b │
├──────────────────┬──────────────────────────────────────────────────┤
│ │ │
│ + New Chat │ What can I help you with? │
│ │ Manage your system through dialogue. │
│ ────────────── │ I explain what I'm doing at every step. │
│ CHATS │ │
│ > What takes... │ ┌──────────────────┐ ┌──────────────────┐ │
│ │ │ 🖥 Disk usage │ │ 🧠 Top processes │ │
│ │ └──────────────────┘ └──────────────────┘ │
│ │ ┌──────────────────┐ ┌──────────────────┐ │
│ │ │ 📋 Find .log files│ │ ⚙️ System info │ │
│ │ └──────────────────┘ └──────────────────┘ │
│ │ │
│ │ ┌─────────────────────────────────────────────┐ │
│ ⚙ Settings │ │ Write a message... │ │
│ CLI Assistant │ │ 🛡 Safe · llama-3.3-70b ▾ [➤] │ │
│ Local mode │ └─────────────────────────────────────────────┘ │
└──────────────────┴──────────────────────────────────────────────────┘
Runs directly in the terminal — launch with
cli-assistant
┌─────────────────────────────────────────────────────┬─────────────────────┐
│ 🤖 CLI Assistant │ gemini: gemini-2.0-flash │ ~/ │ SYSTEM │
├─────────────────────────────────────────────────────│ CPU: ████░░ 42% │
│ │ RAM: 7.3/15.5 GB │
│ ╭──────────────────────────╮ │ ████████░░ │
│ │ what takes the most space│ │ │
│ │ on my disk? │ │ DISK │
│ │ 👤 You │ │ / 168/242 GB │
│ ╰──────────────────────────╯ │ ██████████░░ │
│ │ │
│ 🤖 Assistant │ NETWORK │
│ ╭──────────────────────────────────────────╮ │ ↓ 2.3 MB/s │
│ │ Analyzing disk usage in /home... │ │ ↑ 0.4 MB/s │
│ │ [🔧 get_disk_usage: /home] │ │ │
│ │ │ │ TOP PROCESSES │
│ │ Top 5 by size: │ │ code 2.1 GB │
│ │ • ~/Videos — 42.3 GB │ │ firefox 1.4 GB │
│ │ • ~/Downloads — 18.7 GB │ │ chrome 0.8 GB │
│ │ • ~/.local — 4.2 GB │ │ │
│ │ Want to clean something up? │ │ PATH │
│ ╰──────────────────────────────────────────╯ │ /home/user │
│ │ │
├─────────────────────────────────────────────────────┴─────────────────────┤
│ > Write a message or /command... [Enter] │
│ ^s Settings ^l Clear ^h Help esc Cancel │
└───────────────────────────────────────────────────────────────────────────┘
The easiest way. The package installs everything automatically.
# Download the latest release
wget https://github.com/sterchiks/CLI-Assistant/releases/latest/download/cli-assistant_1.0.0_amd64.deb
# Install
sudo dpkg -i cli-assistant_1.0.0_amd64.deb
# Install system dependencies if needed
sudo apt-get install -f -yAfter installation:
- GUI version → find "CLI Assistant" in your app menu, or run
cli-assistant-gui - TUI version → open a terminal and run
cli-assistant
# Clone the repo
git clone https://github.com/sterchiks/CLI-Assistant.git
cd CLI-Assistant
# Run the installer
chmod +x install.sh
./install.shThe installer will:
- Check for Python 3.10+
- Create a virtual environment
- Install all dependencies
- Add
cli-assistantto your PATH - Optionally add the
aialias to your.bashrc
After installation, open a new terminal and run:
cli-assistant
# or the short alias:
aiOn first launch, a setup wizard will guide you through:
- Choose language — English or Russian
- Choose AI provider — Gemini, Claude, OpenAI, OpenRouter, Ollama, or custom
- Enter API key — with live connection test
- Select model
- Security settings — confirmation before destructive actions
- Choose theme
Config is saved to ~/.cli-assistant/config.json. API keys are stored securely in your system keyring.
| Provider | Free Tier | API Key Format | Notes |
|---|---|---|---|
| Google Gemini | ✅ Yes | AIza... |
Get free key at aistudio.google.com |
| Anthropic Claude | ❌ Paid | sk-ant-... |
console.anthropic.com |
| OpenAI | ❌ Paid | sk-... |
platform.openai.com |
| OpenRouter | ✅ Partly | sk-or-... |
200+ models, some free. openrouter.ai |
| Ollama (local) | ✅ Free | ollama |
Runs on your machine, no internet |
| LM Studio (local) | ✅ Free | any | Runs on your machine |
| Custom | — | — | Any OpenAI-compatible API with custom base URL |
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Download a model (pick one)
ollama pull llama3.2 # 2 GB — great quality
ollama pull llama3.2:1b # 1 GB — faster, lightweight
ollama pull qwen2.5:7b # 4 GB — excellent qualityThen in CLI Assistant settings:
- Provider:
OpenAI Compatible - Base URL:
http://localhost:11434/v1 - API Key:
ollama - Model:
llama3.2
Type these in the chat input (start with /):
| Command | Description |
|---|---|
/help |
Show all available commands |
/settings |
Open full settings panel |
/provider <name> |
Switch AI provider |
/model <name> |
Switch model |
/theme <name> |
Change UI theme (dark, light, cyberpunk, nord...) |
/apikey |
Update API key securely |
/baseurl <url> |
Change base URL (for Ollama, OpenRouter, etc.) |
/cd <path> |
Change working directory |
/ls |
List current directory |
/sudo |
Request sudo for the session |
/clear |
Clear chat history |
/export <path> |
Export history to JSON or Markdown |
| Key | Action |
|---|---|
Enter |
Send message |
Ctrl+S |
Settings |
Ctrl+L |
Clear chat |
Ctrl+H |
Help |
Ctrl+C |
Exit |
CLI Assistant is built with safety in mind:
- Confirmation prompts before any delete, overwrite, or sudo operation
- Protected paths —
/etc/passwd,/etc/shadow,/boot,/devare read-only by default - API keys stored in system keyring (GNOME Keyring / KWallet) — never in plaintext
- Sudo password lives only in process memory, auto-cleared after 15 minutes
- Blocked commands —
rm -rf /, fork bombs, and similar are rejected - File size limit — won't read files over 50 MB by default
You can customize all safety settings in /settings.
CLI-Assistant/
├── install.sh # Installer for source installation
├── run.sh # Quick launch after install
├── requirements.txt # Python dependencies (TUI)
├── requirements-gui.txt # Python dependencies (GUI)
├── build_deb.sh # .deb package builder
├── config/
│ └── default_config.json
└── src/
├── main.py # TUI entry point
├── gui_app.py # GUI entry point
├── gui_web/ # HTML/CSS/JS for GUI
├── ai/ # AI provider implementations
│ ├── anthropic_provider.py
│ ├── gemini_provider.py
│ ├── openai_provider.py
│ └── provider_factory.py
├── tools/ # System tools (14 categories)
│ ├── file_manager.py
│ ├── package_manager.py
│ ├── process_manager.py
│ ├── git_tool.py
│ ├── service_manager.py
│ └── ...
├── core/
│ ├── assistant.py
│ └── tool_executor.py
└── settings/
└── config_manager.py
| Minimum | Recommended | |
|---|---|---|
| OS | Debian 11 / Ubuntu 20.04 | Ubuntu 22.04+ / Debian 12 |
| Python | 3.10 | 3.12 |
| RAM | 512 MB | 1 GB+ |
| Architecture | amd64 | amd64 |
⚠️ Linux only. CLI Assistant is built exclusively for Debian-based Linux distributions.
Windows and macOS are not supported.
Contributions are welcome! Ideas for contribution:
- 🌍 New interface languages
- 🎨 New UI themes
- 🔌 New AI provider integrations
- 🛠️ New system tools
- 🐛 Bug fixes
git clone https://github.com/sterchiks/CLI-Assistant.git
cd CLI-Assistant
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python src/main.pyMIT License — free to use, modify, and distribute.
See LICENSE for details.
Made for Linux users — from beginners to power users
If CLI Assistant saved you time, consider giving it a ⭐