Files
xiaobaifupan/app/config/architecture-inventory.json
T

392 lines
8.7 KiB
JSON

{
"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"
}
],
"provider_construction": [
{
"client": "TushareClient",
"owner": "backend/data/providers/tushare.py",
"compatibility_fallback": "backend/features/market/service.py"
},
{
"client": "IfindHttpClient",
"owner": "backend/data/gateway.py"
},
{
"client": "MarketChartClient",
"owner": "backend/data/gateway.py"
},
{
"client": "WebRealtimeAggregator",
"owner": "backend/data/gateway.py"
}
],
"numeric_normalization": [
{
"function": "finite_number",
"path": "backend/data/numbers.py"
},
{
"function": "non_nan_number",
"path": "backend/data/numbers.py"
}
],
"date_formatting": [
{
"function": "display_compact_date",
"path": "backend/bootstrap/config.py"
}
],
"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"
}
],
"http_transport": [
{
"function": "send_json",
"path": "backend/http/handler.py"
},
{
"function": "send_ndjson_stream",
"path": "backend/http/handler.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": 108387,
"lines": 2203
},
{
"path": "backend/data/providers/tushare_client.py",
"bytes": 94124,
"lines": 2165
},
{
"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": 57998,
"lines": 1307
},
{
"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": 47552,
"lines": 1087
},
{
"path": "frontend/styles/theme.css",
"bytes": 36427,
"lines": 1253
},
{
"path": "database.py",
"bytes": 33284,
"lines": 746
}
]
}