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
Metadata
Release files for shellsense 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| shellsense-0.1.0.tar.gz | 48.3 kB | Without provenance | Details for shellsense-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| shellsense-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for shellsense-0.1.0-py3-none-any.whl |
Total release size: 93.1 kB
Release files / shellsense-0.1.0.tar.gz
| Download URL | shellsense-0.1.0.tar.gz |
|---|---|
| Size | 48.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ec58fa6f49ecafa9712bfe4b47923d9337dc0fd18d74921cd5f47c179f0602f
|
|
BLAKE2b-256 checksum How to use checksums |
36c20f5241b3a8d09148f6749e045f60bbf973f45e9b42a4794ad55dca3d01e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Release files / shellsense-0.1.0-py3-none-any.whl
| Download URL | shellsense-0.1.0-py3-none-any.whl |
|---|---|
| Size | 44.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
70894039b36dd5ac9431b40f7a718b22b1528c525fb5006ec4883b74dfc7e7ae
|
|
BLAKE2b-256 checksum How to use checksums |
1d928e0f1449a10b7e77eb3c03cac93becadc1c88ed495cc5f91e8add0456abf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Security for shellsense 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.