---
title: "Updater"
description: "检查应用更新并下载更新包。"
---


> 检查应用更新，并下载更新包供宿主替换。

## 模块边界

`updater` 只提供检查与下载入口，不负责解压、签名校验或进程热替换。真实开展自动更新前，
宿主必须实现下载校验、签名验证和原子安装，否则这些命令不应被业务启用。

| 方法 | 协议命令 | Windows | Android |
| --- | --- | --- | --- |
| `KSM.updater.check()` | `updater.check` | 支持 | 支持 |
| `KSM.updater.download({ version })` | `updater.download` | 支持 | 支持 |

## 返回值与参数

`updater.check` 返回：

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `available` | `boolean` | 是否存在可下载更新 |
| `version` | `string \| null` | 可用版本号；没有更新时为 `null` |

`updater.download` 接收 `{ version: string }`，返回 `{ downloaded: boolean }`。
`version` 不能为空字符串。

## 示例

```ts
import { KSM } from 'kasumi-bridge';

const update = await KSM.updater.check();
if (update.available && update.version) {
  const { downloaded } = await KSM.updater.download({
    version: update.version
  });
  if (downloaded) {
    // 通知宿主应用更新包，执行签名/安装流程
  }
}
```

## 当前实现状态

- 协议、前端封装和插件包已存在。
- Windows 与 Android 宿主已挂载命令；默认未配置远端更新源时，
  `check` 返回 `{ available: false, version: null }`，`download` 返回 `false` 或
  `NOT_SUPPORTED`。
- 缺省宿主不会自动下载、校验或替换应用文件，不要在生产环境依赖默认返回。

## 错误与边界

- `version` 空字符串：`INVALID_ARGS`。
- 未实现下载源或安装策略：宿主应返回 `false` / `NOT_SUPPORTED`，不能伪造成功。

## 排查

| 现象 | 优先检查 |
| --- | --- |
| `available` 一直为 `false` | 更新源 URL、版本元数据、网络权限 |
| `downloaded` 为 `false` | 宿主 `DownloadUpdate` 实现、磁盘空间、签名校验 |
