Skip to main content

Universal AI-powered terminal assistant for Linux

Project description

ShellSense

Python Version License PRs Welcome PyPI version

A universal AI-powered terminal assistant for Linux

FeaturesInstallationUsageDevelopmentContributing

ShellSense Demo

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

  1. 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]"
    
  2. Run tests:

    pytest
    
  3. Build documentation:

    cd docs
    make html
    
  4. 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.

  1. Fork the repository
  2. Create your feature branch
  3. Make your changes
  4. Run the tests
  5. Submit a pull request

Documentation

For comprehensive documentation, visit our Documentation. Key sections include:

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support


Made with ❤️ by the Gemechis Chala

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

shellsense-0.1.0.tar.gz (48.3 kB view details)

Uploaded Source

Built Distribution

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

shellsense-0.1.0-py3-none-any.whl (44.7 kB view details)

Uploaded Python 3

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

Hashes for shellsense-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2ec58fa6f49ecafa9712bfe4b47923d9337dc0fd18d74921cd5f47c179f0602f
MD5 9640834f083ec48a80d074e5bb1d0417
BLAKE2b-256 36c20f5241b3a8d09148f6749e045f60bbf973f45e9b42a4794ad55dca3d01e8

See more details on using hashes here.

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

Hashes for shellsense-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70894039b36dd5ac9431b40f7a718b22b1528c525fb5006ec4883b74dfc7e7ae
MD5 042772225e8520229dbd6db64a1549d3
BLAKE2b-256 1d928e0f1449a10b7e77eb3c03cac93becadc1c88ed495cc5f91e8add0456abf

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