首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >#WorkBuddy# 用 WorkBuddy + 本地 SQLite 搭一个爆款选题库:自动去重、评分排序,每天推 3 条最优选题

#WorkBuddy# 用 WorkBuddy + 本地 SQLite 搭一个爆款选题库:自动去重、评分排序,每天推 3 条最优选题

原创
作者头像
用户12680421
发布2026-08-14 13:23:53
发布2026-08-14 13:23:53
1130
举报

目录

  1. 为什么需要本地选题库
  2. 整体工作流
  3. 数据库 Schema(建表 SQL)
  4. 入库 + 去重脚本(Python 标准库)
  5. 评分排序脚本(热度 + 适配 + 新鲜度)
  6. 配置成每日自动化任务
  7. 踩坑记录 & 解决方案(重点)
  8. 实际效果对比
  9. 总结

一、为什么需要本地选题库

我同时跑视频号、抖音、公众号三个号,选题来源很杂:刷热榜记下的、评论区网友问的、看书时冒出来的、竞品爆款拆解的……早期全靠脑子记 + 手机备忘录,问题很明显:

  • :灵感在 4、5 个地方,要拍时一个都翻不到;
  • :同一个角度隔两周又拍一遍,老粉觉得"这你不是讲过吗";
  • 凭感觉:早上随手抓一条就拍,拍完发现其实不适合我的赛道(我做信息差 / 认知 / 书单),完播惨淡。

WorkBuddy 既能跑 Python 脚本做结构化存储,又能按规则自动打分。我把选题沉淀进一个本地 SQLite 库,给它立两条规矩:① 入库先去重,绝不重复拍;② 每天按分数推 TOP3,不靠拍脑袋。这样早上开工,最优选题已经躺在对话里了。

📸[截图位置:我的素材目录,展示 选题库/topics.db 与 选项库/入库脚本.py、评分脚本.py 三个文件并列]


二、整体工作流

链路是「采集 → 入库 → 评分 → 推送」四段:

关键设计:去重和评分分离。去重管"不重复",评分管"挑最好的",各跑各的,逻辑干净也好调试。

📸[截图位置:一条灵感从对话输入 → 入库 → 次日 TOP3 推送的完整对话截图]


三、数据库 Schema(建表 SQL)

只用一张表,字段够用就行。注意我加了 shot 字段标记"是否已拍",后面评分要排除已拍的:

字段含义一览:

字段

含义

取值范围

示例

heat

热度分(外部来)

0–40

热榜前 10 = 38

fit

适配分(赛道匹配)

0–40

命中信息差 = 42→封顶40

shot

是否已拍

0 / 1

0

created

入库日期

YYYY-MM-DD

2026-08-14


四、入库 + 去重脚本(Python 标准库)

核心在 dedup_key归一化标题后做 UNIQUE 约束,重复入库直接被 IntegrityError 拦下。只用 sqlite3 标准库,任何装了 Python 的环境都能跑。存成 选项库/入库脚本.py

跑一次的输出:

📸[截图位置:WorkBuddy 跑入库脚本的终端输出,展示"去重跳过"那一行]


五、评分排序脚本(热度 + 适配 + 新鲜度)

每天开工前算一次分:score = heat + fit + fresh,已拍的(shot=1)直接沉底不参与 TOP3。存成 选项库/评分脚本.py


六、配置成每日自动化任务

写好后固化成每日 08:00 自动化,上班前选题就位:

步骤 1:WorkBuddy 左侧「自动化」→ 新建。 步骤 2:触发规则填 RRULE:FREQ=DAILY;BYHOUR=8;BYMINUTE=0(每天 8:00,你 8 点开工刚好收到)。 步骤 3:提示词写清——① 把当天新灵感先跑 入库脚本.py;② 再跑 评分脚本.py;③ 把 TOP3 在对话里推给我。 步骤 4第一次手动跑通确认 schema.sql 路径、库文件位置、赛道关键词都对,再放自动跑。

📸[截图位置:自动化配置界面,展示 RRULE DAILY 08:00 与提示词片段]


七、踩坑记录 & 解决方案(重点)

坑 1:去重键截断太短,近义选题漏判重复

现象:最早 norm() 只留前 12 个字符做 dedup_key,结果"副业踩坑A"和"副业踩坑B"前 12 字相同,被误判重复跳过;反过来"普通人做副业"和"普通人搞副业"前 12 字不同却拍了两次。 解决norm() 不再截断,用完整归一化字符串做 UNIQUE 键;真·近义重复靠人工在 note 里标"同X",定期 SELECT 复核。

坑 2:适配分 fit 靠手填,越填越虚高

现象:一开始 fit 我随手填 35、38,两周后库里 80% 都是 38+,TOP3 失去区分度。 解决:改成 fit_auto() 按"是否命中赛道关键词"自动算(命中一个 +10,封顶 40),不让人拍脑袋,分数才可信。

坑 3:自动化每天推 TOP3,却总推已拍过的

现象:脚本没排除 shot,一条爆款拍完第二天还排在 TOP1,我又拍一遍被老粉吐槽。 解决:评分时 shot==1 直接 score=-1 沉底,拍完在库里 UPDATE topics SET shot=1 即可,永不重复推。

📸[截图位置:评分脚本输出 TOP3 截图,展示已拍选题已沉底不再出现]


八、实际效果对比

跑满三周后的体感变化:

指标

用前(备忘录)

用选题库后

找选题耗时

~20 分钟

~2 分钟

月重复拍摄

平均 3 条

0 条

TOP3 与赛道契合

凭感觉,常跑偏

命中关键词才上榜

灵感流失

经常忘

全入库可追溯

最大的价值不是省那 18 分钟,而是彻底消灭"重复拍"和"拍错方向"——这两条是做号最伤粉的操作,现在被库和脚本提前卡死。


九、总结

用 WorkBuddy + 本地 SQLite 把选题管理变成"入库即去重、每天自动推优",本质是给灵感装了仓库 + 质检线。三个关键动作:

  1. 去重键用完整归一化字符串,别截断,近义重复才不会漏判;
  2. 评分维度拆成 热度+适配+新鲜,且适配分用"赛道关键词命中"自动算,不拍脑袋;
  3. 已拍标记 shot=1 沉底,固化成每日 08:00 自动化,开工即收 TOP3。

这套不挑平台——你做认知、书单、信息差,只要选题能进库,都能照抄。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 目录
  • 一、为什么需要本地选题库
  • 二、整体工作流
  • 三、数据库 Schema(建表 SQL)
  • 四、入库 + 去重脚本(Python 标准库)
  • 五、评分排序脚本(热度 + 适配 + 新鲜度)
  • 六、配置成每日自动化任务
  • 七、踩坑记录 & 解决方案(重点)
    • 坑 1:去重键截断太短,近义选题漏判重复
    • 坑 2:适配分 fit 靠手填,越填越虚高
    • 坑 3:自动化每天推 TOP3,却总推已拍过的
  • 八、实际效果对比
  • 九、总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档