Skip to main content

AI-powered terminal assistant for generating shell commands

Project description

🤖 Vity - AI Terminal Assistant

demo_video

AI-powered terminal assistant that generates shell commands and provides coding help. Works with OpenAI, Google Gemini, local models (Ollama), and any OpenAI-compatible API.

✨ Features

  • 🎯 Smart Command Generation: Describe tasks, get exact commands
  • 🤖 Multi-Provider Support: OpenAI, Google Gemini, Ollama, or any OpenAI-compatible API
  • 🏠 Local Model Support: Run completely offline with Ollama
  • 🧠 Context Awareness: Record terminal sessions for better responses
  • 💬 Chat Mode: Ask questions about errors and commands
  • 📹 Session Recording: Capture terminal output for contextual help

🚀 Quick Start

Install

curl -LsSf https://raw.githubusercontent.com/kaleab-ayenew/vity/main/install.sh | sh

Configure

vity config

You'll be prompted for:

  • Base URL: Your LLM provider endpoint
  • API Key: Your API key (use NONE for local models)
  • Model: Model name to use
  • History Limit: Lines of terminal history to send (default: 1000)

Use

# Generate commands
vity do "find all python files larger than 1MB"
vity do "kill process using port 3000"

# Chat with AI
vity chat "explain this error message"
vity chat "what does chmod 755 do?"

# Use with context
vity record    # Start recording session
# ... work normally ...
vity do "fix this error"  # AI sees your terminal history
exit          # Stop recording

🔧 Provider Configuration Examples

OpenAI

Base URL: https://api.openai.com/v1
API Key: sk-your-openai-key
Model: gpt-4o-mini

Google Gemini

Base URL: https://generativelanguage.googleapis.com/v1beta
API Key: your-gemini-key
Model: gemini-1.5-flash

Ollama (Local)

Base URL: http://localhost:11434/v1
API Key: NONE
Model: llama3.2:3b

Other Providers

Works with any OpenAI-compatible API (Anthropic, Together AI, etc.)

📋 Requirements

  • Python: 3.9+
  • OS: Linux or macOS
  • LLM Provider: OpenAI, Gemini, Ollama, or compatible API

🎯 Commands

Command Description
vity do "<task>" Generate shell command
vity chat "<question>" Chat with AI
vity record Start recording session
vity status Show recording status
vity config Manage configuration
vity config --reset Reset configuration
vity install Install shell integration
vity reinstall Reinstall shell integration
vity uninstall Completely remove vity

🔄 Context Recording

For the best experience, use recording to give Vity context:

vity record          # Start recording
# ... work normally, encounter errors ...
vity do "fix this"   # AI sees your terminal history and errors
exit                 # Stop recording

🗑️ Uninstalling

# Remove everything (shell integration, config, logs, chat history)
vity uninstall

# Or force without confirmation
vity uninstall --force

Then remove the package:

pipx uninstall vity  # if installed with pipx
# or
pip uninstall vity   # if installed with pip

🛠️ Troubleshooting

Command not found: Restart terminal or run source ~/.bashrc

API errors: Check your configuration with vity config --show

Reset everything: vity config --reset

🔒 Privacy

  • Configuration stored locally in ~/.config/vity/
  • Terminal history only sent during recording or with -f flag
  • No data stored on external servers (except API calls)

📄 License

MIT License - see LICENSE file.


Need help? Run vity help or open an issue on GitHub.

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

vity-0.2.5.tar.gz (56.5 kB view details)

Uploaded Source

Built Distribution

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

vity-0.2.5-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vity-0.2.5.tar.gz
  • Upload date:
  • Size: 56.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for vity-0.2.5.tar.gz
Algorithm Hash digest
SHA256 ebc68426c3ae64b99959ae527b173c51b03cd47882c3fc8eb0aedb6c8fdf8628
MD5 d99dc37d4b5767916a3eaeb6cd622699
BLAKE2b-256 b1853f863a303b592659e0eb67a39f55a9b092db63d3de4a07c41652571716d8

See more details on using hashes here.

File details

Details for the file vity-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: vity-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 25.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for vity-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 414f1c78bc9731f3456478d7383ced7d06cbbc7cba1d34bd08cd30a2bbced3b5
MD5 0f8ec971569d14b887e09a19349d161b
BLAKE2b-256 d94a1170a779b22178eef7f96bd6fd7948acdff6de746e213e2bbb0e17149448

See more details on using hashes here.

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