Skip to content

demanr/tango

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 

Repository files navigation

Tango - What Siri should have been

HTN 2025, making your clipboard a supertool

Tango is an AI-powered macOS assistant that enhances your clipboard functionality. It can read and modify text, create memes, remove image backgrounds, and remember your preferences using persistent memory. Powered by LLMs, Tango provides a seamless experience that Siri could have been to help you with everyday tasks.

Check out the demo videos: https://youtu.be/sK-WvZZubcc

Setup

Environment Variables

The following environment variables are required:

  • GROQ_API_KEY: Your Groq API key (required if using Groq provider)
  • GEMINI_API_KEY: Your Google Gemini API key (required if using Gemini provider)
  • MODEL_PROVIDER: Choose the AI provider (groq or gemini, defaults to groq)
  • ENABLE_MEMORY: Enable memory functionality (true or false, defaults to false)

Memory Configuration

Memory functionality is disabled by default for faster, simpler operation. You can enable it if you need persistent memory across sessions:

# Disable memory (default - faster and simpler)
export ENABLE_MEMORY=false
# or simply omit the variable

# Enable memory (slower startup, but remembers interactions)
export ENABLE_MEMORY=true

When memory is disabled:

  • Faster startup time
  • No ChromaDB dependencies
  • Simpler prompts focused on clipboard operations
  • Actions limited to: copy text, make memes, short replies

When memory is enabled:

  • Full memory search and save capabilities
  • Remembers user preferences and past interactions
  • Additional actions: search memory, save to memory

Model Provider Configuration

You can switch between different AI providers by setting the MODEL_PROVIDER environment variable:

# Use Groq (default)
export MODEL_PROVIDER=groq
export GROQ_API_KEY=your_groq_api_key

# Use Google Gemini
export MODEL_PROVIDER=gemini
export GEMINI_API_KEY=your_gemini_api_key

Installation

  1. Install dependencies:
pip install -r app/requirements.txt
  1. Set up your environment variables in a .env file or export them directly
  2. Run the application:
cd app
python main.py

Supported Models

  • Groq: llama-3.3-70b-versatile (default Groq model)
  • Gemini: gemini-2.5-flash-lite (optimized for cost efficiency and low latency)

Google Search Integration

When using Gemini as the provider, the application automatically enhances responses with real-time web search when queries contain keywords like:

  • "current", "recent", "latest", "news", "today", "now", "update"

This provides access to the most current information beyond the model's training cutoff date.

The application will automatically fall back to Groq if Gemini initialization fails.

About

HTN 2025, what Siri wishes it could be

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages