| 1 | <div align="center"> |
| 2 | <img src="thumb.png" alt="Oh My PPT" width="200" /> |
| 3 | <br/> |
| 4 | <br/> |
| 5 | |
| 6 |  |
| 7 |  |
| 8 |  |
| 9 |  |
| 10 |  |
| 11 |  |
| 12 |  |
| 13 |  |
| 14 | |
| 15 | **Oh My PPT - 本地优先的 AI PPT、配图生成与编辑工具** |
| 16 | |
| 17 | [English](./README_EN.md) | [为什么做这个](#why) • [能做什么](#features) • [使用流程](#workflow) • [更新日志](./CHANGELOG.md) • [使用问题](#usage-notes) |
| 18 | |
| 19 | <p> |
| 20 | AI+ 驱动可编辑 HTML,重构下一代 PPT 生产方式。<br/> |
| 21 | 描述你想表达的内容,让 AI 完成大纲、页面与配图。<br/> |
| 22 | 从创作到编辑、演示与导出,都在一套本地优先的工作流中完成。<br/> |
| 23 | Local-first · Your models, your workflow. |
| 24 | </p> |
| 25 | |
| 26 | [官网](https://www.ohmyppt.cc) | [下载安装包](https://github.com/arcsin1/oh-my-ppt/releases) | [帮助中心](https://www.ohmyppt.cc/#/help) |
| 27 | |
| 28 | <img src="./docs/images/OhMyPPT.png"/> |
| 29 | |
| 30 | </div> |
| 31 | |
| 32 | --- |
| 33 | |
| 34 | <a id="sponsors-list"></a> |
| 35 | ## 🏢 赞助商 |
| 36 | |
| 37 | | 赞助商 | 简介 | |
| 38 | | --- | --- | |
| 39 | | <a href="https://www.toumingren.xyz/" target="_blank"><img src="./docs/images/toumingren.png" width="200" alt="透明人" /></a> | [透明人](https://www.toumingren.xyz/) — 把订阅变成可编程的 API,不做黑盒,只做透明的中间层 | |
| 40 | |
| 41 | <a id="sponsors"></a> |
| 42 | ## 💖 赞助者 |
| 43 | |
| 44 | 感谢每一位支持过 Oh My PPT 的朋友,完整列表见 [SponsorsList.md](./SponsorsList.md)。 |
| 45 | |
| 46 | --- |
| 47 | |
| 48 | ## 目录 |
| 49 | |
| 50 | - [赞助商](#sponsors-list) |
| 51 | - [赞助者](#sponsors) |
| 52 | - [为什么做这个](#why) |
| 53 | - [旧 PPTX 模板导入编辑](#pptx-import) |
| 54 | - [客户端导出可编辑 PPTX](#pptx-export) |
| 55 | - [能做什么](#features) |
| 56 | - [使用流程](#workflow) |
| 57 | - [内置 90+ 风格 Skill](#style-skills) |
| 58 | - [AI 生图与智能配图](#image-generation) |
| 59 | - [字体管理](#fonts) |
| 60 | - [动画支持](#animations) |
| 61 | - [支持本地 Ollama 模型](#ollama) |
| 62 | - [使用问题汇总](#usage-notes) |
| 63 | - [别忘了填写模型配置](#config) |
| 64 | - [关于预览模式](#preview) |
| 65 | - [关于导出](#export) |
| 66 | - [未签名应用打不开的问题(mac已损坏等问题)](#unsigned-app) |
| 67 | - [参考](#references) |
| 68 | - [贡献者](#contributors) |
| 69 | - [License](#license) |
| 70 | |
| 71 | --- |
| 72 | |
| 73 | <a id="why"></a> |
| 74 | ## 🎯 为什么做这个 |
| 75 | |
| 76 | **让 AI HTML PPT 成为可能。** |
| 77 | |
| 78 | 每次要做分享/汇报/路演/答辩就头疼,光纠结 PPT 排版就占了大半时间。 |
| 79 | |
| 80 | 市面上 AI PPT 工具虽然多,但大多生成的是固定格式文件,想微调样式、加入自己想要的动画演示都很麻烦。 |
| 81 | |
| 82 | 于是自己写了一个 HTML 版 PPT 生成器——初衷只是给自己做个顺手的工具。 |
| 83 | |
| 84 | 生成的是 HTML 版 PPT:打开即预览、无需安装软件、一个浏览器搞定,还能随心改样式/加动效/插代码/导出分享。 |
| 85 | |
| 86 | <a id="pptx-import"></a> |
| 87 | ## 📥 旧 PPTX 模板导入编辑,接近 100% 还原 |
| 88 | |
| 89 | 已有的 PPTX 模板、历史汇报或客户文件,可以直接导入客户端继续编辑。常规 PPTX 导入后可实现接近 **100%** 的视觉与结构还原,并转换为应用内可继续拖拽、调整、AI 修改和版本管理的页面;导入时还会提取原文件风格,供后续创建和复用。 |
| 90 | |
| 91 | 解析与结构化转换均为 Oh My PPT **纯自研**;复杂形状、图表、表格、动画等仍在持续优化,还原度受原文件特性、字体和素材复杂度影响。 |
| 92 | |
| 93 | <a id="pptx-export"></a> |
| 94 | ## 📤 客户端导出为可编辑 PPTX,接近 100% 还原 |
| 95 | |
| 96 | 在客户端完成创作或编辑后,可直接导出为 PowerPoint / Keynote 中继续修改的真实 PPTX。常规场景下,导出文件的视觉与结构还原度接近 **100%**,并尽量保留文字、图片、颜色、公式和基础布局。 |
| 97 | |
| 98 | HTML 到可编辑 PPTX 的生成与排版均为 **纯自研**;复杂图表、表格、形状和动画仍在持续优化。 |
| 99 | |
| 100 | <a id="features"></a> |
| 101 | ## ✅ 能做什么 |
| 102 | |
| 103 | - 📥 **旧 PPTX 模板导入编辑,接近 100% 还原** — 导入后转为可拖拽、调整、AI 修改和版本管理的页面;解析与结构化转换纯自研 |
| 104 | - 📤 **客户端导出可编辑 PPTX,接近 100% 还原** — 导出为 PowerPoint / Keynote 中可继续编辑的真实 PPTX;生成与排版纯自研 |
| 105 | - 💬 **主题创作** — 填写主题、详细描述和页面设置,AI 自动规划大纲、配色与排版,生成完整演示稿 |
| 106 | - 🔀 **多任务生成** — 可同时提交多个生成任务并行执行,不用等一个完成再创建下一个,后台生成完成时自动弹出通知 |
| 107 | - 📐 **多尺寸 / 多内容格式画布** — 16:9、4:3、竖屏 9:16、竖版 3:4、方图 1:1、小红书图文等格式,从生成到导出全程保留真实比例 |
| 108 | - 📄 **从文档创建** — 也支持上传 txt、md、csv、docx 文档,自动整理主题、页数和详细描述,生成时**继续参考原文件内容**,产出贴合原文的创意 PPT |
| 109 | - 🌐 **HTML 编辑** — 导入单个 HTML 文件后可在应用内直接编辑和保存,支持 AI 修改、素材添加、历史管理、预览和导出 |
| 110 | - 🧱 **模板库与模板创建** — 可将已生成或已编辑的演示保存为模板,也支持 PPTX 导入为模板,并可复用模板创建新的 PPT 会话 |
| 111 | - 🎨️ **图片识别生成风格与大纲** — 支持上传截图/设计稿,自动识别视觉特征并生成独特风格与演示大纲(需使用支持多模态的 AI 模型) |
| 112 | - 🖼️ **AI 生图与智能配图** — 创建时可开启自动配图,AI 会根据当前页内容、版式留白和所选风格按需生成插画、背景与视觉素材;不会为了配图而机械地给每页塞图 |
| 113 | - ✨ **编辑页生图工作台** — 可根据当前页标题和大纲生成提示词,指定补充描述与图片尺寸后生图;结果可预览、插入画布或一键设为页面背景 |
| 114 | - 🏷️ **支持生图的风格筛选** — 风格库会标识可生图的风格,可筛选后使用与页面视觉方向一致的配图 |
| 115 | - 🔒 **本地优先** — 会话、源文档、素材和生成结果保存在自己的电脑;不需要 Oh My PPT 账号或平台云端。调用你配置的 AI / 生图服务时,相关请求会发送给该服务商 |
| 116 | - 🔤 **字体管理** — 内置 14 款精选 Google 字体(含中文),支持上传本地字体,创建时可分别指定标题和正文字体,也可交给 AI 自动匹配 |
| 117 | - 🎨 **内置 90+ 风格 SKILL** — 极简白、赛博霓虹、包豪斯、日式简约、小红书白… 也支持自定义风格 |
| 118 | - ✏️ **对话式修改** — 对着某一页说「标题换个颜色」「加个数据图表」,精准修改不用重做 |
| 119 | - 🖱️ **可视化编辑** — 一切可见元素皆可拖拽和调整大小,一切元素皆可检选并让 AI 修改 |
| 120 | - 📸 **插入图片和视频** — 编辑模式下直接上传图片和视频到页面,支持从素材库或本地文件添加,也能与 AI 生成图片混用 |
| 121 | - 📋 **复制元素** — 一键复制任意元素(文字、图片、视频等),自动偏移并独立可编辑 |
| 122 | - ↩️ **撤销和重做** — 编辑过程中随时撤销和重做操作,最后再统一保存为版本记录 |
| 123 | - 🗑️ **删除元素** — 支持删除任意元素,也支持快捷键快速删除 |
| 124 | - 🖥️ **演示模式** — 一键进入全屏演示播放,键盘左右键或点击切换页面 |
| 125 | - 📝 **演讲稿生成** — 支持为整套幻灯片或当前页生成演讲稿,内置正式演讲、轻松对话、叙事风格和自定义风格 |
| 126 | - 🎬 **动画演示** — 支持 16+ 种页面切换动画,也支持基于 Anime.js v4 的基础整元素动画 |
| 127 | - 🎞️ **单个元素动画设置** — 编辑时可选中文字、图片、图表等单个元素,设置入场、强调或退出效果,并调整自动/点击触发、时长和方向 |
| 128 | - 🧮 **数学公式渲染** — 支持常见 LaTeX 公式显示,适合课堂、教学、技术分享等场景 |
| 129 | - 📄 **其他格式导出** — 支持 PDF、批量 PNG、PNG 长图和 MP4 视频 |
| 130 | - 🏷️ **会话管理** — 会话列表可区分 AI 创建和 PPTX 导入,也支持修改演示稿名称 |
| 131 | - 🧩 **更稳的页面生成** — 生成时会按所选画布尺寸与内容高度预算组织页面,减少内容溢出 |
| 132 | - 🔄 **历史版本回退** — 自动保存每次修改记录,支持任意版本一键回退,改错了也不怕,随时回到满意的状态 |
| 133 | - 📦 **一键打包** — 将 HTML 演示稿打包为单个可执行文件,双击即可打开预览,无需安装任何软件(有浏览器就行) |
| 134 | - 💾 **创意 PPT 导入导出** — 编辑页可一键导出会话生成的创意 PPT,在另一台电脑导入后继续二次编辑,跨设备协作无缝衔接 |
| 135 | |
| 136 | <p> |
| 137 | <img width="32%" alt="Oh My PPT 首页" src="./docs/images/home.webp" /> |
| 138 | <img width="32%" alt="Oh My PPT 风格库" src="./docs/images/style.webp" /> |
| 139 | <img width="32%" alt="Oh My PPT 编辑页" src="./docs/images/edit.webp" /> |
| 140 | </p> |
| 141 | |
| 142 | |
| 143 | |
| 144 | 首页支持几种常用入口: |
| 145 | |
| 146 | - **主题创作**:填写主题、尺寸格式和详细描述,生成完整演示稿、竖版内容、方图或小红书图文。 |
| 147 | - **对话创作**:先通过多轮对话梳理主题、资料、受众、结构和每页重点,适合需求还不够清晰、资料较复杂,或者需要先共同推敲大纲的场景。 |
| 148 | - **上传文档解析**:上传 txt、md、csv、docx 等文件,让应用先整理主题、页数和详细描述,生成时继续参考原文件内容。 |
| 149 | - **从模板创建**:在模板页选择已保存的模板,可直接复制为可编辑 PPT 会话,也可以输入新主题/大纲或上传文档解析后,沿用模板版式、配色和视觉节奏重新生成内容。 |
| 150 | |
| 151 | 已有旧 PPTX 模板可在首页点击「导入 PPTX」,接近 100% 还原后继续编辑;现有会话也可存入模板库,反复复用同一套结构和视觉风格。 |
| 152 | |
| 153 | 已在「设置」配置并验证生图模型后,创建时可开启「启用生图」,AI 会在真正需要视觉素材的位置按页面内容和风格自动配图;会增加一些生成耗时,关闭后仍可在编辑页手动生图。 |
| 154 | |
| 155 | 生成后可预览、演示,或在编辑页继续拖拽元素、插入图片/视频、对话修改、回退历史版本、生成演讲稿;无论导入还是新建的演示稿,都可导出为接近 100% 还原的可编辑 PPTX。 |
| 156 | |
| 157 | <a id="style-skills"></a> |
| 158 | ## 🎨 内置 90+ 风格 Skill |
| 159 | |
| 160 | 想制作自己的风格 Skill,可以使用官方风格生成包:[arcsin1/style-generate-skill](https://github.com/arcsin1/style-generate-skill)。它适合把参考设计、配色和排版要求整理成可导入 Oh My PPT 的风格包。 |
| 161 | |
| 162 | <img src="./docs/images/style.webp" alt="Oh My PPT 风格库" width="600" /> |
| 163 | |
| 164 | <a id="image-generation"></a> |
| 165 | ## 🖼️ AI 生图与智能配图 |
| 166 | |
| 167 | 生图能力分为两个入口,分别适合整套生成和局部补图: |
| 168 | |
| 169 | | 使用场景 | 怎么使用 | 结果 | |
| 170 | | --- | --- | --- | |
| 171 | | 创建整套演示稿 | 在「设置 → 生图模型」新增并**验证**模型;创建页勾选「启用配图生成」,选择一个带「支持生图」标识的风格 | AI 仅在合适的视觉位置自动生成插画、背景或视觉元素,并保留文字安全区与风格一致性 | |
| 172 | | 编辑已有页面 | 打开编辑页的生图面板,参考当前页内容生成提示词或自行填写,选择模型和尺寸后生成 | 可预览生成结果,插入画布继续排版,或直接设为当前页背景 | |
| 173 | |
| 174 | 内置 Provider 包括即梦 3.0 / 4.0、Agnes AI、Seedream、硅基流动、Gemini 及 OpenAI 兼容图片接口;文本模型与生图模型是两套独立配置。生图配置需先在「设置 → 生图模型」通过真实测试,验证成功后才能保存。 |
| 175 | |
| 176 | 生成的图片会归档到当前会话的本地素材目录,可继续编辑、替换、导出或随会话迁移;自动配图不会改变页面尺寸,也不会覆盖手动上传的图片。生图请求会发送到所选 Provider,请遵循其隐私与内容政策。 |
| 177 | |
| 178 | <a id="fonts"></a> |
| 179 | ## 🔤 字体管理 |
| 180 | |
| 181 | 内置 14 款精选 Google 字体(含中文字体),同时支持上传本地 `.woff2` 字体文件,可自定义字体名称、分类(无衬线/衬线/手写/等宽等)、用途(标题/正文)和语言类型(拉丁/CJK)。 |
| 182 | |
| 183 | 创建演示稿时,可以分别指定**标题字体**和**正文字体**,也可以交给 AI 根据演示主题和风格自动匹配最合适的字体组合。导出 PPTX 时,已使用的字体会自动嵌入到文件中,确保在其他电脑上打开时字体显示一致。 |
| 184 | |
| 185 | <a id="animations"></a> |
| 186 | ## 🎬 动画支持 |
| 187 | |
| 188 | Oh My PPT 的页面是 HTML 幻灯片,支持 16+ 种页面切换动画,并内置本地 **Anime.js v4** 动画运行时。生成或编辑页面时,可以让 AI 为标题、数据卡片、图片、图表容器、步骤模块等整块元素添加演示动画。 |
| 189 | |
| 190 | 除了由 AI 自动添加动画,也可以在编辑模式中直接选中单个元素,为它设置入场、强调或退出效果,并调整自动播放或点击触发、动画时长和进入方向。 |
| 191 | |
| 192 | 动画更偏向真实演讲场景:让内容按讲述节奏逐步出现,而不是一页内容一次性全部铺开。适合汇报、路演、课堂演示和产品讲解。 |
| 193 | |
| 194 | 目前支持这些常用表达: |
| 195 | |
| 196 | - **淡入**:模块出现时轻量过渡。 |
| 197 | - **位移入场**:从上、下、左、右短距离滑入,适合标题、卡片和列表。 |
| 198 | - **缩放强调**:关键数字或结论卡片轻微放大后回落。 |
| 199 | - **错峰展示**:多张卡片或多条要点按顺序依次出现。 |
| 200 | - **点击逐条出现**:演示时通过点击逐步展开内容,方便按讲述节奏推进。 |
| 201 | |
| 202 | 更推荐使用「整个元素」的动画,而不是把文字拆成很多碎片逐字乱动。这样画面更稳、可读性更好,也更适合导出和二次编辑。动画主要用于引导视线和表达层级,不建议做复杂时间线、高频闪烁、无限循环或大幅抖动。 |
| 203 | |
| 204 | <p> |
| 205 | <img src="./docs/images/anime.webp" alt="Oh My PPT 动画设置" width="40%" /> |
| 206 | <img src="./docs/video/anime.gif" alt="Oh My PPT 动画演示" width="40%" /> |
| 207 | </p> |
| 208 | |
| 209 | <a id="ollama"></a> |
| 210 | ## 🦙 支持本地 Ollama 模型(OpenAI 兼容) |
| 211 | |
| 212 | 项目支持通过 **OpenAI 兼容协议** 接入本地 Ollama。 |
| 213 | |
| 214 | 在「设置」页面这样填写即可: |
| 215 | |
| 216 | - `provider`: `openai` |
| 217 | - `base_url`: `http://127.0.0.1:11434/v1` |
| 218 | - `model`: 你本地拉取的模型名(例如 `qwen2.5-coder:14b`),建议使用 14B+ 的模型(或云端强模型) |
| 219 | - `api_key`: 任意非空字符串(例如 `ollama`) |
| 220 | |
| 221 | 说明: |
| 222 | |
| 223 | - Ollama 默认不校验 API Key,但应用侧会做「非空」校验,所以不能留空。 |
| 224 | - 推荐使用 14B+ 的模型(或云端强模型)接入生成。 |
| 225 | - OpenAI 官方端点不会携带非标准的 `thinking` 参数,避免返回 `400 Unknown parameter`;配置其他 OpenAI 兼容 `base_url` 时仍会请求关闭 thinking,避免工具调用等多轮链路丢失 `reasoning_content`。 |
| 226 | - Ollama 配置用于文本生成、文档解析和编辑对话;需要生图或自动配图时,请在「设置 → 生图模型」另行配置支持图片生成的 Provider。 |
| 227 | |
| 228 | |
| 229 | <a id="usage-notes"></a> |
| 230 | ## 使用问题汇总 |
| 231 | |
| 232 | <a id="config"></a> |
| 233 | ### 别忘了填写模型配置 |
| 234 | > 推荐:DeepSeek V4、Kimi、Doubao、Qwen、GLM、MiMo、MiniMax 等国产模型,以及 GPT、Claude 等国外模型。 |
| 235 | |
| 236 | 在「设置 → 文本模型」页面填写用于创作、解析和编辑的模型配置,否则无法生成演示稿。 |
| 237 | |
| 238 | 若要使用 AI 生图或自动配图,再到「设置 → 生图模型」添加对应 Provider 的完整 JSON 配置并点击「验证」。验证会实际生成一张测试图片;验证成功后才能保存该生图模型,随后即可在创建页和编辑页中选择使用。 |
| 239 | |
| 240 | <a id="preview"></a> |
| 241 | ### 关于预览模式 |
| 242 | |
| 243 | 支持键盘左右键切换页面;支持演示模式和全屏演示模式,按 ESC 退出演示。 |
| 244 | |
| 245 | <a id="export"></a> |
| 246 | ### 关于导出 |
| 247 | |
| 248 | 目前支持五种导出方式,另可将 HTML 演示稿打包为独立打开的文件: |
| 249 | |
| 250 | - **PDF**:适合直接分享、归档和打印。 |
| 251 | - **PNG**:一键批量导出所有页面图片,适合插入文档、Notion、公众号或社媒内容。 |
| 252 | - **PNG 长图**:将整套页面纵向拼接成一张长图,适合发社媒、聊天分享、长文档预览和移动端阅读。 |
| 253 | - **可编辑 PPTX**:纯自研导出底层,常规场景还原度接近 100%,可在 PowerPoint / Keynote 中继续编辑。 |
| 254 | - **MP4**:导出为视频文件,适合发布到社媒、发送给客户或在不方便播放 PPT 的场景中使用。 |
| 255 | - **HTML 打包文件**:将演示稿和运行资源打包,双击即可在浏览器中打开预览和演示。 |
| 256 | |
| 257 | <img src="./docs/images/edit2.webp" alt="Oh My PPT 导出菜单" width="600" /> |
| 258 | |
| 259 | |
| 260 | <a id="unsigned-app"></a> |
| 261 | ## 📦 未签名应用打不开的问题 |
| 262 | |
| 263 | 目前发布包可能还没有进行系统级代码签名,所以 macOS 或 Windows 第一次打开时可能会出现安全提示。这个提示通常不是应用损坏,而是系统对「未签名/未公证应用」的默认拦截。 |
| 264 | |
| 265 | ### macOS |
| 266 | |
| 267 | 如果 macOS 提示「无法打开」「已损坏」「无法验证开发者」,可以按下面任意一种方式处理。 |
| 268 | |
| 269 | **方式一:右键打开** |
| 270 | |
| 271 | 1. 打开「访达」或「应用程序」文件夹。 |
| 272 | 2. 找到 `OhMyPPT.app`。 |
| 273 | 3. 右键点击应用,选择「打开」。 |
| 274 | 4. 在弹窗里再次点击「打开」。 |
| 275 | |
| 276 | 这种方式通常只需要做一次,之后就可以正常双击打开。 |
| 277 | |
| 278 | **方式二:清除隔离属性** |
| 279 | |
| 280 | 如果右键打开仍然不行,可以在终端执行: |
| 281 | |
| 282 | ```bash |
| 283 | xattr -cr /Applications/OhMyPPT.app |
| 284 | ``` |
| 285 | |
| 286 | 然后重新打开应用。 |
| 287 | |
| 288 | 如果你把应用放在了其他目录,请把命令里的路径替换成实际路径,例如: |
| 289 | |
| 290 | ```bash |
| 291 | xattr -cr ~/Downloads/OhMyPPT.app |
| 292 | ``` |
| 293 | |
| 294 | ### Windows |
| 295 | |
| 296 | Windows 可能会因为安装包未签名而触发 SmartScreen 提示,例如「Windows 已保护你的电脑」。这是未签名应用常见的系统提示。 |
| 297 | |
| 298 | 处理方式: |
| 299 | |
| 300 | 1. 在提示窗口点击「更多信息」。 |
| 301 | 2. 确认应用名称是 `OhMyPPT`。 |
| 302 | 3. 点击「仍要运行」。 |
| 303 | |
| 304 | 如果下载后被浏览器或杀毒软件拦截,可以先确认安装包来自本项目的 GitHub Releases 页面,再选择保留或允许运行。 |
| 305 | |
| 306 | > 建议只从官方 Release 地址下载安装包,避免使用第三方转存文件。 |
| 307 | |
| 308 | <a id="references"></a> |
| 309 | ## 参考 |
| 310 | |
| 311 | - [@arcsin1/pptx2json](https://www.npmjs.com/package/@arcsin1/pptx2json) — Oh My PPT 纯自研的可编辑 PPTX 导入底层,用于解析 PPTX 并转换为可继续编辑的结构化真实数据;后续会持续完善复杂形状、图表、表格、动画等还原能力。 |
| 312 | - [@arcsin1/html2pptx](https://www.npmjs.com/package/@arcsin1/html2pptx) — Oh My PPT 纯自研的可编辑 PPTX 导出底层,用于将 HTML 转换为可继续编辑的真实 PPTX 文件;后续会持续完善复杂形状、图表、表格、动画等还原能力。 |
| 313 | - [arcsin1/style-generate-skill](https://github.com/arcsin1/style-generate-skill) — Oh My PPT 官方风格生成 Skill,用于把参考设计、配色、排版和场景要求整理成可导入应用的风格包。 |
| 314 | - [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) |
| 315 | - [html-ppt-skill](https://github.com/lewislulu/html-ppt-skill) |
| 316 | |
| 317 | <a id="contributors"></a> |
| 318 | ## 贡献者 |
| 319 | |
| 320 | Thanks to all contributors! |
| 321 | |
| 322 | <p> |
| 323 | <a href="https://github.com/m13891290332"><img src="https://github.com/m13891290332.png" width="50" height="50" alt="m13891290332" /></a> |
| 324 | <a href="https://github.com/whisper-xiang"><img src="https://github.com/whisper-xiang.png" width="50" height="50" alt="whisper-xiang" /></a> |
| 325 | <a href="https://github.com/Jacobinwwey"><img src="https://github.com/Jacobinwwey.png" width="50" height="50" alt="Jacobinwwey" /></a> |
| 326 | </p> |
| 327 | |
| 328 | <a id="license"></a> |
| 329 | ## License |
| 330 | |
| 331 | This project is licensed under the [Apache License 2.0](LICENSE) © 2026 arcsin1 <zy19931129@gmail.com>. |
| 332 |