Documentation Index
Fetch the complete documentation index at: https://anniemei.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The/search command lets you find anime or manga using a natural-language description. Instead of knowing the exact title, describe what you’re looking for and the bot will try to match it.
/search uses an LLM (large language model) to interpret your query. If the LLM service is unavailable, the bot falls back to a raw text search.Command syntax
Parameters
A natural-language description of the anime or manga you’re looking for. Examples: “the one with the kid who wants to be king of the pirates”, “isekai with a female lead who uses books as weapons”
Usage examples
- Natural language
- With media type hint
How it works
Parse your query
The bot sends your description to the LLM, which extracts a structured search intent: media type (anime, manga, or unknown) and a normalized search term. If the LLM is unavailable, the bot uses your raw query as a fallback.
Search AniList
The bot searches AniList using the parsed term. If the media type is “unknown”, it tries anime first, then manga, until it finds a match.
Response data
The bot returns a rich media embed for the anime or manga it finds, plus an interpretation message telling you what it searched for.Interpretation
A short message like “I think you’re thinking of the anime
One Piece.” or “I think you’re thinking of Dandadan.”Anime or manga embed
Same core media fields as
/anime or /manga — title, metadata, genres, description, and links. /search does not include Discord server member status overlays.Search tips
Media type hints
Media type hints
Include media type keywords to guide the search:
If no hint is found, the bot tries anime first and then manga.
| Keyword | Interpreted as |
|---|---|
| ”anime”, “movie”, “ova”, “tv show”, “series” | Anime |
| ”manga”, “manhwa”, “manhua”, “novel”, “comic” | Manga |
| Neither | Searches both |
LLM fallback
LLM fallback
If the LLM service is unavailable or returns an invalid result, the bot falls back to media-type hints from your query and searches AniList with the normalized query text. If it finds a result, the response still includes an interpretation line.
Input validation
The bot validates your search input before processing:- Empty queries are rejected
- Queries that exceed the maximum length are rejected
Privacy
Search queries are processed by the LLM provider configured for the bot. Your query may be sent to that provider for intent parsing. If PostHog LLM analytics is enabled, prompts and outputs may be captured depending onPOSTHOG_CAPTURE_LLM_CONTENT. User IDs are hashed before being sent to observability tools.
Source code reference
Implementation:src/commands/search/command.rs:50
The register() function defines the command structure:
