feat: fetch and backfill cover art

This commit is contained in:
2026-07-21 14:23:07 +08:00
parent f4f4ab092f
commit b21a5d0ed1
21 changed files with 1156 additions and 46 deletions
+15 -2
View File
@@ -120,14 +120,20 @@ docker compose exec mangtool wget -q -O- http://localhost:8080/api/health/depend
- 取消:`POST /api/ingest/cancel`,只停止后续文件处理,已入库文件保留,未处理文件留在 `Input/`
- 重启恢复:任务状态持久化于 `工作根目录/.mangtool/ingest-tasks.json`;容器重启后仍在运行的任务标记为 `interrupted`,重新导入只处理未完成文件(已完成文件已移出 `Input/`,不会重复搬运)。
### Library 健康检查(只读)
### Library 健康检查(只读,修复需确认
```bash
# 只读扫描(不修改任何文件)
docker compose exec mangtool wget -q -O- --post-data='' http://localhost:8080/api/library/health/scan
```
修复动作(歌词回填、删除孤立侧车等)必须在请求体显式 `confirm=true` 才会执行,否则仅演练。
修复动作(歌词回填、封面回填、删除孤立侧车等)必须在请求体显式 `confirm=true` 才会执行,否则仅演练。
**修复示例(含封面回填)**
```bash
# 默认配置下不修改磁盘。加上 confirm=true 与 backfillCovers=true 即可安全回填封面与修复曲库
docker compose exec mangtool wget -q -O- --header="Content-Type: application/json" --post-data='{"confirm":true,"backfillCovers":true}' http://localhost:8080/api/library/health/repair
```
### 备份与恢复
@@ -173,3 +179,10 @@ docker compose build --progress=plain
# 查看运行日志
docker compose logs -f mangtool
```
## Cover Art Settings
- `MANGTOOL_COVER_ENABLED` (default: false) - Enable Cover Art Fetch
- `MANGTOOL_MB_BASE_URL` (default: https://musicbrainz.org/ws/2)
- `MANGTOOL_CAA_BASE_URL` (default: https://coverartarchive.org)
- `MANGTOOL_MB_USER_AGENT` (default: MangTool/1.0 (https://gitea.mangmang.fun/LiuMangMang/MyTool)) - User-Agent for MusicBrainz API requests
+4
View File
@@ -13,6 +13,10 @@ services:
volumes:
- ${MANGTOOL_DATA_DIR:-./data}:/home/mangtool/MusicWork
environment:
- MANGTOOL_COVER_ENABLED=${MANGTOOL_COVER_ENABLED:-false}
- MANGTOOL_MB_BASE_URL=${MANGTOOL_MB_BASE_URL:-https://musicbrainz.org/ws/2}
- MANGTOOL_CAA_BASE_URL=${MANGTOOL_CAA_BASE_URL:-https://coverartarchive.org}
- MANGTOOL_MB_USER_AGENT=${MANGTOOL_MB_USER_AGENT:-MangTool/1.0 (https://gitea.mangmang.fun/LiuMangMang/MyTool)}
- MANGTOOL_HOME=/home/mangtool
- MANGTOOL_LYRICS_ENABLED=${MANGTOOL_LYRICS_ENABLED:-false}
- MANGTOOL_LYRICS_BASE_URL=${MANGTOOL_LYRICS_BASE_URL:-http://lrcapi:1111}