A powerful AI-enhanced note-taking and task management application with local storage, cloud backup, and intelligent features.
- ๐ Smart Note Taking: Create, edit, and organize notes with AI enhancement
- ๐ฏ Task Management: Track tasks with priorities and due dates
- ๐ AI-Powered Search: Find notes using semantic search
- โ๏ธ Google Drive Backup: Automatic cloud synchronization
- ๐ฅ๏ธ Multiple Interfaces: Web app and native macOS app
- ๐ Local Storage: All data stored locally with SQLite
- ๐ค AI Integration: Support for multiple AI providers (Ollama, Google Gemini)
Creating notes, managing tasks, and using AI features
-
Setup and Run:
cd AI_Note_App ./run.sh setup # First time only ./run.sh streamlit # Start web app
-
Access: Open http://localhost:8501 in your browser
-
Setup and Run:
cd AI_Note_App ./run.sh setup # First time only (same as web) ./run_macos.sh macos # Start macOS app
-
Desktop Launcher (Optional):
- Double-click
launch_ai_notes.commandfrom Desktop - Or use the AppleScript launcher:
AI_Notes_Launcher.applescript
- Double-click
- macOS (tested on macOS 14+)
- Python 3.8+ (automatically managed via virtual environment)
- Internet connection (for AI features and cloud backup)
Edit llm_config.json to change the active provider:
{
"llm_provider": "ollama", // Change to "gemini" for Google Gemini
"providers": {
"gemini": {
"model_text": "gemini-1.5-flash",
"model_embedding": "embedding-001",
"api_key_required": true
},
"ollama": {
"model_text": "llama3.1:8b",
"model_embedding": "nomic-embed-text",
"base_url": "http://localhost:11434",
"api_key_required": false
}
}
}# Follow the setup guide
python setup_google_drive.pyFor detailed Google Drive setup instructions, see GOOGLE_DRIVE_SETUP.md.
# Web Application
./run.sh streamlit # Start web interface
# macOS Native App
./run_macos.sh macos # Start native app
# Setup & Maintenance
./run.sh setup # Initial setup
./run.sh setup-ollama # Setup Ollama models- URL: http://localhost:8501
- Features: Full-featured web interface
- Best for: Daily use, cross-platform access
- Type: Native macOS application
- Features: System integration, dock icon, notifications
- Best for: Native macOS experience
- Type: Server interface for AI integration
- Features: Allows external tools to interact with your notes
- Best for: Integration with other AI tools and workflows
- Usage: Run
python mcp_server.pyto start the MCP server
# Install Ollama
brew install ollama
# Pull a model
ollama pull llama3.1:8b
# Update config - set llm_provider to "ollama"
{
"llm_provider": "ollama"
}{
"llm_provider": "gemini"
}Get Gemini API Key:
- Visit Google AI Studio
- Create a new API key
- Set up environment variable:
export GEMINI_API_KEY="your-key-here"
- Run:
python setup_google_drive.py - Follow the authentication flow
- Automatic backups will be enabled
For detailed setup instructions, see GOOGLE_DRIVE_SETUP.md.
AI_Note_App/
โโโ ai_note_app.py # Main Streamlit app
โโโ macos_app.py # Native macOS app
โโโ mcp_server.py # Model Context Protocol server
โโโ run.sh # Web app launcher script
โโโ run_macos.sh # macOS app launcher script
โโโ build_app.sh # App building script
โโโ launch_ai_notes.command # Desktop launcher
โโโ AI_Notes_Launcher.applescript # AppleScript launcher
โโโ backup_ai_notes.command # Manual backup script
โโโ requirements.txt # Python dependencies
โโโ llm_config.json # AI configuration
โโโ GOOGLE_DRIVE_SETUP.md # Detailed Google Drive setup guide
โโโ core/ # Core services
โ โโโ agent_service.py # AI agent logic
โ โโโ ai_service.py # AI provider interface
โ โโโ database_service.py # SQLite operations
โ โโโ backup_service.py # Google Drive backup
โ โโโ search_service.py # FAISS vector search
โ โโโ models.py # Data models
โโโ backup_manager.py # Backup utilities
โโโ setup_google_drive.py # Google Drive setup
โโโ demo/ # Demo files
โโโ backups/ # Backup storage
โโโ notes.db # SQLite database
โโโ faiss.index # Search index
โโโ google_drive_credentials_template.json # Template for credentials
Virtual environment not found:
./run.sh setupPort already in use:
# Stop any running Streamlit processes and restart
./run.sh streamlitAI not working:
# Check Ollama
ollama list
# Or verify Gemini API key environment variable
echo $GEMINI_API_KEYGoogle Drive issues:
python setup_google_drive.py- Check terminal output for detailed error messages
- Backup logs are in the
backups/directory - Database issues: Delete
notes.dbto reset (loses data)
- Check logs: Terminal output shows detailed error messages
- Reset database: Delete
notes.dbif corrupted - Reinstall: Delete
venv_mcp/and run./run.sh setup - Backup first: Always backup data before troubleshooting
This project is licensed under the MIT License - see the LICENSE file for details.
Quick Start Summary:
cd AI_Note_App./run.sh setup(first time)./run.sh streamlit(web) or./run_macos.sh macos(macOS)- Open http://localhost:8501 (web) or use the native app window
