Skip to content

v1.3.0

Latest

Choose a tag to compare

@Mrslippe Mrslippe released this 14 Oct 15:57
· 4 commits to main since this release

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/ 一起分发)。