kairee
|
99b71c037c
|
feat(web): simplify ranking time range labels
|
2026-11-03 03:11:20 +08:00 |
|
kairee
|
11930db2bf
|
feat(web): default video sort to published and UP sort to avg_views
|
2026-11-03 03:09:53 +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
|
cb547e3ced
|
chore: add unslop skill
|
2026-11-01 23:18:03 +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
|
e04908ccad
|
Merge branch 'fix/up-search-name-only'
|
2026-11-01 17:57:34 +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
|
a6bd910d9d
|
Merge branch 'feat/home-candidate-notice'
|
2026-11-01 17:52:03 +08:00 |
|
kairee
|
ff88e91640
|
feat(web): restore candidate notice on home for logged-in users
|
2026-11-01 17:52:03 +08:00 |
|
kairee
|
0518397492
|
Merge branch 'fix/sidebar-brand-wrap'
|
2026-11-01 17:48:18 +08:00 |
|
kairee
|
f96781027e
|
fix(web): keep sidebar brand text intact, stack topbar entries below
|
2026-11-01 17:48:18 +08:00 |
|
kairee
|
b71f0ce04d
|
Merge branch 'feat/remove-preview-pill'
|
2026-11-01 17:45:25 +08:00 |
|
kairee
|
bc4655c143
|
feat(web): drop redundant preview pill from topbar
|
2026-11-01 17:45:25 +08:00 |
|
kairee
|
6e2910af62
|
Merge branch 'feat/topbar-entry-nav'
|
2026-11-01 17:43:42 +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
|
4253779501
|
Merge branch 'feat/home-public-cleanup'
|
2026-11-01 17:38:30 +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
|
a392453851
|
Merge branch 'feat/home-grid-6items'
|
2026-11-01 17:30:52 +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
|
b9c77ab7b8
|
Merge branch 'feat/home-media-grid'
|
2026-11-01 17:27:10 +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
|
1bb5718328
|
Merge branch 'feat/home-unified-cards'
|
2026-11-01 17:18:42 +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
|
59fa38b6e3
|
Merge branch 'feat/up-interactions-per-hour'
|
2026-11-01 17:09:26 +08:00 |
|
kairee
|
7907216c1b
|
feat(web): add interactions-per-hour stat to up page
|
2026-11-01 17:09:25 +08:00 |
|
kairee
|
9757415ee3
|
Merge branch 'feat/access-stats-polish'
|
2026-11-01 17:06:32 +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
|
a3e7589ad3
|
Merge branch 'feat/access-stats': basic PV/UV access statistics
|
2026-11-01 15:40:53 +08:00 |
|
kairee
|
ff5e05998a
|
docs(deploy): document PV/UV stats and real client IP via nginx realip
|
2026-11-01 15:40:22 +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
|
0d6e62f9ee
|
docs: decouple favorites, manual ingest, write-for-sort-only
|
2026-11-01 14:09:09 +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
|
b405fc5fd7
|
docs: record round 9 verification results
|
2026-11-01 11:43:44 +08:00 |
|
kairee
|
4adb54abe1
|
docs(config): add analytics section to example configs
|
2026-11-01 11:38:20 +08:00 |
|
kairee
|
b017af7593
|
docs: update readme for video/up split and follower backfill
|
2026-11-01 11:37:40 +08:00 |
|
kairee
|
cb9e8e031b
|
docs: document duration efficiency, up follower snapshot and nav split
|
2026-11-01 11:36:34 +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
|
707ed7d7d7
|
docs: document dashboard cache
|
2026-11-01 03:27:50 +08:00 |
|
kairee
|
9fd277c05f
|
feat(web): cache dashboard aggregations with version invalidation
|
2026-11-01 03:27:49 +08:00 |
|
kairee
|
91aa3e1f95
|
docs: describe partial page protection
|
2026-11-01 03:09:21 +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
|
b0aa919e18
|
build: include tools in image for server-side imports
|
2026-11-01 02:55:31 +08:00 |
|
kairee
|
028b3337b0
|
fix(web): keep fan range picker open until apply
|
2026-11-01 02:47:31 +08:00 |
|
kairee
|
917a93ab92
|
feat(web): use a range calendar picker for fan dates
|
2026-11-01 02:44:33 +08:00 |
|
kairee
|
e9fbbc1650
|
docs: document fan range modes and delta column
|
2026-11-01 02:36:48 +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
|
dd6b09807d
|
docs: document csv fan import
|
2026-11-01 02:23:10 +08:00 |
|
kairee
|
c4c9c0b038
|
feat(tools): replace xxm fan import with bilibili csv
|
2026-11-01 02:23:09 +08:00 |
|
kairee
|
58df38814a
|
docs: describe fan recent window and cumulative range
|
2026-11-01 02:14:10 +08:00 |
|
kairee
|
d8e9a7b0f0
|
feat(web): show cumulative fan range and limit recent records
|
2026-11-01 02:14:10 +08:00 |
|
kairee
|
b6a9f598b5
|
fix(web): avoid skeleton flicker and cache overview while filtering
|
2026-11-01 02:02:26 +08:00 |
|
kairee
|
4bb3d3bef5
|
docs: document path routing and in-place filter updates
|
2026-11-01 01:55:37 +08:00 |
|
kairee
|
52a8d90c47
|
feat(web): use history routing and preserve scroll on filter changes
|
2026-11-01 01:55:37 +08:00 |
|
kairee
|
1b08854b25
|
fix(web): revalidate app assets and rename compose example
|
2026-11-01 01:42:26 +08:00 |
|
kairee
|
eff4b0149d
|
fix(web): show exact trend values and integer axis ticks
|
2026-11-01 01:37:55 +08:00 |
|
kairee
|
fcca14c0f9
|
docs: document docker deployment workflow
|
2026-11-01 00:52:06 +08:00 |
|
kairee
|
b9d82e54c7
|
feat(deploy): add Dockerfile and compose for server sync
|
2026-11-01 00:51:57 +08:00 |
|
kairee
|
7674fc2c47
|
docs: update ranking labels, palette and export removal
|
2026-11-01 00:37:28 +08:00 |
|
kairee
|
c2ef998720
|
feat(web): refresh palette, simplify ranking toolbar and drop export
|
2026-11-01 00:37:20 +08:00 |
|
kairee
|
6a053bdfe8
|
docs: document UP ranking defaults and fan history import
|
2026-11-01 00:06:59 +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
|
40cdfaf3e5
|
docs: add analytics and preview tool to structure
|
2026-10-31 23:51:53 +08:00 |
|
kairee
|
c745d889e7
|
fix(tools): derive preview task counts from source data
|
2026-10-31 23:51:31 +08:00 |
|
kairee
|
60d7b0f24f
|
fix(web): center active filters and compact mobile cards
|
2026-10-31 23:50:19 +08:00 |
|
kairee
|
d18ebbfb2f
|
docs: document read-only dashboard and preview workflow
|
2026-10-31 23:47:02 +08:00 |
|
kairee
|
cbba405271
|
feat(web): add mobile-first read-only dashboard frontend
|
2026-10-31 23:46:55 +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 |
|
kairee
|
e7cae035e0
|
fix(tools): backfill fan counts in chronological order
|
2026-10-31 23:10:54 +08:00 |
|
kairee
|
94ee9aefd1
|
feat(tools): add deterministic preview database seeder
|
2026-10-31 23:05:43 +08:00 |
|