kairee
0f2ac612f5
fix(ui): widen mobile video-card cover so duration stays on the thumbnail
2026-11-02 21:39:06 +08:00
kairee
9412475473
Merge branch 'main' into cursor/same-day-growth-baseline
2026-11-02 20:45:30 +08:00
kairee
c5b7185675
feat(growth): same-day 1-day baselines for new videos
...
Let 1-day view growth use a zero baseline for videos published today, and the first successful sample for older videos ingested today, without mixing those into 7/30-day rankings.
2026-11-02 20:44:17 +08:00
bot-ci
3254648849
fix(system): sort recent tasks by started_at desc
...
「最近任务」原先按 kv 键名排序。改为后端 `_task_records` 按
started_at 倒序写入 dict(缺开始时间排末尾,含进行中);
前端不再参与排序。配套 test_system_tasks_sorted_by_started_at_desc。
2026-11-02 19:52:46 +08:00
bot-ci
8e7ead1669
feat: switch config to JSONC + split secrets.json
...
Load business config as JSONC (comments + trailing commas) via an
in-repo stripper then stdlib json — no new deps. Default path prefers
config.jsonc, falls back to legacy config.json. Auth write-back targets
only sibling secrets.json so JSONC comments are never wiped; secrets
overlay merges on load. Examples, compose, Docker, docs, favsort and
tools all share the same loader. Phase A only — no DB settings migration.
2026-11-02 12:58:20 +08:00
bot-ci
25cdea5287
fix: default seed_at to 00:00 (HH:MM)
...
Keep daily tasks next_run=0 startup catch-up; only move midnight
seed schedule default from 00:01 to 00:00 across config/docs/tests.
2026-11-02 12:44:40 +08:00
bot-ci
8a9cb21408
feat: EOD 23:15 seal + midnight seed shell for video/fans
...
Move daily snapshot/fans to 23:15 and add 00:01 seed that clones
last_completed ok=1 rows into today without advancing completed.
Evening runs force through seed markers; growth previous is per-aid
adjacent. Home shows short-update clock + 全站数据 date, and 收录视频
counts.
2026-11-02 12:38:55 +08:00
kairee
374b138041
feat(ui): densify home and ranking video cards
...
Drop nested home panels, overlay rank and duration on covers, and keep
metrics fully visible by moving dates onto the author row.
2026-11-02 12:19:30 +08:00
kairee
2641ba6f87
feat(auth): print a scannable ASCII QR in the terminal
...
WSL and --no-browser never showed the PNG, and placeholder Chinese cookies crashed urllib latin-1 headers before the code was issued.
2026-11-02 10:35:56 +08:00
bot-ci
297d9279d8
fix(home): server-owned growth window; expose days
...
Home omits growth_days; backend auto (or home_growth_days 1/7) picks
the window. Response includes days alongside growth_days. Growth榜 link
uses the returned days. Non-growth sorts treat omitted/auto as 7.
2026-11-02 10:05:00 +08:00
bot-ci
9163f47b76
feat: home growth auto(7→1) and hourly recent-video snapshot
...
- Add analytics.home_growth_days (auto|1|7); API growth_days=auto tries 7 then 1
- Homepage shows active window and growth-board link; clearer empty reason
- New snapshot_recent scheduler task (schedule.recent_snapshot_minutes/days)
- run_recent_videos refreshes new aids only; never touches completed/backup
- Full 00:01 job keeps ok=1 skip (covers hourly refresh within 1h); mutex with recent
2026-11-02 10:00:02 +08:00
bot-ci
af90ce8f87
fix(system): three next-runs, completed-date data_date, running mark
...
Split /system schedule into fans / snapshot+UP / discovery next-runs.
Drive data_date and snapshot_days from fully completed video snapshots
only, keep prior success date on failure, show task failure records, and
mark in-progress tasks as 运行中 without wall-clock next-run jumps.
2026-11-02 00:46:20 +08:00
kairee
0b92e10317
feat(ui): implement dark/light theme switch
2026-11-01 23:29:14 +08:00
kairee
1b76fdeda1
refactor: optimize video & upper rank page
2026-11-01 23:18:39 +08:00
kairee
4a9c37f2f3
feat(telegram): candidate list/delete/clear commands
...
私聊新增 /candidate [页码](待决策列表)、/candi_del(标题按钮逐条删除,删后原地重建键盘、可翻页连续删)、/candi_clear(全部/待决策/取消)。重构 handle_callback 为前缀分派(cdel/cpage/cclr,保留 add/ign/blk/fav);repository 加 list_pending_candidates/delete_all_candidates;LibraryService 加 pending_candidates/delete_candidate/clear_candidates 并刷看板缓存。
2026-11-01 20:45:57 +08:00
kairee
c6790f0ba1
feat(classify): zero title-only titles, penalize <10min, add discover.candidate_min_score
...
标题仅含 require_title 不再计分(必须咻咻满+任一正向词);时长 <10 分钟 -1(时长未知不扣);新增 discover.candidate_min_score(默认=notify.min_score)控制是否进候选池,只过标题关的不再入池。库内 796 条:仅过标题关的 8 条从 1/3 分降为 0/-1,其余不变。
2026-11-01 20:18:43 +08:00
kairee
aa9aa7c589
feat(classify): gate loose re token, non-linear negatives, drop 纯享/转场
...
reaction 词表用 re|reaction|反应 但须与咻咻满或充电同现,兼容 reactio/reation 等拼写又避免通用词加分;负向改为每词 -2 且命中多条额外叠加(k*(k-1)),日期 -4;纯享(误伤纯享受)移出负向,转场移出正向。库内 796 条有效视频复测:线以下由 14 降至 8。
2026-11-01 19:18:20 +08:00
kairee
337e379514
feat(classify): super-linear positive weighting by hit count
...
正向改为按命中次数 n(require_title + reaction + charge + weak)做平方加权,使多信号同现的真 reaction 不被单个负向词打穿(1+1>2、1+1+1>5);标题不含 require_title 直接 0 分。库内 796 条有效视频复测:线以下误伤由 47 降至 14。
2026-11-01 19:08:59 +08:00
kairee
742c67a1c3
feat(classify): tighten scoring with reaction co-occurrence and date negatives
...
强正向 reaction 需标题同时含 require_title;移除听/看等宽泛词,新增弱正向组;charge 命中>=2 记+3、==1 记+1;负向补充录播/录像并新增标题带日期强负向;时长仅在已命中 reaction/charge 时加权;discover 关键词改为单个咻咻满、pages=3、window_days=7,notify.min_score=4;同步示例配置、project.md/README 与相关测试。
2026-11-01 19:00:48 +08:00
kairee
003e65086e
fix(web): up list search matches up name only, not video titles
2026-11-01 17:57:34 +08:00
kairee
ff88e91640
feat(web): restore candidate notice on home for logged-in users
2026-11-01 17:52:03 +08:00
kairee
f96781027e
fix(web): keep sidebar brand text intact, stack topbar entries below
2026-11-01 17:48:18 +08:00
kairee
bc4655c143
feat(web): drop redundant preview pill from topbar
2026-11-01 17:45:25 +08:00
kairee
3cb9b92361
feat(web): move candidates/system nav to topbar, free mobile bottom nav
2026-11-01 17:43:42 +08:00
kairee
85b0f625a9
feat(web): clean public home header (data date, 7d fans, video count), drop status panel
2026-11-01 17:38:30 +08:00
kairee
14a4cab48b
feat(web): home media grid 2-up mobile / 3-up PC, 6 items, drop folder panel
2026-11-01 17:30:52 +08:00
kairee
e00331c4c6
feat(web): home media sections use 5-up PC / 1-up mobile grid, growth top5
2026-11-01 17:27:10 +08:00
kairee
e40905da24
feat(web): unify home published/growth cards with heat-strip vertical layout
2026-11-01 17:18:42 +08:00
kairee
7907216c1b
feat(web): add interactions-per-hour stat to up page
2026-11-01 17:09:25 +08:00
kairee
84ce1e41e8
feat(web): visit 204 response, up page header/sort, trim system page
2026-11-01 17:06:26 +08:00
kairee
e3bd2e601b
fix(web): always drain visit request body to keep keep-alive connections aligned
2026-11-01 15:41:47 +08:00
kairee
b215f8eb09
feat(web): report page views via sendBeacon and show stats on system page
2026-11-01 15:36:42 +08:00
kairee
3c16caac1a
feat(stats): buffer visits in memory and expose POST /api/visit + /api/stats
2026-11-01 15:34:53 +08:00
kairee
cdd11823b9
feat(stats): add migration v7 visit table and client-ip helpers
2026-11-01 15:29:43 +08:00
kairee
b0c53e8a2f
fix(ingest): raise ref cap to 50 and clarify invalid bvid error
2026-11-01 15:05:17 +08:00
kairee
b5bf7d9b8f
feat(web): drop decoupled folder badge from video detail
2026-11-01 14:45:28 +08:00
kairee
5d7521075a
feat(web): show first-RE time on up page, drop decoupled folder badges
2026-11-01 14:41:32 +08:00
kairee
2ff3e7952b
feat(web): up avatars, follower count, and dedupe views/avg secondary
2026-11-01 14:34:23 +08:00
kairee
1ed3746f4b
feat(web): clickable home stats, drop recent-ingest panel, rename watch link
2026-11-01 14:19:27 +08:00
kairee
bfde231b90
feat(cli): capture up follower on manual ingest
2026-11-01 14:10:05 +08:00
kairee
6c4287b43a
refactor(sync): drop favorite-folder tracking and deal
2026-11-01 13:59:10 +08:00
kairee
62abbd7ea1
feat(ingest): db-only library ingest and telegram manual ingest
2026-11-01 13:50:03 +08:00
kairee
d2adb65e08
feat(ingest): parse video refs and fetch detail by bvid
2026-11-01 13:46:46 +08:00
kairee
e903c49921
fix(up): hard timeout and progress for follower capture
2026-11-01 13:24:56 +08:00
kairee
98cf42a113
style(web): cap ranking search box at 320px
2026-11-01 12:59:38 +08:00
kairee
d00fcd5c38
feat(web): inline toolbar with label sort, compact time, icon search
2026-11-01 12:56:37 +08:00
kairee
9be7d1cab2
feat(web): dropdown sort and time filters with year support
2026-11-01 12:45:40 +08:00
kairee
bc3bef0743
fix(analytics): shrink video efficiency and gate noisy boards by views
2026-11-01 12:25:27 +08:00
kairee
e7034cfb84
feat(analytics): lower maturity window to 2 days and reword about page
2026-11-01 12:07:47 +08:00
kairee
c0b0286395
feat(web): split video and up rankings and add about page
2026-11-01 11:33:15 +08:00