Skip to main content

OmniChat CLI 🤖

A powerful CLI tool that combines multiple AI models (OpenAI, Groq) for chat, image generation, and content creation. Features streaming responses, conversation history, and multi-format exports.

📚 View Full Documentation

✨ Features

AI Providers

  • 🧠 OpenAI (gpt-3.5-turbo)
  • 🚀 Groq (llama3-8b-8192)
  • 🎨 Image Generation

Core Features

  • 📡 Real-time streaming responses
  • 🌈 Colorful, emoji-enhanced interface
  • 💾 Chat history saving with custom filenames
  • 📁 Custom save locations
  • 📊 Multiple export formats
    • JSON (structured data)
    • PDF (formatted document)
    • Markdown (human-readable)
  • ⚙️ Configurable parameters
    • Temperature control
    • Token limits
    • Model selection
    • Response streaming
    • Export format selection

Interface

  • 👤 User messages in yellow
  • 🤖 Assistant responses in blue
  • 🎨 Image generation with custom prompts
  • 🚦 Color-coded status messages
  • 📝 Easy-to-read format with emoji indicators

🛠️ Prerequisites

  • Python 3.10+
  • Required API Keys:
    • OpenAI API key
    • Groq API key
    • Image Generation API URL

📦 Installation

From PyPI

pip install omenicli

From Source

git clone https://github.com/Amul-Thantharate/omenicli.git
cd omenicli
pip install -e .
  1. Configure API Keys:

Method A: Environment Variables

# Windows (Command Prompt)
set OPENAI_API_KEY=your_openai_api_key
set GROQ_API_KEY=your_groq_api_key
set APP_URL=your_image_generation_api_url

# Windows (PowerShell)
$env:OPENAI_API_KEY="your_openai_api_key"
$env:GROQ_API_KEY="your_groq_api_key"
$env:APP_URL="your_image_generation_api_url"

# Linux/Mac
export OPENAI_API_KEY="your_openai_api_key"
export GROQ_API_KEY="your_groq_api_key"
export APP_URL="your_image_generation_api_url"

Method B: .env File

Create a .env file in the project root:

OPENAI_API_KEY=your_openai_api_key
GROQ_API_KEY=your_groq_api_key
APP_URL=your_image_generation_api_url

🚀 Usage

Quick Start

  1. Chat with OpenAI (Default):
omenicli
  1. Chat with Groq:
omenicli --model-type groq
  1. Generate Images:
omenicli --model-type image

Advanced Usage

  1. Stream Responses:
omenicli --stream
  1. Custom Model Settings:
omenicli --temperature 0.7 --max-tokens 2048
  1. Save Chat History:
omenicli --save
  1. Custom Image Directory:
omenicli --model-type image --image-dir my_images
  1. Combined Features:
omenicli --model-type image --save --image-dir my_images --stream

📚 Example

Refer to the Example section.

⚙️ Configuration Options

Option Short Default Description
--model-type -mt openai Model provider (openai/groq/image)
--temperature -T 0.5 Response randomness (0-1)
--max-tokens -M 1024 Maximum response length
--stream -S False Enable streaming responses
--save -s False Save chat history
--openai-model -o gpt-3.5-turbo OpenAI model name
--groq-model -g llama3-8b-8192 Groq model name
--image-dir -i generated_images Directory to save generated images
--export-format -e json Export format (json/pdf/markdown)

💾 Data Management

Chat History

  • Default Location: chat_history/
  • Format: JSON files
  • Custom Options:
    • Directory: Enter custom path when prompted
    • Filename: Enter custom name when prompted
    • Default naming: chat_[model-type]_[timestamp].json

Generated Images

  • Default Location: generated_images/
  • Format: PNG files with timestamps
  • Custom Locations:
    • Via CLI: --image-dir path/to/directory
    • Via Prompt: Enter path when asked
  • Naming: image_[timestamp].png

🔧 Error Handling

The application handles various scenarios:

  • Missing/Invalid API keys
  • Network connectivity issues
  • Rate limiting
  • Invalid configurations
  • File system errors

🤝 Contributing

Feel free to:

  • Open issues
  • Submit pull requests
  • Suggest improvements
  • Report bugs

📝 License

MIT License

🔍 Tips & Tricks

  1. Chat Mode:

    • Use "exit" to end the session
    • Try different temperatures for varied responses
    • Enable streaming for real-time responses
    • Use custom filenames for better organization
  2. Image Generation:

    • Be specific in your prompts
    • Use custom directories for organization
    • Combine with chat history saving
  3. Chat History:

    • Use descriptive filenames
    • Organize by project/topic
    • Use custom paths for better file management

Metadata

Release files for omenicli 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omenicli 0.2.3
File Size Uploaded
omenicli-0.2.3.tar.gz 9.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for omenicli 0.2.3
File Interpreter ABI Platform
omenicli-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 17.8 kB

Release files / omenicli-0.2.3.tar.gz

Download URL omenicli-0.2.3.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0f6603346a022ffb4b3a7b29f54786a6006068c4749ef6a732277b24bddcde3d
BLAKE2b-256 checksum
How to use checksums
6aae4b887985298a8ed25524b5a21e9e093ac0b6a1048446ab86e87b9f6a5407
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / omenicli-0.2.3-py3-none-any.whl

Download URL omenicli-0.2.3-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf15d1a7e6e7dff8d282e92b023b64b51ad00f82f85fdf98d024e79b30802102
BLAKE2b-256 checksum
How to use checksums
1744eba4bf8488a1f4d0442fbaef3c78570e14a2ef638585807d13bfb2cc21e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page