AI-powered smart calendar registration Chrome extension
AI κΈ°λ° μ€λ§νΈ μΌμ λ±λ‘ Chrome νμ₯ νλ‘κ·Έλ¨
- 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
-
Clone repository
git clone https://github.com/aucus/ContextClipCalendar.git cd ContextClipCalendar -
Load extension in Chrome
- Open
chrome://extensions/in Chrome - Enable "Developer mode"
- Click "Load unpacked"
- Select the project folder
- Open
-
Configure API keys
- Click the extension icon β Settings
- Enter API key (Gemini, Claude, or ChatGPT)
- Complete Google Calendar authentication
- Visit Google AI Studio
- Sign in with your Google account
- Click "Get API key" button
- Create a new API key or select an existing one
- Paste the generated API key into the extension settings
- Visit Anthropic Console
- Create an account and sign in
- Navigate to the "API Keys" section
- Click "Create Key" to generate a new API key
- Paste the generated API key into the extension settings
- Visit OpenAI Platform
- Create an account and sign in
- Navigate to the "API Keys" section
- Click "Create new secret key" button
- Paste the generated API key into the extension settings
- Visit Google Cloud Console
- Create a new project
- Enable Google Calendar API
- Create OAuth 2.0 Client ID
- Update
oauth2.client_idinmanifest.json
-
Copy text
Meeting tomorrow at 3 PM Attendees: john@company.com, jane@company.com Location: Conference Room A -
Click extension icon
- Copied text is automatically analyzed
- Schedule information is extracted and displayed
-
Register schedule
- Click "π Add to Calendar" button
- Automatically registered to Google Calendar
- Select text on a webpage
- Right-click β "Add to Calendar"
- Extension icon β Settings
- Manage API keys
- Check Google Calendar authentication status
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Popup UI β β Background β β Content Script β
β (popup.js) βββββΊβ (background.js) βββββΊβ (content-*.js) β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Clipboard β β AI APIs β β Web Page β
β Integration β β (Analysis) β β Interaction β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Google Calendar β
β API β
βββββββββββββββββββ
background.js: Main service worker, AI and Calendar API integrationpopup.js: User interface and clipboard integrationllm-utils.js: AI API utilities (Gemini, Claude, ChatGPT)calendar-utils.js: Google Calendar API utilitiescontent-script.js: Web page interactionsidepanel.js: Side panel for editing schedule details
- Chrome browser (latest version)
- Google Cloud Console account
- AI API account (Gemini, Claude, or ChatGPT)
# 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 β ConsoleContextClipCalendar/
βββ 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
- 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)
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
- 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
μ΄ νλ‘μ νΈλ MIT λΌμ΄μ μ€ νμ λ°°ν¬λ©λλ€. μμΈν λ΄μ©μ LICENSE νμΌμ μ°Έμ‘°νμΈμ.
- Google AI Studio: Gemini API
- Anthropic: Claude API
- OpenAI: ChatGPT API
- Google Calendar API: Calendar management functionality
- Chrome Extensions: Extension development platform
- Issue Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Documentation: Wiki
- Privacy Policy: Privacy Policy
β If this project helped you, please give it a star!
β μ΄ νλ‘μ νΈκ° λμμ΄ λμλ€λ©΄ μ€νλ₯Ό λλ¬μ£ΌμΈμ!