Support kind=llm profiles (instruction/schema), optional multi-event posts via #eN URLs, and recover stale running/queued parse jobs after worker crashes.
Co-authored-by: Cursor <cursoragent@cursor.com>
Persist settings in CA, expose /admin/vpn and /internal/vpn, and route Telegram (and optional web/nlp) traffic through mihomo SOCKS when enabled.
Co-authored-by: Cursor <cursoragent@cursor.com>
When Preview leaves fields empty, managers can send a hint plus the current profile so DeepSeek revises rules; generate now returns preview and empty_fields for the UI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce reusable ParserProfile and ParseChannel, pair jobs with enqueue flatten, Events admin CRUD, and drop inline/legacy parser-builder UI and aliases.
Co-authored-by: Cursor <cursoragent@cursor.com>
Generate static HeuristicProfile in CA admin, preview and run without LLM on each post via shared interpreter in CP batch and listener.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce background scheduling and migrations for analytics ingest, expand parser management and map toolbar UX, and ignore local data/session files from version control.
Co-authored-by: Cursor <cursoragent@cursor.com>
Deliver parsers, events, analytics, and PI management in Vue; fix Telegram session mount and map navigation to events by eventId.
Co-authored-by: Cursor <cursoragent@cursor.com>
Unify parsing workers, analytics API with PostgreSQL, map UI, and PI distribution into centers/ with Docker Compose.
Co-authored-by: Cursor <cursoragent@cursor.com>