AI Image Renamer
一个用浏览器内置 AI 给本地图片批量改名的小工具。
它解决的问题很直接:把 IMG_2048.jpeg、DSC_1182.png 这种没有信息量的文件名,改成更容易搜索和辨认的名字。比如一张山湖照片,可以变成类似 sunlit-mountain-lake.jpeg 这样的描述性文件名。
我最开始想做它,是因为整理图片文件夹这件事太像体力活。打开缩略图,看内容,手动改名,几十张还能忍,几百张就很烦。尤其是截图、旅行照片、设计参考和产品图混在一起时,原始文件名基本没有价值。

核心思路
AI Image Renamer 是一个 React/Vite Web App,运行在 Chrome 里。它通过 File System Access API 打开本地文件夹,再用 Chrome built-in AI 的 Prompt API image input 能力分析图片内容。
整个流程保持在本机完成:
- 打开本地图片文件夹
- 选择是否包含子文件夹
- 配置输出语言、文件名格式、名称长度和冲突处理方式
- 让 Chrome built-in AI 分析图片内容
- 审核、编辑或跳过生成的文件名
- 确认后再批量应用改名
这里最重要的是“审核后再应用”。AI 看图可能会错,也可能生成太泛的描述。批量改名又是一个很容易后悔的操作,所以工具不会直接把 AI 结果写回文件系统。
AI 负责先起草,人负责最后确认。
本地优先
这个工具没有账号系统,没有上传流程,没有后端服务,也不需要外部模型 API Key。
图片留在用户自己的机器上。浏览器负责文件夹访问,Chrome 内置模型负责分析图片,最后通过浏览器文件 API 在原位置改名。
这点对图片工具很关键。照片、截图、设计稿、客户素材里经常会有私人信息。如果只是为了改个文件名,就把整批图片上传到某个在线工具,我自己会不太放心。
本地优先的代价也很明确:它依赖浏览器能力。
产品当前要求 Chrome 148+ 并支持 Prompt API image input,同时需要 File System Access API 和直接文件改名能力。如果当前浏览器环境不支持,应用会显示能力检查清单,而不是给一个半残功能。
命名控制
AI Image Renamer 不只是“看图然后改名”。
它还提供了一些批处理里真正有用的控制项:输出语言、文件名格式、名称长度、冲突处理、是否递归扫描子文件夹。
支持的输出语言包括 English、Deutsch、日本語、Français、Español、简体中文和繁体中文。
这类设置看起来小,但实际整理文件夹时很重要。个人相册可能更适合中文名,设计素材可能更适合英文短横线命名,归档目录则更需要长度和冲突规则保持稳定。
适合场景
我觉得它适合这些场景:
- 整理旅行、活动、家庭相册
- 清理截图文件夹
- 规范设计参考和产品图片命名
- 把混乱的历史图片目录整理成更可搜索的结构
- 在导入素材库、DAM 或项目目录前先做一轮文件名清理
但它不替代备份流程。
大批量改名前,建议先在复制出来的文件夹里试一遍。文件名变化会影响同步工具、照片管理软件和脚本引用。工具再简单,批量文件操作也应该谨慎。
技术栈
项目结构比较轻:
- 前端:React + Vite
- 文件访问:File System Access API
- AI 分析:Chrome built-in AI / Prompt API image input
- 构建:Vite + 静态页面 prerender
- 多语言页面:
/、/de/、/ja/、/fr/、/es/、/zh/、/zh-TW/
项目里主要有三个界面:LandingPage 做产品介绍,LegalPage 做条款和隐私页面,RenamerApp 负责文件夹访问、AI 分析、审核和改名。
本地开发:
pnpm install
pnpm dev
生产构建:
pnpm build