[分享创造] [开源自荐] 下蛋 XiaDown:用 Wails 3 做的一款视频/音频下载 + 在线音乐桌面工具

大家好,我是 XiaDown (下蛋)的作者。

之前在 V2EX 看到过 tiny-rdm ,印象挺深。自己平时也写 Go ,一直想找个机会做一款基于 Wails 的桌面工具。后来 Wails 3 慢慢可用了,就用它做了这个项目:下蛋 / XiaDown

它的定位比较简单:把视频/音频下载、在线音乐播放和本地资源整理放在一个桌面应用里

项目地址:

  • GitHub:https://github.com/arnoldhao/xiadown
  • 官网:https://xiadown.dreamapp.cc/

做这个的原因

一开始主要是自己的需求。

找素材、做内容、写代码的时候,经常会遇到两个比较碎的场景:

  1. 看到一个视频或音频素材,想先下载下来,最好字幕、封面、元信息也能一起保留。
  2. 工作时会放 Lo-Fi 或在线音乐,但不太想在下载工具、浏览器、播放器之间来回切。

所以就做了 XiaDown 。它不是想替代专业剪辑软件,也不是想做成复杂的媒体中心,更像是一个每天可以开在后台的桌面媒体工具。

现在能做什么

主要功能:

  • 基于 yt-dlp 下载视频和音频,支持保存字幕、封面等素材。
  • 下载完成后可以继续转码,并在本地资源库里管理。
  • 可以播放 YouTube Lo-Fi 电台和 YouTube Music 。
  • 支持搜索歌曲、艺人、歌单,播放队列、歌词、封面等基础能力。
  • 喜欢的在线曲目可以继续保存到本地。
  • 支持主题、强调色、侧边栏样式、精灵等个性化外观。
  • 依赖和更新会在应用内维护,尽量减少首次配置成本。

支持平台:

  • macOS Apple Silicon / Intel
  • Windows x64 安装版 / 便携版

技术栈

主要是:

  • Go
  • Wails 3
  • React
  • SQLite
  • yt-dlp
  • FFmpeg

前端是 Vite + React ,桌面壳用 Wails 3 ,后端主要负责下载、转码、资源库、依赖维护、浏览器连接和系统能力。

这次做下来,Wails 3 给我的感觉是很适合 Go 开发者做这种“有本地能力、又需要现代前端界面”的桌面应用。虽然还在 alpha ,但整体开发体验已经能支撑一个完整工具了。

适合谁

我觉得比较适合:

  • 经常整理视频/音频素材的人
  • 剪辑、内容创作、课程资料归档
  • 工作时喜欢放 Lo-Fi 或在线音乐的人
  • 想要一个本地资源库来沉淀下载内容的人

如果只是偶尔下载一个链接,命令行 yt-dlp 本身已经很好用; XiaDown 更偏向“长期作为一个桌面工具使用”。