Commit Graph
82 Commits
Author SHA1 Message Date
odboy bd84bc98e8 fix: 修正扫描整理说明文案,修复清空续传记录报错 2025-08-21 21:07:37 +08:00
odboy 75593d4a86 refactor: 将移动文件按钮移至开始扫描按钮旁,文案改为存放目录 2025-08-18 21:11:47 +08:00
odboy 367240133f feat: 媒体库添加手动色情标记功能,默认分页改为10条 2025-08-15 21:18:20 +08:00
odboy 925ee5b1ea refactor: 调整侧边栏菜单顺序,媒体库在前 2025-08-12 21:06:23 +08:00
odboy 35936584f8 fix: NSFW 检测分无论是否命中阈值都入库 2025-08-09 21:17:21 +08:00
odboy 44bfc02a7d feat: 将 scanDir 持久化到 app_config 表,移除 localStorage 存储 2025-08-07 21:17:44 +08:00
odboy b707fcb890 feat: 移动文件后更新 media_info 的 file_path 为新路径 2025-08-04 21:17:15 +08:00
odboy 2073596fdd feat: 移动文件完成后清空 scan_log 续传记录 2025-08-01 21:06:38 +08:00
odboy 2e01f6c3c9 refactor: 将文件移动改为独立接口,扫描完成后手动触发 2025-07-29 21:18:35 +08:00
odboy 59b0206cf1 refactor: 合并 NSFW 数据到 media_info 表 2025-07-26 21:05:51 +08:00
odboy 95e6297076 feat: 添加 FEMALE_GENITALIA_COVERED 到敏感类别 2025-07-23 21:02:54 +08:00
odboy ed74c1e5fd fix: 降低 NMS 阈值到 0.01,保留更多低分数检测结果 2025-07-21 21:03:03 +08:00
odboy aaf791d2c8 fix: 修复 NMSBoxes 索引错误 2025-07-18 21:05:08 +08:00
odboy 8ac21e6941 feat: 降低 NSFW 检测阈值,显示更多检测结果 2025-07-15 21:11:04 +08:00
odboy f589592535 refactor: 移除二次元识别功能,增强 NSFW 检测 2025-07-12 21:04:52 +08:00
odboy 2778393e9d fix: 恢复标签文件 2025-07-09 21:16:53 +08:00
odboy 8dd1ff6865 fix: 修复二次元识别分数计算(添加 sigmoid 激活 + 修正标签格式) 2025-07-06 21:04:37 +08:00
odboy e77c2767c0 perf: 二次元识别换用轻量版 wd-vit-tagger-v3(340MB),推理速度提升约 4 倍 2025-07-04 21:16:08 +08:00
odboy 743c0aeb5c fix: 标签文件下载失败时给出明确错误提示 2025-07-01 21:03:47 +08:00
odboy 56ea606741 chore: 忽略 wd-tagger 大模型文件,首次启动自动下载 2025-06-28 21:14:27 +08:00
odboy 3af2bf70b4 feat: 二次元识别功能 + 模型目录整理(nwfs/wd-tagger 子目录),修复 wd-tagger 输入维度(NHWC) 2025-06-25 21:10:21 +08:00
odboy 4efa48f550 upd 2025-06-22 21:07:51 +08:00
odboy 957dfe1134 feat: 断点续传与色情识别提速/修复,支持 Linux 交叉编译
- feat: 新增续传表 scan_log,重扫跳过已归类文件(尺寸/头尾指纹校验)
- fix: 色情识别记录批量入库超 SQLite 999 变量上限,改每 100 条一批
- perf: NudeNet 检测改为多线程推理池(每线程独立模型实例)
- perf: 明暗分析 JPEG(YCbCr) 快路径;SQLite 读并发放开;加阶段耗时统计
- fix: 前端色情识别状态由后端如实上报(配置开关+检测服务是否起来)
- feat: ffprobe 内嵌按平台拆分,Linux 构建回退系统 ffprobe,支持交叉编译
- docs: README 补充断点续传与 CentOS 交叉编译步骤
- chore: organize.workers 默认 8
2025-06-19 21:07:35 +08:00
odboy ea134afa27 docs: 重写 README,清理老版本残留并同步当前功能 2025-06-17 21:17:12 +08:00
odboy f849b0fc21 docs: 图像类型分类+双鉴黄方案说明(x20260829.md) 2025-06-14 21:05:23 +08:00
odboy 01a268663f feat: 色情识别模型本地化(lib/320n.onnx),缺失时自动下载并回退自带模型 2025-06-11 21:15:24 +08:00
odboy d4f9dc362e feat: 色情识别结果可视化与日志;超长路径修复;旋转开关、明暗5档等 2025-06-08 21:07:42 +08:00
odboy c766a948da refactor: 移除 nsfw 中未使用的敏感类清单(单一来源在 server.py) 2025-06-05 21:08:32 +08:00
odboy a914b4be74 feat: 色情图片识别(NudeNet);明暗档位改为5档(20%~100%) 2025-06-02 21:04:38 +08:00
odboy ea88f3e766 feat: 扫描整理支持中止;存放目录始终创建 KMP已整理 层 2025-05-31 21:09:26 +08:00
odboy 0aa9d44025 perf: 并发worker数可配置(默认4)与MIME检测并行化 2025-05-28 21:16:15 +08:00
odboy cf8d991974 fix: EXIF解析越界与转正丢文件、.psb归类、日志接管panic恢复 2025-05-25 21:01:16 +08:00
odboy a2cded251a feat: 图片明暗分类改为子目录命名(图片_横屏_1080P/bright_20) 2025-05-22 21:06:06 +08:00
odboy 66faed75a2 feat: 增加 EXIF 旋转图片自动转正
- 解析 JPEG EXIF Orientation,方向 5/6/7/8 的竖拍横存图不再误入横屏目录
- 配置 ffmpeg 时用 ffmpeg 物理转正像素并保留原 EXIF;无 ffmpeg 时按显示方向归类
- 新增 ffmpeg.path / organize.rotateImages 配置项
- 补充 EXIF 解析与旋转幂等测试
2025-05-19 21:15:58 +08:00
odboy 0c96a7bb63 upd 2025-05-16 21:09:40 +08:00
odboy 7bc94ad42b chore: 添加 ffprobe.exe 可执行文件 2025-05-14 21:01:49 +08:00
odboy 8979c744a8 refactor: 全面重构代码并加白话注释,移动全局并行,去掉去向/重复记录
- 重构后端与前端,全程大白话注释(不懂程序也能看懂)
- 移动阶段改为全局并行(MoveAll,工人数=CPU核心数)
- 去掉记录每个文件搬去哪了(删除去向回填,解决写库卡顿)
- 去掉重复文件标记与统计:重复判定改为 MD5+路径都相同才算,重复则原地忽略不移动;MD5 相同但路径不同仍照常搬
- 媒体库去掉归类目录列,看板去掉重复/归类分布统计
2025-05-11 21:05:35 +08:00
odboy f915a9b1ac feat: 扫描整理并行化、WebSocket 实时进度与统计看板
- 移动阶段并行处理文件,按原子计数上报累计进度
- 扫描遍历阶段实时上报已发现文件数,界面不再卡在 0/0
- 新增 /api/scan/ws WebSocket 实时推送扫描状态;前端断线指数退避自动重连,并以低频轮询兜底
- 新增统计看板与媒体库筛选/排序,目录选择器路径不存在时回退到最近可用父目录
- 存放目录支持自定义并持久化,默认输出到 KMP已整理
2025-05-08 21:16:20 +08:00
odboy 36d7ecced8 upd 2025-05-05 21:13:46 +08:00
odboy 1a80129adb chore: ignore .idea directory 2025-05-02 21:01:26 +08:00
odboy d3a4cdb736 chore: remove unavailable LFS files (upx) and add gitignore 2025-04-29 21:06:36 +08:00
odboy 25798c364a upd 2025-04-27 21:07:37 +08:00
odboy 14056ba7b9 feat(scan): 添加自定义扫描目录选择功能
- 在扫描页面添加目录输入框和选择按钮
- 实现文件系统浏览器,支持Windows盘符和目录浏览
- 添加扫描目录参数传递到后端服务
- 显示当前扫描目录路径信息
- 修复前端空数组访问错误
- 更新文档说明扫描功能变化
2025-04-24 21:05:00 +08:00
odboy e053b378fb feat: 增加 Web 管理界面,扫描整理改为页面点击触发
- main.go 改为 Web 服务入口(Gin + 内嵌前端 dist + 自动打开浏览器)
- internal/service: 新增扫描整理后台任务,支持状态机与实时日志捕获
- internal/api: 新增统一响应、媒体列表/统计、扫描开始/状态接口
- internal/store: 追加 ListMedia/CountMedia/Stats 查询,MediaInfo 补 JSON tag
- internal/config: application.properties 配置加载(端口/数据库/自动开浏览器)
- frontend: Vue2 + ElementUI + Vite 工程,含扫描整理/统计看板/媒体库三页
- build.sh 整合前端构建,输出单一 kenaito-media-picker.exe
2025-04-21 21:08:02 +08:00
odboy 767b093b45 docs(report): 删除代码审查问题报告文件 2025-04-18 21:11:38 +08:00
odboy 7e49accf2b fix: BMP头解析、移动语义与空文件处理
- probe/bmp: 兼容 BITMAPCOREHEADER(12B) 等 info 头变体,按 Size 字段分支解析
- mover: moveOne 返回三态结果,复制成功但删源失败时明确告警,不再静默视为完全成功
- scanner: 跳过 0 字节文件,避免空文件进入 MIME/ffprobe 探测
2025-04-15 21:05:26 +08:00
odboy a667f7fa35 fix: 重复文件归类、图片探测与明暗分析健壮性
- organize/store: 按 MD5 去重,重复图片/视频/音频统一移入「重复文件」目录,不再覆盖已有记录
- probe/image: webp/bmp/psd/psb 专用解码失败后走 ffprobe 兜底,与通用路径一致
- probe/brightness: 大图内存缩放为缩略图再分析明暗,超4000万像素跳过分析防OOM
- README: 补充重复文件目录说明,修正 Go 版本为 1.25.0
2025-04-12 21:02:16 +08:00
odboy 39fe02b424 fix: 未知 MIME 文件不再被移入忽略目录
- scanner: 新增 IsExplicitMediaMime 判断明确媒体 MIME
- organize: 仅 video/audio MIME 文件移入异常/忽略目录
- octet-stream/空 MIME 且 ffprobe 无法确认的文件原地忽略,不移动
2025-04-10 21:05:14 +08:00
odboy c266da2858 fix: 修复扫描/探测/移动三个健壮性问题
- scanner: filepath.Ext 替代 path.Ext,修复 Windows 点号目录名扩展名解析错误
- scanner: Walk 遇不可访问路径仅告警跳过,不再整体中止扫描
- probe: ffprobe 探测增加 30s 超时,避免损坏文件卡死程序
- mover: copyFile 失败时清理半截目标文件,消除双重 Close
- 新增代码审查报告 bug20260814.md
2025-04-07 21:00:37 +08:00
odboy b812abd345 refactor(probe): 统一内嵌 ffprobe 为 Windows 版本
- 删除 macOS 和非 Windows 平台的内嵌 ffprobe 实现
- 移除 build.sh 中针对不同操作系统的构建逻辑
- 更新 README.md 中关于多平台 ffprobe 内嵌的说明
- 修改 SkipNames 列表,移除对 ffprobe_mac 的跳过配置
- 将内嵌的 ffprobe 统一为 Windows 版本 (ffprobe.exe)
2025-04-04 21:08:45 +08:00
odboy 13bb195e1d refactor(classify): 重构图片明暗分类逻辑
- 移除固定的明暗阈值等级数组,改用动态分档机制
- 引入 neutralMargin 常量,当两分差幅小于 0.15 时视为中性图
- 修改 BrightnessName 函数,实现三分法分类:bright_N、dark_N、mid
- 新增 brightnessTier 辅助函数,将占比分档到最接近的 10%
- 完全透明的像素(alpha=0)不再参与明暗统计计算
- 更新错误提示信息,明暗分析失败时按中性 mid 归类
- 调整 README 文档描述,同步更新明暗分类规则说明
2025-04-01 21:07:48 +08:00
odboy 99b9460bcd feat(classify): 添加图片明暗分类功能
- 修改 ImageDir 函数增加 darkScore 和 lightScore 参数
- 实现 BrightnessName 函数计算明暗等级
- 定义暗色和亮色阈值等级数组
- 在 organize.go 中集成图片明暗分析逻辑
- 使用 ITU-R BT.601 公式计算像素亮度
- 为大图实现自动采样加速分析
- 更新 README.md 文档说明明暗分类算法
- 在目录结构中体现明暗等级命名规则
2025-03-29 21:11:14 +08:00
odboy 4da4b738e6 refactor: 按模块重构项目结构
- 删除 vars 全局状态,按职责拆分 internal/ 包:scanner/probe/classify/organize/mover/store/digest
- 数据驱动归类规则替代图片/视频重复分支,store 改为结构体实例
- build.sh 按系统类型编译:Windows 用 upx 压缩,macOS/Linux 不压缩
- 忽略目录拆分:图片_已忽略 / 视频_已忽略
- 输出构建产物加入 .gitignore
2025-03-26 21:08:12 +08:00
odboy 26cbd5bb27 feat(core): 非标分辨率改为每1024px一档并扩展至19K 2025-03-24 21:05:52 +08:00
odboy 066e28a2d6 feat(core): 优化媒体文件扫描和处理功能
- 添加跳过ffprobe相关文件的逻辑,避免处理临时释放文件
- 修复图片处理中的变量引用错误
- 实现大文件指纹复用机制,避免重复全量读取计算MD5
- 新增文件头尾采样指纹算法,提升大文件处理性能
- 重构ffprobe内嵌资源管理,支持多平台自动选择对应版本
- 添加媒体信息数据库的指纹索引和去向跟踪功能
- 优化程序启动流程,失败时跳过媒体整理但保留图片处理
- 更新文档说明多平台ffprobe支持和构建要求
2025-03-21 21:00:59 +08:00
odboy b276e8c56f feat(core): 添加PSD/PSB图片格式支持并重构媒体文件处理
- 新增ReadPsdImage函数支持PSD/PSB格式图片信息读取
- 修改文件扫描逻辑,将视频处理改为媒体候选处理,使用ffprobe统一判定
- 添加对PSB格式的支持,与PSD共享相同8BPS文件头处理
- 重构handle_image.go中的图片处理逻辑,优化错误处理和记录保存
- 更新文件扫描过滤规则,支持更多图片格式并跳过数据库文件
- 添加文件MD5计算功能用于文件唯一性标识
- 修改媒体处理流程,支持音频文件识别和分类处理
- 移除废弃的视频时长转换函数和相关依赖
- 更新依赖版本并添加SQLite支持用于媒体信息存储
2025-03-18 21:04:15 +08:00
odboy f5e3f6b4ef fix: 修复媒体整理中的文件覆盖、BMP解析与重复整理问题
- 移动文件改用 uuid+原文件名,避免同名覆盖丢失数据
- BMP 负高度取绝对值,自顶向下格式解析正确
- 新增 {目录名}-picker 白名单输出目录,整理后跳过重复扫描
- 分类目录名去掉 uuid 前缀,重复运行并入已有目录
2025-03-15 21:17:24 +08:00
odboy 0ebd84d3fe refactor: GIF 单独归类、跨文件系统复制回退与异常处理优化 2025-03-12 21:01:04 +08:00
odboy 9ed579d04e docs: 重写 README,同步图片/视频分类整理功能 2025-03-09 21:19:48 +08:00
odboy 97bc1d854a Merge remote-tracking branch 'origin/main' 2025-03-07 21:11:06 +08:00
odboy 85135d0a15 refactor: 重构项目并更改名称为 kenaito-media-picker- 更新了所有文件中的包名引用,从 ImageVideoResolutionPickerTool 改为 kenaito-media-picker
- 修改了 build.sh脚本中的文件名
- 更新了 go.mod 文件中的模块名- 调整了 README.md 文件的格式和内容
2025-03-04 21:07:22 +08:00
odboy e530630f83 Update LICENSE 2025-03-01 21:14:04 +08:00
odboy 2873327ba5 upd:编码规范 2025-02-26 21:14:42 +08:00
odboy b1d07345b1 Update main.go 2025-02-23 21:10:12 +08:00
odboy 8ac42a958b feat:支持jfif图片,忽略后缀大小写 2025-02-20 21:19:11 +08:00
odboy 6993afaed1 upd 2025-02-18 21:13:49 +08:00
odboy 42be232719 upd 2025-02-15 21:06:59 +08:00
odboy e43f35162e Delete ImageVideoResolutionPickerToolRelease.exe 2025-02-12 21:18:43 +08:00
odboy 2dbeff5d3a Create ImageVideoResolutionPickerToolRelease.exe 2025-02-09 21:02:30 +08:00
odboy 41d5c9825e upd 2025-02-06 21:16:24 +08:00
odboy faee99c873 feat:图片整理 2025-02-03 21:11:47 +08:00
odboy 0e83c9e6b1 feat:视频动态整理 2025-02-01 21:14:25 +08:00
odboy e216f3581f Delete OdMediaPickerRelease.exe 2025-01-29 21:02:57 +08:00
odboy 1fbd99249e Revert "feat: remove OdMediaPickerRelease.exe"
This reverts commit 509964e827.
2025-01-23 21:10:48 +08:00
odboy e83501ebf2 feat: remove OdMediaPickerRelease.exe 2025-01-20 21:13:31 +08:00
odboy 49f035b1d6 upd:doc 2025-01-17 21:01:28 +08:00
odboy e4402afa9c Merge remote-tracking branch 'origin/main' 2025-01-15 21:13:51 +08:00
odboy 6f2053aa8e upd 2025-01-12 21:00:45 +08:00
odboy e742b46872 更新 README.md 2025-01-09 21:14:51 +08:00
odboy e0cf31f715 upd 2025-01-06 21:19:23 +08:00
odboy 5e6b274531 更新 README.md 2025-01-03 21:17:54 +08:00
odboy 4fcb55afb8 Initial commit 2025-01-01 21:02:13 +08:00