Zing Forum

Reading

Trakt Agent: A Privacy-First Video Recommendation System Based on Local LLM

An intelligent recommendation tool that combines Trakt.tv viewing history with local large language models, providing personalized content discovery while protecting privacy.

Trakt.tv影视推荐隐私保护本地LLMObsidianPython开源工具观影记录
Published 2026-04-07 16:13Recent activity 2026-04-07 16:29Estimated read 7 min
Trakt Agent: A Privacy-First Video Recommendation System Based on Local LLM
1

Section 01

Trakt Agent: Introduction to the Privacy-First Video Recommendation System Based on Local LLM

This project is an open-source intelligent recommendation tool that combines Trakt.tv viewing history with local large language models. Its core value lies in resolving the conflict between "intelligent recommendation" and "privacy protection" in the streaming era—user data is stored locally throughout the process, inference is done by the local GPU, and there's no need to send sensitive information to third-party AI services. It supports Obsidian integration, allowing personalized recommendations to be generated and synced back to Trakt.tv.

2

Section 02

Project Background and Core Value

In the streaming era, algorithmic recommendation is an essential tool for content discovery, but handing over personal viewing data to large tech companies raises privacy concerns. Trakt Agent, developed by Shiva108, combines Trakt.tv's viewing record management with locally running large language models to achieve intelligent and private recommendations: user viewing history is stored locally, inference is done by the user-controlled GPU, and there is no third-party data transmission.

3

Section 03

System Architecture and Workflow

Trakt Agent's recommendation process consists of four steps:

  1. Data Acquisition Layer: Pulls user viewing history and watchlist via the Trakt.tv API (Trakt only records content actively marked by users);
  2. Taste Analysis Layer: Generates a deep "psychological profile" of the user's aesthetic preferences (including narrative style, visual aesthetics, character types, etc.);
  3. Recommendation Generation Layer: Local LLM generates personalized recommendations based on the profile and candidate pool (reasons are dynamically generated);
  4. Output and Sync Layer: Outputs in Markdown format (optimized for Obsidian experience) and supports marking watched content back to Trakt.tv to form a closed loop.
4

Section 04

Technical Implementation of Privacy Protection

Trakt Agent's privacy protection is a choice in architectural design:

  • Uses a local LLM server compatible with the OpenAI API (e.g., LM Studio/Ollama+OpenWebUI), with all inference done locally;
  • Trakt.tv itself is privacy-friendly, relying only on user active marking, and the Agent only reads data without uploading analysis results;
  • The code is fully open-source, allowing users to audit for any hidden data collection behaviors.
5

Section 05

Features and Typical Use Cases

Features: Intelligent filtering (exclude watched content, year filtering, genre blacklist), seed recommendation (specify a movie to guide the recommendation direction), rating filtering (set minimum IMDb score), Obsidian integration, manual mark sync. Use Cases: Weekend viewing plan (generate recommendation list), themed movie marathon (seed recommendation for style-similar content), long-term taste tracking (Obsidian archiving), cross-device sync (Trakt multi-device support).

6

Section 06

Installation and Configuration Guide

Quick Installation: Run ./install.sh to automatically set up the Python environment, dependencies, and directories; Trakt API Configuration: Create an app on Trakt.tv to get client_id/secret, and complete OAuth authentication via the wizard; Local LLM Configuration: Modify config.py to set the LLM server address (default: http://127.0.0.1:1234/v1) and model name; Preference Settings: Copy preferences.json.example to preferences.json, and set the minimum year, excluded genres, minimum IMDb score, etc.

7

Section 07

Limitations and Improvement Directions

Current limitations and improvement directions of the project:

  • Recommendation diversity: Can introduce classic algorithms like collaborative filtering to complement LLM inference;
  • User interface: Only command-line interface, need to optimize the experience for non-technical users;
  • Multilingual support: Currently mainly for English content, need to expand support for other languages.
8

Section 08

Summary and Outlook

Trakt Agent proves that "intelligence" and "privacy" can coexist. By combining local LLM with Trakt.tv, it provides users with a controllable way of content discovery. It is suitable for privacy-conscious movie lovers, Obsidian users, and local AI application developers to try. In the future, we will continue to optimize recommendation diversity, interface friendliness, and multilingual support.