Releases: Roseannepark0211/Lumio
Release list
4.4.2
✨ 新功能
[插件 ext-v4.4.6] IG carousel(多图帖子)自动翻页提取完整图片:模拟点击"下一张"按钮逐张翻页去重合并,突破 IG DOM 仅渲染当前+相邻 slide(约 4 张)的限制 [API 行为变更]
[主程序 V4.4.2] Inbox 状态随下载任务终态自动同步:完成→downloaded、失败→failed、取消→new(可重新下载),通过 task_id↔inbox_item_id 映射在 task_status_changed 回调中更新 [API 行为变更]
🐛 Bug 修复
[主程序] 修复素材文件缺失时弹出多次删除确认对话框:MediaPreviewDialog 移除内嵌删除按钮与 isFileMissing 状态,由 LibraryPage 通过 listPreviewItems 预检查 + 后端 file_missing 事件统一弹一次确认
[主程序] 修复托盘菜单频繁重连导致"连接中…"闪烁:WS 已连接时仅刷新 queue/inbox 业务数据,未连接才调 loadAll 重建连接
[主程序] 修复 TS 编译失败:移除 MediaPreviewDialog 中未使用的 isFileMissing 字段与 onDeleteMissingRecord 方法
[插件 ext-v4.4.5] 修复右键菜单对抖音 modal_id 模式、m.weibo.cn、weibo.com/detail/{id} 误判为非详情页导致不触发元数据提取:改用 shared/detailPage.ts 统一判定
🔨 重构(插件)
[插件 ext-v4.4.6] 移除诊断采集工具:删除 shared/diagnose.ts(1402 行)+ SettingsGear.tsx 诊断 UI(164 行)+ content/index.ts 消息处理,累计减少约 1583 行代码
[插件 ext-v4.4.5] 共享代码去重:将 contextMenus.ts 的 isDetailPageUrl / platformLabel 提取到 shared/(platformLabels.ts + detailPage.ts),消除 background 与 popup 之间重复维护的映射表
[插件 ext-v4.4.5] IG 提取器路径规范化:ig_extract.ts → platforms/instagram.ts,统一 platforms/ 目录命名
[插件 ext-v4.4.5] tsconfig 清理:composite 模式仅为 vite.config.ts / manifest.config.ts 生成 .d.ts,移除 scripts 目录引用
[插件 ext-v4.4.6] 微博提取代码注释脱敏:真实 uid/post_id 替换为 {uid}/{post_id} 占位符
(无)
📦 安装说明
主程序:V4.4.1 → V4.4.2,electron-builder 输出目录改为 release4
浏览器扩展:ext-v4.4.0 → ext-v4.4.6,版本号独立,重新加载插件即可
升级建议:IG 多图帖子用户请优先更新插件以获得完整 carousel 提取能力
4.4.1
release: V4.4.1
修复内容
- 修复 YouTube 视频已存在时下载队列卡在"合并中"的 bug
- 根因:glob(f"{stem}.*") 用 fnmatch 模式匹配,方括号 [4K]/[1080p] 被解释为字符集
- 修复:改用 iterdir() + startswith() 做字面量匹配,覆盖 4 处下载路径
- 修复 skip 策略分支未设置 task.filename 导致 on_done 判定失败无限重试
- 修复托盘右键菜单偶发"未连接"状态
- fetch 无超时导致卡死:添加 AbortController 4 秒超时
- 重试次数不足:3 次/1.5s 改为 8 次/1s(覆盖 FastAPI 冷启动 10s+)
- 先用 /api/health 探活再拉业务数据
- tray:reload 立即显示"加载中"避免残留旧内容
- 菜单隐藏时停止轮询和重试定时器
- 修复主页粘贴按钮无法读取剪贴板(迁移架构时引入)
- 根因:64 位 Windows 上 ctypes 默认 restype=c_int(32 位)
GetClipboardData/GlobalLock 返回 64 位指针被截断 → 访问违例 0xC0000005 崩溃 - 修复:显式设置 restype=wintypes.HANDLE/LPVOID,添加 GlobalLock/GlobalUnlock 配对
- 添加 OpenClipboard 失败重试(剪贴板被其他程序锁定时)
- 根因:64 位 Windows 上 ctypes 默认 restype=c_int(32 位)
- 修复 CI 测试失败:TaskStatus 枚举测试同步新增 MERGING/PARSING 状态
4.4.0
✨ 新功能
架构迁移完成:从 QML 单体架构完整迁移至 Electron + React + FastAPI 双进程架构,前端 8 个页面全部 React 化
左侧固定 Sidebar 导航:替代顶部 tab,含红点徽章(1-9 圆点 / 10-99 胶囊 / ≥100 显示 99+)
Liquid Glass 设计语言:3D 字标 + 蓝青色主题 + 柔和光球 + 大圆角,整体克制的高端质感
系统托盘菜单:自定义 BrowserWindow 实现 Liquid Glass 风格托盘菜单 + 关闭确认弹窗(最小化/退出/取消)
内置媒体预览对话框:图片缩放/平移/多图切换 + 视频/音频播放器 + 缩略图三级回退
小红书 Live Photo 支持:实况图返回图片+视频双项,前端蓝色横幅提示 + LIVE 徽章标识
Collection 智能操作:素材卡片右下角按钮根据视图自动切换(全部/收藏视图显示「📁+」加入菜单,具体分类视图显示「✕」直接移除)+ Collection 右键菜单支持重命名/删除
前端 i18n 双语:全页面接入中英即时切换,延迟加载避免首屏阻塞
主题切换:Light/Dark 主题持久化,切换时 unpolish/polish 强制刷新
自动更新机制:electron-updater + UpdateDialog 弹窗 + 后台下载 + 重启安装提示;macOS 不支持自动重启时回退手动下载
CI/CD 自动发布:GitHub Actions 三平台矩阵构建(windows-x64 / macos-arm64 / linux-x64),--publish always 自动上传 Release
跨平台原生安装包:Windows NSIS(安装向导+路径选择+卸载清理)+ macOS DMG(x64/arm64 分架构)+ Linux AppImage/deb/rpm
lumio-file:// 自定义协议:本地视频流式播放(支持 Range 请求)+ MIME 推断 + bypassCSP
⚡ 性能优化
启动速度:splash 秒开 + FastAPI spawn 前移到模块顶层与 Electron 主进程并行启动(节省 1-3 秒)+ React 页面延迟到 FastAPI ready 后加载避免首次 fetch 失败
V8 调优:--max-old-space-size=2048 --gc-interval=100 限制老生代堆上限提高 GC 频率
Chromium 启动开关裁剪:关闭 extensions/plugins/background-networking/default-apps/hang-monitor/PDF 子进程等不需要的子系统
thumb-proxy 深度优化:CDN 失败返回 1x1 透明 GIF(避免 502 抛异常破坏 CORS)+ persist 缓存分级(素材库/历史页持久化,临时预览仅内存)
虚拟列表:长列表用 react-window 虚拟滚动,避免 DOM 节点爆炸
WebSocket 增量更新:避免全量轮询,事件驱动刷新
横向列表滚动优化:移除 scroll-behavior: smooth / will-change: transform / 过度 contain,添加固定宽高 + decoding="async" + overscroll-behavior-x: contain
安装包体积:compression: "maximum" + asar: true,安装包从 ~600MB 降至 ~140MB
🏗️ 架构迁移
PySide6 依赖剥离:业务 manager(Download/History/Library/Inbox/Notification)全部剥离 QObject/Signal,纯 Python 实现
数据库迁移机制:PRAGMA user_version + migrations/ 目录 + 启动时自动迁移
PyInstaller + electron-builder 联合打包:Python 后端打包成 LumioAPI.exe,electron-builder 通过 extraResources 嵌入安装包
FastAPI 包装层:零业务逻辑改动,只读现有 manager,WebSocket 推送进度/事件
动态端口 + Token 鉴权:每次启动随机端口(38910-38999)+ 48 字符 hex token,防止本机其他进程误调
IPC 通信:sandbox 模式下用 ipcRenderer.sendSync 同步获取 FastAPI 配置,避免 preload process.env polyfill 限制
后端去重:_yt_opts 统一到 utils/yt_opts.py + Apify 死代码清理 + 重复 IG/X helper 函数合并
配置路径分流:dev 模式写项目目录缓存,packaged 模式用平台默认 userData 路径(符合各平台惯例)
目录隔离回滚保护:新代码全部在 frontend/ 和 api_fastapi.py,删除即回滚到 QML 版本
抖音超高清原画档位(60帧 H.265)仍需 app API 或登录态,web API 无法获取
X GraphQL API query ID 会定期轮换,422 报错时需从 yt-dlp 源码更新硬编码
📦 安装说明
Windows:下载 Lumio-Setup-4.4.0.exe(~140MB),双击按向导安装
macOS:根据架构下载 Lumio-4.4.0-arm64.dmg(Apple Silicon)或 Lumio-4.4.0-x64.dmg(Intel)
Linux:下载 Lumio-4.4.0.AppImage(直接运行)/ .deb(Debian 系)/ .rpm(RedHat 系)
首次启动会显示 splash 加载页(3-8 秒),FastAPI 后端就绪后自动进入主界面
已安装旧版本的用户可通过应用内「检查更新」自动下载并安装新版本
v3.1.1
Lumio v3.1.1
内容采集与素材管理桌面工具。
下载
| 系统 | 文件 | 说明 |
|---|---|---|
| Windows x64 | Lumio-Windows-x64.zip |
解压后运行 Lumio.exe |
| macOS | Lumio-macOS.tar.gz |
解压后运行 Lumio |
| Linux x64 | Lumio-Linux-x64.tar.gz |
解压后运行 ./Lumio |
系统要求
- Windows: Windows 10/11 x64
- macOS: macOS 12+ (Intel/Apple Silicon)
- Linux: Ubuntu 20.04+ / Fedora 36+ x64
安装说明
- 下载对应系统的压缩包
- 解压到任意目录
- 运行
Lumio可执行文件
Windows 用户: 首次运行可能弹出 SmartScreen 警告,点击「更多信息」→「仍要运行」即可。本工具未购买代码签名证书,所有文件均开源可查。
pip 安装(需要 Python 3.10+)
pip install lumio
lumio
从源码运行
git clone https://github.com/Roseannepark0211/Lumio.git
cd Lumio
pip install -e .
python -m lumio.main
v3.1.0
✨ 新功能
- Telegram Bot Inbox:通过 @LumioInboxBot 发送链接/图片/视频/文件到 Lumio
- 支持 9 种消息类型:URL / 图片 / 视频 / 圆视频 / GIF / 贴纸 / 语音 / 音频 / 文件
- 媒体组(多图/多视频)自动聚合下载,文件夹 + 序号命名
- 转发消息保留来源信息
- 收件箱页面:筛选/批量下载/格式选择/归档
- 通知页面:环境检测/版本检查/永久风险提示
- 系统托盘:关闭窗口可最小化到托盘
- Settings Telegram 集成:Token 验证 + 配对码 + 绑定状态
- 可配置 API 地址(支持本地 Bot API Server 突破 20MB 限制)
- 浏览器扩展:右键发送页面/链接/图片到 Lumio
🐛 Bug 修复
- 修复 Telegram 消息 url="" 导致重复覆盖的根因
- 修复毒消息阻塞(失败消息不再阻塞后续处理)
- 修复下载失败/取消时临时文件不清理
- 修复 item.author 为 None 时卡片崩溃
- 修复版本检查 Notification/version 作用域错误
- 修复 Settings 死代码 _tg_bound_row AttributeError
⚠️ 已知问题
- Telegram Bot API 单文件下载限制 20MB(需部署本地 Bot API Server 突破)
- IG 下载有账号受限风险(已改为浏览器直链提取,不调 IG API)
v3.0.0
Lumio v3.0.0
内容采集与素材管理桌面工具。
下载
| 系统 | 文件 | 说明 |
|---|---|---|
| Windows x64 | Lumio-Windows-x64.zip |
解压后运行 Lumio.exe |
| macOS | Lumio-macOS.tar.gz |
解压后运行 Lumio |
| Linux x64 | Lumio-Linux-x64.tar.gz |
解压后运行 ./Lumio |
系统要求
- Windows: Windows 10/11 x64
- macOS: macOS 12+ (Intel/Apple Silicon)
- Linux: Ubuntu 20.04+ / Fedora 36+ x64
安装说明
- 下载对应系统的压缩包
- 解压到任意目录
- 运行
Lumio可执行文件
Windows 用户: 首次运行可能弹出 SmartScreen 警告,点击「更多信息」→「仍要运行」即可。本工具未购买代码签名证书,所有文件均开源可查。
pip 安装(需要 Python 3.10+)
pip install lumio
lumio
从源码运行
git clone https://github.com/Roseannepark0211/Lumio.git
cd Lumio
pip install -e .
python -m lumio.main
Lumio v3.0.0
✨ 新功能
浏览器扩展 (Chrome/Edge)
- 新增 Manifest V3 浏览器扩展,支持右键菜单发送页面/链接/视频/图片到 Lumio
- YouTube / X (Twitter) 页面自动提取元数据(标题、作者、缩略图)
- Instagram 采用一次性注入提取媒体直链,不调用 IG API,避免自动化检测
- 弹窗显示连接状态 + 手动发送 + 最近发送历史
收件箱 (Inbox)
- 新增收件箱页面,接收浏览器扩展采集的内容
- 单个下载支持格式选择(YouTube 可选画质,最高 4K)
- 批量下载自动最高画质
- 图片类型自动跳过格式选择
- 元数据不足时自动从 URL 提取补全
- 默认筛选「新内容」,归档内容仅在选择归档时显示
本地 API 服务
- Flask 本地 API(127.0.0.1:38900),接收浏览器扩展 POST /capture
- CORS 限制为浏览器扩展来源
- URL 校验(仅接受 http/https,≤2048 字符)
- 端口优雅释放(make_server + shutdown)
通知系统
- 新增通知页面(sidebar 🔔),JSON 持久化存储
- 三类通知:依赖清单 / 环境清单 / 版本更新
- 启动时自动检测 Cookie、FFmpeg 状态
- Settings About 区域新增「检查更新」按钮(git fetch + 版本对比)
- Instagram 下载风险永久提示通知
系统托盘
- 关闭窗口弹出三选:最小化到托盘 / 退出程序 / 取消
- 系统托盘图标右键菜单:显示窗口 / 退出 Lumio
- 最小化到托盘后可通过托盘图标恢复窗口
其他
- Sidebar 新增「收件箱」和「通知」导航项,移除「工作区」和「即将推出」
- Inbox 下载自动保存到配置的下载目录,文件名使用 author_postTime 格式
- Settings 下载设置新增「自动下载采集内容」开关
🐛 Bug 修复
- 修复 InitPage 点击「立即进入」后倒计时结束重复触发的问题
- 修复 Flask API 关闭后端口不释放的问题
- 修复通知面板超出屏幕边界的问题
- 修复 Inbox 下载文件名使用 yt-dlp 默认名(改为 author_postTime)
- 修复 Inbox 缩略图不显示的问题(X 缩略图加 Referer header)
- 修复 SQLAlchemy DetachedInstanceError(下载方法改用 item_id 字符串传递)
- 修复 IG 作者名不显示(从 URL 解析 username)
- 修复版本检查误报(本地版本高于远程 tag 时正确返回「已是最新」)
- 修复 Flask /health 轮询日志刷屏(过滤请求日志)
🔒 安全修复
- CORS 限制为 chrome-extension:// / moz-extension:// 来源
- API 端点增加 URL 校验(拒绝 javascript: / file:/// 等非法协议)
- 限流字典定期清理防止内存泄漏
- 通知持久化改为原子写入(先写临时文件再替换)
- Instagram 下载有账号受限风险,建议使用小号 Cookie
- 集成测试需要本地 Cookie 环境,CI 中已跳过
📦 浏览器扩展
- 扩展版本:3.0.0
- 下载 Lumio-Extension-v3.0.0.zip,解压后在 chrome://extensions/ 开发者模式加载
v2.3.0
Lumio v2.3.0
内容采集与素材管理桌面工具。
下载
| 系统 | 文件 | 说明 |
|---|---|---|
| Windows x64 | Lumio-Windows-x64.zip |
解压后运行 Lumio.exe |
| macOS | Lumio-macOS.tar.gz |
解压后运行 Lumio |
| Linux x64 | Lumio-Linux-x64.tar.gz |
解压后运行 ./Lumio |
系统要求
- Windows: Windows 10/11 x64
- macOS: macOS 12+ (Intel/Apple Silicon)
- Linux: Ubuntu 20.04+ / Fedora 36+ x64
安装说明
- 下载对应系统的压缩包
- 解压到任意目录
- 运行
Lumio可执行文件
Windows 用户: 首次运行可能弹出 SmartScreen 警告,点击「更多信息」→「仍要运行」即可。本工具未购买代码签名证书,所有文件均开源可查。
pip 安装(需要 Python 3.10+)
pip install lumio
lumio
从源码运行
git clone https://github.com/Roseannepark0211/Lumio.git
cd Lumio
pip install -e .
python -m lumio.main