Skip to main content

Viby vibes everything

Project description

Viby Logo

Viby

Viby vibes everything

GitHub Repo PyPI version Python Version License: GPL v3 UV MCP Ask DeepWiki

English | 中文

🚀 Overview

Viby is a powerful AI agent that lives in your terminal, designed to solve virtually any task you throw at it. Whether you need code assistance, shell commands, information retrieval, or creative content - Viby vibes with your needs and delivers solutions instantly.

✨ Features

  • Intelligent Conversations - Engage in natural multi-turn dialogues
  • Automatic Shell Command Generation - Get optimized shell commands when needed
  • Pipeline Integration - Process data from other commands (e.g., git diff | viby "write a commit message")
  • MCP Tools - Extended capabilities through Model Context Protocol integration
  • Smart Tool Discovery - Automatically finds and uses the most relevant tools within configured MCP servers
  • Enhanced History Management - Complete interaction history with search, export, and management
  • Multiple Model Support - Configure and use different models for various tasks
  • Command Embeddings - Semantic search in tools using embedded vectors for accurate tool selection
  • Multi-language Support - Full interface in English and Chinese with easy language switching

Viby Terminal Demo

🔧 Installation

# Install from PyPI
pip install viby
# OR
uv tool install viby

Alternative Installation

# Install from source with uv
uv pip install -e .

Usage Examples

Basic Question

yb vibe "Write a quicksort in python"
# -> Sure! Here is a quicksort algorithm implemented in **Python**:

Simplified Command

yb "Write a quicksort in python"
# -> Same result as above

Interactive Chat Mode

yb --chat
# or
yb -c
|> Tell me about quantum computing
# -> [AI responds about quantum computing]
|> What are the practical applications?
# -> [AI responds with follow-up information]
|> exit

Process Piped Content

git diff | yb vibe "Generate a commit message"
# -> Added information to the README
yb vibe "What is this project about?" < README.md
# -> This project is about...

Generate Shell Command

yb vibe "How many lines of python code did I write?"
# -> find . -type f -name "*.py" | xargs wc -l
# -> [r]run, [e]edit, [y]copy, [c]chat, [q]quit (default: run): 

Advanced Model Selection

# Use think model for complex analysis
yb --think vibe "Analyze this complex algorithm and suggest optimizations"

# Use fast model for quick responses
yb --fast vibe "Translate 'Hello, World!' to French"

Shell Command Magic Integration

# List directory contents
yb vibe "$(ls) What files are in the current directory?"
# -> The current directory contains: file1.txt, file2.py, directory1/...

# Analyze Git status
yb vibe "$(git status) Which files should I commit first?"

# View code files
yb vibe "$(cat main.py) How can I improve this code?"

Smart Tool Discovery

# Viby will automatically discover and use relevant tools
yb vibe "What's the weather in San Francisco?"
# -> [Viby identifies and uses weather tools]
# -> The current weather in San Francisco is 68°F and partly cloudy...

# Embedding Model Management
# First download the embedding model (required once before using embedding features)
# Embed model configurable with yb --config
yb tools embed download

# Start the embedding server (required for tool discovery)
yb tools embed start

# Check embedding server status
yb tools embed status

# Update tool embeddings from configured MCP servers
yb tools embed update

# List available tools (udpate before listing)
yb tools list

# Stop the embedding server when not needed
yb tools embed stop

History Management

# View recent interactions
yb history list

# Search your history
yb history search "python"

# Export your interaction history
yb history export history.json

# View shell command history
yb history shell

# Clear history (with confirmation)
yb history clear

Automatically Use MCP Tools When Needed

yb vibe "What time is it now?"
# -> [AI uses time tool to get current time]
# -> "datetime": "2025-05-03T00:49:57+08:00"

Keyboard Shortcuts

Viby provides a convenient keyboard shortcut (Ctrl+Q) that allows you to quickly use Viby with the current command line content:

# Install the keyboard shortcuts (auto-detects your shell)
yb shortcuts

# After installation, type any command and press Ctrl+Q
help me analyze my readme file  # Now press Ctrl+Q
# -> This transforms into: yb vibe help me analyze my readme file
# -> [AI analyzes and responds to question]

Supported shells:

  • Bash
  • Zsh
  • Fish

After installing shortcuts, you'll need to reload your shell configuration (source ~/.bashrc, source ~/.zshrc, or equivalent) or restart your terminal for the shortcuts to take effect.

Command Structure

Viby uses a simple command structure:

yb [OPTIONS] [COMMAND] [ARGS]...

Main commands:

  • yb [prompt] - Ask a question (alias for yb vibe "your question"; recommended)
  • yb vibe "your question" - Ask a question (default command for questions)
  • yb --chat or yb -c - Start interactive chat mode
  • yb --think vibe "complex question" - Use the think model for deeper analysis
  • yb --fast vibe "simple question" - Use the fast model for quick responses
  • yb history - Manage interaction history
  • yb tools - Manage tool-related commands
  • yb shortcuts - Install keyboard shortcuts

Use yb --help to see all available commands and options.

Configuration

Viby reads configuration from ~/.config/viby/config.yaml. You can set the model, parameters, and MCP options here.

Interactive Configuration

Use the configuration wizard to set up your preferences:

yb --config

This allows you to configure:

  • API endpoint and key
  • Model
  • Temperature and token settings
  • MCP tools enablement
  • Interface language
  • Embedding model settings

MCP Server Configuration

Viby supports Model Context Protocol (MCP) servers for extended capabilities. MCP configurations are stored in ~/.config/viby/mcp_servers.json.

⭐ Star History

📄 Documentation

🤝 Contributing

Contributions are welcome! Feel free to submit a Pull Request or create an Issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

viby-0.2.2.tar.gz (89.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

viby-0.2.2-py3-none-any.whl (105.0 kB view details)

Uploaded Python 3

File details

Details for the file viby-0.2.2.tar.gz.

File metadata

  • Download URL: viby-0.2.2.tar.gz
  • Upload date:
  • Size: 89.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for viby-0.2.2.tar.gz
Algorithm Hash digest
SHA256 64f104e1b9fa73c4263285a1debe864ef7175a800cb95ed88ce34c4807b71bb2
MD5 d3f150c0f9d1059b6e5192a082b1fe99
BLAKE2b-256 99b32f97cb23762f93b7746b9b771fed0a113b12f969dba7c4c547e4fa3e02e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for viby-0.2.2.tar.gz:

Publisher: release.yaml on JohanLi233/Viby

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file viby-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: viby-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 105.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for viby-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2b079ddd1c2c5fbb78a19f8c830297bd192ee694689ef2224c5e68ec053eafd4
MD5 e9f5f976873b0b0b46fe21679544b430
BLAKE2b-256 4477493b8bb2e8294ed5aef375a05063c48228beb875d1dcd960342512754597

See more details on using hashes here.

Provenance

The following attestation bundles were made for viby-0.2.2-py3-none-any.whl:

Publisher: release.yaml on JohanLi233/Viby

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page