Universal AI-powered terminal assistant for Linux
Project description
ShellSense
A universal AI-powered terminal assistant for Linux
Features • Installation • Usage • Development • Contributing
Features
- AI Assistant: Get expert help for any terminal task with multiple AI providers
- Smart Search: Integrated web search and Wikipedia lookup
- Data Tools: GitHub info, stock data, and product research
- Translation: Built-in support for multiple languages
- Screenshots: Capture webpage screenshots
- Code Help: Generate and explain code snippets
- Rich Output: Beautiful terminal formatting with loading animations
- Universal: Works with any Linux terminal (bash, zsh, fish, etc.)
- Extensible: Easy to add new tools and providers
Installation
Prerequisites
- Python 3.8 or higher
- pip (Python package installer)
- Chrome/Chromium (optional, for screenshots)
Quick Install
pip install shellsense
That's it! ShellSense is now installed and ready to use.
First-time Setup
Run the setup command to create your configuration:
shellsense --setup
This creates a configuration file at ~/.config/shellsense/config.env. Edit this file with your API keys:
# OpenAI API Keys (Optional)
OPENAI_API_KEY=your-openai-api-key
# Gemini API Keys (Optional)
GEMINI_API_KEY=your-gemini-api-key
# Cloudflare Environment Variables
CLOUDFLARE_ACCOUNT_ID=your-cloudflare-account-id
CLOUDFLARE_AUTH_TOKEN=your-cloudflare-auth-token
FUNCTION_CALL_MODEL=@hf/nousresearch/hermes-2-pro-mistral-7b
FRIENDLY_RESPONSE_MODEL=@hf/mistral/mistral-7b-instruct-v0.2
Usage
Basic Commands
# Show help and available commands
shellsense --help
# Use Specific AI Provider
shellsense -p gemini -q "What is the current weather in New York?"
# Default to Cloudflare AI
shellsense -q "Search Wikipedia for quantum computing"
Available Tools
| Tool | Description |
|---|---|
| WebSearch | Search the web using Bing/DuckDuckGo |
| Wikipedia | Search and retrieve Wikipedia articles |
| Translator | Translate text between languages |
| Screenshot | Capture webpage screenshots |
| GitHub | Fetch GitHub user/repo information |
| Stock | Get real-time stock market data |
| ProductHunt | Discover trending tech products |
| Coder | Generate code snippets and explanations |
Development
Setup Development Environment
-
Clone and setup:
git clone https://github.com/venopyX/shellsense.git cd shellsense # Create and activate virtual environment python -m venv venv source venv/bin/activate # Install in development mode with dev dependencies pip install -e ".[dev]"
-
Run tests:
pytest
-
Build documentation:
cd docs make html
-
Build and publish:
python -m build twine upload dist/*
Project Structure
shellsense/
├── shellsense/ # Main package
│ ├── ai/ # AI providers and models
│ │ └── providers/# AI provider implementations
│ ├── tools/ # Tool implementations
│ │ ├── coder/ # Code generation tools
│ │ ├── data/ # Data processing tools
│ │ ├── language/ # Language tools
│ │ ├── media/ # Media tools
│ │ ├── shell/ # Shell tools
│ │ └── web/ # Web tools
│ ├── config/ # Configuration management
│ ├── utils/ # Utility functions
│ └── __main__.py # CLI entry point
├── tests/ # Test suite
├── docs/ # Documentation
│ ├── api/ # API reference
│ ├── guides/ # User guides
│ └── examples/ # Usage examples
└── pyproject.toml # Project configuration
Code Style
We use industry-standard Python tools:
- Black for code formatting
- isort for import sorting
- flake8 for linting
- mypy for type checking
Run all checks:
black .
isort .
flake8 .
mypy .
Contributing
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch
- Make your changes
- Run the tests
- Submit a pull request
Documentation
For comprehensive documentation, visit our Documentation. Key sections include:
- API Reference: Detailed API documentation
- User Guides: Step-by-step guides
- Examples: Usage examples
- Contributing Guide: How to contribute
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
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 shellsense-0.1.0.tar.gz.
File metadata
- Download URL: shellsense-0.1.0.tar.gz
- Upload date:
- Size: 48.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec58fa6f49ecafa9712bfe4b47923d9337dc0fd18d74921cd5f47c179f0602f
|
|
| MD5 |
9640834f083ec48a80d074e5bb1d0417
|
|
| BLAKE2b-256 |
36c20f5241b3a8d09148f6749e045f60bbf973f45e9b42a4794ad55dca3d01e8
|
File details
Details for the file shellsense-0.1.0-py3-none-any.whl.
File metadata
- Download URL: shellsense-0.1.0-py3-none-any.whl
- Upload date:
- Size: 44.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70894039b36dd5ac9431b40f7a718b22b1528c525fb5006ec4883b74dfc7e7ae
|
|
| MD5 |
042772225e8520229dbd6db64a1549d3
|
|
| BLAKE2b-256 |
1d928e0f1449a10b7e77eb3c03cac93becadc1c88ed495cc5f91e8add0456abf
|