🤖 CLIche is a command-line interface for interacting with various LLM providers. It provides powerful web research capabilities, targeted scraping, and professional document generation. Snarky responses included at no extra charge.
Turn your terminal into a wise-cracking genius with a snarky, all-knowing LLM assistant. Plus, gain the power to research topics, scrape websites, and generate professional documents.
- 🤖 AI-Powered Image Placement: Intelligent contextual placement of images in documents based on content analysis
- 🔍 Multiple Search Engines: Added Brave Search integration alongside DuckDuckGo for more reliable web research
- 📂 Automatic Unique File Naming: Generate multiple documents on the same topic without overwriting previous files
- 🖼️ Direct Image URLs: Unsplash images are now embedded with direct URLs for better sharing and compatibility
- 📚 Advanced Document Generation: Intelligent chunking for comprehensive documents with the option for concise summaries
- 🔍 Web Research: Get up-to-date information from the web with
research
command - 🕸️ Web Scraping: Extract and save content from websites with
scrape
command - 📝 Document Generation: Create professional documents from scraped or researched data
- 🎭 Personality Switching: Snarky at it's core but professional when you need it
- 🔎 File Search: Find files on your computer with the
search
command
-
🔄 Multi-provider support:
- OpenAI
- Anthropic
- DeepSeek
- OpenRouter - has many free models
- Ollama - for using local models
-
🎯 Easy provider switching
-
🔐 Secure API key management
-
📝 Rich configuration options
-
🔥 Get roasted by the AI
-
😏 Snarky responses included at no extra charge
-
🔍 File Search: Find files on your computer with the
search
command -
🔍 Web Research: Get up-to-date information from the web with
research
command -
🕸️ Web Scraping: Extract and save content from websites with
scrape
command -
📝 Document Generation: Create professional documents from scraped data
-
🖼️ Image Integration: Beautiful images from Unsplash with direct URLs for better sharing and compatibility
-
🎨 Art & ANSI support:
- Generate ASCII text art with custom fonts
- Display random ASCII art patterns
- Display random ANSI art patterns
- Create banner-style text headers
-
✨ Base commands:
ask
: Ask the AI a questionroastme
: Get roasted by the AIart
: Display random ASCII art patternsansi
: Display random ANSI art patternscreate
: Unified command for ASCII/ANSI art creationview
: View a generated fileconfig
: Configure your API keys and model settingsconfig-manager
: Manage CLIche configuration files
-
📝 Generation commands:
code
: Generate code in any language.write
: Generate text, markdown, or HTML contentresearch
: Search the web and generate responses based on current information. Generate documents from research with --write.scrape
: Extract and save web contentgenerate
: Create documents from scraped content.view
: View a generated fileimage
: Search and download images from Unsplash
-
🔍 System commands:
search
: Find files on your computer by name or typesystem
: Display system informationservers
: List and manage running serverskill
: Kill a running server or process by PID
# Clone the repository
git clone https://github.com/pinkpixel-dev/cliche.git
cd cliche
# Run the installation script
./install.sh
# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install the package in development mode
pip install -e .
- Set up your API keys:
# Set up OpenAI
cliche config --provider openai --api-key your_key_here
# Or Anthropic
cliche config --provider anthropic --api-key your_key_here
# Or Google
cliche config --provider google --api-key your_key_here
# Or DeepSeek
cliche config --provider deepseek --api-key your_key_here
# Or OpenRouter
cliche config --provider openrouter --api-key your_key_here
# Or Ollama
cliche config --provider ollama --model llama3.2:8b
# Set up Unsplash (for images)
cliche config --unsplash-key your_unsplash_api_key
- Ask a question:
cliche ask "What is the meaning of life?"
- Generate some code:
cliche code "make me a snake game" --lang python
- Research a topic online:
cliche research "Latest developments in AI regulation" - get a response in your terminal
cliche research "Latest developments in AI regulation" --write --format markdown - write a markdown document
cliche research "Mars exploration" --write --image "mars rover" --image-count 2 - write a document with images
- Scrape a website for information:
cliche scrape "https://docs.python.org/3/" --topic "Python async" --depth 2
- Generate a document from scraped content:
cliche generate "Python async" --format markdown
cliche generate "Python async" --format markdown --image "python code" --image-count 3
- Get system information:
cliche system
- List running servers:
cliche servers
- Get roasted:
cliche roastme
- Get a random ASCII art pattern:
cliche art
cliche art "hello" - get a specific ASCII art pattern
- Get a random ANSi art pattern:
cliche ansi
- Create ASCII/ANSI art with the new unified command:
cliche create --ascii "Hello World" # Create ASCII text art
cliche create --ansi # Show random ANSI art
cliche create --banner "My Project" # Create a banner-style header
cliche create --list-fonts # List available fonts
cliche create "Cool Text" # Default to ASCII art with text
- View a generated file:
cliche view my_file.md --format write
cliche view game.py --format code
cliche view research_commands_in_linux.md --format docs --source research
cliche view python_async_markdown.md --format docs --source scrape
# Or simply by filename, which will search in all docs directories:
cliche view research_commands_in_linux.md
- Search for files:
cliche search -t py # Find all Python files in your home directory
cliche search -n "*.md" -l # Find markdown files in current directory
- Work with images:
cliche image "mountain landscape" --list # Search for images
cliche image --download abcd1234 # Download a specific image
cliche write "A travel guide to Japan" --format markdown --image "japan travel" --image-count 3 # Create document with images
The research
command allows you to get up-to-date information from the web:
# Basic research
cliche research "Current state of quantum computing"
# Research with more sources
cliche research "History of artificial intelligence" --depth 5
# Generate a markdown document
cliche research "Space exploration milestones" --write --format markdown
# Generate a document with images
cliche research "Marine biology" --write --format markdown --image "ocean life" --image-count 4
# Generate a concise summary document
cliche research "Artificial intelligence trends" --write --summarize
# Generate a very brief snippet (2-3 paragraphs)
cliche research "Climate change effects" --snippet
The research
command offers three different document modes:
- Comprehensive (default): Detailed, in-depth documents with full technical detail
- Summary (
--summarize
): More concise documents focusing on key information (~800-1000 words) - Snippet (
--snippet
): Very brief overviews for quick consumption (2-3 paragraphs)
See RESEARCH_COMMAND_README.md for more details.
The scrape
and generate
commands work together to extract and process web content:
# Scrape a specific URL with topic focus
cliche scrape "https://docs.python.org/3/library/asyncio.html" --topic "Python async"
# Generate a comprehensive document from previously scraped content (default)
cliche generate "Python async" --format markdown
# Generate a concise summary document instead
cliche generate "Python async" --format markdown --summarize
# Generate a document with images
cliche generate "Python async" --format markdown --image "python programming" --image-count 2
The generate
command uses an advanced chunking approach that:
- Extracts major sections from scraped content
- Processes each section individually with the LLM
- Preserves all technical details and code examples
- Handles large content volumes efficiently
See SCRAPE_COMMAND_README.md for more details.
When using the --image
option with commands like research
, generate
, or write
, CLIche embeds images with direct URLs from Unsplash instead of downloading them locally. This offers several advantages:
- Better compatibility - Works with all markdown viewers and platforms
- Improved sharing - Documents can be shared without needing to include image files
- Standard compliance - Uses standard markdown image syntax
CLIche uses advanced AI to intelligently place images at contextually relevant positions in your documents:
- Content Analysis - The AI analyzes your document content to understand the topics and concepts
- Optimal Positioning - Images are placed at locations where they best enhance understanding
- Natural Integration - No more arbitrary image placement or manual placeholders required
- Consistent Experience - The same powerful approach is used across all document generation commands
When no explicit image placeholders are found, the system automatically:
- Analyzes document content and structure
- Identifies key sections and concepts
- Places images at points that complement the surrounding text
- Evenly distributes images if optimal positions can't be determined
Example of using AI-powered image placement:
cliche write "A guide to Mediterranean cuisine" --format markdown --image "mediterranean food" --image-count 3
This will create a document with three Mediterranean food images intelligently placed throughout the content at contextually relevant positions.
The image
command lets you search and download high-quality images from Unsplash:
# Search for images
cliche image "sunset beach" --list
# View more results with pagination
cliche image "sunset beach" --list --page 2 --count 15
# Download a specific image by ID
cliche image --download abcd1234
# Download with custom dimensions
cliche image --download abcd1234 --width 1920 --height 1080
You can also add images directly to generated documents:
# Add images to a write command
cliche write "A guide to sustainable living" --format markdown --image "sustainable living" --image-count 3
# Add images to research documents
cliche research "Climate change" --write --format markdown --image "climate change effects" --image-count 2
# Add images to generated documents from scraped content
cliche generate "Machine learning" --format markdown --image "ai technology" --image-count 4
All images in documents:
- Use direct Unsplash URLs for better compatibility and sharing
- Are automatically attributed as required by Unsplash terms
- Are properly formatted for the document type (markdown or HTML)
- Are intelligently placed using AI-powered contextual analysis
The image
command still supports downloading images locally to ~/.cliche/files/images/
for other uses.
CLIche includes several helper scripts for common operations:
scrape.sh
: Helper for topic-based scrapinggenerate.sh
: Helper for document generationcliche-bypass
: Run CLIche in an isolated environment
Example usage:
./scrape.sh "https://docs.github.com" "GitHub Copilot" 2 5
./generate.sh "GitHub Copilot" markdown --image "github" --image-count 2
Configure your preferred providers and settings with the config
command:
# Configure OpenAI provider
cliche config --provider openai --api-key your_api_key --model gpt-4o
# Configure Ollama provider
cliche config --provider ollama --model llama3.2:8b
# Configure Unsplash API for images
cliche config --unsplash-key your_unsplash_api_key
Your configuration is stored in ~/.config/cliche/config.json
.
- Get your API key from OpenAI
- Set it up with:
cliche config --provider openai --api-key your_key
- Get your API key from Anthropic
- Set it up with:
cliche config --provider anthropic --api-key your_key
- Get your API key from Google AI Studio
- Set it up with:
cliche config --provider google --api-key your_key
- Get your API key from DeepSeek
- Set it up with:
cliche config --provider deepseek --api-key your_key
- Get your API key from OpenRouter
- Set it up with:
cliche config --provider openrouter --api-key your_key
- Install Ollama from ollama.ai
- Start the Ollama service:
ollama serve
- Set it up with:
cliche config --provider ollama --model llama3.2:8b
- Sign up at Unsplash Developer Portal
- Create a new application to get your API key
- Set it up with:
cliche config --unsplash-key your_key
You can easily switch out the model you want to use with the config
command after your API keys are set up in the config file.
cliche config --provider openai --model gpt-4o
Contributions are welcome! Please read our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please:
CLIche organizes all generated files in a structured directory hierarchy:
~/cliche/files/
├── docs/ # All generated documents
│ ├── research/ # Research command documents
│ ├── write/ # Write command documents
│ └── scrape/ # Documents from scraped content
├── code/ # Generated code files
├── images/ # Downloaded images (when using image --download)
└── scrape/ # Raw scraped data (JSON format)
When multiple documents are generated with the same topic or filename, CLIche automatically adds incremental suffixes (_1, _2, etc.) to prevent overwriting existing files.
Made with ❤️ by Pink Pixel; Dream it, Pixel it ✨