Skip to content
GizzZmoPublic
forked from dumepaepp/Ai_shell

About

AI Shell is an intelligent, multi-modal command-line assistant that bridges the gap between natural language and complex shell operations. Powered by Large Language Models (LLMs), it translates your requests into executable commands, provides conversational guidance, and integrates with specialized tools like the Metasploit Framework.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Β 
Β 

Latest commit

Β 

History

314 Commits

Folders and files

Repository files navigation

AI Shell πŸ€–

Sm9uQXJ2ZU92ZXNlbg==

Your Intelligent Command-Line Copilot

License: MIT Python 3.9+ GitHub Release

CI Security Documentation Performance Deployment Assets

Codecov CodeQL

GitHub issues GitHub pull requests GitHub stars

Transform natural language into powerful shell commands with AI

πŸš€ Quick Start β€’ πŸ“– Documentation β€’ 🀝 Contributing
πŸ› Issues β€’ πŸ“Š Workflow Status


Overview

AI Shell is an intelligent, multi-modal command-line assistant that bridges the gap between natural language and complex shell operations. Powered by Large Language Models (LLMs), it translates your requests into executable commands, provides conversational guidance, and integrates with specialized tools like the Metasploit Framework and Wapiti.

Whether you're a beginner learning the command line or a seasoned expert looking to accelerate your workflow, AI Shell adapts to your needs.

✨ Key Features

  • πŸ”„ Multi-Modal Architecture: Four distinct operating modes for different use cases
  • 🧠 Advanced LLM Integration: Support for both cloud (Gemini) and local (Ollama) models
  • πŸ”’ Security-First Design: Built-in command validation and user confirmation
  • πŸ“Š Command Audit Logging: Comprehensive security tracking and compliance reporting
  • πŸ›‘οΈ Enhanced Threat Detection: 25+ dangerous command patterns with smart matching
  • πŸ’¬ Conversational Memory: Context-aware responses with chat history
  • πŸ› οΈ Tool Integration: Native PTY-based support for penetration testing and web scanning workflows
  • πŸ“Š Learning Capability: Feedback loop for continuous improvement via training data collection

🎯 Operating Modes

1. Command Translator Mode

Transform natural language into precise shell commands.

> find all files larger than 100MB in my home directory
β†’ find ~ -type f -size +100M

2. AI Assistant Mode

Conversational partner for complex command-line tasks with explanations and guidance.

You: How can I check which processes are using the most memory?
Assistant: On Linux, you can use the 'ps' command combined with 'sort':

    ps aux --sort=-%mem | head -n 10

This lists all running processes, sorts them by memory usage in descending
order, and shows the top 10.

3. Metasploit Assistant Mode

Your personal cybersecurity expert with direct msfconsole integration via a pseudoterminal session. Type regular msfconsole commands as usual; prefix a line with ? to ask the AI for guidance.

msf6 > hosts

? search for Log4j exploits
Assistant: You can search for Log4j exploits using the 'search' command:

    search cve:2021-44228

Would you like me to run this command for you?

4. Wapiti Assistant Mode

AI-guided web application security scanning via a Bash session with wapiti available. Prefix prompts with ? to get AI-generated scan commands.

$ ? scan example.com for XSS vulnerabilities
Assistant: To scan for XSS vulnerabilities, run:

    wapiti -u http://example.com -m xss --scope domain

πŸš€ Quick Start

Prerequisites

  • Python 3.9+
  • Metasploit Framework (optional, for Metasploit mode)
  • Wapiti (optional, for Wapiti mode β€” pip install wapiti3 or sudo apt install wapiti)
  • Ollama (optional, for local LLMs)

Installation

Option 1: From Source (Recommended)

# Clone the repository
git clone https://github.com/GizzZmo/Ai_shell.git
cd Ai_shell

# Install dependencies
pip install -r requirements.txt

# Install the package
pip install -e .

Option 2: Using Setup Scripts

Linux/Mac:

chmod +x install.sh
./install.sh

Windows:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
.\install.ps1

Configuration

  1. Copy the example configuration:

    cp config.yaml.example config.yaml
  2. Set your API key (for Gemini):

    export GEMINI_API_KEY="your_api_key_here"
  3. For local LLMs, install Ollama:

    # Install Ollama (Linux)
    curl -fsSL https://ollama.ai/install.sh | sh
    
    # Pull a model
    ollama pull llama3

Usage

# Interactive mode selection
ai-shell

# Direct modes
ai-shell --mode translator
ai-shell --mode assistant
ai-shell --mode metasploit
ai-shell --mode wapiti

# Specify provider
ai-shell --provider local
ai-shell --provider gemini --api-key your_key

# Use custom config
ai-shell --config myconfig.yaml

# Adjust safety and logging
ai-shell --no-confirmation
ai-shell --log-level DEBUG

For a full CLI reference and mode-by-mode walkthrough, see docs/USAGE.md.

πŸ“– Documentation

Browse focused guides:

πŸ”§ Development

Project Structure

Ai_shell/
β”œβ”€β”€ ai_shell/           # Main package
β”‚   β”œβ”€β”€ __init__.py     # Package metadata and version
β”‚   β”œβ”€β”€ main.py         # Application entry point and mode loops
β”‚   β”œβ”€β”€ config.py       # Configuration management (YAML + env vars)
β”‚   β”œβ”€β”€ llm.py          # LLM provider integrations and system prompts
β”‚   β”œβ”€β”€ executor.py     # Command execution, security, and training logger
β”‚   └── ui.py           # Terminal colors and formatting utilities
β”œβ”€β”€ tests/              # Test suite
β”œβ”€β”€ docs/               # Focused documentation guides
β”œβ”€β”€ config.yaml.example # Example configuration file
β”œβ”€β”€ install.sh          # Linux/Mac installer
β”œβ”€β”€ install.ps1         # Windows installer
β”œβ”€β”€ setup.py            # Package setup
└── requirements.txt    # Runtime dependencies

Testing

# Install development dependencies
pip install pytest pytest-cov black flake8

# Run all tests
python -m pytest

# Run with coverage
python -m pytest --cov=ai_shell

Code Style

# Format code
black ai_shell/ tests/

# Check style
flake8 ai_shell/ tests/

πŸ”’ Security

  • API Keys: Store securely using environment variables; never commit them to source control
  • Command Review: Always review AI-generated commands before execution
  • Confirmation Prompts: Enabled by default; use --no-confirmation only in trusted environments
  • Dangerous Command Blocking: Configurable list of patterns blocked before execution
  • Local LLMs: Consider Ollama for sensitive or air-gapped environments

See SECURITY.md for the full security policy and responsible disclosure process.

πŸ”„ CI/CD & Workflow System

AI Shell uses a comprehensive GitHub Actions workflow system to ensure code quality, security, and reliability:

πŸ› οΈ Automated Workflows

Continuous Integration (CI)

  • βœ… Multi-OS Testing: Tests run on Ubuntu, Windows, and macOS
  • βœ… Python Versions: Supports Python 3.9, 3.10, 3.11, and 3.12
  • βœ… Code Quality: Automated linting with flake8 and formatting checks with black
  • βœ… Test Coverage: pytest with coverage reporting to Codecov
  • βœ… Package Installation: Validates the package can be installed and used

Security Scanning

  • πŸ”’ CodeQL Analysis: Advanced code security scanning with extended queries
  • πŸ”’ Dependency Scanning: Automated vulnerability checks using Safety
  • πŸ”’ Secrets Detection: Trivy scans for exposed secrets in the codebase
  • πŸ”’ License Compliance: Verifies all dependencies use compatible licenses
  • πŸ”’ Scheduled Scans: Daily security checks to catch new vulnerabilities

Documentation

  • πŸ“– Markdown Validation: Ensures all documentation is syntactically correct
  • πŸ“– Link Checking: Validates internal and external links
  • πŸ“– Automated Deployment: Builds and deploys docs to GitHub Pages with MkDocs

Performance Monitoring

  • ⚑ Benchmark Tests: Measures performance of core components
  • ⚑ Memory Profiling: Tracks memory usage and detects leaks
  • ⚑ Weekly Runs: Regular performance regression testing

Release Automation

  • πŸš€ Automated Releases: Tag-based releases to GitHub and PyPI
  • πŸš€ Changelog Generation: Automatic changelog from git commits
  • πŸš€ Package Building: Builds and validates distribution packages
  • πŸš€ Pre-release Support: Handles alpha, beta, and RC releases

Smart Automation

  • 🏷️ Auto-labeling: Automatically labels issues and PRs based on content
  • 🏷️ Size Detection: Labels PRs by change size (XS, S, M, L, XL)
  • πŸ“Š Status Dashboard: Daily workflow status reports and repository statistics

πŸ“Š Workflow Status

Check our Workflow Status Dashboard for real-time status of all workflows, or view the Actions tab for detailed run history.

πŸ”§ Running Workflows Locally

You can run tests and checks locally before pushing:

# Run tests
python -m pytest tests/ -v --cov=ai_shell

# Check code style
flake8 ai_shell/ tests/
black --check ai_shell/ tests/

# Run security checks
pip install safety
safety check

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Quick Steps

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/your-feature)
  3. Make your changes with tests
  4. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google Gemini for powerful language model capabilities
  • Ollama community for local LLM support
  • Metasploit Framework for penetration testing integration
  • Wapiti for web application security scanning

πŸ“ž Support


⚠️ Disclaimer: AI Shell executes system commands. Always review commands before execution and use appropriate security measures. The developers are not responsible for any damage caused by misuse of this tool.

About

AI Shell is an intelligent, multi-modal command-line assistant that bridges the gap between natural language and complex shell operations. Powered by Large Language Models (LLMs), it translates your requests into executable commands, provides conversational guidance, and integrates with specialized tools like the Metasploit Framework.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages