# 更新和卸载

自己更新 MiniCut 或让它自动更新，关掉自动更新，以及连同项目一起或不连项目卸载 MiniCut。

每次更新，MiniCut 都会保留你的项目、素材库、画布和 `settings.json`。卸载也会保留它们，除非你要求不保留。

## 更新 MiniCut

1. 查看你的版本。`Minicut CLI` 这一行显示版本。

```bash Terminal
minicut status
```

2. 运行更新。

```bash Terminal
minicut update
```

3. 等它结束。结束时它打印 `updated to` 和新版本。如果你已经是最新版本，它以 `ready` 结束。然后它打印 `Log:` 和安装日志的路径，以及 `minicut:` 和命令的完整路径。

更新会按安装时保存的地区，在你现有的版本旁边装上最新版本。你保持登录。MiniCut 应用会用新文件重启，这会结束已打开的应用页面的会话。已经在运行的命令会在旧文件上跑完。MiniCut 把旧版本多保留一次更新，这样它能退回去。

如果新应用 10 秒内没有启动，MiniCut 会退回你的旧版本，更新以退出码 2 结束。如果缺 Python 3.12 或 ffmpeg，更新照样完成，它会打印一行 `MISSING:`。装好这个工具，再运行 `minicut setup`。如果另一个更新正在运行，命令会打印 `Another Minicut update is running on this computer. Run minicut update again when it has finished.`，以退出码 75 结束。

这条命令在[初始设置](/zh-cn/docs/cli/setup#minicut-update)里有说明。如果别的命令打印 `This Minicut is too old. Run minicut update, then the same command again.`，先运行更新。这条信息的退出码是 12。

## 自动更新

自动更新是开着的。任何 `minicut` 命令都会在后台启动一次检查，没有命令会等它。一次检查一天最多运行一次。第一次检查在安装后第一条命令之后的一天运行。`minicut update`、`minicut uninstall` 和 `minicut setup` 不启动检查。

只有下面几条同时成立时，MiniCut 才会自己更新：

- 最新版本比你的高。MiniCut 从不退回到更低的版本。
- 轮到了你的电脑。新版本是分批推给电脑的。
- 最近 10 分钟内没有用过 MiniCut 应用页面。

如果还没轮到你的电脑，有应用页面正在用，或者检查连不上 minicut.ai，MiniCut 一小时后再试。自动更新之后，你的下一条命令会在 stderr 上打印一行，只打印一次：

```text Message
Minicut updated to VERSION.
```

## 关掉自动更新

下面任意一种都可以。之后只有你运行 `minicut update` 时才会更新。

- 把环境变量 `MINICUT_NO_AUTOUPDATE` 设为 `1`。
- 在你的 MiniCut 主文件夹里的 `settings.json` 中加上 `"auto_update": false`，macOS 和 Linux 上是 `~/.minicut`。文件里的其他键保留。
- 设置 `CI`。`CI` 设成 `0` 或 `false` 以外的任何值时，MiniCut 都不会自动更新。

```json settings.json
{
  "auto_update": false
}
```

想检查，运行 `minicut status`。它的最后一行显示 `auto_update`，关着的时候还显示原因。

```bash Terminal
MINICUT_NO_AUTOUPDATE=1 minicut status
```

```text Output
auto_update: {"on":false,"off_because":"MINICUT_NO_AUTOUPDATE is set","last_check":null,"last_result":null,"next_check":null}
```

## 卸载 MiniCut

1. 运行卸载。它什么都不问，马上开始。如果是你的 Agent 运行的，在你运行过 `minicut agent-rules` 之后，Claude Code 和 Codex 会先问你。

```bash Terminal
minicut uninstall
```

2. 想连你的项目、素材库、画布和设置也一起删掉，加 `--all`。

```bash Terminal
minicut uninstall --all
```

3. 看退出码。0 表示 MiniCut 已移除。7 表示已移除，但 minicut.ai 没有回应。这时这台电脑会一直留在你账号的 **设备** 页面上，直到你在那里把它移除。

卸载会为它做过的每一步打印一行，比如 `signed out`、`removed the login item` 和 `removed the tools and the app; kept projects, library, canvas, settings.json`。这些步骤列在[初始设置](/zh-cn/docs/cli/setup#minicut-uninstall)的 `minicut uninstall` 下。

## 留下的内容

| 项目 | `minicut uninstall` | `minicut uninstall --all` |
|---|---|---|
| 这台电脑的登录密钥 | 移除 | 移除 |
| MiniCut 应用、登录项、工具和旧版本 | 移除 | 移除 |
| 你的 shell 配置里的 `minicut` 那一行，或 Windows 上你的 Path 里的那一项 | 移除 | 移除 |
| 每个 Agent 应用里的 MiniCut 技能文件夹，以及 Claude Code 和 Codex 里的 MiniCut 钩子 | 移除 | 移除 |
| `projects`、`library`、`canvas` 和 `settings.json` | 保留 | 移除 |
| `minicut agent-rules` 写入的规则 | 保留 | 保留 |
| 其他技能和其他钩子 | 保留 | 保留 |
| 主文件夹里不是 MiniCut 做出来的文件 | 保留，命令会说有几个 | 保留，命令会说有几个 |
| 主文件夹 | 保留 | 移除，但只在它是安装时建的、而且里面没有别的东西时 |

如果主文件夹里没有 `minicut-home.json`，卸载什么都不改。它会打印 `FOLDER has no Minicut install marker (minicut-home.json), so it may hold files that are not Minicut's. Nothing was removed.`，以退出码 1 结束。`FOLDER` 是主文件夹的路径。

想重新安装，运行[在终端安装](/zh-cn/docs/cli/install-in-a-terminal)里的安装命令。安装会保留它在主文件夹里找到的 `projects`、`library`、`canvas` 和 `settings.json`。

## 下一步

[初始设置](/zh-cn/docs/cli/setup) [故障排查](/zh-cn/docs/cli/troubleshooting) [更新日志](/zh-cn/docs/cli/changelog)
