mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
5cb0ee159161a7e3c586d88ac81391a8b4ac2a9d
Split note-update and field-grouping orchestration out of AnkiIntegration so the facade remains focused on composition and shared policy wiring. This keeps mining behavior stable while creating focused workflow seams with dedicated regression coverage and clearer ownership docs.
What it does
SubMiner is an Electron overlay that sits on top of mpv. It turns your video player into a full sentence-mining workstation:
- Hover to look up — Yomitan dictionary popups directly on subtitles
- One-key mining — Creates Anki cards with sentence, audio, screenshot, and translation
- N+1 highlighting — Marks known words from your Anki deck so unknown ones jump out
- Subtitle tools — Download from Jimaku, sync with alass/ffsubsync, all in-player
- Immersion tracking — SQLite-powered stats on your watch time and mining activity
- Texthooker page built in — WebSocket streaming to external tools, no extra setup
Quick start
1. Install
Linux (AppImage):
wget https://github.com/ksyasuda/SubMiner/releases/latest/download/SubMiner-0.1.0.AppImage -O ~/.local/bin/SubMiner.AppImage
chmod +x ~/.local/bin/SubMiner.AppImage
wget https://github.com/ksyasuda/SubMiner/releases/latest/download/subminer -O ~/.local/bin/subminer
chmod +x ~/.local/bin/subminer
Note
The
subminerwrapper uses a Bun shebang. Make surebunis on yourPATH.
From source or macOS — see the installation guide.
2. Install the mpv plugin and configuration file
wget https://github.com/ksyasuda/SubMiner/releases/latest/download/subminer-assets-0.1.0.tar.gz -O /tmp/subminer-assets.tar.gz
tar -xzf /tmp/subminer-assets.tar.gz -C /tmp
cp /tmp/plugin/subminer.lua ~/.config/mpv/scripts/
cp /tmp/plugin/subminer.conf ~/.config/mpv/script-opts/
mkdir -p ~/.config/SubMiner && cp /tmp/config.example.jsonc ~/.config/SubMiner/config.jsonc
3. Set up Yomitan Dictionaries
subminer app --start --yomitan
4. Mine
subminer app --start --background
subminer video.mkv
Requirements
| Required | Optional |
|---|---|
mpv with IPC socket |
yt-dlp |
mecab + mecab-ipadic |
fzf / rofi |
Linux: hyprctl or xdotool + xwininfo |
chafa, ffmpegthumbnailer |
| macOS: Accessibility permission |
Documentation
For full guides on configuration, Anki, Jellyfin, and more, see docs.subminer.moe.
Acknowledgments
Built on the shoulders of GameSentenceMiner, mpvacious, Anacreon-Script, and autosubsync-mpv. Subtitles powered by Jimaku.cc. Dictionary lookups via Yomitan.
License
Languages
TypeScript
94.8%
Lua
2.2%
Shell
1.2%
CSS
0.9%
HTML
0.4%
Other
0.5%

