anki-llm  by raine

An LLM-powered toolkit for Anki flashcard management and generation

Created 7 months ago
254 stars

Top 99.0% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> raine/anki-llm is a CLI/TUI toolkit that integrates Large Language Models (LLMs) with Anki flashcard collections to automate tedious tasks. It targets Anki power users and researchers struggling with manual, error-prone card management, offering significant time savings and enhanced card quality through AI-driven bulk processing, generation, and editing.

How It Works This toolkit bridges Anki collections and LLMs via AnkiConnect, supporting both file-based batch processing (export/import with resume) and direct in-place note updates. Key features include AI-driven card generation, bulk field processing using custom prompts, and AI-assisted editing of Anki note type templates (HTML/CSS). It boasts broad LLM compatibility, working with any OpenAI-compatible API endpoint, including local servers like Ollama, and offers built-in Text-to-Speech (TTS) audio generation.

Quick Start & Requirements

  • Installation: Via curl script, Homebrew (brew install raine/anki-llm/anki-llm), or cargo install anki-llm.
  • Prerequisites: Anki Desktop with the AnkiConnect add-on installed and running.
  • LLM Configuration: Requires API keys for chosen LLM providers (e.g., OpenAI, Gemini, OpenRouter, Ollama), configured via environment variables or anki-llm config.
  • Links: Installation script: https://raw.githubusercontent.com/raine/anki-llm/main/scripts/install.sh.

Highlighted Details

  • Flexible Batch Processing: Supports file-based workflows (CSV/YAML) with resume and concurrency, or direct in-place updates.
  • AI Card Generation: Interactive TUI for generating multiple candidate cards per term, allowing review, selection, and import.
  • TTS Audio Integration: Works with multiple TTS providers (OpenAI, Azure, Google, Amazon, Edge) for bulk audio generation and tagging.
  • Note Type Template Editing: Pulls Anki note type HTML/CSS to local files for external editing and pushes changes back.
  • Scriptable Anki Access: query command for programmatic interaction with AnkiConnect, suitable for AI agents.
  • LLM Agnosticism: Compatible with any OpenAI-compatible API endpoint, including local inference servers.

Maintenance & Community The provided README does not detail specific maintenance contributors, community channels, or a public roadmap.

Licensing & Compatibility The license type and compatibility notes for commercial use are not specified in the provided README content.

Limitations & Caveats Operations require Anki Desktop and AnkiConnect to be active. The process-deck command lacks resume capability; process-file is recommended for large jobs. Advanced note type template management (adding/reordering templates) requires Anki's GUI. The absence of explicit licensing information is a significant adoption blocker.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
2
Star History
29 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.