explaingit

franciskid/jellyfin-plugin-ai-search

Analysis updated 2026-05-18

1C#Audience · generalSetup · moderate

TLDR

A Jellyfin plugin that lets you search your media library with plain language questions using a local semantic index and any AI backend.

Mindmap

mindmap
  root((Jellyfin AI Search))
    What it does
      Natural language search
      Surprise me discovery
      Create playlist
      Help me choose interview
    Tech stack
      C# plugin
      Local semantic index
      OpenAI compatible API
    Use cases
      Vibe based movie search
      Rediscover forgotten titles
      Save results as playlist
    Audience
      Jellyfin server owners
      Home media enthusiasts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Ask your Jellyfin library a natural language question like a movie about Native Americans instead of searching by title

USE CASE 2

Use Surprise me to rediscover forgotten movies in your own collection based on your watch history

USE CASE 3

Save a set of AI matched search results directly as a Jellyfin playlist

USE CASE 4

Point the plugin at a local Ollama instance to keep all search data on your own server

What is it built with?

C#JellyfinOllamaOpenAI-compatible API

How does it compare?

franciskid/jellyfin-plugin-ai-searchanton-petrov/rsabackdoordarrelmiller/cowpi
Stars111
LanguageC#C#C#
Last pushed2015-01-202017-10-31
MaintenanceDormantDormant
Setup difficultymoderatemoderatehard
Complexity3/51/5
Audiencegeneralresearchergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

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.

In plain English

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.

Copy-paste prompts

Prompt 1
Help me install this Jellyfin AI search plugin and connect it to my local Ollama instance
Prompt 2
Explain the difference between Direct mode and Platform mode in this plugin and which one I need
Prompt 3
Walk me through how the local semantic index is built and why it re-indexes overnight
Prompt 4
Show me how the Help me choose interview feature narrows down a vague search request

Frequently asked questions

What is jellyfin-plugin-ai-search?

A Jellyfin plugin that lets you search your media library with plain language questions using a local semantic index and any AI backend.

What language is jellyfin-plugin-ai-search written in?

Mainly C#. The stack also includes C#, Jellyfin, Ollama.

How hard is jellyfin-plugin-ai-search to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is jellyfin-plugin-ai-search for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.