ObsiCard
pendingby Arda Erkan
AI-powered flashcard generator with optional Anki Desktop synchronization.
š§ ObsiCard ā AI-Powered Flashcard Generator
ObsiCard intelligently turns your Obsidian notes into structured flashcards powered by Groq AI. Each approved flashcard is stored inside the same note and synced instantly with your Anki Desktop deck.
⨠Features
- š§ AI Flashcard Generation - Powered by Groq API for intelligent flashcard creation
- š Review & Approval Modal - Review and edit flashcards before saving
- š·ļø Smart Tag Recommendations - Dynamic or fixed tag modes
- š¾ Auto-Save to Notes - Flashcards stored under
## Flashcardssection - š Real-Time Anki Sync - Seamless integration with Anki Desktop via AnkiConnect
- š” Offline Queue - Automatic retry system for failed syncs
- ā Full Validation - Schema validation and repair pipeline
- ā” Smart Chunking - Handles large notes with intelligent summarization
- šÆ Context Menu Integration - Right-click to generate flashcards
š Quick Start
-
Install the Plugin
- Download the latest release from GitHub Releases
- Extract to your Obsidian vault's
.obsidian/plugins/obsicardfolder - Enable in Obsidian Settings ā Community Plugins
-
Configure API Keys
- Get a free Groq API key from https://console.groq.com
- Add your API key in ObsiCard Settings
-
Set Up Anki (Optional)
- Install Anki Desktop
- Install AnkiConnect add-on (ID: 2055492159)
- Keep Anki running in the background
-
Generate Flashcards
- Highlight text or open a note
- Right-click ā "Generate Flashcards with ObsiCard"
- Choose mode and tags
- Review and approve flashcards
- Done! Flashcards are saved and synced
āļø Requirements
- Obsidian Desktop v1.5.0 or higher
- Groq API Key (free at console.groq.com)
- Anki Desktop + AnkiConnect (optional, for syncing)
š® Usage
Generate from Selection
- Select text in your note
- Right-click ā "Generate Flashcards with ObsiCard"
- Choose Dynamic (AI tags) or Fixed (your tags) mode
- Review generated flashcards
- Edit, select, and approve
Generate from Entire Note
- Open any note
- Click the brain icon in the ribbon, or
- Use Command Palette ā "Generate Flashcards from Current Note"
Review Flashcards
- Each flashcard shows Front, Back, and Tags
- Click checkboxes to select/deselect
- Click "Edit" to modify any flashcard
- Click "Approve & Save" to save selected cards
Anki Sync
- If Anki is running: flashcards sync immediately
- If Anki is offline: flashcards are queued
- Use "Process Anki Sync Queue" command to retry
š Commands
| Command | Description |
|---|---|
| Generate Flashcards from Selection | Create flashcards from selected text |
| Generate Flashcards from Current Note | Create flashcards from entire note |
| Process Anki Sync Queue | Retry queued flashcards |
| View Sync Queue Status | Check how many flashcards are queued |
| Test API Connections | Verify Groq and Anki connectivity |
āļø Settings
Groq API Configuration
- API Key - Your Groq API key
- Model - Choose from Mixtral, Llama 3, or Gemma 2
- Test Connection - Verify API access
Anki Integration
- AnkiConnect URL - Default:
http://127.0.0.1:8765 - Deck Name - Target Anki deck (default: "ObsiCard")
- Auto-sync - Enable/disable automatic Anki syncing
Advanced Settings
- Max Chunk Size - Token limit per chunk (default: 3500)
- Max Parallel Requests - Concurrent API calls (1-5)
- Enable Offline Queue - Queue flashcards when Anki is offline
- Max Retries - Retry attempts for failed syncs
- Default Tags - Tags applied to all flashcards
š§© How It Works
āāāāāāāāāāāāāāāāāāā
ā Select Text ā
ā or Full Note ā
āāāāāāāāāā¬āāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāā
ā Pre-Generation ā
ā Modal (Mode + ā
ā Tags Selection) ā
āāāāāāāāāā¬āāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāā
ā Groq API Call ā
ā ⢠Chunking ā
ā ⢠Generation ā
ā ⢠Validation ā
āāāāāāāāāā¬āāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāā
ā Review Modal ā
ā (Edit/Select) ā
āāāāāāāāāā¬āāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāā
ā Save to Note ā
ā (## Flashcards) ā
āāāāāāāāāā¬āāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāā
ā Sync to Anki ā
ā (or Queue) ā
āāāāāāāāāāāāāāāāāāā
š Privacy
- No Data Collection - ObsiCard never stores or shares your notes
- Direct API Calls - Your content is sent directly to Groq (secured by your API key)
- Local Storage - All settings and queued flashcards stored locally
š§© Open Source
Released under the MIT License. You can use, modify, and distribute freely with attribution.
š ļø Development
# Clone repository
git clone https://github.com/aerkn1/ObsiCard.git
cd obsicard
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Build for production
npm run build
# Lint code
npm run lint
š¤ Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
š Changelog
See CHANGELOG.md for version history.
š Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
š Resources
- Groq Console - Get your free API key
- AnkiConnect - Anki integration add-on
- Obsidian Plugin Development
š Acknowledgments
- Powered by Groq for fast AI inference
- Inspired by the Obsidian and Anki communities
- Built with Vite and TypeScript
š License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ā¤ļø by Arda Erkan
If you find ObsiCard useful, consider ā starring the repository!
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.