Skip to content

AI Assistant (BYOK)

Mindwtr includes an optional AI assistant to help clarify tasks, break them down, and review stale items. It is off by default and uses a bring-your-own-key (BYOK) model.

Privacy Model

  • Local-first: Your data stays on your device.
  • On-demand: Requests are only sent when you tap AI actions or enable Copilot suggestions. Opening the AI settings with a key configured also asks your provider for its current model list, so the model picker stays up to date — no task data is included in that request.
  • Scoped: The assistant only receives the task data it needs.

Supported Providers

  • OpenAI
  • Google Gemini
  • Anthropic (Claude)

Configure it in Settings → AI assistant on desktop or Menu → Settings → Advanced → AI assistant on mobile:

  • Enable/disable AI
  • Provider
  • Model
  • Optional custom OpenAI-compatible base URL
  • API key (stored locally only)
  • Reasoning effort / thinking budget (provider-dependent)
  • Optional “Enable thinking” toggle for Claude/Gemini (adds extended reasoning)

OpenAI-Compatible Endpoints (Local or Hosted)

Mindwtr can talk to any service that exposes an OpenAI-compatible Chat Completions API. This includes local servers and some hosted providers.

Use this setup for:

  • Official OpenAI: leave Custom base URL blank and use your OpenAI API key.
  • Local servers: llama.cpp, Ollama, LM Studio, LocalAI, vLLM, and similar.
  • Hosted OpenAI-compatible providers: for example GLM or other vendors that expose an OpenAI-compatible endpoint.
  1. If needed, start or obtain access to an OpenAI-compatible endpoint.
  2. In Settings → AI assistant on desktop or Menu → Settings → Advanced → AI assistant on mobile:
    • Set Provider to OpenAI
    • Set Model to the model name exposed by that service
    • Set Custom base URL to the service's base URL
    • Enter an API key if that service requires bearer auth
  3. Leave Custom base URL blank only for official OpenAI.
  4. Leave API key blank only if your custom endpoint allows unauthenticated requests.

Mindwtr appends /chat/completions automatically, so use the provider base URL rather than the full chat-completions path unless your service requires the full path.

Common base URLs:

  • llama.cpp: http://localhost:8080/v1
  • Ollama: http://localhost:11434/v1
  • LM Studio: http://localhost:1234/v1
  • LocalAI / vLLM: http://localhost:8080/v1

Example for GLM-style hosted endpoints:

  • Provider: OpenAI
  • Model: the GLM model id exposed by your provider, such as GLM-4.7
  • Custom base URL: your provider's OpenAI-compatible base URL
  • API key: your provider key if required

Features

Clarify

Turn a vague task into a concrete next action with suggested contexts/tags.

Breakdown

Generate a short checklist of next steps for large tasks. You choose what to apply.

Review Analysis

During weekly review, the assistant can flag stale tasks and suggest actions like:

  • Move to Someday/Maybe
  • Archive
  • Break down
  • Keep

Copilot Suggestions

(Only available in Inbox and Focus views)

As you type, Mindwtr can suggest:

  • Contexts
  • Tags
  • Time estimates

Copilot never applies changes without your approval.

Speech to Text

Transcribe voice notes into tasks.

  • Offline (Whisper): Download a model (~75MB for Tiny, ~150MB for Base) to transcribe fully offline.
  • Cloud (OpenAI/Gemini): Use your API key for high-accuracy transcription.
  • Self-hosted (OpenAI-compatible): Set a custom base URL under the OpenAI speech provider to transcribe on your own server instead of api.openai.com. Anything serving OpenAI's /v1/audio/transcriptions works (whisper.cpp, Speaches, LocalAI, vLLM); an API key is optional there, and the model field accepts your server's own model name.
  • Modes:
    • Smart Parse: Extracts due dates, projects, and priorities from natural speech (e.g., "Buy milk tomorrow priority high").
    • Transcript Only: Just the text.

Self-hosted transcription

Set the speech provider to OpenAI, then fill in the base URL: your server's root, ending in /v1 (for example http://localhost:8000/v1). Mindwtr posts the recording to /v1/audio/transcriptions there, exactly as it does to OpenAI.

  • Leave the API key empty if your server does not use one.
  • The model picker lists whatever your server reports at /v1/models when it answers; otherwise it falls back to suggestions. You can always type any model name — the list is not a fixed set.
  • Transcription is all a speech server does. Smart Parse needs a language model, so without an AI assistant configured a capture becomes a task titled with the transcript, and dates, projects and priorities are not pulled out of it. Configure the assistant separately if you want those.

Notes

  • AI is optional. Mindwtr works without it.
  • Responses are parsed as structured JSON; if parsing fails, no changes are applied.

Whisper language codes

If you use the Whisper offline model, set an explicit language code in Settings → AI Assistant → Audio language on desktop or Menu → Settings → Advanced → AI Assistant → Audio language on mobile. See the language list here: Whisper language list.

Mindwtr is free, open source, and local-first.
Getting Things Done and GTD are registered trademarks of the David Allen Company. Mindwtr is not affiliated with, endorsed by, or sponsored by the David Allen Company.