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!
⭐ 이 프로젝트가 도움이 되었다면 스타를 눌러주세요!