🤖 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.
Metadata
Release files for vity 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vity-0.2.5.tar.gz | 56.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vity-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 82.3 kB
Release files / vity-0.2.5.tar.gz
| Download URL | vity-0.2.5.tar.gz |
|---|---|
| Size | 56.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ebc68426c3ae64b99959ae527b173c51b03cd47882c3fc8eb0aedb6c8fdf8628
|
|
BLAKE2b-256 checksum How to use checksums |
b1853f863a303b592659e0eb67a39f55a9b092db63d3de4a07c41652571716d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|
Release files / vity-0.2.5-py3-none-any.whl
| Download URL | vity-0.2.5-py3-none-any.whl |
|---|---|
| Size | 25.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
414f1c78bc9731f3456478d7383ced7d06cbbc7cba1d34bd08cd30a2bbced3b5
|
|
BLAKE2b-256 checksum How to use checksums |
d94a1170a779b22178eef7f96bd6fd7948acdff6de746e213e2bbb0e17149448
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|