A terminal interface for your AI terminal assistant, warning it YAPS! xD.
Local options coming soon using ollama.
- Interactive command-line interface for chatting with Gemini AI
- Support for multiple Gemini models including latest Gemini 2.0 Flash
- Persistent chat history saved between sessions
- Command-line arguments for direct queries and configuration
- Interactive commands within the chat interface
- File integration with
/filecommand for context-aware discussions - Directory navigation with built-in file system commands (
/ls,/cd,/pwd) - Command piping to combine shell commands with AI queries
- Export chat history to JSON files
- Configuration management for API keys and model selection
- Syntax highlighting for code blocks in responses
- Tab completion and command history support
- Context awareness that maintains conversation flow
- Using history for more context.
- Using current directory and .git for more knowledge.
- [ ]Using history to predict next questions and help.
- [ ]Fully local mode using Ollama
- [~(kinda lol) ]RAG support with document indexing
- CMD to include the actual shell commands for better interactive.
- Rust and Cargo (latest stable version)
- A Google Gemini API key (obtain from https://aistudio.google.com/app/apikey)
You can install Yappus directly from our APT repository:
# Download the installation script
curl -O https://raw.githubusercontent.com/MostlyKIGuess/Yappus-Term/main/install-yappus.sh
chmod +x install-yappus.sh
# runnn
./install-yappus.shInstall from the AUR:
yay -S yappusOr manually using the PKGBUILD:
git clone https://github.com/MostlyKIGuess/Yappus-Term.git
cd Yappus-Term
makepkg -siYou can install Yappus directly using our PowerShell script:
# install script
Invoke-WebRequest -Uri https://raw.githubusercontent.com/MostlyKIGuess/Yappus-Term/main/install-yappus.ps1 -OutFile install-yappus.ps1
# (may need to run PowerShell as Administrator for system-wide installation)
powershell -ExecutionPolicy Bypass -File install-yappus.ps1-
Clone the repository:
git clone https://github.com/MostlyKIGuess/Yappus-Term.git cd yappus-term -
Run the application and it will prompt you for an API key during first-time setup.
Build the application using Cargo:
cargo build --releaseThe compiled binary will be available at target/release/yappus.
You can install the application in your PATH using Cargo:
cargo install --path .You can run the application directly using Cargo:
cargo runOr execute the binary after building:
./target/release/yappusOr if installed in your PATH:
yappusYappus stores its configuration and history files in:
- Linux/macOS:
~/.config/yappus-term/ - Windows:
%APPDATA%\yappus\yappus-term\config\
The following files are created:
api_key- Stores your Gemini API keyconfig.json- Stores your preferred model configurationchat_history.json- Stores your chat historyreadline_history.txt- Stores command history
# ask a question directly, you can use or not use the double quotes
yappus "How do I find large files in Linux?"
# model change, type just yappus model to see the list
yappus model GEMINI_2_5_PRO
# shows chat history
yappus history
#clears history
yappus clear-history
# run the setup again
yappus setup
# version info
yappus version
# current config display
yappus config
# reset or check the api key
yappus key
yappus key --reset
# analyze a file with optional query
yappus file script.sh "explain this script"
# if you wanna export your chats
yappus export ~/my_chat_export.jsonStart interactive mode by running yappus without arguments:
- Type your message at the prompt (
>) and press Enter - The AI will respond with its message
- Type
exitto quit the application
/help- Show help message with available commands/model [name]- View or change the Gemini model/history- View your chat history/clearhistory- Clear your chat history/setup- Run the setup process again/version- Show version information/config- Display current configuration/key [reset]- Check or reset API key/export [path]- Export chat history to file/clear- Clear the terminal screen/file <path> [query]- Include file content in conversation/ls [path]- List directory contents/cd <path>- Change directory/pwd- Show current directoryexit- Exit the application
Command Piping: Combine shell commands with AI queries
> /ls | what programming languages are used in this project?
> /pwd | what should I do in this directory?File Context Analysis:
> /file package.json
> What dependencies does this project use?
> How can I optimize this configuration?GEMINI_FLASH(2.0) - Default model, latest and greatestGEMINI_2_5_PRO- Most capable model for complex tasksGEMINI_2_5_FLASH- High performance with excellent reasoningGEMINI_1_5_PRO- Powerful legacy modelGEMINI_1_5_FLASH- Fast and efficient
Switch models anytime:
yappus model GEMINI_2_5_PRO # CLI
/model GEMINI_2_5_PRO # Interactivedocker run --rm -v $(pwd):/build -w /build debian:bookworm bash -c "apt-get update && apt-get install -y build-essential debhelper curl pkg-config libssl-dev && curl -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable && export PATH=\$HOME/.cargo/bin:\$PATH && dpkg-buildpackage -us -uc -b -d && cp -v /*.deb /build/"Contributions are welcome! Please feel free to submit a Pull Request.