Analysis updated 2026-05-18
Ask your Jellyfin library a natural language question like a movie about Native Americans instead of searching by title
Use Surprise me to rediscover forgotten movies in your own collection based on your watch history
Save a set of AI matched search results directly as a Jellyfin playlist
Point the plugin at a local Ollama instance to keep all search data on your own server
| franciskid/jellyfin-plugin-ai-search | anton-petrov/rsabackdoor | darrelmiller/cowpi | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | C# | C# | C# |
| Last pushed | — | 2015-01-20 | 2017-10-31 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | moderate | moderate | hard |
| Complexity | — | 3/5 | 1/5 |
| Audience | general | researcher | general |
Figures from each repo's GitHub metadata at analysis time.
Requires a running Jellyfin server plus an OpenAI-compatible endpoint like Ollama, first index build can take up to 40 minutes on a large library.
This is a plugin for Jellyfin, the self hosted media server, that adds a natural language search button to the web client. Instead of typing exact titles, you can ask for something like a tense short movie for tonight or a Game of Thrones episode with a wedding, and it answers with real matches from your own library, each with a one line reason for why it fits. The plugin offers a few ways to search. The plain search box takes a mood, vibe, or description. Surprise me hands the AI a random slice of your library, nudged by your favorites and watch history, to resurface titles you own but forget about. Create collection runs a search and lets you save the results as a Jellyfin playlist. Help me choose is an interview mode: if you leave the box empty it asks a few quick questions about mood and length, and if you already typed something it tailors its follow up questions to that request. Past searches are saved per user in a private history you can reopen or replay. Under the hood, the plugin builds a local semantic index of your library so it does not need to send your entire collection to the AI model every time. Each movie or episode is converted into a short text description and then into a vector using an embedding model, and a search compares your query the same way to find the closest matches before handing only those to the language model. This keeps the AI from recommending titles outside what it was shown, and avoids the token limits that would come from listing thousands of movies directly. No data leaves your server unless you choose to point it at a hosted AI provider. You can connect any OpenAI compatible endpoint, including a locally run Ollama instance, or use a self hosted AI platform if you already run one. Building the semantic index for a large library takes anywhere from a couple of minutes to about 40 minutes depending on whether you use a hosted or local embedding model, and it re-indexes automatically overnight only for items whose metadata changed.
A Jellyfin plugin that lets you search your media library with plain language questions using a local semantic index and any AI backend.
Mainly C#. The stack also includes C#, Jellyfin, Ollama.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly general.
This repo across BitVibe Labs
Verify against the repo before relying on details.