2021-02-08 13:18:43 -09:00
This folder abstracts metadata lookup into "agents". Each agent can be implemented to get as
much info as the external source provides, by using a granular set of interfaces
2022-12-06 16:09:03 -09:00
(see [interfaces ](interfaces.go )).
2021-02-08 13:18:43 -09:00
A new agent must comply with these simple implementation rules:
1) Implement the `AgentName()` method. It just returns the name of the agent for logging purposes.
2) Implement one or more of the `*Retriever()` interfaces. That's where the agent's logic resides.
3) Register itself (in its `init()` function).
remove built-in Spotify integration (#5197)
* refactor: remove built-in Spotify integration
Remove the Spotify adapter and all related configuration, replacing
the built-in integration with the plugin system. This deletes the
adapters/spotify package, removes Spotify config options (ID/Secret),
updates the default agents list from "deezer,lastfm,spotify" to
"deezer,lastfm", and cleans up all references across configuration,
metrics, logging, artwork caching, and documentation. Users with
Spotify config options will now see a warning that the options are
no longer available.
* feat: add ListenBrainz to list of default agents
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2026-03-15 09:18:54 -08:00
For an agent to be used it needs to be listed in the `Agents` config option (default is `"deezer,lastfm"` ). The order dictates the priority of the agents
2021-02-08 13:18:43 -09:00
2022-12-30 19:52:53 -09:00
For a simple Agent example, look at the [local_agent ](local_agent.go ) agent source code.