Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

113 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Impetus LLM Server

v1.0.2 - High-performance local LLM server optimized for Apple Silicon with enhanced menu bar application, featuring OpenAI-compatible API endpoints and a beautiful dashboard interface.

🎯 Quick Start for Users

Download the App

  1. Download the latest release from Releases
  2. Open the .dmg file
  3. Drag Impetus.app to your Applications folder
  4. Double-click to run!

That's it! No Python, no terminal commands, no setup required.

πŸš€ Features

πŸ†• Enhanced Menu Bar Application

  • Professional Onboarding: Interactive first-run tour for new users
  • Permission Management: Proper macOS permissions with guided setup
  • Native Experience: Brain emoji (🧠) status indicator in menu bar
  • Server Control: Start/stop server with visual status updates
  • Model Management: Load and switch between AI models from menu
  • Performance Modes: Efficiency/Balanced/Performance settings
  • System Monitoring: Real-time CPU, memory, and uptime stats
  • Help System: Built-in help with guided tour restart

For End Users

  • Zero Setup: Download, install, run - just like any Mac app
  • Beautiful Dashboard: Real-time monitoring and control at http://localhost:5173
  • Fast Performance: 50-110 tokens/sec on Apple Silicon with MLX 0.28.0
  • OpenAI Compatible: Works with VS Code extensions, Continue.dev, Cursor, and more
  • Menu Bar Control: Native macOS menu bar app for seamless background operation

For Developers

  • API Compatible: Drop-in replacement for OpenAI API
  • WebSocket Support: Real-time streaming responses
  • Comprehensive Docs: Interactive API documentation at http://localhost:8080/docs
  • Multiple Models: Support for Mistral, Llama, Phi, and more with latest MLX
  • Production Ready: Health checks, monitoring, and enterprise features

🍎 Menu Bar Application

Quick Start with Menu Bar App

For developers and power users who want background operation:

# Clone and setup
git clone https://github.com/GerdsenAI/Impetus-LLM-Server.git
cd Impetus-LLM-Server

# Install enhanced menu bar app
./installers/install_menubar.sh

# Launch enhanced version (recommended)
python run_menubar_enhanced.py

# Or launch basic version
python run_menubar.py

Features

  • 🧠 Visual Status: Brain emoji changes based on server state

    • 🧠 Server stopped (idle)
    • 🟑 Server starting/stopping
    • 🟒 Server running
    • πŸ”΄ Server error
  • 🎯 First-Run Experience: Professional onboarding tour

  • πŸ” Permission Management: Automatic macOS permissions setup

  • πŸ€– Model Management: Load Mistral, Llama, Phi models from menu

  • ⚑ Performance Tuning: Switch between efficiency/performance modes

  • πŸ“Š System Monitoring: Live CPU, memory, uptime tracking

  • πŸ”— Quick Access: Dashboard and API docs one click away

πŸ“‹ System Requirements

  • macOS 14.0 or later (Sonoma+)
  • Apple Silicon (M1, M2, M3, or M4 series)
  • 8GB RAM minimum (16GB recommended)
  • 10GB disk space for models
  • Python 3.11+ (for menu bar app development)

πŸ›  For Developers

Building from Source

If you want to build the app yourself or contribute to development:

# Clone the repository
git clone https://github.com/GerdsenAI/Impetus-LLM-Server.git
cd Impetus-LLM-Server

# Build the standalone app
cd installers
./macos_standalone_app.sh

# The app will be in build_standalone/Impetus.app

Distribution Options

We provide multiple installer and deployment options:

  • Enhanced Menu Bar App: installers/install_menubar.sh

    • Creates native macOS menu bar application
    • Includes onboarding tour and permissions management
    • Best for developer and power user experience
  • Standalone App (Recommended): installers/macos_standalone_app.sh

    • Creates a fully self-contained .app with embedded Python
    • Best for end-user distribution
  • Simple App: installers/macos_simple_app.sh

    • Creates a lighter .app that requires Python on the system
    • Good for developers
  • Production Server: installers/production_installer.sh

    • Sets up Gunicorn + nginx for server deployments

See installers/README.md for all options.

Latest Dependencies

The project now uses the latest versions:

# MLX Framework (Apple Silicon ML)
mlx==0.28.0               # Latest Apple ML framework
mlx-lm==0.26.3            # Language model support
mlx-metal==0.28.0         # Metal GPU acceleration

# Menu Bar Application
rumps==0.4.0              # macOS menu bar framework
pyobjc-core==11.1         # Python-Objective-C bridge
pyobjc-framework-Cocoa==11.1  # Cocoa framework bindings

# Server Framework
flask==3.0.3              # Web framework
gunicorn==23.0.0          # Production WSGI server
psutil==7.0.0             # System monitoring

API Usage

The server auto-generates an API key on the first /v1/* request and prints it to the console. Save this key for subsequent requests.

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="impetus-<key-from-server-console>"  # Check server console output
)

response = client.chat.completions.create(
    model="Qwen3-4B-Instruct-2507-MLX-4bit",
    messages=[{"role": "user", "content": "Hello!"}]
)

Tip: Set IMPETUS_API_KEY=my-secret-key as an environment variable for a persistent key that won't change on restart.

Configuration

The app stores configuration in ~/Library/Application Support/Impetus/:

# View configuration
cat ~/Library/Application\ Support/Impetus/config/server.env

# Models are stored in
~/Library/Application\ Support/Impetus/models/

# Logs for debugging
~/Library/Application\ Support/Impetus/logs/impetus.log

🌟 Model Library

Popular models that work great with Impetus:

  • Mistral 7B: Best balance of speed and quality
  • Llama 3: Latest from Meta with excellent performance
  • Phi-3: Microsoft's efficient small model
  • Qwen: Excellent for code and technical tasks

Download models directly from the dashboard!

πŸ”§ Troubleshooting

App Won't Open

  • Right-click and select "Open" to bypass Gatekeeper on first run
  • Check Console.app for detailed error messages

Server Not Starting

  • Check if port 8080 is already in use
  • View logs: ~/Library/Application Support/Impetus/logs/impetus.log

Performance Issues

  • Ensure no other heavy applications are running
  • Try a smaller model (Phi-3 mini)
  • Check Activity Monitor for resource usage

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Setup

# Install development dependencies
pip install -r requirements_dev.txt

# Run tests
pytest gerdsen_ai_server/tests/

# Run with hot reload
cd gerdsen_ai_server
python src/main.py --reload

πŸ“„ License

MIT License - see LICENSE for details.

πŸ™ Acknowledgments

  • Built with MLX by Apple
  • UI powered by React and Three.js
  • OpenAI API compatibility for seamless integration

Ready to supercharge your Mac with local AI? Download Impetus now!

About

Apple Silicon optimized Local LLM Server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages