{ "schema_version": 1, "captured_from": "app accepted modular runtime", "runtime": { "http_server": "http.server.ThreadingHTTPServer", "application_processes": 1, "database": "SQLite WAL", "frontend": "build-free HTML/CSS/JavaScript", "container_port": 8765 }, "counts": { "primary_pages": 16, "api_exact_paths": 53, "api_prefixes": 0, "api_patterns": 11, "database_tables": 36 }, "pages": [ { "id": "sentimentCycleView", "title": "情绪周期" }, { "id": "limitPool", "title": "涨停池" }, { "id": "brokenView", "title": "炸板池" }, { "id": "downView", "title": "跌停板" }, { "id": "yesterdayView", "title": "昨日涨停" }, { "id": "performanceView", "title": "涨停表现" }, { "id": "ladderView", "title": "市场天梯" }, { "id": "rotationView", "title": "板块轮动" }, { "id": "auctionView", "title": "集合竞价" }, { "id": "themeLibraryView", "title": "题材库" }, { "id": "popularityView", "title": "人气热榜" }, { "id": "dragonView", "title": "龙虎榜" }, { "id": "screenerView", "title": "智能选股" }, { "id": "mentorView", "title": "问师" }, { "id": "heavenView", "title": "问天" }, { "id": "reviewWorkspaceView", "title": "我的复盘" } ], "api": { "exact": [ "/api/account/birth-profile", "/api/account/password", "/api/account/status", "/api/admin/membership", "/api/admin/refresh", "/api/admin/settings", "/api/admin/settings/test", "/api/alerts", "/api/alerts/read-all", "/api/assistant/chat", "/api/assistant/messages", "/api/auction", "/api/auth/login", "/api/auth/logout", "/api/auth/me", "/api/auth/register", "/api/backfill", "/api/chart/intraday", "/api/dashboard", "/api/dragon-tiger", "/api/dragon-tiger/profiles", "/api/health", "/api/heaven/hexagram", "/api/heaven/interpret", "/api/heaven/personal", "/api/heaven/readings", "/api/heaven/sector-phases", "/api/heaven/setup", "/api/mentors/chat", "/api/mentors/messages", "/api/mentors/preferences", "/api/mentors/setup", "/api/notes", "/api/popularity", "/api/realtime-aggregate/health", "/api/reasons", "/api/rotation/history", "/api/rotation/members", "/api/screener/compile", "/api/screener/run", "/api/screener/setup", "/api/screener/strategies", "/api/screener/sync", "/api/screener/tracking", "/api/screener/tracking/refresh", "/api/search", "/api/search/detail", "/api/seat-aliases", "/api/sentiment/history", "/api/themes", "/api/themes/detail", "/api/trades", "/api/watchlist" ], "prefixes": [], "patterns": [ "/api/alerts/(\\d+)", "/api/alerts/(\\d+)/read", "/api/heaven/readings/(\\d+)", "/api/heaven/sector-phases/(.+)", "/api/notes/(\\d+)", "/api/screener/strategies/(\\d+)", "/api/screener/tracking/(\\d+)", "/api/stock/(\\d{6})", "/api/stock/(\\d{6})/preview", "/api/trades/(\\d+)", "/api/watchlist/(\\d{6})" ] }, "database_tables": [ "users", "user_sessions", "user_credentials", "user_birth_profiles", "system_settings", "llm_usage", "dashboard_snapshots", "sync_runs", "data_snapshots", "watchlist", "review_notes", "reason_overrides", "seat_aliases", "sector_phase_overrides", "stock_master", "daily_bars", "benchmark_bars", "daily_indicators", "fundamental_indicators", "moneyflow_daily", "auction_factors", "earnings_events", "popularity_factors", "lhb_institution_daily", "screener_strategies", "screener_runs", "mentor_messages", "mentor_preferences", "wencai_saved_queries", "strategy_tracks", "alerts", "trade_entries", "assistant_messages", "heaven_readings", "job_runs", "schema_migrations" ], "background_job_methods": [ "_background_refresh_tick" ], "external_data_adapters": [ { "provider": "tushare", "path": "backend/data/providers/tushare_client.py", "runtime_role": "primary deterministic market data" }, { "provider": "ifind", "path": "backend/data/providers/ifind_client.py", "runtime_role": "realtime, charts, snapshots, enrichment" }, { "provider": "eastmoney", "path": "backend/features/market/charts.py", "runtime_role": "display chart fallback" }, { "provider": "eastmoney", "path": "backend/data/realtime.py", "runtime_role": "isolated realtime observation" }, { "provider": "tencent", "path": "backend/data/realtime.py", "runtime_role": "index observation fallback" } ], "llm_entrypoints": [ { "function": "stream_with_mentor", "path": "backend/features/mentor/agent.py" }, { "function": "interpret_heaven", "path": "backend/features/heaven/agent.py" }, { "function": "stream_review_assistant", "path": "backend/features/review/agent.py" }, { "function": "compile_strategy_with_llm", "path": "backend/features/screener/compiler.py" }, { "function": "test_llm_connection", "path": "backend/features/screener/compiler.py" } ], "llm_transport": [ { "function": "chat_completion", "path": "backend/llm/transport.py" }, { "function": "stream_chat_completion", "path": "backend/llm/transport.py" } ], "css_layers": [ "/shared/tokens.css?v=20260729-1", "/styles/styles.css", "/styles/renovation.css?v=20260725-5", "/styles/redesign-v2.css?v=20260728-1", "/styles/design-system.css?v=20260728-4", "/styles/theme.css?v=20260728-2", "/pages/heaven/page.css?v=20260728-7" ], "code_hotspots": [ { "path": "frontend/styles/styles.css", "bytes": 361776, "lines": 15465 }, { "path": "frontend/styles/redesign-v2.css", "bytes": 263539, "lines": 8570 }, { "path": "frontend/index.html", "bytes": 135019, "lines": 1892 }, { "path": "backend/features/screener/engine.py", "bytes": 108552, "lines": 2213 }, { "path": "backend/data/providers/tushare_client.py", "bytes": 94329, "lines": 2175 }, { "path": "frontend/app.js", "bytes": 89213, "lines": 1939 }, { "path": "frontend/pages/heaven/page.js", "bytes": 86493, "lines": 1830 }, { "path": "frontend/styles/renovation.css", "bytes": 83949, "lines": 1553 }, { "path": "frontend/pages/heaven/page.css", "bytes": 73222, "lines": 1084 }, { "path": "backend/features/heaven/service.py", "bytes": 63123, "lines": 1303 }, { "path": "backend/features/market/insights.py", "bytes": 58150, "lines": 1314 }, { "path": "frontend/pages/market/runtime.js", "bytes": 55720, "lines": 1333 }, { "path": "backend/features/heaven/engine.py", "bytes": 51670, "lines": 1181 }, { "path": "backend/application.py", "bytes": 49784, "lines": 1165 }, { "path": "frontend/styles/theme.css", "bytes": 36427, "lines": 1253 }, { "path": "database.py", "bytes": 33284, "lines": 746 } ] }