Commit Graph
63 Commits
Author SHA1 Message Date
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 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 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 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 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 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 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 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
kairee 5a656d42a8 feat(web): add duration efficiency rankings and about payload 2026-11-01 11:21:42 +08:00
kairee 519fc39fca feat(up): capture follower snapshots at ingest and backfill history 2026-11-01 11:18:06 +08:00
kairee 4942d1d161 feat(db): add video pages and up follower snapshot schema 2026-11-01 11:14:36 +08:00
kairee 9fd277c05f feat(web): cache dashboard aggregations with version invalidation 2026-11-01 03:27:49 +08:00
kairee 6aefe9ce87 feat(web): require login only for candidates and system 2026-11-01 03:09:21 +08:00
kairee 55c40db047 fix(tools): resolve config path inside container 2026-11-01 02:58:56 +08:00
kairee 274eccba93 feat(web): add fan date range modes and delta column 2026-11-01 02:36:48 +08:00
kairee 998d0fd0c0 fix(tools): guard csv replace against newer fan records 2026-11-01 02:25:18 +08:00
kairee c4c9c0b038 feat(tools): replace xxm fan import with bilibili csv 2026-11-01 02:23:09 +08:00
kairee d8e9a7b0f0 feat(web): show cumulative fan range and limit recent records 2026-11-01 02:14:10 +08:00
kairee 52a8d90c47 feat(web): use history routing and preserve scroll on filter changes 2026-11-01 01:55:37 +08:00
kairee c2ef998720 feat(web): refresh palette, simplify ranking toolbar and drop export 2026-11-01 00:37:20 +08:00
kairee ff101803cd feat(tools): import 90-day fan history from public data source 2026-11-01 00:06:52 +08:00
kairee f9a5478800 fix(web): fix UP card layout and fan delta semantics 2026-11-01 00:06:43 +08:00
kairee 7fcd1db987 fix(web): count initial import from tracked videos 2026-10-31 23:54:56 +08:00
kairee 456e06f105 chore(web): finalize scroll behavior and preview assertions 2026-10-31 23:54:01 +08:00
kairee 257fbe009b fix(web): align trend ranges, next runs and preview task records 2026-10-31 23:46:49 +08:00
kairee 19572171b8 feat(web): add read-only dashboard server and query layer 2026-10-31 23:13:54 +08:00