/\_/\
( ^.^ )
/) " (\
( | ইহাই | )
(_| ___ |_)
U U MEOWI 🐱A cozy and powerful terminal companion for chatting with your favorite LLMs.
Meowi is a sleek, terminal-based application (TUI) designed for seamless interaction with a variety of Large Language Models. It brings the power of AI chat to your command line, offering a user-friendly interface to manage conversations, switch between different AI providers and models, and customize your chat experience—all without leaving the comfort of your terminal!
- Multi-Provider Support: Connect to OpenAI, Anthropic, Grok, OpenRouter, and other OpenAI-compatible APIs.
- Custom Endpoints: Add and use your own self-hosted or custom LLM endpoints.
- Syntax Highlighting: Code blocks in chat messages are beautifully highlighted for readability.
- Customizable Prompts: Define, manage, and toggle system prompts to guide AI behavior for each chat.
- Model Selection: Quickly switch between different models from your configured providers.
- Vim-Inspired Keybindings: Efficient navigation and interaction in vim style (Normal, Insert, Visual, Command modes).
- Clipboard Integration: Copy messages or individual code blocks to your system clipboard
- Persistent History & Config: Your chats and settings are saved locally for future sessions.
- Visual Mode: Select and copy text directly from the chat view.
- Rust: (Latest stable version recommended) For building the application.
- Clipboard Utilities (Optional, for Linux):
- For Wayland:
wl-copy(fromwl-clipboardpackage). - For X11:
xcliporxsel. (Meowi usesarboardwhich attempts to use these or other system methods.)
- For Wayland:
-
Install Rust: If you don't have Rust, install it from rust-lang.org.
-
Install Clipboard Utilities (Optional, for Linux):
- Debian/Ubuntu:
sudo apt update sudo apt install wl-clipboard xclip # For Wayland and X11 - Fedora:
sudo dnf install wl-clipboard xclip
- Arch Linux:
sudo pacman -S wl-clipboard xclip
(For other distributions, please use your respective package manager.)
- Debian/Ubuntu:
-
Clone and Build Meowi:
git clone https://github.com/0xdilo/meowi.git cd meowi cargo build --release -
Run Meowi: The compiled binary will be located at
target/release/meowi. You can run it directly:./target/release/meowi
Or, move it to a directory in your system's
PATHfor easier access (e.g.,~/.local/bin/or/usr/local/bin/):sudo mv target/release/meowi /usr/local/bin/ # Example meowi # Then run from anywhere
Once Meowi is running, you can interact with it using the following keybindings.
s: Toggle sidebar visibility.Tab: Switch focus between sidebar and chat (if sidebar is visible).o: Open settings screen.m: Open model selection screen.Esc:- Exit current input mode (Insert, Command, API Key, etc.) to Normal mode.
- Close full message view.
- Clear error/info messages.
:(in Normal mode): Enter Command mode.:qthenEnter: Quit Meowi.
i: Enter Insert mode to type and send messages.v: Enter Visual mode to select text.jorDown Arrow: Move cursor down / Scroll chat down.korUp Arrow: Move cursor up / Scroll chat up.Ctrl+d: Page down (scrolls chat view by half a viewport).Ctrl+u: Page up (scrolls chat view by half a viewport).g: Go to the top of the current chat.G: Go to the bottom of the current chat.e: Toggle expansion of a truncated message at the cursor.c,C,x,X: Copy the 1st, 2nd, 3rd, or 4th code block (respectively) from the message at the cursor. (Configurable)n: Create a new chat.Enter(when sidebar focused): Switch to the selected chat or open settings if "Settings" is selected.
jorDown Arrow: Move selection down.korUp Arrow: Move selection up.g: Go to the top of the sidebar (first chat).G: Go to the bottom of the sidebar (Settings item).Enter:- If a chat is selected: Switch to that chat.
- If "Settings" is selected: Open the settings screen.
d: Delete the selected chat (confirmation may be needed or it's immediate).r: Rename the selected chat (enters an input mode).
- Type your message.
Enter: Send the message to the LLM.Esc: Exit Insert mode and return to Normal mode (discards current input).Backspace: Delete the last character.
j,k,Down Arrow,Up Arrow,Ctrl+d,Ctrl+u: Move cursor and extend selection.y: Yank (copy) the selected text to the clipboard.Esc: Exit Visual mode and return to Normal mode.
- Type a command (e.g.,
qto quit). Enter: Execute the command.Esc: Exit Command mode and return to Normal mode.Backspace: Delete the last character.
horLeft Arrow: Switch to the previous tab (Providers, Shortcuts, Prompts).lorRight Arrow: Switch to the next tab.jorDown Arrow: Navigate down the list of items in the current tab.korUp Arrow: Navigate up the list of items.Enter:- Providers Tab: Toggle provider expansion / Toggle model enabled status / Select "Add Custom Model".
- Prompts Tab: Edit selected prompt / Select "Add New Prompt".
e(Providers Tab, on a provider): Edit API key for the selected provider.d:- Providers Tab (on a custom model): Delete the selected custom model.
- Prompts Tab (on a prompt): Delete the selected prompt.
Space(Prompts Tab, on a prompt): Toggle the active status of the selected prompt.Esc: Exit settings and return to Normal mode.