Yappus Terminal

A modern terminal interface for your AI assistant, bringing intelligence to your command line.

Fully Local Mode Coming Soon
RAG Support Coming SoonSOON

yappus-terminal

$ yappus

Welcome to Yappus Terminal! Type 'exit' to quit or '/help' for commands.

> How do I find large files in Linux?

To find large files in Linux, you can use the 'find' command with the '-size' parameter:

find / -type f -size +100M -exec ls -lh \; | sort -rh

> yappus /file package.json

Reading content from: package.json This `package.json` file is the project's manifest. It describes the project's name, version, dependencies, and scripts. Essentially, it tells your computer (and tools like Node.js) everything it needs to know about the project to build and run it. Specifically, this one for a Next.js site using various frontend libraries..

> yappus What dependencies does this project use?

Based on your package.json, this project uses: - React v18.2.0 - Next.js v13.4.1 - TailwindCSS v3.3.2

> _

Installation

🐧

Debian/Ubuntu

curl -O https://raw.githubusercontent.com/MostlyKIGuess/Yappus-Term/main/install-yappus.sh
chmod +x install-yappus.sh
./install-yappus.sh
🏹

Arch Linux

# With yay
yay -S yappus
# Or with PKGBUILD
git clone https://github.com/MostlyKIGuess/Yappus-Term.git
cd Yappus-Term
makepkg -si
🛠️

From Source

git clone https://github.com/MostlyKIGuess/Yappus-Term.git
cd yappus-term
cargo build --release
# The binary will be in:
# target/release/yappus

Documentation

Basic Usage

Start using Yappus with these simple commands:

Direct Query

Ask questions directly from your command line

yappus "How do I find large files in Linux?"

Interactive Mode

Start a chat session with the AI

yappus

Model Selection

Yappus supports multiple Gemini models with different capabilities:

View Available Models

See all available AI models

yappus model

Change Model

Switch to a more powerful model

yappus model GEMINI_1_5_PRO_002
GEMINI_1_5_FLASH
Default - Good balance
GEMINI_1_5_PRO_002
Most powerful
GEMINI_1_5_PRO
Very capable
GEMINI_1_5_FLASH_002
Good performance
GEMINI_1_5_FLASH_8B
Fastest responses
GEMINI_1_0_PRO
Original model

Chat History

Manage your conversation history with these commands:

View History

Review your past conversations

yappus history

Clear History

Remove all saved conversations

yappus clear-history

Export History

Save your history to a file

yappus export ~/my_chat_export.json

Interactive History

View history during a chat session

/history

Configuration

Manage your Yappus setup with these commands:

Setup Wizard

Run the initial configuration process

yappus setup

Check Config

View your current configuration

yappus config

Check API Key

Verify your API key status

yappus key

Reset API Key

Change your Gemini API key

yappus key --reset

Interactive Commands

Use these commands during an interactive session:

/help

Show help menu

/model

View/change model

/history

View chat history

/clearhistory

Clear history

/version

Show version info

/config

Display config

/key reset

Reset API key

/export

Export history

/clear

Clear terminal

exit

Quit application

Context Awareness

Persistent Conversation Context

Yappus Terminal maintains context between your queries, enabling more coherent and relevant AI responses. The terminal preserves conversation history, allowing the AI to reference previous exchanges and provide more accurate answers based on the full context of your conversation.

$ yappus What is JavaScript?

JavaScript is a programming language commonly used for web development...

$ yappus What about TypeScript?

TypeScript is a superset of JavaScript that adds static type definitions...

File Context Integration

Yappus seamlessly incorporates file content into your AI conversations. Reference files using the /file command to make them part of the conversation context.

$ yappus /file src/utils.js

File content added to conversation context.

$ yappus What does the parseConfig function do?

The parseConfig function in your utils.js file parses the JSON configuration...

Example Use Cases

Here are some useful examples to try with Yappus:

👤

How do I find large files in Linux?

🤖
find / -type f -size +100M -exec ls -lh {} \; | sort -rh
👤

Write a bash script to backup my home directory

🤖
#!/bin/bash

BACKUP_DIR="/backup/$(date +%Y-%m-%d)"
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/home_backup.tar.gz /home/username
echo "Backup completed: $BACKUP_DIR/home_backup.tar.gz"
👤

Explain the difference between tar and zip

🤖
TAR: Archive tool that bundles files without compression by default. Add compression with flags like -z (gzip). Good for preserving Unix permissions.\n\nZIP: Both archives and compresses files. Better cross-platform compatibility with Windows. Allows adding/extracting single files without processing the whole archive.
👤

Code Analysis with File Context

🤖
$ yappus /file src/app.js
File content added to conversation context.
$ yappus What could be improved in this code?
Based on the file content, here are some suggestions:
1. Add input validation for the user data
2. Implement error handling for the API calls
3. Consider using async/await instead of promises

Key Features

AI-Powered Terminal

Interact with Google Gemini AI models directly from your command line.

Persistent History

Keep track of your conversations with chat history that persists across sessions.

Syntax Highlighting

Clear syntax highlighting for code blocks in your AI responses.

Context Awareness

Maintains conversation context across commands and integrates file contents for relevant responses.

Local Mode (Coming Soon)

Interact using a local LLM.

File Exploration (Coming Soon)

Explore your file system directly using yappus.