Sm9uQXJ2ZU92ZXNlbg==
Your Intelligent Command-Line Copilot
Transform natural language into powerful shell commands with AI
π Quick Start β’ π Documentation β’ π€ Contributing
π Issues β’ π Workflow Status
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.
- π 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
Transform natural language into precise shell commands.
> find all files larger than 100MB in my home directory
β find ~ -type f -size +100M
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.
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?
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
- Python 3.9+
- Metasploit Framework (optional, for Metasploit mode)
- Wapiti (optional, for Wapiti mode β
pip install wapiti3orsudo apt install wapiti) - Ollama (optional, for local LLMs)
# 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 .Linux/Mac:
chmod +x install.sh
./install.shWindows:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
.\install.ps1-
Copy the example configuration:
cp config.yaml.example config.yaml
-
Set your API key (for Gemini):
export GEMINI_API_KEY="your_api_key_here"
-
For local LLMs, install Ollama:
# Install Ollama (Linux) curl -fsSL https://ollama.ai/install.sh | sh # Pull a model ollama pull llama3
# 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 DEBUGFor a full CLI reference and mode-by-mode walkthrough, see docs/USAGE.md.
Browse focused guides:
- Usage Guide β CLI flags, modes, and provider selection
- Configuration Guide β config structure, profiles, and templates
- Architecture Overview β component and data-flow diagrams
- Examples & Tutorials β practical prompts and scripts
- Troubleshooting β common fixes and debugging tips
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
# 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# Format code
black ai_shell/ tests/
# Check style
flake8 ai_shell/ tests/- 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-confirmationonly 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.
AI Shell uses a comprehensive GitHub Actions workflow system to ensure code quality, security, and reliability:
- β 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
- π 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
- π 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
- β‘ Benchmark Tests: Measures performance of core components
- β‘ Memory Profiling: Tracks memory usage and detects leaks
- β‘ Weekly Runs: Regular performance regression testing
- π 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
- π·οΈ 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
Check our Workflow Status Dashboard for real-time status of all workflows, or view the Actions tab for detailed run history.
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 checkWe welcome contributions! See CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes with tests
- Submit a pull request
This project is licensed under the MIT License β see the LICENSE file for details.
- 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
- Issues: GitHub Issues
- Discussions: GitHub Discussions