这版落地了什么
- 排序权重迁移到
config/radar_scoring.json,后端输出scoring_factors,前端展示真实排序依据。 - Source Health 接入 run manifest 和 runner summary,展示账号槽、权限、限流、代理和最近输出状态。
- 详情页新增采集动作入口,默认创建 dry-run 本地 action 记录,不自动消耗长爬虫或付费 API。
- 详情页新增 Watchlist Timeline,把人工判断、备注、决策、版本记录、深挖缺口和采集 action 串起来。
- Dashboard CSS 拆成 base/layout/tables/workbench/detail/health/responsive,降低后续维护成本。
操作台排序依据
卡片排序原因来自后端配置化 scoring,不再由前端硬编码猜测。
数据源体检
Source Health 同时看来源占比和最近采集状态,用于判断 ADX、商店、评论、Reddit 等源是否健康。
详情页采集动作和时间线
详情页可以一键生成商店、评论、素材、用户声音等采集计划,并把后续动作沉淀到时间线。
验证
.venv/bin/pytest tests/test_radar_view_model.py tests/test_radar_source_health.py tests/test_radar_collection_actions.py tests/test_radar_viewer.py -qnpm run dashboard:buildcurl http://127.0.0.1:8098/radar/api/opportunities验证 scoring/source_health payload。