{"id":15059934,"url":"https://github.com/richasy/rodel.downloader","last_synced_at":"2025-04-10T05:42:51.936Z","repository":{"id":236171289,"uuid":"789572142","full_name":"Richasy/Rodel.Downloader","owner":"Richasy","description":"用于 Hugging Face, Model Scope 和 Civitai 等网站的 AI 模型下载","archived":false,"fork":false,"pushed_at":"2024-05-10T02:01:28.000Z","size":14937,"stargazers_count":64,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T06:54:41.302Z","etag":null,"topics":["ai","downloader","model","winappsdk","winui3"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Richasy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-20T23:40:23.000Z","updated_at":"2025-03-21T18:52:43.000Z","dependencies_parsed_at":"2025-02-16T17:49:45.105Z","dependency_job_id":null,"html_url":"https://github.com/Richasy/Rodel.Downloader","commit_stats":null,"previous_names":["richasy/rodel.downloader","richasy/aidownloader"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richasy%2FRodel.Downloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richasy%2FRodel.Downloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richasy%2FRodel.Downloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richasy%2FRodel.Downloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Richasy","download_url":"https://codeload.github.com/Richasy/Rodel.Downloader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166613,"owners_count":21058478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","downloader","model","winappsdk","winui3"],"created_at":"2024-09-24T22:50:09.284Z","updated_at":"2025-04-10T05:42:51.908Z","avatar_url":"https://github.com/Richasy.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg height=\"160\" src=\"./assets/logo.png\"\u003e\n\n\u003ch1 align=\"center\"\u003eRodel Downloader\u003c/h1\u003e\n\nA dedicated downloader for downloading AI model files, which can stably and reliably download your favorite models from [Hugging Face](https://huggingface.co), [Model Scope](https://www.modelscope.cn) and [Civitai](https://civitai.com). It supports both command line and UI, and is currently only available on Windows.\n\nEnglish · [简体中文](./README.zh-CN.md)\n\n\u003c!-- SHIELD GROUP --\u003e\n\n[![][github-release-shield]][github-release-link]\n[![][github-releasedate-shield]][github-releasedate-link]\n[![][github-contributors-shield]][github-contributors-link]\n[![][github-forks-shield]][github-forks-link]\n[![][github-stars-shield]][github-stars-link]\n[![][github-issues-shield]][github-issues-link]\n[![][github-license-shield]][github-license-link]\n\n\u003c/div\u003e\n\n\u003e \\[!WARNING]\n\u003e\n\u003e The application is developed based on .NET 8, it is not a cross-platform application, and is currently only available on **Windows**. For users below Windows 10 19041, please use the command line instead of the UI.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eTable of contents\u003c/kbd\u003e\u003c/summary\u003e\n\n#### TOC\n\n- [✨ Feature Overview](#-feature-overview)\n  - [`1` CLI \\\u0026 APP](#1-cli--app)\n  - [`2` Built-in Aria2](#2-built-in-aria2)\n- [🎛️ Environment Support](#️-environment-support)\n- [🛠️ CLI Instruction Manual](#️-cli-instruction-manual)\n    - [`1` Install](#1-install)\n    - [`2` Interactive Commands](#2-interactive-commands)\n      - [Screenshots of the interactive interface](#screenshots-of-the-interactive-interface)\n    - [`3` Standard Commands](#3-standard-commands)\n      - [Example](#example)\n    - [`4` Configuration and Saving](#4-configuration-and-saving)\n      - [Overview of Access Token Acquisition](#overview-of-access-token-acquisition)\n    - [`5` Resume from Breakpoint](#5-resume-from-breakpoint)\n- [🪄 Application Manual](#-application-manual)\n    - [`1` Download and Installation](#1-download-and-installation)\n    - [`2` Configuration](#2-configuration)\n    - [`3` Download Model](#3-download-model)\n- [🔗 Links](#-links)\n\n####\n\n\u003c/details\u003e\n\n## ✨ Feature Overview\n\n### `1` CLI \u0026 APP\n\nThe application, with aria2 at its core, offers two modes of use:\n\n- Command line\n- UI\n\nThis caters to the needs of different users.\n\nBoth the command line and UI have simple localization support (supporting `en-US` and `zh-CN`), and can switch automatically according to the current system language.\n\n\u003e \\[!TIP]\n\u003e\n\u003e The UI is based on the Windows App SDK, which requires your system version to be Windows 10 19041 and above. It is highly recommended to download and install from the Microsoft Store.\n\n\u003cp align=\"left\"\u003e\n  \u003ca title=\"Get it from Microsoft Store\" href=\"https://www.microsoft.com/store/apps/9PJDBLQ239JB?launch=true\u0026mode=full\" target=\"_blank\"\u003e\n    \u003cpicture\u003e\n      \u003csource srcset=\"https://get.microsoft.com/images/en-US%20light.svg\" media=\"(prefers-color-scheme: dark)\" /\u003e\n      \u003csource srcset=\"https://get.microsoft.com/images/en-US%20dark.svg\" media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\" /\u003e\n      \u003cimg src=\"https://get.microsoft.com/images/en-US%20dark.svg\" width=144 /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### `2` Built-in Aria2\n\nI have to say, the sole motivation for building this tool was that I couldn't find a convenient, reliable download tool to download entire repositories from hugging face. Either there's no progress indication, or the robustness is too poor.\n\nMy technical skills aren't great, but [aria2](https://github.com/aria2/aria2) has left a good impression on me in the past, so I chose to build a simple download tool based on it.\n\nThe download has the following features:\n\n1. Customizable download directory\n2. Support for resuming downloads\n3. Complete progress display\n4. Ability to operate on individual items, pause/resume/cancel **(App only)**\n\nBoth CLI and APP come with a built-in `1.3.7` **aria2c.exe**, no additional download required, trying to be as plug and play as possible.\n\n## 🎛️ Environment Support\n\n|||\n|-|-|\n|Framework|.NET 8|\n|UI Framework|Windows App SDK 1.5|\n|System Requirements|`CLI`: Windows 7 and above, `APP`: Windows 10 19041 and above|\n\n## 🛠️ CLI Instruction Manual\n\n#### `1` Install\n\n\u003e \\[!WARNING]\n\u003e\n\u003e CLI relies on .NET 8 framework, please make sure that `.NET 8 Desktop Runtime` or `SDK` is installed on your device.\n\u003e You can download `.NET SDK` or `.NET Desktop Runtime` at [Download .NET 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0).\n\n1. Open PowerShell\n2. Enter the command\n   ```powershell\n   dotnet tool install --global RodelDownloader.CLI\n   ```\n3. After the installation is complete, enter the command `rodel-downloader` to enter the interactive command interface\n4. You can also enter the command `rodel-downloader --help` to view detailed parameter definitions\n\n#### `2` Interactive Commands\n\nThe CLI defaults to an interactive mode to guide you through the download process.\n\nAfter installation, you can simply enter `rodel-downloader` to access the interactive interface.\n\nThe basic download steps are as follows:\n\n1. Choose the model hosting service. Currently, `Hugging Face / HF-Mirror`, `Civitai`, and `Model Scope` are supported.\n2. Enter the model ID you want to download. This model ID is usually provided by the hosting service.\n3. The CLI will search for the repository and download file list corresponding to the model ID. Once found, it will be listed and you can freely choose which files to download.\n4. Start downloading. The CLI will provide progress tips. You can wait for the download to complete or press `Ctrl` + `C` at any time to interrupt the download.\n\n##### Screenshots of the interactive interface\n\n*The following image uses the `LLM-Research/Phi-3-mini-128k-instruct` model from the Model Scope community as an example*\n\n![Before download](./assets/cli-en-beforedownload.png)\n\n![Download progress](./assets/cli-en-downloading.png)\n\n#### `3` Standard Commands\n\nThe CLI also accepts another mode of operation, which is the regular parameter call.\n\nWhen you need to use parameter calls, you must first disable the interactive mode, which is `-n` or `--no-interaction`.\n\nAfter that, you need to provide the specified parameters.\n\n```\n  --ignore-config         (Default: false) Ignore the local configuration and use the default process for interaction.\n\n  --clean-up              (Default: false) Kill all aria2c processes before starting the download.\n\n  --edit-config           (Default: false) Edit the configuration file.\n\n  -n, --no-interaction    (Default: false) Disable interaction and use the command-line parameters.\n\n  -m, --model-id          The model ID to download.\n\n  -s, --service           (Default: hf) The service to download the model from. Support hf | civitai | ms\n\n  --use-hf-mirror         (Default: false) Use the hf-mirror (https://hf-mirror.com/) for downloading. Only available\n                          when service is hf.\n\n  -t, --token             (Default: ) The token to use for authentication.\n\n  -d, --save-dir          (Default: ) The directory to save the model to.\n\n  -i, --include           (Default: ) The files to include in the download.\n\n  -e, --exclude           (Default: ) The files to exclude in the download.\n\n  --help                  Display this help screen.\n\n  --version               Display version information.\n```\n\n##### Example\n\nDownload the `microsoft/Phi-3-mini-4k-instruct` model from Hugging Face:\n\n```powershell\nrodel-downloader -n -m \"microsoft/Phi-3-mini-4k-instruct\" -s hf --token \"hf-xxxxxxxx\" -d \"C:\\Models\"\n```\n\n#### `4` Configuration and Saving\n\nRepeated input can be quite troublesome. The CLI supports using a configuration file to fix optional parameters, simplifying input each time it is called.\n\nEnter the following command in the command line:\n\n```powershell\nrodel-downloader --edit-config\n```\n\nThe application will call the default editor to open the configuration file `config.json` (if it does not exist, create a new one), the specific parameters are as follows:\n\n```json\n{\n  \"hf_token\": \"\",\n  \"hf_save_folder\": \"\",\n  \"hf_backup_folders\": {\n    \"folder1\": \"path1\",\n    \"folder2\": \"path2\"\n  },\n  \"hf_uri_type\": \"{official} or {mirror}\",\n\n  \"civitai_token\": \"\",\n  \"civitai_save_folder\": \"\",\n  \"civitai_backup_folders\": {\n    \"folder1\": \"path1\",\n    \"folder2\": \"path2\"\n  },\n\n  \"ms_token\": \"\",\n  \"ms_save_folder\": \"\",\n  \"ms_backup_folders\": {\n    \"folder1\": \"path1\",\n    \"folder2\": \"path2\"\n  }\n}\n```\n\n1. `*_token`\n   This is the access token for the corresponding service. Here, `hf` stands for Hugging Face, and `ms` stands for Model Scope.\n2. `*_save_folder` and `*_backup_folders`\n   These are a pair of mutually exclusive properties, and the application prefers to use `*_save_folder`.\n   - If the model you download will only be saved in a specific folder, fill in `*_save_folder`, and the CLI will download the model of the corresponding service to this folder.\n   - If you have multiple optional locations, such as downloading the models required for SD-WebUI (check point, lora...), you can fill in the corresponding paths into `*_backup_folders`, where `key` is the readable name of the folder path, and `value` is its absolute path. When running the CLI, you can choose from the defined folder list.\n   \n   \u003e \\[!WARNING]\n   \u003e\n   \u003e The \"save folder\" means the parent folder for storing the model. For `Hugging Face` and `Model Scope`, the application will create a subfolder with the same name as the model in this folder as the directory for storing model files.\n   \u003e\n   \u003e For example, if you specify `C:\\MyFolder` as the save folder, then after you download the Llama 3 8B model, the actual model file folder path is `C:\\MyFolder\\Meta-Llama-3-8B`.\n   \u003e\n   \u003e **But for `Civitai`, since it is usually a single file download, the application will not create a same-name subfolder, but directly download the model file to the specified storage directory.**\n\n##### Overview of Access Token Acquisition\n\n|||\n|-|-|\n|Hugging Face| [User Access Tokens](https://huggingface.co/docs/hub/security-tokens) |\n|Civitai | [Civitai's Guide to Downloading via API](https://education.civitai.com/civitais-guide-to-downloading-via-api/) |\n|Model Scope|[Access Token](https://www.modelscope.cn/my/myaccesstoken), `Model Scope Personal Center -\u003e Access Token`|\n\n#### `5` Resume from Breakpoint\n\nThe application is based on aria2, so it has the ability to resume from breakpoints. The management and recovery of download progress is controlled by aria2.\n\nIf for some reason, you interrupt the download.\n\nRecovery is also simple, just enter the same parameters as the last call.\n\nMake sure your `model ID`, `save path`, and `hosting service` are the same as before.\n\n\u003e \\[!TIP]\n\u003e\n\u003e The basis for resuming from a breakpoint is that you still have the files from the last download, and the binary files with the suffix `.aria2` in the same directory, which save your download progress.\n\u003e \n\u003e If the corresponding files are deleted, you need to download again.\n\n## 🪄 Application Manual\n\n#### `1` Download and Installation\n\nYou can directly download and install it from the Microsoft Store, and it can be automatically updated afterwards.\n\n\u003cp align=\"left\"\u003e\n  \u003ca title=\"Get it from Microsoft Store\" href=\"https://www.microsoft.com/store/apps/9PJDBLQ239JB?launch=true\u0026mode=full\" target=\"_blank\"\u003e\n    \u003cpicture\u003e\n      \u003csource srcset=\"https://get.microsoft.com/images/en-US%20light.svg\" media=\"(prefers-color-scheme: dark)\" /\u003e\n      \u003csource srcset=\"https://get.microsoft.com/images/en-US%20dark.svg\" media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\" /\u003e\n      \u003cimg src=\"https://get.microsoft.com/images/en-US%20dark.svg\" width=144 /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n#### `2` Configuration\n\nThe first time you start the application, the application will guide you to do some configurations, including filling in the tokens of services such as `Hugging Face`, `Civitai`, `Model Scope` and the corresponding service save folders, etc.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eScreenshot\u003c/kbd\u003e\u003c/summary\u003e\n\n![](./assets/ui-en-hfconfig.png)\n\n\u003c/details\u003e\n\n\u003e \\[!TIP]\n\u003e\n\u003e If you don't need the corresponding service, just click `Next` to skip the configuration.\n\nIf you have previously used CLI and set up your own [configuration file](#4-configuration-and-saving), then you can directly import the configuration at this step.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eScreenshot\u003c/kbd\u003e\u003c/summary\u003e\n\n![](./assets/ui-en-config.png)\n\n\u003c/details\u003e\n\nAll initial configurations can be changed later on the application settings page.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eScreenshot\u003c/kbd\u003e\u003c/summary\u003e\n\n![](./assets/ui-en-settings.png)\n\n\u003c/details\u003e\n\n#### `3` Download Model\n\nAfter opening the application, you can switch different model hosting services in the navigation bar on the top right.\n\nClick the `Download Model` button to pop up the download dialog box of the corresponding service.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eScreenshot\u003c/kbd\u003e\u003c/summary\u003e\n\n![](./assets/ui-en-download.png)\n\n\u003c/details\u003e\n\nFollow the prompts to enter the model's Id and select the save folder. You can also click `Select Others` to temporarily select a folder for storage.\n\nAfterwards, you can view the file list of the corresponding repository, select the files you need to download, and click download.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eScreenshot\u003c/kbd\u003e\u003c/summary\u003e\n\n![](./assets/ui-en-fileselection.png)\n\n\u003c/details\u003e\n\nThe application will add download tasks one by one, and you can observe the download progress and download speed in real time on the interface.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eScreenshot\u003c/kbd\u003e\u003c/summary\u003e\n\n![](./assets/ui-en-downloading.png)\n\n\u003c/details\u003e\n\nYou can pause or resume a task at any time.\n\n\u003e \\[!WARNING]\n\u003e\n\u003e Unlike regular downloaders, the application does not keep your history.\n\u003e\n\u003e If you close a downloading task for some reason, don't worry, you can still resume the download progress, but you need to recreate the same download task (the same service, the same model ID, the same save path).\n\u003e \n\u003e On this point, the application does have a record, when you create a download task again, the application will use your last download configuration.\n\n## 🔗 Links\n\n- [Spectre.Console](https://spectreconsole.net)\n- [Windows App SDK](https://github.com/microsoft/WindowsAppSDK)\n- [aria2](https://github.com/aria2/aria2)\n- [Aria2.NET](https://github.com/rogerfar/Aria2.NET)\n- [CommunityToolkit](https://github.com/CommunityToolkit)\n- [Hugging Face](https://huggingface.co)\n- [Hugging Face Mirror](https://hf-mirror.com)\n- [Civitai](https://civitai.com)\n- [Model Scope](https://www.modelscope.cn)\n\n\u003c!-- LINK GROUP --\u003e\n[github-contributors-link]: https://github.com/Richasy/Rodel.Downloader/graphs/contributors\n[github-contributors-shield]: https://img.shields.io/github/contributors/Richasy/Rodel.Downloader?color=c4f042\u0026labelColor=black\u0026style=flat-square\n[github-forks-link]: https://github.com/Richasy/Rodel.Downloader/network/members\n[github-forks-shield]: https://img.shields.io/github/forks/Richasy/Rodel.Downloader?color=8ae8ff\u0026labelColor=black\u0026style=flat-square\n[github-issues-link]: https://github.com/Richasy/Rodel.Downloader/issues\n[github-issues-shield]: https://img.shields.io/github/issues/Richasy/Rodel.Downloader?color=ff80eb\u0026labelColor=black\u0026style=flat-square\n[github-license-link]: https://github.com/Richasy/Rodel.Downloader/blob/main/LICENSE\n[github-license-shield]: https://img.shields.io/github/license/Richasy/Rodel.Downloader?color=white\u0026labelColor=black\u0026style=flat-square\n[github-release-link]: https://github.com/Richasy/Rodel.Downloader/releases\n[github-release-shield]: https://img.shields.io/github/v/release/Richasy/Rodel.Downloader?color=369eff\u0026labelColor=black\u0026logo=github\u0026style=flat-square\n[github-releasedate-link]: https://github.com/Richasy/Rodel.Downloader/releases\n[github-releasedate-shield]: https://img.shields.io/github/release-date/Richasy/Rodel.Downloader?labelColor=black\u0026style=flat-square\n[github-stars-link]: https://github.com/Richasy/Rodel.Downloader/network/stargazers\n[github-stars-shield]: https://img.shields.io/github/stars/Richasy/Rodel.Downloader?color=ffcb47\u0026labelColor=black\u0026style=flat-square","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichasy%2Frodel.downloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichasy%2Frodel.downloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichasy%2Frodel.downloader/lists"}