A beautiful and feature-rich AI-powered CLI chatbot using Google Gemini
Project description
๐ค NexShell - AI-Powered CLI Chatbot
A beautiful, feature-rich, and intelligent AI-powered CLI chatbot using Google Gemini 2.5 Flash.
โจ Features
๐จ Beautiful Interface
- Colorful and animated terminal UI
- Smooth loading animations
- Typing effect for bot responses
- Color-coded syntax highlighting
๐ค Multi-Mode AI System
- Normal Mode - Balanced responses for general chat
- Code Mode - Expert programming assistance
- Creative Mode - Artistic and imaginative responses
- Concise Mode - Brief, to-the-point answers
๐ป System Integration
- Execute system commands directly from chat
- View real-time session statistics
- Auto-save conversations to files
- Cross-platform support (Windows, Linux, Mac)
๐ Advanced Features
- Context-aware conversations
- Chat history management
- Word and message counting
- Session duration tracking
- Comprehensive help system
๐ฆ Installation
Quick Install
pip install nexshell
From Source
git clone https://github.com/yourusername/nexshell.git
cd nexshell
pip install -e .
For detailed installation instructions, see INSTALL.md
๐ Setup
-
Get your Gemini API key from Google AI Studio
-
Set your API key:
# Windows PowerShell $env:GEMINI_API_KEY = "your_api_key_here" # Linux/Mac export GEMINI_API_KEY="your_api_key_here"
-
Run NexShell:
nexshell
๐ฎ Usage
Quick Start
nexshell
๐ก Commands
| Command | Description |
|---|---|
/mode [type] |
Switch AI mode (normal/code/creative/concise) |
/cmd [command] |
Execute system commands |
/save |
Export conversation to file |
/stats |
View session statistics |
/history |
Show conversation summary |
/clear |
Clear conversation history |
/help |
Display help information |
/exit or /quit |
Exit NexShell |
๏ฟฝ AI Modes
- ๐ค Normal - Balanced AI for general conversations
- ๐ป Code - Programming expert with detailed examples
- ๐จ Creative - Imaginative and artistic responses
- โก Concise - Brief, bullet-point answers
๐ Example Session
[normal] You โบ /mode code
โ Switched to ๐ป Code Assistant Mode
[code] You โบ How do I read a file in Python?
NexShell โบ Here's how to read a file in Python:
```python
# Method 1: Using with statement (recommended)
with open('file.txt', 'r') as file:
content = file.read()
print(content)
# Method 2: Read line by line
with open('file.txt', 'r') as file:
for line in file:
print(line.strip())
[code] You โบ /cmd python --version โ๏ธ Executing: python --version Python 3.11.0
[code] You โบ /stats
๐ Session Statistics โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ ๐ค Current Mode: ๐ป Code Assistant Mode ๐ฌ Messages Exchanged: 3 ๐ Total Words: 156 โฑ๏ธ Session Duration: 2m 34s
## ๐ง Configuration
NexShell uses:
- **Model**: Google Gemini 2.5 Flash
- **Features**: Multi-turn conversations, context awareness, code execution
- **Customization**: Modify `nexshell/cli.py` for advanced settings
## ๐ฆ Project Structure
nexshell/ โโโ nexshell/ โ โโโ init.py # Package initialization โ โโโ cli.py # Main chatbot application โโโ .env.example # Example environment file โโโ .gitignore # Git ignore rules โโโ LICENSE # MIT License โโโ MANIFEST.in # Package manifest โโโ README.md # This file โโโ INSTALL.md # Detailed installation guide โโโ requirements.txt # Python dependencies โโโ setup.py # Package setup script โโโ pyproject.toml # Modern Python packaging
## ๐ก๏ธ Security
- โ
API keys stored in environment variables
- โ
No sensitive data in code
- โ
`.gitignore` protects credentials
- โ
Secure command execution with timeout
- โ ๏ธ Never share your API key publicly
## ๐ค Contributing
Contributions are welcome! Here's how:
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## ๐ Bug Reports & Feature Requests
- ๐ [Report bugs](https://github.com/yourusername/nexshell/issues)
- ๐ก [Request features](https://github.com/yourusername/nexshell/issues)
- ๐ฌ [Join discussions](https://github.com/yourusername/nexshell/discussions)
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Star History
If you find NexShell useful, please consider giving it a star! โญ
## ๐ Acknowledgments
- Powered by [Google Gemini 2.5 Flash](https://ai.google.dev/)
- Built with Python ๐
- Inspired by modern CLI tools
- Made with โค๏ธ by the community
## ๐ Support
- ๐ [Documentation](https://github.com/yourusername/nexshell#readme)
- ๐ฌ [Community Chat](https://discord.gg/nexshell)
- ๐ง Email: support@nexshell.dev
- ๐ฆ Twitter: [@nexshell](https://twitter.com/nexshell)
---
<div align="center">
**โญ Star us on GitHub โ it motivates us a lot! โญ**
[Website](https://nexshell.dev) โข [Documentation](https://docs.nexshell.dev) โข [Blog](https://blog.nexshell.dev)
Made with ๏ฟฝ by developers, for developers
</div>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nexshell-1.0.0.tar.gz.
File metadata
- Download URL: nexshell-1.0.0.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
831bc0c6d1f6f51cd0cb8e1fa1cdab88b6a01053761c22bbb58b6cc75ecfdaf1
|
|
| MD5 |
0e0f67cd3d56c4cb02da76ab4a22a893
|
|
| BLAKE2b-256 |
06db2c8ffea1412083ba0b31c44e83638a5c09a2dacb3add014d8e87bff3fe76
|
File details
Details for the file nexshell-1.0.0-py3-none-any.whl.
File metadata
- Download URL: nexshell-1.0.0-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa9f3812203b2b8a5556e21260fc0ceed520f85a51ead93116854620506c5826
|
|
| MD5 |
a7578f761e223115a93de0a8a2165373
|
|
| BLAKE2b-256 |
30a2da404cbf18a1a8d4f93d303d8f74364f2d5076c6cc0e3bfedaa20d197938
|