TheGru 143 Posted January 15 Author Posted January 15 ok I have embeddings working on Ollama on my Mac Studio M4 Max, using the Nomic Embed
TheGru 143 Posted January 15 Author Posted January 15 Chat with tool calling using Ollama Qwen 3. Other models would not play nice either due to improper tool function calling or because my machine can't run the model.
TheGru 143 Posted January 15 Author Posted January 15 (edited) Well it's cooking through my episodes right now creating embeddings Aperture will now save embedding sets for easy switching between providers/models. Edited January 15 by TheGru 2
TheGru 143 Posted January 15 Author Posted January 15 55 minutes ago, FlameRed said: Got it. It is amazing that you developed this in just a couple of week. Unbelievable! Just a humble suggestion for some distant future release. For me, it would be so useful to have AI recommendations of new content that might be out there that I don't know even exists that might be something I like. Even just as a separate category that list them so I could consider and pull myself. But now I understand the intent better. Built in 5 days! I am sure I could come up with a way to surface suggestions for things your don't have but I would want to provide a means to add it, so maybe a connection to Jellyseer/Seer as a bridge to the Arrs
TeamB 2438 Posted January 15 Posted January 15 15ms for embedding sounds ok-ish. I have all my systems set up locally with no remote access and have no password on my emby users. It looks like you block login with users with no passwords.
TheGru 143 Posted January 15 Author Posted January 15 1 minute ago, TeamB said: 15ms for embedding sounds ok-ish. I have all my systems set up locally with no remote access and have no password on my emby users. It looks like you block login with users with no passwords. I do currently, as I had not considered that use case... let me think about a solution.
TheGru 143 Posted January 15 Author Posted January 15 Aperture v0.4.6 Release Notes Hey everyone! This release introduces the Discovery feature (thanks to @FlameRed for the idea!)— AI-powered suggestions for content not in your library — plus full Jellyseerr/Seer integration for requesting missing content. If you've ever wanted Aperture to help you find your next favorite movie or series that you don't already own, this update is for you! Discovery Feature What It Does Discovery analyzes your watch history and ratings, then suggests movies and TV series you might love but don't have in your library yet. It pulls candidates from multiple sources and ranks them using AI scoring. Candidate Sources TMDb: Recommendations — Based on content you've watched recently Similar Titles — Based on content you've rated highly Discover — Popular/trending content meeting quality thresholds Trakt: Trending — Currently hot content Popular — All-time popular content Recommendations — Personalized Trakt picks (if user has linked Trakt account) AI Scoring Each candidate is scored with weighted factors: Similarity Score (50%) — How well it matches your taste profile Popularity Score (30%) — General audience popularity Recency Score (20%) — Bonus for newer releases Final results are ranked and cached per user. Discovery Page Navigate to Discovery from the sidebar to see your personalized suggestions: Movie/Series tabs — Switch between content types Ranked cards — Mirrors the Emby Rank Style Now! Source badges — See where each suggestion came from Match percentage — AI confidence in the recommendation Manual refresh — Regenerate suggestions on demand Detail Popper Click the info icon on any card to see: Fanart backdrop — Beautiful full-width backdrop image Full metadata — Year, runtime, rating, vote count Cast & Crew — Top 8 cast members with photos, clickable links to person pages Director/Creator — Clickable links to director pages Score breakdown — AI match and similarity scores Original title — For international content Already Requested and ability to Request!!! . Jellyseerr/Seerr Integration Request Missing Content Found something in Discovery you want? Request it directly from Aperture! Configuration Navigate to Admin → Settings → Integrations to configure: Jellyseerr URL — Your Jellyseerr instance URL API Key — Get from Jellyseerr → Settings → General Enable toggle — Turn request capability on/off User Permissions Control who can request content in Admin → Users: Discovery Enabled — User can see Discovery suggestions Request Enabled — User can submit requests to Jellyseerr If Discovery is disabled for a user, requests are automatically disabled too. Request Status Pending — Request submitted, awaiting approval Approved — Admin approved the request Declined — Admin declined the request Available — Content has been downloaded and is ready Request status is shown on Discovery cards with visual badges. Discovery Background Job generate-discovery-suggestions A new daily job generates discovery suggestions for all enabled users: Default schedule: Daily at 6:00 AM Per-user generation — Each user gets personalized results Statistics tracking — Candidates fetched, filtered, scored, stored Run history — Track when suggestions were last updated Prerequisites Check The job shows a warning if prerequisites aren't met: Jellyseerr must be configured (for request functionality) At least one user must have Discovery enabled Passwordless Login For Media Servers Without Passwords Some Emby/Jellyfin servers don't require passwords. Aperture now supports this (Thanks @TeamB!): Configuration Enable in Admin → Settings → Media Server → Security Settings or during initial setup wizard: Toggle "Allow passwordless login" Users can then log in with just their username Login Page Behavior Password field shows "(optional)" when passwordless is enabled Helper text explains the configuration Submit button enabled with just username Enhanced User Management New User Permissions Two new toggles on the Users page: Discovery () — Enable/disable Discovery suggestions Requests () — Enable/disable Jellyseerr requests User Detail Page The individual user settings page now includes: Discovery toggle with description Request toggle with description (only shown when Discovery is enabled) UI Improvements Discovery Cards Beautiful card design with: Poster image with fallback Rank badge (top-left) Source chip (top-right) Match percentage (bottom-right) Request status badge (bottom-left when applicable) Hover overlay with request button Technical Details New Database Tables discovery_runs — Track job executions per user Run statistics (fetched, filtered, scored, stored) Duration tracking Status (running, completed, failed) discovery_candidates — Cached recommendations Full metadata (title, year, poster, backdrop, genres, etc.) Cast & crew info for detail popper Score breakdown Source tracking discovery_requests — Track Jellyseerr submissions Request status Jellyseerr request/media IDs Link to discovery candidate New Migrations 0080_discovery_feature.sql — Main tables and user columns 0081_discovery_imdb_id.sql — IMDb ID for direct linking 0082_discovery_cast.sql — Cast/crew metadata columns New API Endpoints Discovery: GET /api/discovery/movies — Get movie suggestions GET /api/discovery/series — Get series suggestions POST /api/discovery/refresh/movies — Regenerate movie suggestions POST /api/discovery/refresh/series — Regenerate series suggestions GET /api/discovery/status — Get user's discovery status GET /api/discovery/prerequisites — Check if prerequisites are met Jellyseerr: GET /api/jellyseerr/config — Get configuration PUT /api/jellyseerr/config — Update configuration POST /api/jellyseerr/test — Test connection GET /api/jellyseerr/status/:mediaType/:tmdbId — Get media status POST /api/jellyseerr/status/batch — Batch status check POST /api/jellyseerr/request — Create request GET /api/jellyseerr/requests — Get user's requests Auth: GET /api/auth/login-options — Get passwordless setting Settings: GET /api/settings/media-server/security — Get security settings PATCH /api/settings/media-server/security — Update security settings New Core Modules @aperture/core/discover: pipeline.ts — Main discovery generation flow sources.ts — Fetch candidates from TMDb/Trakt filter.ts — Filter out library/watched content scorer.ts — AI scoring algorithm storage.ts — Database operations types.ts — TypeScript interfaces @aperture/core/jellyseerr: provider.ts — Jellyseerr API client types.ts — TypeScript interfaces Upgrade Instructions For All Users Update Aperture — Pull the latest version Run migrations — Automatic on startup (0080, 0081, 0082) Configure Jellyseerr — Admin → Settings → Integrations (optional but recommended) Enable Discovery — Admin → Users → Enable for desired users Run Discovery job — Or wait for daily schedule For Jellyseerr Users Get your API key from Jellyseerr → Settings → General Enter URL and API key in Aperture settings Test connection Enable request permissions for users For Passwordless Servers Go to Admin → Settings → Media Server Enable "Allow passwordless login" in Security Settings Users can now log in without passwords Enjoy discovering new content! 1
TeamB 2438 Posted January 16 Posted January 16 this is looking really good, I am testing with just movies atm. one thing I noticed was the recently played was not really correct, it is correct that I have watched these movies but years ago, I think you might be sorting based on the date you added them to your system and not the date they were watched.
TheGru 143 Posted January 16 Author Posted January 16 1 minute ago, TeamB said: this is looking really good, I am testing with just movies atm. one thing I noticed was the recently played was not really correct, it is correct that I have watched these movies but years ago, I think you might be sorting based on the date you added them to your system and not the date they were watched. I’ll take a look! Is it just in that component? Might be a mistake in the sql pulling that list
TeamB 2438 Posted January 16 Posted January 16 (edited) yeah just int he home page component from what I can see (the watched history page looks correct) also what size are the prompt recommendation requests to the LLM, I have my ollama set to 4096 context window limit (I think that is the default) is this going to be enough? Edited January 16 by TeamB
TheGru 143 Posted January 16 Author Posted January 16 (edited) 10 hours ago, ebr said: Can't you exclude the library from continue watching in the "Home Screen" settings for the user? @ebrThe API for 4.9.4.1 beta has a hidefromresume which can be set to true, but only a per-item basis, so I can't simply exclude an aperture created library, but I can do it in an end-around manner: Create STRM files Refresh/scan the library Query the library items to get their IDs Call HideFromResume for each item That being said it should work! Edited January 16 by TheGru
GoldSpacer 11 Posted January 16 Posted January 16 Would aperture be able to make multiple libraries based on mdblists? And if a movie were in 4 of those libraries, we would expect it to show up 4 times in the continue playing?
TheGru 143 Posted January 16 Author Posted January 16 1 minute ago, GoldSpacer said: Would aperture be able to make multiple libraries based on mdblists? And if a movie were in 4 of those libraries, we would expect it to show up 4 times in the continue playing? it could, but it doesn't currently. I think I have a solution to hide things from continue playing to prevent that, but it would require the latest beta emby server, and I am still testing if it works or not 1
TheGru 143 Posted January 16 Author Posted January 16 14 minutes ago, TheGru said: it could, but it doesn't currently. I think I have a solution to hide things from continue playing to prevent that, but it would require the latest beta emby server, and I am still testing if it works or not the issue would be sanity checking the MDB list against what exists in your libraries in order to build outputs, not a big deal but my fear becomes people asking "Why doesn't Movie X show up in my Emby Library? I see it on the MDB List!!! I hate you, build better software.. You suck!!" lol 1
TheGru 143 Posted January 16 Author Posted January 16 2 hours ago, TheGru said: @ebrThe API for 4.9.4.1 beta has a hidefromresume which can be set to true, but only a per-item basis, so I can't simply exclude an aperture created library, but I can do it in an end-around manner: Create STRM files Refresh/scan the library Query the library items to get their IDs Call HideFromResume for each item That being said it should work! this does not work, minute the media is played it gets added back, hidefromresume is just remove from continue watching in the UI
TeamB 2438 Posted January 16 Posted January 16 the list of similar movies does not populate with the list, the graph works but when switching to list it is empty might have something to do with this in the browser console log I dont see anything useful (i.e. a stack trace) in the aperture container logs
TheGru 143 Posted January 16 Author Posted January 16 23 minutes ago, TeamB said: the list of similar movies does not populate with the list, the graph works but when switching to list it is empty might have something to do with this in the browser console log I dont see anything useful (i.e. a stack trace) in the aperture container logs bug from changing the pgsql table vector column to support all the other providers and models. I'll get it fixed
FlameRed 2 Posted January 16 Posted January 16 15 hours ago, TheGru said: Aperture v0.4.6 Release Notes Hey everyone! This release introduces the Discovery feature (thanks to @FlameRed for the idea!)— AI-powered suggestions for content not in your library — plus full Jellyseerr/Seer integration for requesting missing content. If you've ever wanted Aperture to help you find your next favorite movie or series that you don't already own, this update is for you! Discovery Feature Sir, you are unbelievable! This is wonderful!
TheGru 143 Posted January 16 Author Posted January 16 4 minutes ago, FlameRed said: Sir, you are unbelievable! This is wonderful! Just wait until you see what's next! Per user watch history analysis weighting controls accessible in the user's profile settings. Trying to let end users train the algo on what they like beyond what the AI just infers for them! 1
ebr 16169 Posted January 16 Posted January 16 12 hours ago, TheGru said: The API for 4.9.4.1 beta has a hidefromresume which can be set to true, but only a per-item basis, Yeah, that's not gonna work. It is a user option in the home screen settings:
GoldSpacer 11 Posted January 16 Posted January 16 6 minutes ago, ebr said: Yeah, that's not gonna work. It is a user option in the home screen settings: Is it possible to split this into 'show under latest media' as one check box and 'show in continue watching' as another checkbox? 1
TheGru 143 Posted January 16 Author Posted January 16 6 minutes ago, ebr said: Yeah, that's not gonna work. It is a user option in the home screen settings: I know. What would be cool would be to show available libraries a user has access to that are used to populate this section. Simple display with toggles could work, and also expose this as a user preference via the API
TheGru 143 Posted January 16 Author Posted January 16 4 minutes ago, GoldSpacer said: Is it possible to split this into 'show under latest media' as one check box and 'show in continue watching' as another checkbox? Better solution than mine above!
classiccollect1 0 Posted January 16 Posted January 16 HI I JUST WONDERING IF YOU HAVE ANY PLANS FOR A WINDOWS VERSION OF APERTURE OR WALKTHOUGH FOR THOSE OF US LESS TECH SAVY WITH DOCKER ?. I KNOW I CAN RUN DOCKER ON WINDOWS AND DEPLOY IT FROM THERE. IM JUST NOT GOOD WITH DOCKER OR LINUX. REALLY WISH I WAS. MY TIME IS LIMITED ALSO BECAUSE OF MY BUSINESS SO ITS HARD FOR ME TO REALLY GET INTO DOCKER AND LEARN IT WELL. I HAVE IT SET UP BUT I CANT SEEM TO GET DOCKER COMPOSE SET UP. i LOVE WHAT YOU CREATED APERTURE LOOKS AMAZING! 1
Neminem 1518 Posted January 16 Posted January 16 @classiccollect1stop yelling "All caps" means you are yelling. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now