AI-powered terminal assistant for generating shell commands
Project description
🤖 Vity - AI Terminal Assistant
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
NONEfor 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
-fflag - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebc68426c3ae64b99959ae527b173c51b03cd47882c3fc8eb0aedb6c8fdf8628
|
|
| MD5 |
d99dc37d4b5767916a3eaeb6cd622699
|
|
| BLAKE2b-256 |
b1853f863a303b592659e0eb67a39f55a9b092db63d3de4a07c41652571716d8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
414f1c78bc9731f3456478d7383ced7d06cbbc7cba1d34bd08cd30a2bbced3b5
|
|
| MD5 |
0f8ec971569d14b887e09a19349d161b
|
|
| BLAKE2b-256 |
d94a1170a779b22178eef7f96bd6fd7948acdff6de746e213e2bbb0e17149448
|