Skip to content

0.8.0 音乐播放器上线,列表视图与批量导入全面升级!

Choose a tag to compare

@github-actions github-actions released this 26 Oct 08:20
· 10 commits to main since this release

0.8 是一次大版本更新:新增音乐播放器、列表视图和 OneDrive 云存档,重做批量导入与资源识别,并大幅优化大库性能。

本次重点:

  • 音乐:标签页内的完整播放器,歌单搜索、随机/循环、歌词和快捷键
  • 列表:资源页可切换网格/列表,列表按资源管理器样式显示,分页条和工具栏重新排布
  • 导入:批量导入支持文件/文件夹模式、类型筛选、分类排除、两栏布局和结果图标
  • 识别:隐藏标记文件 + 相同资源判定,改名、移动、换盘后也能找回原记录
  • 云存档:设置 → 存档数据可开启 OneDrive 云存档
  • 性能:游戏/漫画页打开更快,缩略图缓存、分批加载、按条保存
  • 其他:公共创意工坊、VR 字段、游戏类型、伪装/安全键、解压进度条

新功能

音乐播放器

  • 音乐改为在标签页里打开,播放器铺满整个窗口:左边是播放列表,右边是封面、信息和控制栏
  • 播放列表可以搜索歌曲,支持顺序播放、随机播放和单曲循环
  • 快捷键:空格暂停或继续,左右方向键前后跳 5 秒,上下方向键调音量,M 静音
  • 音乐文件旁如果有同名的 .lrc,会自动读出来显示歌词,并高亮当前这一句;点任意一行会直接跳到那一句开始播放
  • 有歌词时右侧显示歌词面板,没有歌词时照常显示资源描述;窗口变窄时歌词和封面会自动重排

列表视图与分页

  • 资源页右上角可以在网格和列表之间切换;列表像 Windows 资源管理器一样一行一条,显示名称、开发商、游玩或使用时长、最后游玩时间和文件大小
  • 每个页面会记住上次的显示方式,切到别的页面再回来还是上次的样式
  • 分页条改成一行显示:范围、首页、上一页、页码、下一页和尾页横向排开,翻页按钮停在分页条正中间
  • 网格/列表切换和排序收进分页条右侧,工具栏只保留添加、搜索和多选
  • 页码跳转改成「当前页 / 总页数」的写法,输入页码后按回车即可跳转

批量导入

  • 可以在文件模式和文件夹模式之间切换。文件夹模式只收图片文件夹、视频文件夹、音频文件夹等,某一层直接含有所选内容就收这一层,不再把里面的文件拆开导入;合集目录本身没有内容时会继续往下找
  • 可以勾选这次要搜索的文件类型,比如只搜 exe、swf、bat
  • 排除文件改成按分类勾选:Unity、Unreal、Ren'Py/Python、Electron、运行库、安装卸载等常见程序一次跳过,Tool、lib 这类工具和运行库目录也能整层跳过
  • 自定义排除除了直接写名字,还能用 folder: 只排除文件夹、folder:= 只排除同名文件夹,避免误伤同名的文件
  • 默认勾选「本层找到匹配文件后,不再进入子文件夹」,游戏文件夹第一层有启动程序时,就不会再把 bin、Tool 深处的 exe 当成另一个资源
  • 窗口改成左右两栏:左边是搜索条件、文件类型和排除名单,右边显示搜到的结果
  • 结果前面会显示文件图标:exe 和快捷方式用程序自带的图标,压缩包、bat、swf、图片、视频、音乐等使用内置图标
  • 点「确认导入」后窗口会留在原地显示正在导入第几个文件,导入结束或失败后再关闭;资源先放进列表,文件夹大小改在后台补算

资源标记与找回

  • 资源旁边可以写隐藏标记文件:文件夹写 .grm-resource.json,单个文件写 .grm-<文件名>.json,压缩包内部不会被修改
  • 标记文件默认开启;设置 → 通用可以关闭,关闭前会提醒:移动或改名后再导入可能认不回原记录
  • 拖入或批量导入带标记的资源时,会按标记里的资源编号在所有页面里找回原记录;旧路径已经不存在时直接把原记录改到新路径,不再弹窗询问
  • 设置 → 通用新增「相同资源判定」,可以勾选文件名、上一级文件夹、忽略盘符的路径、文件大小和内容指纹等条件,选择全部满足或任意满足,也提供宽松、标准、严格、精准和按内容五个预设
  • 匹配到多条旧记录时不再自动改第一条,而是提示无法确定;内容指纹继续作为改名和搬家的兜底
  • 进入页面检测文件时,会给已经存在但还没标记的资源补写标记;关闭标记功能后不再读写标记文件

OneDrive 云存档

  • 设置 → 存档数据新增「云存档」开关:开启后每次保存都会把存档数据库复制到本机 OneDrive 文件夹里的 GreenResourcesManager,由 OneDrive 自己上传
  • 只同步存档数据库,封面和资源文件仍留在本地,避免把整个资源库传上云
  • 设置页会显示是否找到 OneDrive;没有安装或登录时会提示,也可以直接打开云存档文件夹
  • 存档位置、云存档和自动备份集中到「存档数据」分类,和通用设置分开

创意工坊与帮助

  • 创意工坊接入公共目录,可以像 Obsidian 社区插件一样浏览并一键安装社区插件
  • 帮助页新增「AI Skills」,列出存档、API 和创意工坊的 skill,每条有简介,旁边可以打开对应文件夹

游戏与漫画

  • 游戏页新增「是否 VR 游戏」,编辑时只能选是或否,左侧筛选也会列出这两项,没填过的游戏算否
  • 标成 VR 的游戏,卡片左上角会显示 VR 标志,和压缩包标志同一排
  • 游戏页默认多一个「游戏类型」标签字段,可以筛选;它写在页面配置里,不写进游戏类
  • 漫画页拖入 zip、cbz 压缩包时,会自动取压缩包里的第一张图片当封面,和拖入图片文件夹一样

侧边栏与解压

  • 侧边栏左下角新增伪装模式的快速开关,常驻在导航底部,不用进设置页也能一眼看到当前状态
  • 左下角分成左右两块:左边是伪装模式,右边是安全键;打开安全键后,按设置里的快捷键会快速最小化并打开安全网页
  • 右键解压新增进度条:显示百分比、当前正在尝试的密码或正在解压的文件;拿不到百分比时显示滚动条,不再像卡住

体验优化

性能

  • 大幅优化游戏页和漫画页的打开速度:截图文件夹只扫一次,卡片的截图封面滚到附近才加载,几千张截图时不再卡住页面
  • 漫画页和游戏截图预览改用主进程生成并缓存的缩略图,不再把整张原图读进内存;本地封面直接走 file 地址
  • 修改星级、收藏、游玩时长、访问记录等只保存改动的那一条资源,不再整页序列化和重写数据库
  • 封面入库、文件检测、页数统计等任务延后到首屏显示之后执行,资源很多时也能先看到列表
  • 漫画页数和番剧视频数会写回存档,下次进入页面不用重新统计
  • 文件存在性改成一次批量检查,文件夹大小和游戏引擎补全只保存真正变动的资源
  • 资源数据分批还原,几千条资源时界面不会长时间无响应
  • 内容指纹和搬家搜索改为异步读取文件,计算大文件夹指纹时窗口不再整体卡住
  • 批量导入一次搜到很多程序时,程序图标只在滚到附近时才读取,列表不会因为取图标卡住

导入与资源管理

  • 导入时遇到需要更新路径的资源会直接处理并继续后面的文件,全部处理完再汇总提示新增、找回、重复和失败的数量
  • 资源编号能对上但旧路径仍然存在时,按重复资源跳过;没有见过的标记编号会被新资源沿用,之后再移动也能认回来
  • 拖入或批量导入资源时按设置里的规则检查当前页面:对方文件还在就提示已存在,旧文件丢失且只有一条匹配记录时自动更新路径
  • 文件夹改名或整体移动后,进入页面时也会按标记自动更新路径
  • 封面和截图收进同一种资源自己的文件夹:游戏封面和截图都在 Game 里,漫画在 Image,电影在 Video,番剧在 AnimeSeries,不再拆成两套目录
  • 拖入视频文件夹后,详情下面会列出里面的视频,不再只显示数量;每个视频会自动截一帧当封面
  • 删除资源后,左侧标签数量会变成剩下的使用数,没有人引用时显示 0,标签本身仍留在左侧和标签管理里
  • 本地存档页去掉了「转换旧存档为新存档」入口,现在的存档已经是新格式

界面细节

  • 分页条在上一页左边增加回到首页,在下一页右边增加回到尾页;已经在首页或尾页时,对应的按钮不可点
  • 左侧筛选和右侧资源各自滚动,其他筛选放在最上面,丢失的资源也在这一组里
  • 设置页左侧导航去掉了顶部的标题栏,分类直接从最上面开始,给导航多留一点空间
  • 侧边栏左下角的伪装模式和安全键各只占一行:左边是名称,右边是开关

bug 修复

  • 帮助页可以滚到最底下,正文在自己的区域内滚动,最后一条不会被裁掉
  • 吉里吉里游戏按截图键会马上有反应;窗口内部抓不到画面时改为截屏幕上的这块窗口,不再一直挂到退出后存下一张黑图
  • 批量导入点「确认导入」后不再像没反应,窗口会显示正在导入第几个文件,导入结束或失败后再关闭
  • 同一个文件夹里的多个程序只扫一次内容指纹,批量导入几十个游戏时不再把主进程 CPU 占满
  • 程序直接放在盘符根目录时不再扫整块磁盘算文件夹大小,退回按程序文件本身大小计算
  • 把 mp3 拖进音乐页不再报 Cannot set property playCount 的错,可以正常导入
  • 视频详情页反复点「随机封面」不再每次都往存档里写一张图,只有保存后实际使用的那张会留下,旧封面会被清掉
  • 修复公共工坊目录地址指向错误,打开在线工坊时一直提示 HTTP 404 的问题
  • 修复旧文件丢失时按文件名找回只取第一条,可能把新文件改到错误记录上的问题
  • 打进 app.asar 的 TyranoScript 游戏也能识别出引擎
  • Kirikiri Z 改为看主程序产品名里的 TVP(KIRIKIRI) Z core,不再靠目录里的零碎文件猜
  • 进入页面时文件不存在只提示一次

0.8 is a major update: a full music player, list view, OneDrive cloud saves, a rebuilt batch importer, smarter resource matching, and major performance work for large libraries.

Highlights:

  • Music: a complete player in a tab, with playlist search, shuffle/repeat, lyrics, and keyboard shortcuts
  • Lists: switch between grid and list on any resource page; the list shows name, developer, play/use time, last played time, and file size
  • Import: file/folder modes, type filters, category-based exclusions, a two-column layout, and result icons
  • Identity: hidden marker files and configurable same-resource rules help find the original record after renames, moves, or drive changes
  • Cloud saves: enable OneDrive cloud save under Settings → Save Data
  • Performance: faster game and manga pages, cached thumbnails, batched loading, and per-row saves
  • Also: public workshop, VR fields, game type, disguise/safe key, and extraction progress

Features

Music player

  • Music now opens in a tab, with the player filling the window: playlist on the left, cover, info, and controls on the right
  • Search the playlist, and play in order, shuffle, or repeat one
  • Shortcuts: Space to pause/resume, Left/Right to seek 5 seconds, Up/Down to adjust volume, M to mute
  • If a same-named .lrc file sits next to the track, lyrics load automatically with the current line highlighted; click any line to jump there
  • The right panel shows lyrics when available and the resource description otherwise; lyrics and cover reflow when the window is narrow

List view and pagination

  • Resource pages can switch between grid and list from the top-right corner; the list uses a Windows Explorer-style row layout showing name, developer, play/use time, last played time, and file size
  • Each page remembers its last display mode
  • The pagination bar is now a single row: range, first, previous, page numbers, next, and last, with the page buttons centered
  • Grid/list and sorting moved to the right side of the pagination bar; the toolbar keeps only Add, Search, and Multi-select
  • Page jumping now uses "current / total"; type a page number and press Enter

Batch import

  • Switch between file mode and folder mode. Folder mode collects image, video, and audio folders; when a folder directly contains the selected content, it is imported as one item instead of being split apart, and collection folders without content are skipped while searching deeper
  • Choose which file types to search for, such as exe, swf, or bat only
  • Exclusions are now grouped by category: skip Unity, Unreal, Ren'Py/Python, Electron, runtimes, installers/uninstallers, and whole Tool/lib folders in one go
  • Custom exclusions support folder: to exclude folders only and folder:= to exclude same-named folders only, avoiding accidental matches on files
  • "Stop descending once this level matches" is on by default, so game folders with a launcher at the top no longer surface exes deep inside bin or Tool as separate resources
  • The window is now two columns: search conditions, file types, and exclusions on the left; results on the right
  • Results show file icons: exe files and shortcuts use their program icon, while archives, bat, swf, images, videos, and music use built-in icons
  • After clicking Import, the window stays open and shows which file is being imported; resources are added first and folder sizes are calculated in the background

Resource markers and recovery

  • Resources can carry hidden marker files: .grm-resource.json for folders and .grm-<filename>.json for individual files; archives are never modified
  • Markers are on by default and can be disabled under Settings → General, with a warning that moved or renamed resources may no longer be recognized
  • When importing a marked resource, the app looks up its resource ID across all pages; if the old path is gone, the original record is moved to the new path without a prompt
  • Settings → General now has "Same resource rule": choose criteria such as file name, parent folder, path ignoring the drive letter, file size, and content fingerprint, combine them with all/any, and use the loose, standard, strict, precise, or content preset
  • When multiple old records match, the app no longer picks the first one; it reports that the match is ambiguous, with content fingerprints as the fallback
  • Existing resources get markers backfilled during page checks; when markers are disabled, they are no longer read or written

OneDrive cloud saves

  • Settings → Save Data now has a "Cloud save" toggle: after each save, the save database is copied into GreenResourcesManager in your local OneDrive folder, and OneDrive uploads it
  • Only the database is synced; covers and resource files stay local, so the whole library is not uploaded
  • Settings shows whether OneDrive was found, with a hint when it is missing and a button to open the cloud save folder
  • Save location, cloud save, and automatic backups are grouped under Save Data, separate from General

Workshop and help

  • The workshop now connects to a public directory, so community plugins can be browsed and installed with one click, similar to Obsidian community plugins
  • The help page adds "AI Skills", listing save, API, and workshop skills with descriptions and buttons to open their folders

Games and manga

  • Games now have an "Is VR" field with yes/no only; the sidebar can filter by it, and unset games count as no
  • VR games show a VR badge in the top-left corner of the card, in the same row as the archive badge
  • The games page now includes a "Game type" tag field by default, filterable and stored in the page config rather than the game class
  • Dropping a zip or cbz onto the manga page now uses the first image inside as the cover, just like dropping an image folder

Sidebar and extraction

  • A disguise-mode quick toggle now sits at the bottom-left of the sidebar, always visible
  • The bottom-left area is split into disguise mode on the left and a safe key on the right; with the safe key on, the configured shortcut quickly minimizes the app and opens a safe web page
  • Right-click extraction now shows progress: percentage, the password being tried, or the file being extracted; an indeterminate bar appears when no percentage is available

Improvements

Performance

  • Game and manga pages open much faster: screenshot folders are scanned once, and screenshot covers load lazily near the viewport, so thousands of screenshots no longer freeze the page
  • Manga pages and game screenshot previews use thumbnails generated and cached by the main process instead of loading full images into memory; local covers use file URLs
  • Changing rating, favorite, play time, or visit records now saves only that one resource instead of serializing and rewriting the whole database
  • Cover indexing, file checks, and page counting now run after the first screen renders, so large libraries show their list sooner
  • Manga page counts and anime video counts are written back to the save, so they are not recounted on every visit
  • File existence is checked in one batch; folder sizes and engine detection only save resources that actually changed
  • Resource data is restored in batches, so thousands of resources no longer leave the UI unresponsive
  • Content fingerprints and move searches read files asynchronously, so hashing large folders no longer freezes the window
  • Batch import reads program icons only near the viewport, keeping long result lists responsive

Import and resource management

  • Path updates during import are handled immediately and continue with the remaining files; a summary at the end reports added, recovered, duplicate, and failed counts
  • If a resource ID matches but the old path still exists, it is skipped as a duplicate; an unknown marker ID is adopted by the new resource so future moves can still be recognized
  • Drag and batch imports check the current page using the configured rules: an existing file is reported as already present, and a single matching record with a missing file is updated automatically
  • Renamed or moved folders are recognized by their markers and updated when the page is opened
  • Covers and screenshots now live in each resource's own folder: games in Game, manga in Image, movies in Video, and anime in AnimeSeries instead of two separate trees
  • Dropping a video folder now lists its videos in the details panel instead of only showing a count, and each video gets a frame captured as its cover
  • After deleting a resource, sidebar tag counts drop to the remaining usage and show 0 when unused, while the tag stays in the sidebar and tag manager
  • The local save page no longer offers "Convert old save", since saves are already in the new format

Interface details

  • The pagination bar adds First before Previous and Last after Next; those buttons are disabled when already at the first or last page
  • The sidebar filters and resource area now scroll independently, with other filters and missing resources grouped at the top
  • The settings sidebar no longer has a title bar at the top, leaving more room for categories
  • Disguise mode and the safe key each take one row at the bottom-left of the sidebar, with the name on the left and the switch on the right

Bug fixes

  • The help page can now scroll to the bottom; content scrolls in its own area and the last item is no longer clipped
  • Kirikiri games respond immediately to the screenshot shortcut; when the window cannot be captured internally, the app captures that window from the screen instead of hanging and saving a black frame on exit
  • Batch import no longer looks unresponsive after clicking Import; the window shows which file is being processed and closes when the import finishes or fails
  • Multiple programs in the same folder share one content fingerprint scan, so importing dozens of games no longer pegs the main process CPU
  • Programs placed directly in a drive root no longer trigger a full-disk size scan; the app falls back to the program file's own size
  • Dragging an mp3 into the music page no longer throws Cannot set property playCount
  • Repeatedly clicking "Random cover" on a video no longer writes an image to the save every time; only the cover actually used after saving remains, and old ones are cleaned up
  • Fixed the public workshop directory URL, which caused HTTP 404 errors when opening the online workshop
  • Fixed filename-based recovery of missing files picking only the first match and potentially attaching a new file to the wrong record
  • TyranoScript games packed inside app.asar are now detected correctly
  • Kirikiri Z detection now checks the main executable's product name for TVP(KIRIKIRI) Z core instead of guessing from scattered files
  • A missing file is reported only once when entering a page

完整更新记录 / Full changelog: v0.7.8...v0.8.0