Repository navigation
DDtoolkit v1.3.0
个人向 VTuber 帖子 / 账号证据归档工具 —— 定时抓取 B 站、微博、小红书与抖音的帖子与账号统计并归档到本地 SQLite,桌面端浏览与管理。
v1.2.0 → v1.3.0 是一个功能版(
devlog/447–494,46 篇):正文表情包、
录播在应用内播放、直播场次类型、日期时刻选择器换成项目日历、多平台按名字搜人,
外加日历性能与一批手感修复。
⚠️ 本版有数据库迁移(f012→f017,五条):首次启动自动迁移,迁移前会自动备份到
<数据目录>/backups/。覆盖安装即可,不需要手动做任何事。
💬 正文表情包:真的画出图来了(需求 5)
- 解析换源:原先从上游载荷里只能认出约 28% 的表情,改成读 B 站自己那份表情清单 ⇒ 99%
(devlog/483)。认不出来的仍按原文显示方括号,不会变成破图; - 两类大小:与 B 站一致 —— 官方小表情与文字同高,大表情(贴纸)默认 40px,
判据用载荷自带的size字段(不是"官方还是自定义",实测那条例外有 812 个,devlog/485); - 可调:设置 → 外观 → **「大表情大小」**滑杆(24–64px,默认 40),下方给了一段图文混排示例;
- 不只正文:帖子卡片标题、纯文字封面、详情窗标题也画表情(三处共用同一个渲染器);
- 表情图统一走图片代理(直连会被图床 403)—— 这条路径的坑修过三次(
devlog/484)。
📺 录播:入口搬到封面,能直接在应用里看(需求 3)
- 「找录播」先给候选、命中率是先量过的(
devlog/464),不再猜; - 入口从右列那行文字搬到封面(hover 出现 ▶ / +),封面点开是灯箱(
devlog/478); - 点 ▶ 在应用内播放:按 BV 号取流 + 播放器(
devlog/479); - 也可以在独立的无边框播放器窗里播(设置 → 外观 → 「录播用独立播放器窗」,默认关 ——
不改变主窗播放这条老路,devlog/480)。
🗓️ 直播日历:类型、性能、以及一个能用的日期选择器
- 场次类型落库(迁移
f016/f017):写这一行就定稿这一行,按类型查询/统计改直查索引
(devlog/467/471);类型体系里**「健身」换成「助眠」**(真机上那类几乎没有证据,devlog/468);
数据视图多了「场次类型」卡、日历支持按类型筛; - 手动记录场次与场次录播地址(
devlog/454);数据视图多了「直播收益」卡
(每日收益 / 舰长数曲线 —— 数据早就在库里,这次把它画出来,devlog/452); - 性能:第一次打开日历要等的那一下(读端点不该写库,
devlog/473)、切视图那 150ms
(退场窗口里抢跑一发,devlog/474)、启动期那 485ms(只在真需要补时才扫,devlog/475); - 日期时刻选择器:原生弹层换成项目自己的日历(滚轮列,
devlog/477); - 修掉「日历弹窗只有遮罩、看不见小窗」(
devlog/476)与详情窗头部的编辑铅笔被挤到正中央、
词云 hover 提示与鼠标对不上(devlog/491)。
🔍 找人:一次搜四家
「添加 V」除了池内检索,还能按名字去四个平台搜(B 站 / 微博 / 小红书 / 抖音,devlog/463);
候选池刷新到 vdb 名册(含企划 uuid 与跨平台账号,devlog/457)。
🏷️ 企划徽章:名单、口径、以及一枚开关
- 没有企划的 V 统一显示「个人势」(用户口径,
devlog/481),筛选弹窗里它是一枚正常选项; ⚠️ 左栏那枚徽章现在默认不显示(devlog/494):设置 → 外观 → 「显示企划徽章」,默认关 ——
打开后才恢复「有图标画图标、没有画企划名」那套。图标素材保持空缺(三条来源路线都试过/看过、
都不采用,devlog/489/490)。
🐛 其它修复
- B 站登录为什么失效(
devlog/455)与登录浮窗溢出;截图暴露的四处(说明条比面板宽 / Tab 标签 /
能力闸门 / 扩展缺弹窗,devlog/456); - 数据卡片加载八秒的根因(
devlog/459);左栏不滚、切 V 背景闪、打开原文被拒(devlog/448/449)、
切 V 背景第一帧偏左(devlog/449);单推新入口连点十次(devlog/450); - 弹幕数到底该信哪个:各录制版本取最大(
devlog/462);通知里写账号昵称而不是 ID; - 通知面板:排序键打平时两行会换位(
devlog/493,退场那条被拼到活着的后面); - 词云词典空闲卸载(
devlog/447)。
⚡ 省盘:B 站封面取数加图床规格(devlog/492)
封面固化时按图床规格取图(@672w_378h.webp,不带裁剪)—— 本机真库实测同一张封面降到
0.1%–14%(14 MB 的降到 13.8 KB、3.27 MB 的降到 30 KB)。已固化的旧封面不会自动变小,
新抓到的从此都是小的;动图(.gif,占 6.7%)会变成单帧。
🔧 维护者侧(不影响使用)
- 文档体检:删掉 13 份已落地的计划文档、
design/专题归位、19 处悬空引用改正;
文档门禁 40 份 / 0 超预算(devlog/488);待办清单收敛到「只有未完成项」(用户侧那一组清空); - 自审两轮:端点耗时仪器 + 一致性扫描(7 处"同概念两字段"分歧,
devlog/460/461);
清掉 4 处"写了没人调"的死代码(devlog/465); - 人工标注集第一次出数 0% → 70.6%(
devlog/470),并先把「类型列不可用」量清楚再动手(devlog/471)。
📦 资产
DDtoolkit_1.3.0_x64-setup.exe— Windows NSIS 安装包(用户级安装,含extension\)DDtoolkit-portable-win64.zip— 便携版(解压即用,含后端 onedir 与extension\)latest.json+ 安装包的.sig— 应用内更新的载体与清单(手工下载请用上面两项)
⚠️ 升级说明
- 数据库有迁移:
f012→f017(五条:场次录播地址 / 企划归属 / 录播账号 / 场次类型 /
场次身份键)。首次启动自动迁移,迁移前自动备份到<数据目录>/backups/;
迁移失败会把坏库隔离并用空库继续启动(状态见/healthz与「设置 → 关于」的体检);
不放心的话可以先手动复制整个数据目录再升级; - 使用须知不会再让你确认一次:本版没有改声明正文(
NOTICE_VERSION仍是2026-10-06); - 数据目录与 v1.2.0 相同:默认
%APPDATA%\com.ddtoolkit.app,也可以在「设置 → 关于」里迁移到其他盘; - v1.2.0 的行为都保留:单推模式、背景取景与背景视频、左栏自定义排序、浏览器扩展随包、MSE 播放内核、
抖音总开关默认关、轻资产固化等。
🔧 技术栈
- 后端:Python 3.14 + FastAPI + SQLAlchemy 2.0 + SQLite(WAL) + APScheduler + Alembic(迁移链 f017)
- 前端: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/ 一起分发)。