Catalog PyPI
PACKAGE EXPLORERView in registry

ai-cron

PyPI

Smart AI Cron Tool with Web UI (Ollama, Gemini, GPT Support)

aiautomationcrongemininlpollamaweb-ui
Versions collected1
Direct dependencies8From release 0.2.0
Last observed21 Oct, 10:20 UTC

README

Version 0.2.0 documentation

ai-cron

AI-Powered Cron Job Generator with Modern Web UI

Transform natural language into cron expressions using AI. Built with privacy in mind, supporting both local (Ollama) and cloud AI models (Google Gemini, OpenAI, Anthropic Claude, etc.).

✨ Features

  • 🤖 Multi-Model AI Support

    • Local Privacy: Ollama (Llama 3, Mistral) - No internet required
    • Cloud Power: Google Gemini, OpenAI GPT-4o, Anthropic Claude, DeepSeek, xAI Grok
    • Smart Fallback: Automatic model switching when Ollama is unavailable
  • 💻 Modern Web UI

    • Natural Language Chat: Generate cron jobs conversationally
    • Backup Wizard: Guided file backup scheduling with progress tracking
    • AI Settings: Configure models, API keys, and endpoints
  • ⚡ Smart Features

    • Instant Validation: Verify cron expressions before scheduling
    • Next Run Preview: See upcoming execution times
    • One-Click Deploy: Add to system crontab directly from UI

📦 Installation

Prerequisites

  • Python 3.10+
  • Poetry (recommended) or pip
git clone https://github.com/dev-droid/ai-cron.git
cd ai-cron
poetry install

Option 2: Using pip

git clone https://github.com/dev-droid/ai-cron.git
cd ai-cron
pip install -r requirements.txt  # Or: pip install -e .

Optional: Install Ollama (for local AI)

  • Windows: Download Ollama
  • macOS: brew install ollama
  • Linux: curl -fsSL https://ollama.com/install.sh | sh

After installing Ollama, pull a model:

ollama pull llama3

🚀 Usage

# Using Poetry
poetry run python -m aicron.main web --port 8080

# Using pip
python -m aicron.main web --port 8080

Then open http://localhost:8080 in your browser.

CLI Mode

# Using Poetry
poetry run python -m aicron.main "Backup home folder every Friday at 5pm"

# Using pip
python -m aicron.main "Backup home folder every Friday at 5pm"

⚙️ Configuration

Environment Variables

For users in regions requiring a proxy (e.g., China for Google Gemini):

# Set proxy for AI API requests
export AICRON_PROXY="http://127.0.0.1:7890"

# Or set system-wide proxy (automatically detected)
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"

API Keys (Cloud AI Models)

Configure via the Web UI Settings tab or export as environment variables:

# Google Gemini
export GEMINI_API_KEY="<YOUR_GEMINI_API_KEY>"

# OpenAI
export OPENAI_API_KEY="<YOUR_OPENAI_API_KEY>"

# Anthropic Claude
export ANTHROPIC_API_KEY="<YOUR_ANTHROPIC_API_KEY>"

📂 Project Structure

ai-cron/
├── aicron/
│   ├── __init__.py       # Package version
│   ├── main.py           # CLI entry point (Typer)
│   ├── web.py            # Web UI (NiceGUI)
│   ├── llm.py            # AI model integration (LiteLLM)
│   ├── cron.py           # Cron validation & system integration
│   ├── llm_tools.py      # File system context tools
│   └── ollama_utils.py   # Ollama installation checks
├── tests/
│   └── test_llm_logic.py # Unit tests
├── pyproject.toml        # Poetry dependencies
├── LICENSE               # MIT License
└── README.md             # This file

🛠️ Development

Run tests:

poetry run pytest

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Copyright (c) 2025 dev-droid. All rights reserved.

🤝 Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.

🌟 Acknowledgments

  • Built with LiteLLM for unified AI API access
  • UI powered by NiceGUI
  • Inspired by the need for privacy-first AI tooling

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.011 Dec 20258

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
dev-droid/ai-cron

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:20 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:588e8a203bd4d20c9e7152a1e6af2a75fafdfefad2afa2c82935469b278d0524