A Modern, Interactive CLI for Discovering, Streaming, and Managing Anime Directly from the Terminal
Built by Aditya K.
Features β’ Installation β’ Usage β’ Setup Guide β’ Troubleshooting β’ License
Anichi brings a premium anime streaming experience to your terminal with a focus on speed and aesthetics, powered by the ShivraAPI:
- π‘ Powered by ShivraAPI: High-performance API integration (
https://shivraapi.my.id/otd) providing fast, reliable, and up-to-date anime data including schedules, genres, and streaming links. - π¨ Premium Modern UI: Gradient banners, elegant tables, ASCII art, and vibrant color themes powered by
chalk,boxen,figlet, andgradient-string. - π Comprehensive Browsing:
- Ongoing Anime: Track currently airing series with release days and latest episodes.
- Completed Anime: Explore finished series with ratings and scores.
- Popular Anime: Discover trending and high-rated titles.
- Search by Genre: Filter anime by categories (Action, Adventure, Comedy, etc.).
- Anime Schedule: View broadcast schedule organized by day of the week.
- Smart Search: Instantly search anime by title with detailed metadata.
- πΊ Optimized Streaming:
- Play episodes directly using MPV.
- Browser Fallback: Automatic fallback to browser if MPV is unavailable.
- β¬οΈ Download Support:
- Single Episode: Download with multiple resolution and provider options.
- Batch Downloads: Download entire series with format/quality selection.
- βοΈ Configuration & History:
- Config Management: Customize player paths and arguments easily.
- Watch History: Automatically tracks your recently watched episodes.
- β‘ Performance: Built-in intelligent caching with rate-limiting protection to ensure smooth API interactions.
Anichi is built with modern, efficient libraries:
- Language: TypeScript 5.x
- Runtime: Node.js 18+
- Data Source: ShivraAPI - Open Anime Data API
- CLI Framework: Commander.js
- HTTP Client: Axios (with Node-Cache)
- UI/Styling:
chalk,cli-table3,boxen,gradient-string,figlet - Process Management:
ora(spinners),open(cross-platform opener) - Video Player: Optimized for MPV with
yt-dlpintegration
Before installing Anichi, ensure you have the following:
- Node.js version
18.0.0or higher. - MPV Player (Recommended for the best experience).
- yt-dlp (Required for MPV to stream video links).
π‘ Note: Without
yt-dlp, MPV cannot open most streaming links, and Anichi will automatically fallback to your web browser.
npm install -g anichiyarn global add anichianichi --version
# Output: 2.9.1
anichi --help
# Shows available commandsStart the application:
anichi home or an homeThis launches the interactive dashboard. Navigate using your keyboard arrow keys (β/β) and press Enter to select.
Skip the menu and play a specific episode immediately:
anichi play <slug> <episode>Example:
anichi play one-piece 1070# View current config
anichi config show
# Set custom MPV path
anichi config set playerPath "C:\mpv\mpv.exe"
# Set MPV arguments (e.g., force fullscreen)
anichi config set playerArgs "--fullscreen"Clear cached data to force fresh API fetches:
anichi cache clearBrowse anime currently airing. Shows release day, latest episode, and air date.
- Nav:
n(Next),p(Prev),[number](Select Anime).
Browse finished series sorted by completion date and rating.
Discover top-rated and trending anime.
Find anime by title.
- Input: Type anime name (e.g., "Naruto").
Filter anime by specific categories (Action, Isekai, Slice of Life, etc.).
View the weekly broadcast schedule organized by day (Senin - Minggu).
View and resume your recently watched episodes.
Built-in help guide for installation and troubleshooting.
For the best experience, using MPV is highly recommended.
-
Install Chocolatey (Run PowerShell as Admin):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
-
Install Tools:
choco install mpv yt-dlp -y
# Install Homebrew if needed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install MPV and yt-dlp
brew install mpv yt-dlpsudo apt update
sudo apt install mpv yt-dlp -y- Solution: Ensure MPV is installed and added to your system PATH. If installed in a custom location, set it manually:
anichi config set playerPath "C:\Path\To\Your\mpv.exe"
- Cause: You likely do not have yt-dlp installed.
- Solution: MPV requires
yt-dlpto extract direct video streams from hosting sites. Install it using commands in the Setup Guide above. Ifyt-dlpis missing, Anichi will automatically fallback to opening the video in your browser.
- Cause: The API has rate limits to prevent abuse.
- Solution: Anichi has built-in delays and caching. Avoid rapidly switching pages (mashing Next/Prev) to allow the cooldown to reset.
- Solution: Clear the cache to fetch fresh data:
anichi cache clear
anichi/
βββ src/
| βββ ui
| | βββ interactive.ts # Terminal UI Interactive
β βββ index.ts # Main logic, commands, and CLI flow
β βββ api.ts # HTTP client (Axios) and caching logic
β βββ ui.ts # Terminal UI, tables, and colors
β βββ player.ts # MPV detection and spawning logic
β βββ config.ts # Configuration file handling
β βββ types.ts # TypeScript interfaces
β βββ history.ts # Watch history management
βββ bin/
β βββ anichi # Entry point
βββ package.json
βββ tsconfig.json
βββ README.md
This project is licensed under the MIT License - see the LICENSE file for details.
We would like to thank the following contributors who have helped improve this project:
- Created By: Aditya K.
- Email: adityarabbyoka3@gmail.com
- Data API: ShivraAPI by ShDitz
- Special Thanks: Open Source Community