gitextract_w0u594fz/ ├── .deepsource.toml ├── .gitignore ├── LICENSE ├── README.md ├── README_zn.md ├── backend/ │ ├── .gitignore │ ├── README.md │ ├── README_zn.md │ ├── add_raw_html_column.py │ ├── app/ │ │ ├── __init__.py │ │ ├── agents/ │ │ │ ├── __init__.py │ │ │ ├── data_collector.py │ │ │ ├── data_collector_v2.py │ │ │ ├── debate_agents.py │ │ │ ├── news_analyst.py │ │ │ ├── orchestrator.py │ │ │ ├── quantitative_agent.py │ │ │ └── search_analyst.py │ │ ├── alpha_mining/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── backtest/ │ │ │ │ ├── __init__.py │ │ │ │ └── evaluator.py │ │ │ ├── config.py │ │ │ ├── dsl/ │ │ │ │ ├── __init__.py │ │ │ │ ├── ops.py │ │ │ │ └── vocab.py │ │ │ ├── features/ │ │ │ │ ├── __init__.py │ │ │ │ ├── market.py │ │ │ │ └── sentiment.py │ │ │ ├── model/ │ │ │ │ ├── __init__.py │ │ │ │ ├── alpha_generator.py │ │ │ │ └── trainer.py │ │ │ ├── tools/ │ │ │ │ ├── __init__.py │ │ │ │ └── alpha_mining_tool.py │ │ │ ├── utils.py │ │ │ └── vm/ │ │ │ ├── __init__.py │ │ │ └── factor_vm.py │ │ ├── api/ │ │ │ ├── __init__.py │ │ │ └── v1/ │ │ │ ├── __init__.py │ │ │ ├── agents.py │ │ │ ├── alpha_mining.py │ │ │ ├── analysis.py │ │ │ ├── debug.py │ │ │ ├── knowledge_graph.py │ │ │ ├── llm_config.py │ │ │ ├── news.py │ │ │ ├── news_v2.py │ │ │ ├── stocks.py │ │ │ └── tasks.py │ │ ├── config/ │ │ │ ├── __init__.py │ │ │ └── debate_modes.yaml │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── celery_app.py │ │ │ ├── config.py │ │ │ ├── database.py │ │ │ ├── neo4j_client.py │ │ │ └── redis_client.py │ │ ├── financial/ │ │ │ ├── __init__.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── news.py │ │ │ │ └── stock.py │ │ │ ├── providers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── eastmoney/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── fetchers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── news.py │ │ │ │ │ └── provider.py │ │ │ │ ├── nbd/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── fetchers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── news.py │ │ │ │ │ └── provider.py │ │ │ │ ├── netease/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── fetchers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── news.py │ │ │ │ │ └── provider.py │ │ │ │ ├── sina/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── fetchers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── news.py │ │ │ │ │ └── provider.py │ │ │ │ ├── tencent/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── fetchers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── news.py │ │ │ │ │ └── provider.py │ │ │ │ └── yicai/ │ │ │ │ ├── __init__.py │ │ │ │ ├── fetchers/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── news.py │ │ │ │ └── provider.py │ │ │ ├── registry.py │ │ │ └── tools.py │ │ ├── knowledge/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── graph_models.py │ │ │ ├── graph_service.py │ │ │ ├── knowledge_extractor.py │ │ │ └── parallel_search.py │ │ ├── main.py │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ ├── analysis.py │ │ │ ├── crawl_task.py │ │ │ ├── database.py │ │ │ ├── debate_history.py │ │ │ ├── news.py │ │ │ └── stock.py │ │ ├── scripts/ │ │ │ └── init_stocks.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ ├── analysis_service.py │ │ │ ├── embedding_service.py │ │ │ ├── llm_service.py │ │ │ └── stock_data_service.py │ │ ├── storage/ │ │ │ ├── __init__.py │ │ │ └── vector_storage.py │ │ ├── tasks/ │ │ │ ├── __init__.py │ │ │ └── crawl_tasks.py │ │ └── tools/ │ │ ├── __init__.py │ │ ├── bochaai_search.py │ │ ├── caijing_crawler.py │ │ ├── crawler_base.py │ │ ├── crawler_enhanced.py │ │ ├── dynamic_crawler_example.py │ │ ├── eastmoney_crawler.py │ │ ├── eeo_crawler.py │ │ ├── interactive_crawler.py │ │ ├── jingji21_crawler.py │ │ ├── jwview_crawler.py │ │ ├── nbd_crawler.py │ │ ├── netease163_crawler.py │ │ ├── search_engine_crawler.py │ │ ├── sina_crawler.py │ │ ├── tencent_crawler.py │ │ ├── text_cleaner.py │ │ └── yicai_crawler.py │ ├── clear_news_data.py │ ├── env.example │ ├── init_db.py │ ├── init_knowledge_graph.py │ ├── requirements.txt │ ├── reset_database.py │ ├── setup_env.sh │ ├── start.sh │ ├── start_celery.sh │ └── tests/ │ ├── __init__.py │ ├── check_milvus_data.py │ ├── check_news_embedding_status.py │ ├── financial/ │ │ ├── __init__.py │ │ ├── test_smoke_openbb_models.py │ │ ├── test_smoke_openbb_provider.py │ │ └── test_smoke_openbb_tools.py │ ├── manual_vectorize.py │ ├── test_alpha_mining/ │ │ ├── __init__.py │ │ ├── test_integration_p2.py │ │ ├── test_smoke_p0.py │ │ └── test_smoke_p1.py │ └── test_smoke_alpha_mining.py ├── deploy/ │ ├── Dockerfile.celery │ ├── celery-entrypoint.sh │ └── docker-compose.dev.yml ├── docs/ │ ├── BochaAI_Web_Search_API_20251222_121535.md │ └── 天眼查MCP服务_20260104_171528.md ├── frontend/ │ ├── .gitignore │ ├── QUICKSTART.md │ ├── README.md │ ├── index.html │ ├── package.json │ ├── postcss.config.js │ ├── src/ │ │ ├── App.tsx │ │ ├── components/ │ │ │ ├── DebateChatRoom.tsx │ │ │ ├── DebateConfig.tsx │ │ │ ├── DebateHistorySidebar.tsx │ │ │ ├── HighlightText.tsx │ │ │ ├── KLineChart.tsx │ │ │ ├── MentionInput.tsx │ │ │ ├── ModelSelector.tsx │ │ │ ├── NewsDetailDrawer.tsx │ │ │ ├── StockSearch.tsx │ │ │ ├── alpha-mining/ │ │ │ │ ├── AgentDemo.tsx │ │ │ │ ├── MetricsDashboard.tsx │ │ │ │ ├── OperatorGrid.tsx │ │ │ │ ├── SentimentCompare.tsx │ │ │ │ ├── TrainingMonitor.tsx │ │ │ │ └── index.ts │ │ │ └── ui/ │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── sheet.tsx │ │ │ └── tabs.tsx │ │ ├── context/ │ │ │ └── NewsToolbarContext.tsx │ │ ├── hooks/ │ │ │ └── useDebounce.ts │ │ ├── index.css │ │ ├── layout/ │ │ │ └── MainLayout.tsx │ │ ├── lib/ │ │ │ ├── api-client.ts │ │ │ └── utils.ts │ │ ├── main.tsx │ │ ├── pages/ │ │ │ ├── AgentMonitorPage.tsx │ │ │ ├── AlphaMiningPage.tsx │ │ │ ├── Dashboard.tsx │ │ │ ├── NewsListPage.tsx │ │ │ ├── StockAnalysisPage.tsx │ │ │ ├── StockSearchPage.tsx │ │ │ └── TaskManagerPage.tsx │ │ ├── store/ │ │ │ ├── useDebateStore.ts │ │ │ ├── useLanguageStore.ts │ │ │ ├── useNewsStore.ts │ │ │ └── useTaskStore.ts │ │ └── types/ │ │ └── api.ts │ ├── tailwind.config.js │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── legacy_v1/ │ ├── .deepsource.toml │ ├── Chinese_Stop_Words.txt │ ├── Crawler/ │ │ ├── __init__.py │ │ ├── crawler_cnstock.py │ │ ├── crawler_jrj.py │ │ ├── crawler_nbd.py │ │ ├── crawler_sina.py │ │ ├── crawler_stcn.py │ │ └── crawler_tushare.py │ ├── README_OLD.md │ ├── Text_Analysis/ │ │ ├── __init__.py │ │ ├── text_mining.py │ │ └── text_processing.py │ ├── finance_dict.txt │ ├── run_crawler_cnstock.py │ ├── run_crawler_jrj.py │ ├── run_crawler_nbd.py │ ├── run_crawler_sina.py │ ├── run_crawler_stcn.py │ ├── run_crawler_tushare.py │ ├── run_main.py │ └── src/ │ ├── Gon/ │ │ ├── __init__.py │ │ ├── cnstockspyder.py │ │ ├── history_starter_cnstock.py │ │ ├── history_starter_jrj.py │ │ ├── history_starter_nbd.py │ │ ├── history_starter_stock_price.py │ │ ├── ifengspyder.py │ │ ├── jrjspyder.py │ │ ├── kill_realtime_spyder_tasks.py │ │ ├── money163spyder.py │ │ ├── nbdspyder.py │ │ ├── realtime_starter_cnstock.py │ │ ├── realtime_starter_jrj.py │ │ ├── realtime_starter_nbd.py │ │ ├── realtime_starter_redis_queue.py │ │ ├── realtime_starter_stock_price.py │ │ ├── sinaspyder.py │ │ ├── spyder.py │ │ └── stockinfospyder.py │ ├── Hisoka/ │ │ └── classifier.py │ ├── Killua/ │ │ ├── __init__.py │ │ ├── buildstocknewsdb.py │ │ ├── deduplication.py │ │ └── denull.py │ ├── Kite/ │ │ ├── __init__.py │ │ ├── config.py │ │ ├── database.py │ │ ├── log.py │ │ ├── utils.py │ │ └── webserver.py │ ├── Leorio/ │ │ ├── __init__.py │ │ ├── chnstopwords.txt │ │ ├── financedict.txt │ │ ├── tokenization.py │ │ └── topicmodelling.py │ ├── __init__.py │ ├── history_spyder_startup.bat │ ├── main.py │ ├── realtime_spyder_startup.bat │ └── realtime_spyder_stopall.bat ├── reset_all_data.sh └── thirdparty/ ├── DISC-FinLLM.md ├── ElegantRL.md ├── FinCast-fts.md ├── FinGPT.md ├── FinGenius.md ├── FinRL-Meta.md ├── FinRL.md ├── FinRobot.md ├── FinceptTerminal.md ├── Kronos.md ├── Lean.md ├── README.md ├── TradingAgents-CN.md ├── TradingAgents.md ├── TrendRadar.md ├── agentic-trading.md ├── awesome-quant.md ├── backtrader.md ├── investor-agent.md ├── panda_quantflow.md ├── qlib.md └── vnpy.md