πŸ“¦ NeoHuncho / vikunja-voice-assistant

Simplify your Vikunja task creation using Home voice assistant

β˜… 53 stars β‘‚ 1 forks πŸ‘ 53 watching βš–οΈ MIT License
hacshome-assistantintegration
πŸ“₯ Clone https://github.com/NeoHuncho/vikunja-voice-assistant.git
HTTPS git clone https://github.com/NeoHuncho/vikunja-voice-assistant.git
SSH git clone git@github.com:NeoHuncho/vikunja-voice-assistant.git
CLI gh repo clone NeoHuncho/vikunja-voice-assistant
William Guinaudie William Guinaudie improved default due date behavior in prompt edb057d 24 days ago πŸ“ History
πŸ“‚ main View all commits β†’
πŸ“ .github
πŸ“ scripts
πŸ“ tests
πŸ“„ .coverage
πŸ“„ .coveragerc
πŸ“„ .gitignore
πŸ“„ hacs.json
πŸ“„ LICENSE
πŸ“„ logo.png
πŸ“„ pytest.ini
πŸ“„ README.md
πŸ“„ README.md

πŸŽ™οΈ Vikunja Voice Assistant for Home Assistant

Vikunja Voice Assistant logo

License: MITHACS Default

Say β€œcreate a task” or β€œadd a task” β†’ Your task goes straight into Vikunja!

Video Demo πŸŽ₯

⚠️ Important Notice (Breaking Changes):
This version now uses Home Assistant's AI Task (ai_task.generate_data) pipeline instead of calling OpenAI directly.
After updating from a version before 2.0.0, you MUST reconfigure the integration and select a compatible AI Task entity.

✨ Features

Natural voice commands: "Create a task…" or "Add a task…"* πŸ—£οΈ

  • Supports project, due date, priority, labels, recurrence and more πŸ“…
  • Optional: speech correction, auto voice label, default due date, user assignment
  • Supports 11 languages 🌐 πŸ“– Voice commands in all 11 languages

πŸ“¦ Requirements


βš™οΈ Installation (HACS) | Video Guide

⏱️ Create your first task in under 2 minutes!

  • In HACS β†’ Search: Vikunja Voice Assistant β†’ Install
  • Restart Home Assistant
  • Go to Settings β†’ Devices & Services β†’ Add Integration
  • Search: Vikunja Voice Assistant
  • Fill out setup form (Vikunja URL, API token, AI Task entity, options)
  • Vikunja API Token β†’ User Settings β†’ API Tokens
  • Set the following permissions:
  • Labels: Create and Read All
  • Projects: Read All, Projectusers (optional - for user assignment)
  • Tasks: Create
πŸ“Ή Video Guide Select the Home Assistant ai_task entity that is configured to run your preferred LLM via ai_task.generate_data.

Note: this integration relies on Home Assistant's AI Task pipeline (ai_task.generate_data). You can use any AI provider compatible with AI Task (examples: Ollama, OpenAI, Google Gemini, OpenRouter). See AI & LLM setup and the AI Task integration for details:

  • AI & LLM setup: LINK
  • AI Task (ai_task) integration: LINK
  • βœ… Done – Just say "create a task" !

πŸ”§ Configuration Options

OptionPurposeExample/Default
Speech correctionFix common speech-to-text errorsEnabled
Auto voice labelAttaches/creates a voice labelEnabled
Default due dateUsed if no date & no project giventomorrow
Default due date choicesnone, tomorrow, end\of\week, end\of\monthtomorrow
Enable user assignmentAssign tasks to existing usersDisabled
Detailed responseSpeak back project, labels, due date, assignee, priority & repeat infoOn

πŸ€– AI Conversation Agent (Recommended)

Append this to your Home Assistant Voice Assistant’s conversation Agent custom instructions:

If the user mentions or implies creating or adding a new task,
always call this tool (do not leave any field empty):

tool_name: VikunjaAddTask
tool_args: {
  task_description: "<exact user sentence>",
}
This will allow your voice assistant to create tasks even if the keywords were missing.

πŸ“Ή Video Guide


πŸ—ΊοΈ Roadmap

Check the roadmap project to see and add your feature requests! ✍️


🚧 Limitations

  • ❌ Cannot create new labels (except auto-creating voice)
  • ❌ Cannot create new projects
  • ❌ Cannot create new assignee users (only assign existing)
  • ❌ Only works with one language at a time (selected Home Assistant language)

πŸ“œ License

MIT – see LICENSE.