🎬 DEWA (Download Everything With AI) 是一个专注于视频下载和任务管理的简单MCP服务器。
- 🤖 MCP标准兼容 - 支持Claude Code和其他MCP客户端
- 🔗 直接URL下载 - 支持YouTube、Bilibili等主流平台
- 🤖 零配置依赖 - 自动检测和安装yt-dlp
- 📁 智能文件管理 - 自动分类和命名
- ⚡ 断点续传 - 网络中断后可恢复下载
- 🧹 自动清理 - 下载完成后清理碎片文件
- 📋 任务管理 - 查看下载历史和状态
git clone https://github.com/4ier/dewa.git
cd dewanpm install# 只需要配置下载路径
export DOWNLOAD_PATH=/your/download/pathnpm start将以下配置添加到你的MCP设置文件中:
{
"mcpServers": {
"dewa": {
"command": "node",
"args": ["/path/to/dewa/src/index.js"],
"env": {
"DOWNLOAD_PATH": "/your/download/path"
}
}
}
}视频下载工具,接收具体的视频URL进行下载。
参数:
url(string, 必需): 视频URLquality(string, 可选): 视频质量 ("best", "worst", "720p", "1080p")custom_directory(string, 可选): 自定义下载目录custom_filename(string, 可选): 自定义文件名
示例:
// URL下载
await downloadVideo({
url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
quality: "1080p"
});列出下载历史和当前状态。
dewa/
├── src/
│ ├── index.js # MCP服务器入口
│ ├── tools/ # MCP工具实现
│ │ ├── download-video.js
│ │ └── list-downloads.js
│ ├── core/ # 核心下载引擎
│ │ ├── downloader.js # 下载核心
│ │ ├── platforms.js # 平台适配器
│ │ ├── download-manager.js
│ │ ├── file-manager.js # 文件管理
│ │ └── video-info.js
│ └── utils/ # 工具函数
│ ├── logger.js
│ ├── config.js
│ ├── formatters.js
│ └── validators.js
├── test/ # 测试文件
├── docs/ # 文档
├── package.json
└── README.md
只需要配置下载路径,其他都会自动处理:
# 必需配置
DOWNLOAD_PATH=/your/download/path
# 可选配置
LOG_LEVEL=info # 日志级别,默认INFO
DEFAULT_QUALITY=best # 默认视频质量
AUTO_CLEANUP=true # 自动清理临时文件,默认true
# 高级配置(通常不需要修改)
# YT_DLP_PATH=/custom/path # 自定义yt-dlp路径,系统会自动检测
# MAX_RETRIES=10 # 重试次数
# CONCURRENT_FRAGMENTS=4 # 并发下载片段数DEWA采用了清晰的职责分离设计:
- AI负责搜索:Claude等AI负责理解用户需求,搜索视频,找到具体的URL
- DEWA负责下载:接收具体的视频URL,专注于下载和任务管理
用户: 下载周杰伦的稻香MV
AI: 我先为你搜索周杰伦的《稻香》MV...
[AI进行web搜索,找到视频URL]
找到了视频:https://www.youtube.com/watch?v=xxx
现在开始下载...
[调用 download_video 工具]
- url: "https://www.youtube.com/watch?v=xxx"
- quality: "best"
下载已开始,文件将保存到: /mnt/share/movie/周杰伦 - 稻香.mp4
用户: https://www.youtube.com/watch?v=dQw4w9WgXcQ
AI: 检测到YouTube链接,开始下载...
[调用 download_video 工具]
- url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
视频信息:
- 标题: Rick Astley - Never Gonna Give You Up
- 时长: 3:33
- 大小: 12.5MB
- 保存路径: /mnt/share/movie/Rick Astley - Never Gonna Give You Up.mp4
- ✅ MCP服务器框架
- ✅ 核心下载引擎
- ✅ 基础工具定义(download_video, list_downloads)
- ✅ 简化架构设计(移除搜索功能)
- ✅ 零配置依赖管理(yt-dlp自动安装)
- ✅ 跨平台支持(Linux, macOS, Windows)
- ✅ 文档完善
- 🚀 v1.0.0 Ready for Production
欢迎贡献代码、报告问题或提出改进建议!
- Fork 项目
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 开启 Pull Request
本项目基于 MIT 许可证开源 - 查看 LICENSE 文件了解详情。