11 Commits

Author SHA1 Message Date
0f54c24987 docs: add recommended fetch intervals per parser 2026-08-04 08:51:52 +08:00
fce2d78cfc docs: add parser auth status — 9 zero-config, 2 needs setup 2026-08-04 08:46:26 +08:00
eb461bc7e5 docs: add skills/ directory with Hermes-compatible SKILL.md 2026-08-04 08:27:49 +08:00
e8bad97925 fix: rename json/ → models/ per Sage convention 2026-08-04 08:21:42 +08:00
7bb9bfc97e fix: Sage-compliant DSPY — no imports, env delegation, init.py, scripts/load_path.py
- Add hotspot/init.py: load_hotspot() registers run_fetch/run_analysis/get_stats on ServerEnv
- Rewrite .dspy files: only import json, use get_sor_context + env.*() delegation
- Update db.py/engine.py/analysis.py: accept optional sor parameter for DSPY context
- Add scripts/load_path.py: per-module RBAC permission registration
- Follows sage-dspy-development + rbac-permission-initialization-pattern skills
2026-08-01 16:49:49 +08:00
b9bd705b43 fix: address dev standards — README, SKILL.md, logging, docs
- Rewrite README: full install steps, usage flow, parser_config examples,
  builtin table, extractor types, status logic, known limitations
- Add SKILL.md: architecture, adding parsers, deployment checklist, pitfalls
- engine.py: replace bare except with traceback logging
- parsers.py: CSS extractor docstring documents lightweight limitation
2026-08-01 15:38:20 +08:00
4a8f2c22be refactor: extract Python package hotspot/ from .dspy files
- hotspot/parsers.py: 11 builtin parsers + 4 extractors (json_path/css/regex/rss)
- hotspot/engine.py: fetch + extract orchestration
- hotspot/analysis.py: 5-dim scoring + 7-day half-life status classifier
- hotspot/db.py: DB helpers (save_items, write_fetch_log, get_stats)
- hotspot/__init__.py: public API (run_fetch, run_analysis, get_stats)
- .dspy files reduced to 1-line wrappers
2026-08-01 12:13:00 +08:00
42dff9e77d feat: real extraction engine — pluggable parsers + 11 builtin platforms
- Add parser_config TEXT field to hotspot_source (JSON: parser/item_path/field_map/builtin_name)
- Pluggable extractors: json_path, css, regex, rss, builtin
- 11 builtin platform parsers with real API endpoints:
  weibo_hot zhihu_hot baidu_hot toutiao_hot bilibili_hot douyin_hot
  36kr_hot github_trending hackernews v2ex_hot rsshub
- Each source reads its own parser_config — different sources can use
  different extraction rules even if same type
- Updated index.ui with builtin parser reference
2026-08-01 12:09:13 +08:00
2069f7ba2d merge: keep our README 2026-08-01 12:01:25 +08:00
26721a1b28 feat: initial commit — hotspot radar module for Sage
6 tables (source/schedule/fetch_log/item/analysis/alert)
3 fetch modes (API + Browser + Crawler)
5-dimension analysis + auto status classification
7 stat cards + 6 tab dashboard
2026-08-01 12:01:16 +08:00
74373a2a75 Initial commit 2026-08-01 11:58:28 +08:00