If you want a dedicated desktop experience with additional workflows, see BasiliskLLM (standalone app plus a minimal NVDA add-on). AI-Hub remains a full-featured option inside NVDA.

AI-Hub

AI-Hub is an NVDA add-on that connects your screen reader to multiple large-language-model (LLM) APIs. Use it for writing, summarizing, translation help, vision (images and screenshots), voice questions, transcription, and optional tool dialogs (TTS, OCR, and more)—without leaving NVDA.

The add-on’s package name in NVDA is still openai (for compatibility with existing installs). The display name you see in menus and settings is AI-Hub.

Features at a glance

This add-on does not include its own update checker. Updates are handled through NVDA’s official Add-on Store when you install from there. If you install manually from the releases page, install newer .nvda-addon builds the same way.

Supported providers

Configure one or more providers in NVDA Preferences → Settings → AI-Hub. Each provider can hold multiple named accounts (API keys, optional organization or base URL where applicable).

Provider Role
OpenAI GPT and related models; official transcription and TTS tool dialogs
DeepSeek DeepSeek API (OpenAI-compatible)
Custom OpenAI Any OpenAI-compatible HTTP API (custom base URL + key)
Ollama Local models via OpenAI-compatible endpoint; model manager tool
Mistral AI Mistral / Pixtral; Voxtral TTS, OCR, and speech-to-text tools
OpenRouter Many third-party models behind one key
Anthropic Claude
xAI Grok
Google Gemini; Lyria 3 Pro tool

The add-on can pick up API keys from environment variables when set (for example OPENAI_API_KEY, DEEPSEEK_API_KEY, MISTRAL_API_KEY, OPENROUTER_API_KEY, ANTHROPIC_API_KEY, XAI_API_KEY, GEMINI_API_KEY / GOOGLE_API_KEY, and others). The settings UI remains the main place to manage accounts.

Speech-to-text (transcription) backends

For microphone / file transcription inside the main flow (not the separate OpenAI transcription tool), you can choose among whisper_cpp (local), openai (Whisper API), and mistral, under the Audio section of AI-Hub settings.

Installation

  1. Open the add-on releases page.
  2. Download the latest .nvda-addon package.
  3. Install it from NVDA’s Tools → View/manage add-ons (or open the file from Explorer and confirm installation).

First-time configuration

  1. Open NVDA → Preferences → Settings.
  2. Select the AI-Hub category.
  3. In API Accounts, choose Add account....
  4. In the account dialog, select a provider, enter an account name, and fill the required fields (API key for most providers; base URL for Custom OpenAI and Ollama, with Ollama defaulting to local http://127.0.0.1:11434/v1 when empty).
  5. Save, then optionally add more accounts, edit existing ones, or remove unused ones from the accounts list.
  6. Optionally adjust Audio, Chat feedback, Advanced / temperature, and Auto-save conversation (enabled by default).

Until at least one provider account is ready, opening the main dialog will prompt you to add keys in AI-Hub settings.

Upgrading from older “Open AI” builds

If you used an older version of this add-on:

You do not need to move files manually unless you use a custom setup.

NVDA menu: AI-Hub

Under the NVDA menu you will find AI-Hub (with the installed version in the label). Entries include:

Main dialog

Open with NVDA+G or Main dialog… from the AI-Hub menu.

What you can do

Options that depend on the model

Some controls only appear or apply for certain models:

Exact availability changes as providers update their APIs; the UI reflects the currently selected model.

System prompt

The system prompt steers model behavior. A default suited to accessibility assistance is provided; you can edit it, reset it from the context menu, and optionally persist the last used prompt (configurable in settings). The system prompt consumes tokens like any other input.

Conversation history

Use Conversation history… from the AI-Hub menu, or assign a gesture under Input Gestures → AI-Hub.

You can list, open, rename, delete, and create conversations. From the main dialog, F2 and Ctrl+N help manage the current session.

Auto-save

If Auto-save conversation is enabled in settings (default), the add-on saves (or updates) the stored conversation after each completed assistant response, and may persist state when you close the dialog if there is something to save. You can also save from the Messages field context menu. If auto-save is off, use manual save when you want to persist.

Ask a question (voice)

This command has no default key. Assign one under Input Gestures → AI-Hub.

Modes:

If the main dialog is focused, its current model is used; otherwise the add-on chooses a suitable model among configured providers.

Tools submenu

The Tools entry under the AI-Hub menu opens provider-grouped dialogs (each may require the corresponding API account):

Menu area Tool
Mistral Voxtral TTS…, OCR…, Speech to Text…
Google Lyria 3 Pro…
OpenAI TTS…, Transcription / Translation…
Ollama Model manager…

If no account is configured for a tool’s provider, the add-on will tell you to add one in AI-Hub settings.

Global commands

All default gestures can be changed in NVDA → Preferences → Input Gestures → AI-Hub.

Gesture Action
NVDA+G Show the AI-Hub main dialog
NVDA+E Screenshot and describe (adds image to a session)
NVDA+O Describe the current navigator object region
(no default gesture) Conversation history. Assign in Input Gestures → AI-Hub.
(no default gesture) Ask a question (record / send / stop audio). Assign in Input Gestures → AI-Hub.
(no default gesture) Toggle microphone recording and transcription. Assign in Input Gestures → AI-Hub.

Where data is stored

Working files, saved conversations index, unified accounts.json, and attachments live under your NVDA user configuration directory, in the aihub folder (after migration from openai). Temporary files use a tmp subfolder and are cleaned up when reasonable (e.g. on add-on termination or dialog close).

Required dependencies (auto-retrieved during build)

Builds use scons to populate runtime libs under:

addon/globalPlugins/AIHub/libs/

When a required lib is missing, scons downloads pinned wheels and extracts only what is needed into that folder. Current pinned dependencies are:

The libs directory is intentionally git-ignored; contributors do not need to commit vendored artifacts.

Troubleshooting (short)

For issues and contributions, use the GitHub repository link from the AI-Hub menu.