# VectorDB-Plugin: a Windows desktop RAG app for documents, images, audio and video

> BBC-Esq/VectorDB-Plugin builds a searchable vector store from local files and feeds the retrieved chunks to a local or hosted LLM. It is a Windows-only Python application with a GUI, and the README is explicit about that boundary.

**BBC-Esq/VectorDB-Plugin** — Program that lets you ask questions about your documents, audio, and video files.

- Repository: https://github.com/BBC-Esq/VectorDB-Plugin
- Website: https://www.youtube.com/@AI_For_Lawyers
- Stars: 370 · Forks: 47
- Language: Python
- License: not declared
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/bbc-esq-vectordb-plugin

## The problem VectorDB-Plugin addresses, and the user it assumes

A folder of PDFs, recorded meetings and scanned images is not searchable in any useful way. Keyword search over those files misses paraphrases, and pasting whole documents into a chat window hits a context limit long before the collection is exhausted. VectorDB-Plugin exists to close that gap on a single Windows desktop: it extracts text from documents, generates descriptions from images, transcribes speech from audio, embeds all of it, and stores the result in a vector database that the user can query in plain language.

The README frames the goal in one line: create and search a vector database from a wide variety of file types and get more reliable responses from an LLM, which it identifies as retrieval augmented generation. The user it assumes is a practitioner, not a platform team. There is a GUI, a setup script, and a menu item called Ask Jeeves that the README points to for usage instructions. The author is reachable by email and on the KoboldAI Discord, and states no formal affiliation with KoboldAI.

## Inputs, processing and the query path through the vector database

The pipeline has two halves, and the README lays both out as tables. The ingest half accepts documents (.pdf, .docx, .txt, .html, .htm, .md, .csv, .xls, .xlsx, .xlsm, .rtf, .eml, .msg), images (.png, .jpg, .jpeg, .bmp, .gif, .tif, .tiff), and audio (.mp3, .wav, .m4a, .ogg, .wma, .flac). Processing then does three different things depending on the file type: extract text from documents, generate descriptions from images, transcribe speech from audio. Every processed item is embedded and saved into the vector database for searching.

The query half is a conventional retrieve-then-generate loop. The user types a question or records one with a microphone. Relevant chunks are pulled from the vector database. Those chunks go to an LLM, and the README lists four destinations: a local model, Kobold, LM Studio, or ChatGPT. The answer comes back based on the context provided, and text-to-speech can optionally read it aloud.

The repository layout confirms the split. There are separate top-level directories for core, db, chat, gui, modules, tools, Tokenizer and Assets, plus a config.yaml at the root. The topics list names TileDB alongside the more generic vector-database tags, and also names whisper, whispers2t and whisperspeech for speech, bark and gtts for speech synthesis, and koboldai and koboldcpp for the model side. That is a wide dependency surface for one desktop application, and it is the main reason the setup instructions are as long as they are.

## Installing VectorDB-Plugin on Windows and running a first query

The README states the requirements plainly: Microsoft Windows only, with the note that the project is open to pull requests for other platforms. Alongside Windows it lists Python 3.11 to 3.13, Git, Git LFS for large model files, Pandoc for document parsing, and the Visual C++ Build Tools for compiling dependencies.

The README offers a PowerShell route for the build tools, using winget with an override that adds the VC tools and the Windows 11 SDK component. It then suggests verifying the result by checking whether the toolchain directory exists.

```powershell
winget install Microsoft.VisualStudio.2022.BuildTools --silent --accept-source-agreements --accept-package-agreements --override "--wait --quiet --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.22621"
```

```powershell
Test-Path "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC"
```

After that, the installation sequence is short. The README says to download the latest release, extract it, navigate to the src folder, and run four commands in order. The first creates a virtual environment in place, the second activates it, the third runs the Windows setup script, and the fourth launches the GUI.

```bash
python -m venv .
.\Scripts\activate
python setup_windows.py
python gui.py
```

What the reader should see after the last command is the application window. From there the README points to the Ask Jeeves menu option for usage instructions, and notes that those instructions are being consolidated into that feature, asking users to file an issue if Jeeves is not working. Before querying, the user needs a populated store: point the ingest side at files, let processing run, and then ask a question by typing it or recording it. The answer is generated from the retrieved chunks, not from the model's own training data alone. If the response looks ungrounded, the retrieval step, not the model, is the first thing to check.

## Where VectorDB-Plugin is the wrong tool

The Windows-only constraint is stated in the requirements table and repeated in the note that the project is open to pull requests for other platforms. On Linux or macOS there is no documented path; you would be porting it, not installing it. That alone rules the project out for most server-side deployments.

There is also no documented HTTP API or service mode. The entry points visible in the repository are gui.py and __main__.py, and the README describes a desktop workflow with a GUI. If the goal is to expose retrieval to another application, a Slack bot, or a scheduled job, this is not the shape of the thing. A library such as LangChain or LlamaIndex, or a server product such as Chroma or Qdrant, fits that requirement better.

The dependency chain is another real cost. Pandoc, Git LFS, the Visual C++ Build Tools and a Python version in the 3.11 to 3.13 band all have to be present before setup_windows.py can succeed. The README does not document rollback, an uninstall procedure, or what happens when a model download fails partway through. On a machine where the user cannot install system-level tooling, the install will stall at the build tools step. And because the README does not state a licence, anyone planning to redistribute the application or embed it in a commercial product has an unresolved question before they start.

## How it differs from a hosted vector database or a RAG framework

The closest alternatives split into two groups. The first is a standalone vector database such as Chroma or Qdrant. Those are libraries or servers: you install them, you write code to chunk and embed your documents, and you build the query loop yourself. VectorDB-Plugin inverts that. The chunking, embedding, retrieval and prompt assembly are already wired to a GUI, and the LLM call is a configuration choice rather than code. The trade-off is control. With Chroma or Qdrant you decide the embedding model, the distance metric and the index parameters, and you can run the whole thing headless behind an API. With VectorDB-Plugin you get a working desktop application and accept its choices.

The second group is a RAG framework such as LangChain or LlamaIndex. Those are toolkits: they give you the pieces and expect you to assemble a pipeline, which is why they show up in notebooks and services rather than in installed applications. VectorDB-Plugin is the assembled product. It also differs from a plain chat front end for LM Studio or KoboldCpp, because those tools send your question to the model with whatever context you paste in, while this project persists an indexed store and retrieves from it on every query. The related search terms people use around this project mix the two ideas, asking for a vector database plugin for LM Studio and for a ChromaDB plugin for LM Studio. Those are separate products; VectorDB-Plugin is a standalone Windows application that can talk to LM Studio, not a plugin that runs inside it.

## Maintenance, release cadence and the licence gap

The last push to the default branch was on 2026-07-23, and the most recent release, v9.4.0, is dated the same day. The two releases before it, v9.3.0 and v9.2.0, landed on 2026-06-05 and 2026-05-05. That is roughly monthly versioning through the middle of 2026, and the repository is not archived. The v9.3.0 tag carries the label the finale, which is worth reading carefully: it suggests the author considered that release an endpoint, and v9.4.0 arrived anyway. Anyone depending on continued feature work should treat the cadence as something to watch rather than assume.

Upgrade cost is shaped by the versioning scheme. Major version bumps in the v9 series have shipped roughly monthly, and the README's install path runs setup_windows.py, which implies dependency resolution happens at setup time rather than through a pinned lockfile the user can inspect. The repository does contain a config.yaml at the root, which is the obvious place to look before and after an upgrade, but the README does not document a migration procedure between versions or a compatibility policy for existing vector databases. Rebuilding the store after a major upgrade is the safe assumption.

The licence is the open item. The repository metadata does not carry a licence identifier, and the README does not state one. That means the terms under which the code may be used, modified or redistributed are not established by anything in the repository's own documentation. If the project is going into a commercial setting, that question has to be resolved with the author, whose email address is in the README, before deployment rather than after.

## Conclusion

Adopt VectorDB-Plugin if you are on Windows, already run a local model server such as KoboldCpp, LM Studio or ChatGPT, and want a GUI that turns a folder of mixed files into a queryable store without writing retrieval code. Skip it if you need Linux or macOS, a headless service, or a documented public API for other applications to call; the README describes a desktop program, not a server. Before committing, verify three things on your own machine: that Python 3.11 to 3.13 plus Git LFS, Pandoc and the Visual C++ Build Tools all install cleanly, that your intended LLM endpoint appears in the selection list, and which licence the repository carries, because the README does not state one.

## FAQ

### What is VectorDB-Plugin and what does it do?

It is a Windows desktop application that ingests documents, images and audio, extracts or transcribes their content, embeds it into a vector database, and answers questions by retrieving relevant chunks and passing them to an LLM. The README describes this as retrieval augmented generation.

### How do I install VectorDB-Plugin?

Download the latest release and extract it, then from the src folder create a virtual environment with python -m venv ., activate it, run python setup_windows.py, and start the app with python gui.py. The README also requires Python 3.11 to 3.13, Git LFS, Pandoc and the Visual C++ Build Tools.

### Does VectorDB-Plugin run on Linux or macOS?

No. The requirements table lists Microsoft Windows as the only supported platform, with the note that the project is open to pull requests for other platforms. There is no documented install path for Linux or macOS.

### Which LLM backends can VectorDB-Plugin send questions to?

The README lists a local model, Kobold, LM Studio, or ChatGPT. The retrieved chunks are sent to whichever one is selected, and the answer is generated from that context.

### What file types can VectorDB-Plugin ingest?

Documents including .pdf, .docx, .txt, .html, .md, .csv, .xlsx, .rtf, .eml and .msg; images including .png, .jpg, .bmp, .gif and .tiff; and audio including .mp3, .wav, .m4a, .ogg, .wma and .flac. Images are processed into descriptions and audio is transcribed before embedding.

### Is VectorDB-Plugin the same as a ChromaDB plugin for LM Studio?

No. VectorDB-Plugin is a standalone Windows application that can send retrieved context to LM Studio, not a plugin that runs inside it. The README describes a separate GUI program with its own ingest and query pipeline.

## Sources

- [BBC-Esq/VectorDB-Plugin on GitHub](https://github.com/BBC-Esq/VectorDB-Plugin)
- [Issues](https://github.com/BBC-Esq/VectorDB-Plugin/issues)
- [Project website](https://www.youtube.com/@AI_For_Lawyers)
- [README](https://github.com/BBC-Esq/VectorDB-Plugin/blob/main/README.md)
- [Releases](https://github.com/BBC-Esq/VectorDB-Plugin/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/bbc-esq-vectordb-plugin
