Skip to content
dsh.fish
Bundle

dsh-song-download

DeepSeek Harness 歌曲下载插件:搜索(B站/YouTube)+ 下载(MP3 320k 酷狗兼容 / 原始音质)+ LRC 歌词(站点字幕 + 网易云双通道)。

Source
Raywh
License
MIT
Updated
Updated 6 days ago

Readme

# dsh-song-download

DeepSeek Harness 歌曲下载插件:搜索 + 下载 + LRC 歌词,开箱即用(MP3 320k,酷狗等播放器通用)。

## 功能

| 工具 | 说明 |
|---|---|
| `song_search` | 搜索歌曲:B站 `bilisearch` 优先,YouTube `ytsearch` 兜底;返回标题/时长/上传者/链接 |
| `song_download` | 下载音频到工作区 `downloads/`:默认 MP3 320k(酷狗/QQ音乐通用),可选原始音质;自动附带 LRC 歌词 |

### 下载流程

```
用户说「下载 周杰伦 晴天」→ song_download
  → 自动搜索 B站首个结果(bilisearch1:)
  → B站 412 反爬时自动切 YouTube(ytsearch1:)
  → yt-dlp 下载最佳音频(bestaudio)
  → ffmpeg 转 MP3 320k + ID3 标签(酷狗兼容)
  → 站点字幕转 LRC;没有字幕 → 网易云 API 补抓歌词
  → 输出「周杰伦 - 晴天.mp3」+「周杰伦 - 晴天.lrc」
```

### 容错设计

- **B站 412 反爬**:浏览器 UA/Referer + 失败自动切换 YouTube 源
- **DASH 流合并**:自动发现 ffmpeg(PATH 或 `imageio-ffmpeg` 内嵌二进制)
- **歌词双通道**:站点字幕转 LRC,缺失时网易云 API 兜底
- **统一命名**:query 模式自动「歌手 - 歌名」,并写入 ID3 标签(title/artist/album)

## 依赖

- Python 3 + yt-dlp:`pip install yt-dlp`
- ffmpeg(mp3 转码用):`pip install imageio-ffmpeg` 可提供内嵌二进制,无需加入 PATH

## 安装

```bash
# 本地目录 / npm / GitHub 均可
dsh plugin --profile main add dsh-song-download
dsh plugin --profile main add github:Raywh/dsh-song-download
```

安装后重启 dsh web 生效,对所有会话可用。

## 用法

- 「下载周杰伦的晴天」
- 「搜一下 Beyond 海阔天空」
- 「把这几个链接的音频下载到 downloads」(传 URL 批量)

## 开发

见 [docs/architecture.md](docs/architecture.md)。

## 版权

请仅下载你有权使用的资源,遵守各平台条款。

Install

dsh plugin --profile web add github:Raywh/dsh-song-download

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source