Skip to content

Latest commit

Β 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ShellSense

Python Version License PRs Welcome PyPI version

A universal AI-powered terminal assistant for Linux

Features β€’ Installation β€’ Usage β€’ Development β€’ Contributing

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

About

ShellSense is an intelligent linux terminal plugin designed to enhance your terminal experience with powerful features and AI-powered capabilities. Developed using Python, ShellSense offers a streamlined workflow for various tasks, making your terminal more efficient and user-friendly.

Topics

Resources

Contributing

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages