Skip to content

AI-powered smart calendar registration Chrome extension

License

Notifications You must be signed in to change notification settings

aucus/ContextClipCalendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ContextClipCalendar πŸ“…

Chrome Extension License Version

AI-powered smart calendar registration Chrome extension
AI 기반 슀마트 일정 등둝 Chrome ν™•μž₯ ν”„λ‘œκ·Έλž¨

🌟 Key Features

  • Clipboard Text Analysis: AI analyzes copied text to extract schedule information
  • Google Calendar Integration: Automatically registers extracted information to Google Calendar
  • Natural Language Processing: Recognizes natural expressions like "meeting tomorrow at 3 PM" or "내일 μ˜€ν›„ 3μ‹œ 회의"
  • Multi-language Support: Supports both English and Korean input text
  • Duplicate Prevention: Automatically detects and prevents duplicate events
  • Auto Attendee Addition: Automatically adds email addresses as attendees
  • Context Menu: Right-click on selected text to register schedule
  • Multiple AI Models: Supports Gemini, Claude, and ChatGPT for schedule extraction

πŸš€ Installation

Install in Developer Mode

  1. Clone repository

    git clone https://github.com/aucus/ContextClipCalendar.git
    cd ContextClipCalendar
  2. Load extension in Chrome

    • Open chrome://extensions/ in Chrome
    • Enable "Developer mode"
    • Click "Load unpacked"
    • Select the project folder
  3. Configure API keys

    • Click the extension icon β†’ Settings
    • Enter API key (Gemini, Claude, or ChatGPT)
    • Complete Google Calendar authentication

API Key Setup

Gemini API (Google AI)

  1. Visit Google AI Studio
  2. Sign in with your Google account
  3. Click "Get API key" button
  4. Create a new API key or select an existing one
  5. Paste the generated API key into the extension settings

Claude API (Anthropic)

  1. Visit Anthropic Console
  2. Create an account and sign in
  3. Navigate to the "API Keys" section
  4. Click "Create Key" to generate a new API key
  5. Paste the generated API key into the extension settings

ChatGPT API (OpenAI)

  1. Visit OpenAI Platform
  2. Create an account and sign in
  3. Navigate to the "API Keys" section
  4. Click "Create new secret key" button
  5. Paste the generated API key into the extension settings

Google Calendar API

  1. Visit Google Cloud Console
  2. Create a new project
  3. Enable Google Calendar API
  4. Create OAuth 2.0 Client ID
  5. Update oauth2.client_id in manifest.json

πŸ“– Usage

Basic Usage

  1. Copy text

    Meeting tomorrow at 3 PM
    Attendees: john@company.com, jane@company.com
    Location: Conference Room A
    
  2. Click extension icon

    • Copied text is automatically analyzed
    • Schedule information is extracted and displayed
  3. Register schedule

    • Click "πŸ“… Add to Calendar" button
    • Automatically registered to Google Calendar

Advanced Features

Using Context Menu

  • Select text on a webpage
  • Right-click β†’ "Add to Calendar"

Settings Management

  • Extension icon β†’ Settings
  • Manage API keys
  • Check Google Calendar authentication status

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Popup UI      β”‚    β”‚  Background      β”‚    β”‚  Content Script β”‚
β”‚   (popup.js)    │◄──►│  (background.js) │◄──►│  (content-*.js) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Clipboard      β”‚    β”‚   AI APIs        β”‚    β”‚  Web Page       β”‚
β”‚  Integration    β”‚    β”‚   (Analysis)     β”‚    β”‚  Interaction    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚ Google Calendar β”‚
                       β”‚      API        β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Core Components

  • background.js: Main service worker, AI and Calendar API integration
  • popup.js: User interface and clipboard integration
  • llm-utils.js: AI API utilities (Gemini, Claude, ChatGPT)
  • calendar-utils.js: Google Calendar API utilities
  • content-script.js: Web page interaction
  • sidepanel.js: Side panel for editing schedule details

πŸ”§ Development Setup

Requirements

  • Chrome browser (latest version)
  • Google Cloud Console account
  • AI API account (Gemini, Claude, or ChatGPT)

Development Commands

# Reload extension
# In Chrome: chrome://extensions/ β†’ Click reload button

# View logs
# - Background script: chrome://extensions/ β†’ "service worker" link
# - Popup: Right-click β†’ "Inspect"
# - Content script: F12 β†’ Console

πŸ“ File Structure

ContextClipCalendar/
β”œβ”€β”€ manifest.json          # Extension configuration
β”œβ”€β”€ background.js          # Main service worker
β”œβ”€β”€ popup.html            # Popup UI
β”œβ”€β”€ popup.js              # Popup logic
β”œβ”€β”€ options.html          # Settings page
β”œβ”€β”€ options.js            # Settings logic
β”œβ”€β”€ sidepanel.html        # Side panel UI
β”œβ”€β”€ sidepanel.js          # Side panel logic
β”œβ”€β”€ content-script.js     # Content script
β”œβ”€β”€ llm-utils.js          # AI API utilities
β”œβ”€β”€ calendar-utils.js     # Calendar API utilities
β”œβ”€β”€ _locales/             # Internationalization
β”‚   β”œβ”€β”€ en/
β”‚   β”‚   └── messages.json # English translations
β”‚   └── ko/
β”‚       └── messages.json # Korean translations
β”œβ”€β”€ icons/                # Icon files
β”‚   β”œβ”€β”€ icon16.png
β”‚   β”œβ”€β”€ icon32.png
β”‚   β”œβ”€β”€ icon48.png
β”‚   └── icon128.png
└── README.md             # This file

πŸ› οΈ Tech Stack

  • Chrome Extension Manifest v3
  • AI APIs: Gemini (Google), Claude (Anthropic), ChatGPT (OpenAI)
  • Google Calendar API (Calendar management)
  • Chrome Identity API (OAuth authentication)
  • Chrome Storage API (Settings storage)
  • Chrome Context Menus API (Right-click menu)
  • Chrome i18n API (Internationalization)

🌍 Internationalization

The extension supports multiple languages:

  • Default Language: English
  • Supported Languages: English, Korean
  • Auto-detection: Automatically detects browser language
  • Input Language: Supports both English and Korean text input

πŸ”’ Security

  • Principle of Least Privilege: Only requests necessary permissions
  • OAuth 2.0: Secure Google API authentication
  • Local Storage: Sensitive information stored locally only
  • CSP: Content Security Policy applied

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Code style: Follow ESLint rules
  • Commit messages: Write clearly in English or Korean
  • Testing: Include test code when adding new features
  • Internationalization: Use chrome.i18n.getMessage() for all user-facing strings

πŸ“ License

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

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

πŸ™ Acknowledgments

  • Google AI Studio: Gemini API
  • Anthropic: Claude API
  • OpenAI: ChatGPT API
  • Google Calendar API: Calendar management functionality
  • Chrome Extensions: Extension development platform

πŸ“ž Support


⭐ If this project helped you, please give it a star!
⭐ 이 ν”„λ‘œμ νŠΈκ°€ 도움이 λ˜μ—ˆλ‹€λ©΄ μŠ€νƒ€λ₯Ό λˆŒλŸ¬μ£Όμ„Έμš”!

About

AI-powered smart calendar registration Chrome extension

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published