Repository navigation
v1.2.0
DDtoolkit v1.2.0
个人向 VTuber 帖子 / 账号证据归档工具 —— 定时抓取 B 站、微博、小红书与抖音的帖子与账号统计并归档到本地 SQLite,桌面端浏览与管理。
v1.1.1 → v1.2.0 是一个功能版(
devlog/377–445):单推模式、背景取景与背景视频、
左栏自定义排序、播放器全屏卡顿定案,外加「小 V 加不上」等一批修复。
⚠️ 本版有数据库迁移(f009→f012):首次启动自动迁移,迁移前会自动备份到
<数据目录>/backups/。覆盖安装即可,不需要手动做任何事。
🎬 单推模式:只剩背景图,鼠标一动就回来(需求 6)
图标栏上多了一颗 单推 开关(一个 V 都没进时不可用)。打开它是固定的分段收起动画
(左栏 → 左侧工具栏 → 顶栏);全部收起后停手 5 秒 ⇒ 页面元素下滑渐隐、白纱罩一起撤掉
(只在卡片视图生效),背景图完整露出来;鼠标一动,界面元素上滑渐显、遮罩回来。
单推中顶栏与左侧工具栏仍可贴边唤出(顶部一条 12px 的带子、左缘是工具栏整宽),
唤出时界面元素立刻恢复;唤出的两栏一定压在面板的浮层之上(这类"按钮被顶掉"的层级问题
在本版修过两轮)。
左栏的收起 / 展开现在是常驻功能:不管在哪种模式,鼠标移到左栏右缘(收起后是内容区
左缘)那条窄边上,拉手才会现身,点一下即可收起 / 展开,偏好跨启动记住。
🖼️ 背景:能调位置,也能放视频(需求 7 / 9)
- 背景视频:上传一段视频当背景(与背景图共用同一条流式落盘与内容校验纪律),可单独清除;
- 取景(调位置):预览框里 拖 = 平移、滚轮 = 缩放,松手才存;口径是「图片锚点」
(保铺满、锚点守恒,与object-position同向); - 图片与视频的取景互不相干,一个按钮切换在调哪一份;调视频时用首帧当预览;
- 播放器一开始播放,背景就自动让位(不再和视频抢注意力)。
📺 播放器:全屏卡顿定案 + 键盘与焦点(需求 2 / 3)
- 全屏卡顿(长时间全屏播放掉帧)定案到元凶:硬件视频解码器。壳里关掉
--disable-accelerated-video-decode之后实测全屏丢帧 10.8% → 0.1%(devlog/403/404);
排查期间加的诊断开关与权宜改动全部撤掉,窗口恢复分层透明(devlog/407–411); - 键盘改由「指针移入」接管:指针进入播放器才响应
/、k、←→↑↓、m、f,移出交回页面;
并且播放器移出 Tab 序(需求 3); - 进出全屏加了一段过渡(不再"生硬地跳");切 V 时背景不再闪白 —— 改成双层交叉淡入 +
预加载,任何一帧都至少有一层是不透明的(devlog/378)。
🗂️ 左栏:按住拖动排序 + 排序栏(需求 4 / 5)
- 左栏按住 350ms 进入拖动、按落点重排(乐观渲染,失败回退);拿起/松手是双向缓动;
- 筛选浮窗里新增排序栏六档,与拖动排序共用同一份顺序数据(迁移
f010)。
🐛 其它修复
- 小 V 加不上:B 站给新账号发的 mid 是 16 位,旧判据卡在 12 位 ⇒ 库里约四分之一的
「池外新 V」搜得到、点添加却没反应。前后端判据一起放宽到 20 位(devlog/378); - 通知「已读」的让位时机改为滑出 60%–80% 之后再顶上来(需求 10);
- 单推模式下「唤出的工具栏被面板浮层盖住按钮」「正常模式收起左栏时工具栏一起消失」
「收起/展开有延迟」等一串视觉与手感问题。
🔧 维护者侧(不影响使用)
- CI 两条腿的四处根因收口(干净 clone 上的资源 glob、文档路径引用、补装
build组的顺序); - 单推那批代码里 16 处指向
devlog/430/434的悬空指针修正(那两个编号从未存在); UI-MAP的图标栏那一行按代码重写,并立下一条:文档里只写旋钮的名字与真源、不写它的现值。
📦 资产
DDtoolkit_1.2.0_x64-setup.exe— Windows NSIS 安装包(用户级安装,含extension\)DDtoolkit-portable-win64.zip— 便携版(解压即用,含后端 onedir 与extension\)latest.json+ 安装包的.sig— 应用内更新的载体与清单(手工下载请用上面两项)
⚠️ 升级说明
- 数据库有迁移:
f009→f012(三条:左栏自定义排序 / 背景取景 + 背景视频 /
视频取景与图片取景分开)。首次启动自动迁移,迁移前自动备份到<数据目录>/backups/;
迁移失败会把坏库隔离并用空库继续启动(状态见/healthz与「设置 → 关于」的体检);
不放心的话可以先手动复制整个数据目录再升级; - 使用须知不会再让你确认一次:本版没有改声明正文(
NOTICE_VERSION仍是2026-10-06); - 数据目录与 v1.1.1 相同:默认
%APPDATA%\com.ddtoolkit.app,也可以在「设置 → 关于」里
迁移到其他盘; - v1.1.1 的行为都保留:浏览器扩展随包分发、MSE 播放内核、抖音总开关默认关、通知中心、轻资产固化等。
🔧 技术栈
- 后端:Python 3.14 + FastAPI + SQLAlchemy 2.0 + SQLite(WAL) + APScheduler + Alembic(迁移链 f012)
- 前端:Vite + React 18 + TypeScript + Tailwind v4 + ECharts 6 + Radix
- 桌面壳:Tauri v2(托盘 + 拉起后端 + 注入空闲端口 + Job Object 进程看门狗)
- 浏览器扩展:MV3(纯 JS +
chrome.cookies,无构建步骤,随安装包/便携版一起分发)
⚖️ 许可
MIT License(见 LICENSE)。嵌入字体:阿里妈妈方圆体(官方许可免费商用 + 允许嵌入)。
抖音签名实现移植自 Douyin_TikTok_Download_API
(Apache-2.0:许可原文与上游 NOTICE 随仓库 app/services/platforms/vendor/dtksign/ 一起分发)。