# @capgo/capacitor-asset-cache 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-asset-cache/

版本：8\.1\.8
npm 元数据更新时间：2026-10-15T06:21:54.287Z
中文译文更新时间：2026-11-09T04:08:21.044Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-asset-cache
原文对照：https://npmcn.com/package/%40capgo/capacitor-asset-cache/?lang=original
项目主页：https://capgo.app/docs/plugins/asset-cache/
源码仓库：https://github.com/Cap-go/capacitor-asset-cache

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：228 kB，27 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2026-06-26T23:27:56.690Z
- 最新版本发布：2026-10-15T06:21:53.933Z
- 近 30 天下载量：40029（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

透明地本地缓存大型图像和视频的电容插件.

## 安装

```sh
npm install @capgo/capacitor-asset-cache
```

也可以使用：`pnpm add @capgo/capacitor-asset-cache`、`yarn add @capgo/capacitor-asset-cache`、`bun add @capgo/capacitor-asset-cache`

## README

# @ capgo/ 电容- 资产- cache

缓存设备上的大型图像,视频和其他CDN文件,以便立即加载并下线工作. 一个呼叫将远程 URL 变成您 WebView 可以显示的本地文件 .

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-asset-cache)](https://capgo.app/?ref=plugin_asset_cache)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_asset_cache)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_asset_cache) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-asset-cache` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _添加@capgo/电容-asset-cache到我的电容软件上_ [代理设置指南](https://capgo.app/agents/?ref=plugin_asset_cache) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_asset_cache)

![@capgo/capacitor-asset-cache for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-asset-cache/main/assets/github-social-preview.png)

## 主要特点

-   **本地文件**数字 : `get()` 下载一次资产并返回持久本地文件.
-   **显示就绪**数字 : `resolve()` 财务报告和审定财务报表 `src()` 将 CDN 路径或 URL 转换为您可以设置的值 `src`。 。 。 .
-   **调整**数字 : `never`, (中文(简体) ), `ttl` (与 `maxAgeSeconds`, (中文(简体) ), `always`, (中文(简体) ), `etag` 或者说 `last-modified` 策略,加上自定义请求头.
-   **缓存管理**数字 : `list()`, (中文(简体) ), `getCacheSize()`, (中文(简体) ), `remove()` 财务报告和审定财务报表 `clear()`。 。 。 .
-   **平台**: iOS,Android和Web. 互联网档案馆的存檔,存档日期2013-12-02. 网页执行在浏览器中保留了相同的API.

## 为什么是资产缓存?

`@capgo/capacitor-asset-cache` 让应用程序代码请求媒体源并直接绑定到一个 `<img>`, (中文(简体) ), `<video>`,反应组件,Vue模板,或任何其他网络UI.

-   通过一个 CDN 路径像 `videos/intro.mp4` 并获取本地显示准备的 URL .
-   使用持续应用存储:iOS应用程序支持和Android内部文件.
-   `src(...)` 财务报告和审定财务报表 `resolve(...)` 只在本地文件存在后解析;如果插件不能创建本地文件,则呼叫拒绝.
-   `bind(...)` 更新图像或视频元素 `loading` 改为 `ready` 当本地文件可用时.
-   支持缓存唯一, TTL, ETag, 最后修改, 并且总是重新验证模式 .
-   保持较低级别 `get`, (中文(简体) ), `list`, (中文(简体) ), `remove`,以及 `clear` 高级缓存管理助手.

缓存在应用程序未安装时被去除,但系统在压力下可能冲走的缓存目录中并不存储.

## 文档

这里有最完整的医生: [https://capgo.app/docs/plugins/asset-cache/ 页面存档备份,存于互联网档案馆](https://capgo.app/docs/plugins/asset-cache/)

## 兼容性

| 插件版本 | 电容兼容性 | 维护 |
| --- | --- | --- |
| 联合国 | 联合国 | 对 |
| 页:1 | 页:1 | 应要求 |

## 安装

```bash
npm install @capgo/capacitor-asset-cache
npx cap sync
```

## 使用量

配置CDN一次,然后将媒体元素绑定在CDN路径上. 元素只接收本地抓取完成后的本地网页视图 URL .

```typescript
import { AssetCache } from '@capgo/capacitor-asset-cache';

AssetCache.configure({
  cdnUrl: 'https://cdn.example.com/assets/',
  revalidate: {
    strategy: 'ttl',
    maxAgeSeconds: 86400,
  },
});

const video = document.querySelector('video');
if (video) {
  AssetCache.bind(video, 'videos/intro.mp4');
}
```

```css
video[data-asset-cache-state='loading'],
img[data-asset-cache-state='loading'] {
  opacity: 0.4;
}

video[data-asset-cache-state='ready'],
img[data-asset-cache-state='ready'] {
  opacity: 1;
}
```

### 反应

```tsx
import { useEffect, useRef } from 'react';
import { AssetCache } from '@capgo/capacitor-asset-cache';

AssetCache.configure({ cdnUrl: 'https://cdn.example.com/assets/' });

export function HeroImage() {
  const imageRef = useRef<HTMLImageElement>(null);

  useEffect(() => {
    if (!imageRef.current) return;

    const binding = AssetCache.bind(imageRef.current, 'hero.jpg');
    return () => binding.cancel();
  }, []);

  return <img ref={imageRef} alt="" />;
}
```

### 阴道

```vue
<script setup lang="ts">
import { onMounted, onUnmounted, ref } from 'vue';
import { AssetCache, type AssetCacheBinding } from '@capgo/capacitor-asset-cache';

const image = ref<HTMLImageElement | null>(null);
let binding: AssetCacheBinding | undefined;

onMounted(() => {
  if (image.value) {
    binding = AssetCache.bind(image.value, 'hero.jpg', {
      cdnUrl: 'https://cdn.example.com/assets/',
    });
  }
});

onUnmounted(() => binding?.cancel());
</script>

<template>
  <img ref="image" alt="" />
</template>
```

### 直接来源

使用 `src(...)` 当框架已经管理装入状态时。 它只有在本地文件准备好后才解决.

```typescript
const src = await AssetCache.src('images/hero.jpg');
```

### 受保护资产

传头到本地取来。 网络元素只接收插件返回的本地文件 URL.

```typescript
const src = await AssetCache.src('private/videos/intro.mp4', {
  cdnUrl: 'https://cdn.example.com/assets/',
  headers: {
    Authorization: `Bearer ${token}`,
  },
});
```

### 检查决议

使用 `resolve(...)` 当您想要本地文件分辨率的元数据时.

```typescript
const source = await AssetCache.resolve('images/hero.jpg');

console.log(source.src, source.fromCache, source.status);
```

### 高级缓存控制

使用 `get(...)` 仅当您需要原始本地文件元数据时直接 .

```typescript
const asset = await AssetCache.get({
  url: 'https://example.com/videos/intro.mp4',
  key: 'intro.mp4',
  revalidate: { strategy: 'etag' },
});
```

## 平台注释

-   iOS存储应用程序支持下的文件,并将缓存根从iCloud备份中排除.
-   Android在应用程序内部文件目录下存储文件.
-   Web使用浏览器Cache API和localStorage元数据作为开发倒计时.

## API 密码

-   [`configure(...)`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-configure)
-   [`resolve(...)`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-resolve)
-   [`src(...)`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-src)
-   [`bind(...)`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-bind)
-   [`get(...)`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-get)
-   [`remove(...)`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-remove)
-   [`clear()`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-clear)
-   [`list()`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-list)
-   [`getCacheSize()`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-getcachesize)
-   [`getPluginVersion()`](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-getpluginversion)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-type-aliases)

用于大型Capacitor图像,视频等媒体的持续资产缓存.

### 配置(...)

```typescript
configure(options: AssetCacheConfigOptions) => void
```

设置未来的默认值 `src(...)`, (中文(简体) ), `resolve(...)`,以及 `bind(...)` 打电话.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[AssetCacheConfigOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcacheconfigoptions)` |

* * *

### 分辨率(...)

```typescript
resolve(path: AssetCacheSourceInput, options?: AssetCacheSourceOptions | undefined) => Promise<ResolvedAssetSource>
```

将 CDN 路径或远程 URL 解析为本地显示已准备好的源 URL .

| 参数 | 类型 |
| --- | --- |
| **`path`** | `[AssetCacheSourceInput](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachesourceinput)` |
| **`options`** | `[AssetCacheSourceOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachesourceoptions)` |

**回返情况:** `Promise<[ResolvedAssetSource](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-resolvedassetsource)>`

* * *

### src (...) (中文(简体) )

```typescript
src(path: AssetCacheSourceInput, options?: AssetCacheSourceOptions | undefined) => Promise<string>
```

将 CDN 路径或远程 URL 解析为本地字符串 `img.src` 或者说 `video.src`。 。 。 .

| 参数 | 类型 |
| --- | --- |
| **`path`** | `[AssetCacheSourceInput](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachesourceinput)` |
| **`options`** | `[AssetCacheSourceOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachesourceoptions)` |

**回返情况:** `Promise<string>`

* * *

### 绑定(...)

```typescript
bind(element: AssetCacheBindableElement, path: AssetCacheSourceInput, options?: AssetCacheBindOptions | undefined) => AssetCacheBinding
```

将图像或视频元素绑入本地资产, 并随时更新 .

| 参数 | 类型 |
| --- | --- |
| **`element`** | `any` |
| **`path`** | `[AssetCacheSourceInput](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachesourceinput)` |
| **`options`** | `[AssetCacheBindOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachebindoptions)` |

**回返情况:** `[AssetCacheBinding](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachebinding)`

* * *

### 获取(...)

```typescript
get(options: GetAssetOptions) => Promise<CachedAsset>
```

将资产 URL 解析为本地持久文件 .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[GetAssetOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-getassetoptions)` |

**回返情况:** `Promise<[CachedAsset](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-cachedasset)>`

* * *

### 删除(...)

```typescript
remove(options: AssetCacheKeyOptions) => Promise<RemoveAssetResult>
```

按密钥或 URL 删除一个缓存资产 .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[AssetCacheKeyOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachekeyoptions)` |

**回返情况:** `Promise<[RemoveAssetResult](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-removeassetresult)>`

* * *

### 清除( c)

```typescript
clear() => Promise<ClearCacheResult>
```

删除此插件管理的所有缓存资产 .

**回返情况:** `Promise<[ClearCacheResult](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-clearcacheresult)>`

* * *

### 列表( )

```typescript
list() => Promise<AssetCacheListResult>
```

列出磁盘上仍然存在的缓存资产 .

**回返情况:** `Promise<[AssetCacheListResult](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachelistresult)>`

* * *

### 获取缓存Size ()

```typescript
getCacheSize() => Promise<AssetCacheSizeResult>
```

返回全部缓存资产字节 .

**回返情况:** `Promise<[AssetCacheSizeResult](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcachesizeresult)>`

* * *

### 获取 PluginVersion ()

```typescript
getPluginVersion() => Promise<PluginVersionResult>
```

返回平台执行版本标记 .

**回返情况:** `Promise<[PluginVersionResult](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-pluginversionresult)>`

* * *

### 接口

#### 资产缓存配置选项

使用的共享默认值 `AssetCache.src(...)` 财务报告和审定财务报表 `AssetCache.resolve(...)`。 。 。 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`cdnUrl`** | `string` | 基础 CDN URL 使用时 `path` 是相对的. |
| **`revalidate`** | `[AssetCacheRevalidateOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcacherevalidateoptions)` | 已解决资产的默认重新验证行为 . |

#### 资产分类修订选项

缓存资产的重现选项.

| Prop | 类型 | 说明 | 默认 |
| --- | --- | --- | --- |
| **`strategy`** | `[AssetCacheRevalidateStrategy](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcacherevalidatestrategy)` | `never` 返回当前本地文件. `ttl` 后重新下载 `maxAgeSeconds`。 。 。 . `always` 重新验证每个呼叫,并发送已知的验证器. `etag` 财务报告和审定财务报表 `last-modified` 在当前时使用匹配的 HTTP 验证器. | `'never'` |
| **`maxAgeSeconds`** | `number` | 新鲜度窗口( 秒) `ttl` 战略. |  |

#### 解析自定义源

返回结果 `AssetCache.resolve(...)`。 。 。 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`src`** | `string` | 本地 URL 准备指定到 `HTMLImageElement.src`, (中文(简体) ), `HTMLVideoElement.src`,或框架约束. |
| **`path`** | `string` | 原道由召相传. |
| **`remoteUrl`** | `string` | 本地获取所用的完全解析的远程 URL . |
| **`key`** | `string` | 已知时使用的稳定缓存密钥 . |
| **`local`** | `true` | 总是对成功的正确 `resolve(...)` 打电话. |
| **`fromCache`** | `boolean` | 在发出这个呼吁之前, 本地副本就已经存在了 . |
| **`status`** | `'hit' | 'downloaded' | 'notModified'` | 本地源解析结果. |
| **`asset`** | `[CachedAsset](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-cachedasset)` | 本地文件的本地缓存资产有效载荷 . |

#### 缓存

存储在应用软件持续存储中的缓存资产.

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`key`** | `string` | 插件所用的稳定缓存密钥 . |
| **`url`** | `string` | 原始远程 URL . |
| **`path`** | `string` | 绝对本地文件系统路径 . |
| **`uri`** | `string` | 能够传递到的文件 URI `Capacitor.convertFileSrc`。 。 。 . |
| **`mimeType`** | `string` | HTTP响应中最有名的MIME类型. |
| **`etag`** | `string` | 最后已知的 HTTP ETag 验证器 . |
| **`lastModified`** | `string` | 最后已知的 HTTP 最后修改验证器 . |
| **`size`** | `number` | 以字节表示的文件大小 . |
| **`updatedAt`** | `number` | 最后一次成功下载时以毫秒为单位的 Unix timetamp. |
| **`checkedAt`** | `number` | 上次缓存检查时以毫秒为单位解开正时戳 . |
| **`fromCache`** | `boolean` | 当返回的资产来自当地的持久储存时,情况确实如此. |
| **`status`** | `'hit' | 'downloaded' | 'notModified'` | 缓存查询结果 . |

#### 解析自定义源选项

输入 `AssetCache.src(...)` 财务报告和审定财务报表 `AssetCache.resolve(...)`。 。 。 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`path`** | `string` | CDN - 图像、视频或其他媒体资产的相接路径或绝对远程 URL. |

#### 资产缓存源选项

使用的每个资产选项 `AssetCache.src(...)` 财务报告和审定财务报表 `AssetCache.resolve(...)`。 。 。 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`key`** | `string` | 稳定缓存密钥 。 当 URL 路径没有时包含文件扩展名 . |
| **`headers`** | `{ [key: string]: string; }` | HTTP 在获取或重新验证资产时发送了信头 . |

#### 资产缓存窗口

装订返回 `AssetCache.bind(...)`。 。 。 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`promise`** | `Promise<[ResolvedAssetSource](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-resolvedassetsource)>` | 确定元素更新后本地源元数据. |

| 方法 | 签署 | 说明 |
| --- | --- | --- |
| **取消( e)** | () 无效 | 防止此约束在元素解决后更新 . |

#### 资产缓存选项

使用的选项 `AssetCache.bind(...)`。 。 。 .

| Prop | 类型 | 说明 | 默认 |
| --- | --- | --- | --- |
| **`stateAttribute`** | `string` | 属性更新为 `loading`, (中文(简体) ), `ready`,或 `error`。 。 。 . | `'data-asset-cache-state'` |
| **`loadingClass`** | `string` | 正在获取本地文件时添加类 . |  |
| **`readyClass`** | `string` | 本地文件分配到元素后添加的类 . |  |
| **`errorClass`** | `string` | 本地解析失败时添加类 . |  |

#### 获取设置选项

用于将远程资产解析为本地持久性文件的选项 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`url`** | `string` | 远程资产 URL. |
| **`key`** | `string` | 稳定缓存密钥 。 如果省略,插件使用 SHA-256 散列 `url`当资产直接用于 `&lt;img&gt;` 或者说 `&lt;video&gt;` 标签. |
| **`headers`** | `{ [key: string]: string; }` | HTTP 在获取或重新验证资产时发送了信头 . |
| **`revalidate`** | `[AssetCacheRevalidateOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-assetcacherevalidateoptions)` | 对现有持久文件再次检查时的控制 . |

#### 删除

删除结果 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`removed`** | `boolean` | 缓存文件或其元数据被删除时为真 . |

#### 资产缓存关键选项

通过缓存密钥或 URL 识别资产 . `key` 二者皆为胜.

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`key`** | `string` | 稳定缓存密钥 . |
| **`url`** | `string` | 远程资产 URL 用于获取默认密钥 . |

#### 清除缓存结果

明确结果.

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`removed`** | `number` | 已删除的缓存资产数量. |

#### 资产控制列表

列表结果.

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`assets`** | `CachedAsset[]` | 磁盘上仍有文件的缓存资产 . |

#### 资产缓存

缓存大小结果 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`size`** | `number` | 以字节表示的总缓存资产大小 . |

#### 插件变压器

插件版本有效载荷 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`version`** | `string` | 版本标识符由平台执行返回. |

### 类型异名

#### 资产分类修订战略

当某项资产已经存在于持续存储中时,则使用重新校正模式.

`'never' | 'ttl' | 'always' | 'etag' | 'last-modified'`

#### 资产缓存来源输入

接受的方便投入 `AssetCache.src(...)` 财务报告和审定财务报表 `AssetCache.resolve(...)`。 。 。 .

`string | [ResolveAssetSourceOptions](https://npmcn.com/package/%40capgo/capacitor-asset-cache/#readme-resolveassetsourceoptions)`

#### 资产缓存组合元素

由 `AssetCache.bind(...)`。 。 。 .

`HTMLImageElement | HTMLVideoElement`

## 常见问题

### @capgo/capacitor-asset-cache 是什么？

透明地本地缓存大型图像和视频的电容插件\.

### 如何安装 @capgo/capacitor-asset-cache？

在项目目录运行 npm install @capgo/capacitor-asset-cache，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/capacitor-asset-cache 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capgo/capacitor-asset-cache 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capgo/capacitor-asset-cache 可以商用吗？

@capgo/capacitor-asset-cache 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-asset-cache 的下载量有多少？

根据 npm 官方下载统计，@capgo/capacitor-asset-cache 在 2026/10/09 – 2026/11/07 这 30 天内被下载 40,029 次，日均约 1,334 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/capacitor-asset-cache 还在维护吗？

最新版本 8\.1\.8 发布于 2026/10/15（25 天前）；至今共发布 9 个版本，其中过去 12 个月发布了 9 个；首次发布于 2026/06/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

