---
name: tadado-aliyun
description: |
  把 Tadado2 的安装包放到**阿里云盘**（国内下载渠道），拿到分享链接后写进 README 与 TODO。
  触发词：阿里云、阿里云盘、国内下载、国内镜像、网盘、上传安装包、分享链接、夸克、蓝奏云。
  与 `tadado-release` 的分工：那个管「从代码到 GitHub Release」，这个管「Release 之后，
  让国内用户真的下得到」。
---

# 安装包 → 阿里云盘（国内下载渠道）

## 这件事为什么存在

GitHub Releases 在国内**经常打不开**。旧版（v0.x）就吃过这个亏：`v0.1.2.1` 加了阿里云盘渠道，
`v0.1.2.3` 把「检查更新」的顺序也改成**阿里云盘优先、GitHub 备用**。Tadado2 没有联网能力、
不会自己检查更新，但**下载这一步照样会被挡住** —— 所以要有镜像。

## ⚠️ 先说清楚：阿里云盘没有官方 API

这意味着**没有「一键上传」这条路**。别去写一个假装能自动上传的脚本 ——
个人网盘（阿里云盘 / 夸克 / 百度）都不提供公开 API，第三方库（`aliyunpan` 之类）用的是
逆向出来的接口，**随时会失效**，而且那意味着让用户的账号 token 落到脚本手里。

所以这个 skill 的定位是：**把上传前后那些真正容易出错的环节固化下来**，中间那一步（拖文件）
由人来做 —— 它一共也就两次点击。

## 步骤 1：上传前 —— 备料与校验

产物在 `desktop/src-tauri/target/release/bundle/`。**先确认要传的是刚构建出来的那一份**：

```powershell
cd desktop/src-tauri/target/release/bundle
Get-ChildItem -Recurse -File | Where-Object { $_.Extension -in '.exe','.msi','.zip' } |
  Sort-Object Name | ForEach-Object { "{0,-42} {1,7} MB  {2}" -f $_.Name,
    [math]::Round($_.Length/1MB,2), $_.LastWriteTime.ToString('MM-dd HH:mm') }
```

**时间戳必须都是刚刚** —— 这是「便携版漏拷」那个坑的另一面：几个文件里只要有一个时间戳偏旧，
传上去的就是上一版，而名字、版本号全是对的，看不出来。参考体积：setup ≈2.59 MB、
MSI ≈3.62 MB、portable zip ≈3.33 MB、skill zip ≈15.6 KB。

**算 SHA256 并当场记下来** —— 它是「网盘上那份和 Release 上那份是不是同一个文件」的唯一证据：

```powershell
Get-FileHash nsis\Tadado2_<版本>_x64-setup.exe -Algorithm SHA256
```

⚠️ **要传什么**：默认**只传 setup.exe**（国内用户绝大多数走安装包）。用户点名要便携版就再加
`portable/Tadado2-portable.zip`。**不传 MSI** —— 它是企业静默分发的用途，那种场景本来也不走网盘。

## 步骤 2：上传 —— 人在阿里云盘里做

在阿里云盘客户端（或网页版）：

1. **建一个固定文件夹** `Tadado2/`，**分享这个文件夹** —— 不要每次新分享一个文件。
   文件夹分享的链接**长期不变**，README 写一次就够；文件分享一换版本就得回来改 README，
   改漏了用户下到的还是旧版（而且他不会知道）。
2. 把 `Tadado2_<版本>_x64-setup.exe` 上传进去。
3. 右键文件夹 → **分享** → 有效期选 **长期/永久**，权限**公开**（或「需要提取码」）。
4. **记下两样**：分享链接 + 提取码（若设了）。

⚠️ 阿里云盘的**文件夹分享**有时要求会员。降级方案是「每次分享单个文件」，
但那样**每次发版都要回来改 README** —— 走这条路时，必须在回执里把这个代价说清楚。

## 步骤 3：把链接写进 README

README 的「安装」一节末尾加一段（已经有了就改）：

```md
> **国内下载**（不用访问 GitHub）：阿里云盘 <分享链接>，提取码 `<码>`。
> 与 Releases 上的文件完全相同 —— 安装包 SHA256 `C8741B…`，下完可以自己核一下。
```

三件事别漏：

- **写清提取码**（藏起来等于没有）；
- **附上 SHA256** —— 网盘上的文件没有签名，哈希是唯一能让用户自证「我下的没被换过」的东西；
- **链接里别写版本号** —— 用文件夹分享就自然满足；写了版本号，下次发版它就成了死链。

## 步骤 4：回执与留痕

- 告诉用户：传了什么、多大、SHA256、链接与提取码；
- **记进 `TODO.md` 流水** —— 链接会变，流水是唯一的对账依据；
- 若这次是**新的文件分享**（不是文件夹），**明确提醒**：下次发版要回来改 README。

## 常见问题

| 情况 | 怎么办 |
|---|---|
| 用户想要「自动上传」 | 做不到，直说 —— 阿里云盘没有官方 API（见上），别硬凑一个会失效的脚本 |
| 用户给的链接里带版本号 | 说明那是文件分享；建议换成文件夹分享 |
| 用户给的是夸克 / 百度 / 蓝奏云 | 同一套流程照做，只是步骤 2 的客户端不同 |
| 想顺便做「检查更新」 | Tadado2 **没有联网能力**（权限清单里没有网络权限，见 README），**别去实现** |
| 传完发现传错了（旧文件 / 少传） | 回步骤 1 重新核时间戳与哈希，**别只改 README 了事** |
| 分享链接被取消 / 过期了 | README 里那段要跟着改；这也是「文件夹 + 长期」值得强推的原因 |
