Skip to main content
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

🔧 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

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 --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.

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.5.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.5-py3-none-any.whl (103.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viby-0.2.5.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.5.tar.gz
Algorithm Hash digest
SHA256 4cbe5322371c8e8308e5c9a7a6632e9258e5e51a084bde3337d33d073af2c4c3
MD5 44c24d9bfc09ccf2e33b6a1d7b6fcb47
BLAKE2b-256 3c565bd1c3ac44f2e3587c7c65b2ab5dfaf002fec9f1e2cdb72ff5aa82a36594

See more details on using hashes here.

Provenance

The following attestation bundles were made for viby-0.2.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: viby-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 103.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 df99db790c83d67fa32ee1a85023a1a62863452f196849a5845d904cef95d9ea
MD5 49ac13d45b6c2efaf09c18689ea65ee7
BLAKE2b-256 db5bb646fa8c62b72674e596a35a36581981338d59bbc7e915ba68ea6be98d7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for viby-0.2.5-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.

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

0.0.20

2 files

0.0.15

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.1

2 files

0.0.0

2 files

Supported by

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