# StockAgent **Repository Path**: xia-weikun/StockAgent ## Basic Information - **Project Name**: StockAgent - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://github.com/qilihei/StockAgent - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

๐Ÿš€ StockAgent

AI ้ฉฑๅŠจ็š„ๆ™บ่ƒฝ้‡ๅŒ–ๅˆ†ๆžๅนณๅฐ

ๅŠŸ่ƒฝ็‰นๆ€ง โ€ข ็ณป็ปŸๆžถๆž„ โ€ข ๅฟซ้€Ÿๅผ€ๅง‹ โ€ข ้ƒจ็ฝฒๆŒ‡ๅ— โ€ข ๆŠ€ๆœฏๆ ˆ

Python Vue FastAPI MongoDB License

--- ## ๐Ÿ“– ้กน็›ฎ็ฎ€ไป‹ **StockAgent** ๆ˜ฏไธ€ไธช้ขๅ‘ A ่‚กๅธ‚ๅœบ็š„ๆ™บ่ƒฝ้‡ๅŒ–ๅˆ†ๆžๅนณๅฐ๏ผŒ่žๅˆไบ† **ๅคง่ฏญ่จ€ๆจกๅž‹ (LLM)**ใ€**ๅคšๅ› ๅญ้€‰่‚ก**ใ€**้‡ๅŒ–ๅ›žๆต‹**ใ€**ๅคšๆบๆ–ฐ้—ป่šๅˆ** ็ญ‰ๆŠ€ๆœฏ๏ผŒๅธฎๅŠฉๆŠ•่ต„่€…่ฟ›่กŒๆ™บ่ƒฝๅŒ–็š„ๅธ‚ๅœบๅˆ†ๆžๅ’Œ็ญ–็•ฅ้ชŒ่ฏใ€‚ ### โœจ ๆ ธๅฟƒไบฎ็‚น - ๐Ÿค– **AI ๆ™บ่ƒฝๅˆ†ๆž** - ้›†ๆˆ GPT-4ใ€DeepSeekใ€้€šไน‰ๅƒ้—ฎ็ญ‰ๅคš็ง LLM๏ผŒๆไพ›ๆ™บ่ƒฝ่‚ก็ฅจๅˆ†ๆžๆŠฅๅ‘Š - ๐Ÿ“Š **ๅคšๅ› ๅญ้€‰่‚ก** - ๅ†…็ฝฎ 17+ ้€‰่‚กๅ› ๅญ๏ผŒๆ”ฏๆŒๅŠจ้‡ใ€ไปทๅ€ผใ€่ดจ้‡ใ€ๆˆ้•ฟ็ญ‰ๅคš็ปดๅบฆ็ญ–็•ฅ - ๐Ÿ“ˆ **ๅ‘้‡ๅŒ–ๅ›žๆต‹** - ้ซ˜ๆ€ง่ƒฝๅ›žๆต‹ๅผ•ๆ“Ž๏ผŒๆ”ฏๆŒ A ่‚ก T+1 ่ง„ๅˆ™ใ€ไฝฃ้‡‘ๅฐ่Šฑ็จŽใ€ๆถจ่ทŒๅœ้™ๅˆถ - ๐Ÿ“ฐ **ๅคšๆบๆ–ฐ้—ป่šๅˆ** - ่‡ชๅŠจ้‡‡้›†่ดข่”็คพใ€ๆพŽๆนƒใ€ๅ›ฝๅŠก้™ขใ€ๅทฅไฟก้ƒจ็ญ‰ 10+ ๆ–ฐ้—ปๆบ - ๐Ÿ“‹ **ๆ™บ่ƒฝๆŠฅๅ‘Š็”Ÿๆˆ** - ๆฏๆ—ฅๆ—ฉๆŠฅ/ๅˆๆŠฅ่‡ชๅŠจ็”Ÿๆˆ๏ผŒ็ƒญ็‚นไบ‹ไปถ่š็ฑปๅˆ†ๆž - ๐Ÿ”„ **ๅฎžๆ—ถๆ•ฐๆฎๅŒๆญฅ** - ่‡ชๅŠจๅŒๆญฅ Tushare ่กŒๆƒ…ๆ•ฐๆฎ๏ผŒๆ”ฏๆŒๅฎšๆ—ถ่ฐƒๅบฆ - ๐ŸŒ **ๅˆ†ๅธƒๅผๆžถๆž„** - ๅพฎๆœๅŠก่ฎพ่ฎก๏ผŒๅ„่Š‚็‚นๅฏ็‹ฌ็ซ‹ๆ‰ฉๅฑ• - ๐ŸŽจ **็ŽฐไปฃๅŒ– UI** - Vue3 + Element Plus ๆž„ๅปบ็š„ไธ“ไธš็บงไบคๆ˜“็•Œ้ข --- ## ๐Ÿ–ผ๏ธ ็•Œ้ข้ข„่งˆ
็‚นๅ‡ปๅฑ•ๅผ€ๆˆชๅ›พ ### ไปช่กจ็›˜ ![Dashboard](docs/images/dashboard.png) ### ้‡ๅŒ–ๅ›žๆต‹ ![Backtest](docs/images/backtest.png) ### ๅ› ๅญ้€‰่‚ก ![Factor Selection](docs/images/factor-selection.png) ### ็ƒญ็‚น่ฟฝ่ธช ![Hot News](docs/images/hot-news.png)
--- ## ๐Ÿ—๏ธ ็ณป็ปŸๆžถๆž„ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Frontend (Vue3 + Vite) โ”‚ โ”‚ Element Plus + ECharts + SCSS โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ HTTP / WebSocket โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Web Node (FastAPI) โ”‚ โ”‚ REST API โ€ข JWT Auth โ€ข WebSocket โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ gRPC (ๅ†…้ƒจ้€šไฟก) โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ–ผ โ–ผ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Data Sync โ”‚ โ”‚ Inference โ”‚ โ”‚ Backtest โ”‚ โ”‚ Node โ”‚ โ”‚ Node โ”‚ โ”‚ Node โ”‚ โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ โ”‚ โ€ข ่กŒๆƒ…ๅŒๆญฅ โ”‚ โ”‚ โ€ข LLM ๆŽจ็† โ”‚ โ”‚ โ€ข ๅ•่‚กๅ›žๆต‹ โ”‚ โ”‚ โ€ข ๆ–ฐ้—ป้‡‡้›† โ”‚ โ”‚ โ€ข ๆ™บ่ƒฝๅˆ†ๆž โ”‚ โ”‚ โ€ข ๅ› ๅญ้€‰่‚ก โ”‚ โ”‚ โ€ข ๆŠฅๅ‘Š็”Ÿๆˆ โ”‚ โ”‚ โ€ข ๆŠฅๅ‘Š็”Ÿๆˆ โ”‚ โ”‚ โ€ข ็ป„ๅˆๅ›žๆต‹ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ MongoDB โ€ข Redis โ€ข Milvus โ”‚ โ”‚ ๆ•ฐๆฎๅญ˜ๅ‚จ โ€ข ็ผ“ๅญ˜้˜Ÿๅˆ— โ€ข ๅ‘้‡ๆฃ€็ดข โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ่Š‚็‚น่ฏดๆ˜Ž | ่Š‚็‚น | ่Œ่ดฃ | ๅฏๆ‰ฉๅฑ• | |------|------|--------| | **Web Node** | HTTP API ็ฝ‘ๅ…ณใ€็”จๆˆท่ฎค่ฏใ€่ฏทๆฑ‚่ทฏ็”ฑ | โœ… | | **Data Sync Node** | ่กŒๆƒ…ๅŒๆญฅใ€ๆ–ฐ้—ป้‡‡้›†ใ€ๆŠฅๅ‘Š็”Ÿๆˆ | โŒ (ๅ•ๅฎžไพ‹) | | **Inference Node** | LLM ๆŽจ็†ใ€ๆ™บ่ƒฝๅˆ†ๆž | โœ… | | **Backtest Node** | ้‡ๅŒ–ๅ›žๆต‹ใ€ๅ› ๅญ่ฎก็ฎ—ใ€็ปฉๆ•ˆๅˆ†ๆž | โœ… | | **MCP Node** | Model Context Protocol ๆœๅŠก | โŒ | | **Listener Node** | ๅฎžๆ—ถ่กŒๆƒ…็›‘ๅฌใ€ๅผ‚ๅŠจๆ้†’ | โŒ | --- ## ๐ŸŽฏ ๅŠŸ่ƒฝ็‰นๆ€ง ### ๐Ÿ“Š ๅธ‚ๅœบๅˆ†ๆž - **ๅคง็›˜ๆฆ‚่งˆ** - ไธป่ฆๆŒ‡ๆ•ฐ่กŒๆƒ…ใ€ๆถจ่ทŒๅˆ†ๅธƒใ€ๆˆไบค็ƒญๅŠ›ๅ›พ - **ๆฟๅ—ๅˆ†ๆž** - ่กŒไธš/ๆฆ‚ๅฟตๆฟๅ—่ต„้‡‘ๆตๅ‘ใ€ๅผบๅผฑๅฏนๆฏ” - **ๆถจ่ทŒๅœๅˆ†ๆž** - ๆถจๅœๆฟๅค็›˜ใ€่ฟžๆฟ็ปŸ่ฎกใ€ๅฐๆฟๅผบๅบฆ ### ๐Ÿ“ฐ ๆ–ฐ้—ป่šๅˆ ๅคšๆบๆ–ฐ้—ป่‡ชๅŠจ้‡‡้›†๏ผŒๆŒ‰ๅˆ†็ป„ๅทฎๅผ‚ๅŒ–่ฐƒๅบฆ๏ผš | ๅˆ†็ป„ | ้‡‡้›†ๆบ | ้‡‡้›†้—ด้š” | |------|--------|----------| | ่ดข็ปๅฟซ่ฎฏ | ่ดข่”็คพใ€ๅŽๅฐ”่ก—่ง้—ปใ€้‡‘ๅๆ•ฐๆฎ | 5 ๅˆ†้’Ÿ | | ่ดข็ป่ฎจ่ฎบ | ้›ช็ƒใ€ไธœๆ–น่ดขๅฏŒ | 10 ๅˆ†้’Ÿ | | ๆ”ฟ็ญ–ๆ–‡ไปถ | ๅ›ฝๅŠก้™ขใ€ๅทฅไฟก้ƒจ | ๆฏๅคฉ | | ็ง‘ๆŠ€็ปผๅˆ | ๆพŽๆนƒๆ–ฐ้—ปใ€็จ€ๅœŸๆŽ˜้‡‘ | 60 ๅˆ†้’Ÿ | - **็ƒญ็‚น่ฟฝ่ธช** - ๅฎžๆ—ถ็ƒญๆฆœใ€ๅคšๆบ่šๅˆ - **ไบ‹ไปถ่š็ฑป** - LLM ๆ™บ่ƒฝๅˆ†ๆž๏ผŒ็›ธไผผๆ–ฐ้—ป่‡ชๅŠจๅฝ’็ฑป - **ๆŠฅๅ‘Šๅ›ž้กพ** - ๅކๅฒๆŠฅๅ‘ŠๆŸฅ่ฏข๏ผŒๆŒ‰ๆ—ฅๆœŸ็ญ›้€‰ ### ๐Ÿ”ฌ ๆ™บ่ƒฝๅˆ†ๆž - **AI ่‚ก็ฅจๅˆ†ๆž** - ๅŸบไบŽ LLM ็š„ๅคš็ปดๅบฆๅˆ†ๆžๆŠฅๅ‘Š - **ๆŠ€ๆœฏ้ข่ฏŠๆ–ญ** - ่‡ชๅŠจ่ฏ†ๅˆซ K ็บฟๅฝขๆ€ใ€ๆ”ฏๆ’‘ๅŽ‹ๅŠ›ไฝ - **ๅŸบๆœฌ้ข่ฏ„ไผฐ** - ่ดขๅŠกๆŒ‡ๆ ‡่ฏ„ๅˆ†ใ€ไผฐๅ€ผๅฏนๆฏ” - **่ต„้‡‘้ข่งฃ่ฏป** - ไธปๅŠ›่ต„้‡‘ๆตๅ‘ใ€้พ™่™Žๆฆœ่งฃๆž - **ๆฏๆ—ฅๆŠฅๅ‘Š** - ๆ—ฉๆŠฅ/ๅˆๆŠฅ่‡ชๅŠจ็”ŸๆˆๆŽจ้€ ### ๐Ÿ“ˆ ้‡ๅŒ–ๅ›žๆต‹ #### ๅ•่‚กๅ›žๆต‹ - ๆ”ฏๆŒ่‡ชๅฎšไน‰ๅ› ๅญๆƒ้‡ - A ่‚กไบคๆ˜“่ง„ๅˆ™๏ผˆT+1ใ€ๆถจ่ทŒๅœใ€ไฝฃ้‡‘ๅฐ่Šฑ็จŽ๏ผ‰ - ๆ”ถ็›Šๆ›ฒ็บฟใ€ๅ›žๆ’คๅˆ†ๆžใ€ไบคๆ˜“ๆ˜Ž็ป† #### ๅ› ๅญ้€‰่‚กๅ›žๆต‹ - **17+ ๅ†…็ฝฎๅ› ๅญ**๏ผš | ๅˆ†็ฑป | ๅ› ๅญ | |------|------| | ๅŠจ้‡ | 5ๆ—ฅ/20ๆ—ฅ/60ๆ—ฅๅŠจ้‡ | | ไปทๅ€ผ | PE_TTMใ€PBใ€PS_TTMใ€่‚กๆฏ็އ | | ่ดจ้‡ | ROEใ€ROAใ€ๆฏ›ๅˆฉ็އ | | ๆˆ้•ฟ | ่ฅๆ”ถๅขž้•ฟ็އใ€ๅˆฉๆถฆๅขž้•ฟ็އ | | ๆณขๅŠจ | 20ๆ—ฅ/60ๆ—ฅๆณขๅŠจ็އ | | ๆตๅŠจๆ€ง | ๆขๆ‰‹็އใ€ๆˆไบค้ขใ€ๆ€ปๅธ‚ๅ€ผ | | ๆŠ€ๆœฏ | ๅ‡็บฟๅ็ฆปใ€RSIใ€ไปทๆ ผไฝ็ฝฎ | - **็ตๆดป้…็ฝฎ**๏ผš่ฐƒไป“้ข‘็އใ€้€‰่‚กๆ•ฐ้‡ใ€ๆƒ้‡ๆ–นๆณ• - **ๅŸบๅ‡†ๅฏนๆฏ”**๏ผš็ญ–็•ฅๆ”ถ็›Š vs ๆฒชๆทฑ300 - **่ฏฆ็ป†ๆŠฅๅ‘Š**๏ผšๅคๆ™ฎๆฏ”็އใ€ๆœ€ๅคงๅ›žๆ’คใ€่ถ…้ขๆ”ถ็›Š ### ๐Ÿ—‚๏ธ ็ญ–็•ฅ็ฎก็† - **่‡ช้€‰่‚ก** - ๅˆ†็ป„็ฎก็†ใ€ๅฎžๆ—ถ่กŒๆƒ… - **ๅธ‚ๅœบ็›‘ๅฌ** - ๆกไปถ่งฆๅ‘ใ€ๅฎžๆ—ถๆ้†’ - **ๅކๅฒ่ฎฐๅฝ•** - ๅ›žๆต‹็ป“ๆžœๅญ˜ๆกฃใ€็ญ–็•ฅๅฏนๆฏ” --- ## ๐Ÿ› ๏ธ ๆŠ€ๆœฏๆ ˆ ### ๅŽ็ซฏ | ๆŠ€ๆœฏ | ็”จ้€” | |------|------| | **Python 3.11+** | ไธปๅผ€ๅ‘่ฏญ่จ€ | | **FastAPI** | Web ๆก†ๆžถใ€REST API | | **gRPC** | ่Š‚็‚น้—ด้€šไฟก | | **Pydantic** | ๆ•ฐๆฎ้ชŒ่ฏใ€้…็ฝฎ็ฎก็† | | **APScheduler** | ๅฎšๆ—ถไปปๅŠก่ฐƒๅบฆ | | **Pandas/NumPy** | ๆ•ฐๆฎๅค„็†ใ€ๅ‘้‡ๅŒ–่ฎก็ฎ— | | **LangChain** | LLM ๅบ”็”จๆก†ๆžถ | | **httpx** | ๅผ‚ๆญฅ HTTP ๅฎขๆˆท็ซฏ | ### ๅ‰็ซฏ | ๆŠ€ๆœฏ | ็”จ้€” | |------|------| | **Vue 3.4** | ๅ‰็ซฏๆก†ๆžถ | | **TypeScript** | ็ฑปๅž‹ๅฎ‰ๅ…จ | | **Vite 5** | ๆž„ๅปบๅทฅๅ…ท | | **Element Plus** | UI ็ป„ไปถๅบ“ | | **ECharts** | ๅ›พ่กจๅฏ่ง†ๅŒ– | | **Pinia** | ็Šถๆ€็ฎก็† | | **Vue Router** | ่ทฏ็”ฑ็ฎก็† | ### ๅญ˜ๅ‚จ | ๆŠ€ๆœฏ | ็”จ้€” | |------|------| | **MongoDB 7** | ไธปๆ•ฐๆฎๅบ“ | | **Redis 7** | ็ผ“ๅญ˜ใ€ๆถˆๆฏ้˜Ÿๅˆ—ใ€ๅˆ†ๅธƒๅผ้” | | **Milvus** | ๅ‘้‡ๆ•ฐๆฎๅบ“ (่ฏญไน‰ๆœ็ดข) | ### ๆ•ฐๆฎๆบ | ๆ•ฐๆฎๆบ | ๆ•ฐๆฎ็ฑปๅž‹ | |--------|----------| | **Tushare Pro** | A่‚ก่กŒๆƒ…ใ€่ดขๅŠกใ€่ต„้‡‘ๆตๅ‘็ญ‰ | | **่ดข่”็คพ** | ่ดข็ปๅฟซ่ฎฏใ€็”ตๆŠฅ | | **ๆพŽๆนƒๆ–ฐ้—ป** | ็ปผๅˆ็ƒญๆฆœใ€่ดข็ป่ต„่ฎฏ | | **ๅ›ฝๅŠก้™ข/ๅทฅไฟก้ƒจ** | ๆ”ฟ็ญ–ๆ–‡ไปถใ€ๅ…ฌๅ‘Š | ### LLM ๆ”ฏๆŒ - OpenAI (GPT-4o, GPT-4o-mini) - DeepSeek (deepseek-chat) - ้˜ฟ้‡Œไบ‘ DashScope (qwen-plus) - ๆ™บ่ฐฑ AI (GLM-4) - Ollama (ๆœฌๅœฐ้ƒจ็ฝฒ) --- ## ๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹ ### ็Žฏๅขƒ่ฆๆฑ‚ - Python 3.11+ - Node.js 18+ - MongoDB 7.0 - Redis 7.0 - Milvus 2.4+ (ๅฏ้€‰๏ผŒ็”จไบŽ่ฏญไน‰ๆœ็ดข) - Docker & Docker Compose (ๆŽจ่) ### 1. ๅ…‹้š†้กน็›ฎ ```bash git clone https://github.com/qilihei/StockAgent.git cd StockAgent ``` ### 2. ๅฏๅŠจๅŸบ็ก€่ฎพๆ–ฝ ```bash cd AgentServer/deploy # ๅฏๅŠจๅ…จ้ƒจๆœๅŠก (ๆŽจ่) docker compose up -d mongodb redis milvus # ๆˆ–ไป…ๅฏๅŠจๆ ธๅฟƒๆœๅŠก (ไธๅซๅ‘้‡ๆœ็ดข) docker compose up -d mongodb redis ``` > ๐Ÿ’ก **Milvus** ็”จไบŽไบ‹ไปถ่š็ฑปใ€่ฏญไน‰ๆœ็ดข็ญ‰ AI ๅŠŸ่ƒฝใ€‚ๅฆ‚ไธ้œ€่ฆ่ฟ™ไบ›ๅŠŸ่ƒฝๅฏ่ทณ่ฟ‡ใ€‚ ### 3. ้…็ฝฎ็Žฏๅขƒๅ˜้‡ ```bash cd AgentServer cp .env.example .env # ็ผ–่พ‘ .env๏ผŒๅกซๅ…ฅๅฟ…่ฆ้…็ฝฎ ``` **ๅฟ…้กป้…็ฝฎ**๏ผš - `TUSHARE_TOKEN` - [Tushare Pro](https://tushare.pro) ่ดฆๅท Token - `LLM_API_KEY` - LLM ๆœๅŠก็š„ API Key ### 4. ๅฎ‰่ฃ…ไพ่ต– ```bash cd AgentServer # ๅˆ›ๅปบ่™šๆ‹Ÿ็Žฏๅขƒ python -m venv venv # ๆฟ€ๆดป่™šๆ‹Ÿ็Žฏๅขƒ .\venv\Scripts\activate # Windows # source venv/bin/activate # Linux/Mac # ๅฎ‰่ฃ…ไพ่ต– pip install -r requirements.txt ``` ๅ‰็ซฏไพ่ต–๏ผš ```bash cd frontend npm install ``` ### 5. ๅฏๅŠจๆœๅŠก #### ๆ–นๅผ A๏ผšไฝฟ็”จ็ฎก็†่„šๆœฌ (ๆŽจ่) ```powershell # ่ฟ›ๅ…ฅ้กน็›ฎๆ น็›ฎๅฝ• cd stockAgent .\manager.ps1 ``` ``` [1] Start Web [2] Start Inference [3] Start DataSync [4] Start Listener [5] Start Backtest [6] Start Frontend [A] Start all backend nodes [F] Start full stack (backend + frontend) ``` ๆŒ‰้œ€้€‰ๆ‹ฉๅฏๅŠจ๏ผŒๆˆ–้€‰ๆ‹ฉ `[F]` ๅฏๅŠจๅ…จ้ƒจใ€‚ #### ๆ–นๅผ B๏ผšๆ‰‹ๅŠจๅฏๅŠจ ```bash cd AgentServer # ๅฏๅŠจ Web ่Š‚็‚น NODE_TYPE=web python main.py # ๆ–ฐ็ปˆ็ซฏ๏ผšๅฏๅŠจๆ•ฐๆฎๅŒๆญฅ่Š‚็‚น NODE_TYPE=data_sync python main.py # ๆ–ฐ็ปˆ็ซฏ๏ผšๅฏๅŠจๅ‰็ซฏ cd frontend && npm run dev ``` ### 6. ่ฎฟ้—ฎๆœๅŠก - ๅ‰็ซฏ็•Œ้ข: http://localhost:5173 - API ๆ–‡ๆกฃ: http://localhost:8000/docs --- ## ๐Ÿ“ฆ ้กน็›ฎ็ป“ๆž„ ``` StockAgent/ โ”œโ”€โ”€ AgentServer/ # ๅŽ็ซฏๆœๅŠก โ”‚ โ”œโ”€โ”€ main.py # ็ปŸไธ€ๅ…ฅๅฃ โ”‚ โ”œโ”€โ”€ requirements.txt # Python ไพ่ต– โ”‚ โ”œโ”€โ”€ .env.example # ็Žฏๅขƒๅ˜้‡ๆจกๆฟ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ core/ # ๆ ธๅฟƒๆจกๅ— โ”‚ โ”‚ โ”œโ”€โ”€ settings.py # ้…็ฝฎ็ฎก็† โ”‚ โ”‚ โ”œโ”€โ”€ protocols.py # ๅ่ฎฎๅฎšไน‰ โ”‚ โ”‚ โ”œโ”€โ”€ rpc/ # gRPC ้€šไฟก โ”‚ โ”‚ โ””โ”€โ”€ managers/ # ็ฎก็†ๅ™จ (MongoDB, Redis, DataSource) โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ src/ # ไธšๅŠก้€ป่พ‘ โ”‚ โ”‚ โ”œโ”€โ”€ data_sources/ # ๆ•ฐๆฎๆบ้€‚้…ๅ™จ โ”‚ โ”‚ โ””โ”€โ”€ collector/ # ๆ–ฐ้—ป้‡‡้›†ๆก†ๆžถ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ nodes/ # ่Š‚็‚นๅฎž็Žฐ โ”‚ โ”‚ โ”œโ”€โ”€ web/ # Web ่Š‚็‚น (FastAPI) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ api/ # API ่ทฏ็”ฑ โ”‚ โ”‚ โ”œโ”€โ”€ data_sync/ # ๆ•ฐๆฎๅŒๆญฅ่Š‚็‚น โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ collectors/ # ๆ•ฐๆฎ้‡‡้›†ๅ™จ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ stock/ # ่‚ก็ฅจๆ•ฐๆฎ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ news/ # ๆ–ฐ้—ป้‡‡้›† โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ tasks/ # ๅฎšๆ—ถไปปๅŠก โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ generators/ # ๆŠฅๅ‘Š็”Ÿๆˆ โ”‚ โ”‚ โ”œโ”€โ”€ inference/ # ๆŽจ็†่Š‚็‚น โ”‚ โ”‚ โ”œโ”€โ”€ backtest_engine/ # ๅ›žๆต‹ๅผ•ๆ“Ž โ”‚ โ”‚ โ”œโ”€โ”€ mcp/ # MCP ่Š‚็‚น โ”‚ โ”‚ โ””โ”€โ”€ listener/ # ็›‘ๅฌ่Š‚็‚น โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ scripts/ # ๅทฅๅ…ท่„šๆœฌ โ”‚ โ””โ”€โ”€ deploy/ # ้ƒจ็ฝฒ้…็ฝฎ โ”‚ โ”œโ”€โ”€ frontend/ # ๅ‰็ซฏๅบ”็”จ โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”‚ โ”œโ”€โ”€ api/ # API ๅฐ่ฃ… โ”‚ โ”‚ โ”œโ”€โ”€ views/ # ้กต้ข่ง†ๅ›พ โ”‚ โ”‚ โ”œโ”€โ”€ stores/ # ็Šถๆ€็ฎก็† โ”‚ โ”‚ โ””โ”€โ”€ router/ # ่ทฏ็”ฑ้…็ฝฎ โ”‚ โ””โ”€โ”€ ... โ”‚ โ”œโ”€โ”€ manager.ps1 # Windows ็ฎก็†่„šๆœฌ โ”œโ”€โ”€ backup.ps1 # ๅค‡ไปฝ่„šๆœฌ โ””โ”€โ”€ README.md # ๆœฌๆ–‡ไปถ ``` --- ## ๐Ÿ“– ้ƒจ็ฝฒๆŒ‡ๅ— ่ฏฆ่ง [AgentServer/deploy/README.md](AgentServer/deploy/README.md) ### Docker Compose ้ƒจ็ฝฒ (ๆŽจ่) ```bash cd AgentServer/deploy # ๅฏๅŠจๆ‰€ๆœ‰ๆœๅŠก docker compose up -d # ๆŸฅ็œ‹็Šถๆ€ docker compose ps ``` ### ๆŒ‰้œ€ๅฏๅŠจ ```bash # ๅชๅฏๅŠจๆ ธๅฟƒๆœๅŠก docker compose up -d mongodb redis web data-sync backtest ``` --- ## ๐Ÿ”ง ้…็ฝฎ่ฏดๆ˜Ž ๅฎŒๆ•ด้…็ฝฎ้กน่ง `AgentServer/.env.example`๏ผŒไธป่ฆ้…็ฝฎ๏ผš | ้…็ฝฎ้กน | ่ฏดๆ˜Ž | ๅฟ…้กป | |--------|------|------| | `TUSHARE_TOKEN` | Tushare Pro Token | โœ… | | `LLM_PROVIDER` | LLM ๆไพ›ๅ•† | โœ… | | `LLM_API_KEY` | LLM API Key | โœ… | | `MONGO_*` | MongoDB ่ฟžๆŽฅ้…็ฝฎ | โœ… | | `REDIS_*` | Redis ่ฟžๆŽฅ้…็ฝฎ | โœ… | | `JWT_SECRET` | JWT ็ญพๅๅฏ†้’ฅ | โœ… | --- ## ๐Ÿ—บ๏ธ ่ทฏ็บฟๅ›พ - [x] ๅŸบ็ก€ๆžถๆž„ๆญๅปบ - [x] ๆ•ฐๆฎๅŒๆญฅๆจกๅ— - [x] ๅ•่‚ก้‡ๅŒ–ๅ›žๆต‹ - [x] ๅ› ๅญ้€‰่‚กๅ›žๆต‹ - [x] ๅคšๆบๆ–ฐ้—ป้‡‡้›† - [x] ็ƒญ็‚นๆ–ฐ้—ป่šๅˆ - [x] ไบ‹ไปถ่š็ฑปๅˆ†ๆž - [x] ๆฏๆ—ฅๆŠฅๅ‘Š็”Ÿๆˆ - [x] ๆŠฅๅ‘Šๅ›ž้กพๅŠŸ่ƒฝ - [ ] ๅฎžๆ—ถ่กŒๆƒ… WebSocket - [ ] ็ญ–็•ฅๅฏ่ง†ๅŒ–็ผ–ๆŽ’ - [ ] ่‡ชๅฎšไน‰ๅ› ๅญ็ผ–ๅ†™ - [ ] ็งปๅŠจ็ซฏ้€‚้… - [ ] ๅคš่ดฆๆˆทๆ”ฏๆŒ - [ ] ๅฎž็›˜ๅฏนๆŽฅ --- ## ๐Ÿค ่ดก็ŒฎๆŒ‡ๅ— ๆฌข่ฟŽๆไบค Issue ๅ’Œ Pull Request๏ผ 1. Fork ๆœฌไป“ๅบ“ 2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (`git checkout -b feature/AmazingFeature`) 3. ๆไบคๆ›ดๆ”น (`git commit -m 'Add some AmazingFeature'`) 4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (`git push origin feature/AmazingFeature`) 5. ๆไบค Pull Request --- ## ๐Ÿ“„ ่ฎธๅฏ่ฏ ๆœฌ้กน็›ฎ้‡‡็”จ [MIT License](LICENSE) ๅผ€ๆบ่ฎธๅฏ่ฏใ€‚ --- ## โš ๏ธ ๅ…่ดฃๅฃฐๆ˜Ž ๆœฌ้กน็›ฎไป…ไพ›ๅญฆไน ๅ’Œ็ ”็ฉถไฝฟ็”จ๏ผŒไธๆž„ๆˆไปปไฝ•ๆŠ•่ต„ๅปบ่ฎฎใ€‚่‚กๅธ‚ๆœ‰้ฃŽ้™ฉ๏ผŒๆŠ•่ต„้œ€่ฐจๆ…Žใ€‚ไฝฟ็”จๆœฌ่ฝฏไปถ่ฟ›่กŒ็š„ไปปไฝ•ๆŠ•่ต„ๅ†ณ็ญ–๏ผŒ็”จๆˆท้œ€่‡ช่กŒๆ‰ฟๆ‹…้ฃŽ้™ฉใ€‚ --- ## ๐Ÿ™ ่‡ด่ฐข - [Tushare](https://tushare.pro) - ้‡‘่žๆ•ฐๆฎๆŽฅๅฃ - [LangChain](https://langchain.com) - LLM ๅบ”็”จๆก†ๆžถ - [FastAPI](https://fastapi.tiangolo.com) - Web ๆก†ๆžถ - [Vue.js](https://vuejs.org) - ๅ‰็ซฏๆก†ๆžถ - [Element Plus](https://element-plus.org) - UI ็ป„ไปถๅบ“ ---

ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนไฝ ๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ไธ€ไธช โญ Star ๆ”ฏๆŒไธ€ไธ‹๏ผ