Anki自动化代理

基于CrewAI的自动化工作流,用于收集日语词汇、制作高质量双语笔记,并通过外部MCP服务器直接添加到Anki中。

  • by daivuongktx13
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 daivuongktx13/anki_automation_agents

使用说明

📝 Anki Automation Agents

🚀 My simple CrewAI-based automated workflow to collect Japanese vocabulary, craft high-quality bilingual notes, and add them directly into Anki via an external MCP server.

⚙️ CrewAI Agents

👨‍💻 Agents

  • definition_writer: JP→VI Lexicographic Note Crafter

    Produces clean Vietnamese meanings, usage notes, natural JP examples, and contrasts with easily confused terms.

  • anki_operator: Anki MCP Operator

    Orchestrates the note creation flow, checks duplicates, creates decks if missing, and pushes notes into Anki through MCP.

🔧 Tasks

  • compose_back_content_task:

    Input: a headword (JP)

    Output: learner-friendly “Back” content (VN gloss, usage, 📌 examples, and near-miss terms).

  • create_anki_note_task:

    Full end-to-end automation:

    1. Ensure deck exists (or create)

    2. Check duplicates

    3. Add note with {Front: word, Back: content} via MCP

📚 MCP Server

MCP Server: simple-anki-mcp-server

🚀 Run agent

Enviroment Setup (uv)

uv sync

Run crew

After setting up the enviroment we can run the agent using command:

crewai run

Remarks

CrewAI uses its own implementation of ReAct so i saw some injected prompt related to React, take a look at CrewAI React Prompt. Therefore, some LLM models like gpt-oss-120b might not be optimized with this prompts and is needed to be tuned.

CrewAI may not support the Function Calling Strategy (the function calling or tool calling which provides ~100% accuracy in params and function name features that vllm and openai offer), so we need to custom new agent executors on top of the frameworks.