Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
7.8 KiB
2025-12-07 <20>𡒊垢 API 摰峕㟲撖寞𦻖摰峕<E691B0>
**<2A>滚之<E6BB9A>𣬚<EFBFBD>蝣?*嚗関ool C <20>滚<EFBFBD>蝡?API 摰峕㟲撖寞𦻖嚗<F0A6BB96>虾隞亦垢<E4BAA6>啁垢瘚贝<E7989A>嚗?
<EFBFBD><EFBFBD> 隞餃𦛚璁<F0A69B9A>膩
<EFBFBD>𤑳緵嚗𡁜<EFBFBD>蝡?API <20>?Day 1-3 撌脩<E6928C>摰峕㟲撘<E39FB2><E69298>𡢅<EFBFBD>雿<EFBFBD><E99BBF>蝡?API 頝臬<E9A09D>銝滚龪<E6BB9A>?
**靽桀<E99DBD>**嚗帋耨甇<E880A8><E79487>蝡?API 靚<>鍂頝臬<E9A09D>嚗<EFBFBD><E59A97><EFBFBD>𣂼<EFBFBD><F0A382BC>𡒊垢撖寞𦻖
<EFBFBD>?<3F>𡒊垢 API 皜<><E79A9C>嚗<EFBFBD>歇摰峕<E691B0>嚗?
1. Session 蝞∠<E89D9E> <20>?Day 2 摰峕<E691B0>
| API | <EFBFBD>寞<EFBFBD> | 頝臬<EFBFBD> | <EFBFBD>蠘<EFBFBD> |
|---|---|---|---|
| 銝𠹺<EFBFBD><EFBFBD><EFBFBD>辣 | POST | /api/v1/dc/tool-c/sessions/upload |
<EFBFBD>𥕦遣 Session |
| <EFBFBD>瑕<EFBFBD> Session | GET | /api/v1/dc/tool-c/sessions/:id |
<EFBFBD>瑕<EFBFBD><EFBFBD><EFBFBD>㺭<EFBFBD>? |
| <EFBFBD>瑕<EFBFBD>憸<EFBFBD><EFBFBD> | GET | /api/v1/dc/tool-c/sessions/:id/preview |
<EFBFBD>?00銵峕㺭<E5B395>? |
| <EFBFBD>瑕<EFBFBD>摰峕㟲<EFBFBD>唳旿 | GET | /api/v1/dc/tool-c/sessions/:id/full |
<EFBFBD>券<EFBFBD><EFBFBD>唳旿 |
| <EFBFBD>湔鰵敹<EFBFBD>歲 | POST | /api/v1/dc/tool-c/sessions/:id/heartbeat |
撱園鵭餈<EFBFBD><EFBFBD><EFBFBD>園𡢿 |
| <EFBFBD>𣳇膄 Session | DELETE | /api/v1/dc/tool-c/sessions/:id |
<EFBFBD>𣳇膄 Session |
2. AI <20>蠘<EFBFBD> <20>?Day 3 摰峕<E691B0>
| API | <EFBFBD>寞<EFBFBD> | 頝臬<EFBFBD> | <EFBFBD>蠘<EFBFBD> |
|---|---|---|---|
| <EFBFBD><EFBFBD><EFBFBD>隞<EFBFBD><EFBFBD> | POST | /api/v1/dc/tool-c/ai/generate |
<EFBFBD><EFBFBD><EFBFBD> Pandas 隞<><E99A9E> |
| <EFBFBD>扯<EFBFBD>隞<EFBFBD><EFBFBD> | POST | /api/v1/dc/tool-c/ai/execute |
<EFBFBD>扯<EFBFBD>隞<EFBFBD><EFBFBD> |
| *銝<EFBFBD>甇亙<EFBFBD>雿? | POST | /api/v1/dc/tool-c/ai/process |
<EFBFBD><EFBFBD><EFBFBD>+<2B>扯<EFBFBD>+<2B>滩<EFBFBD> 潃? |
| <EFBFBD>瑕<EFBFBD><EFBFBD><EFBFBD>蟮 | GET | /api/v1/dc/tool-c/ai/history/:sessionId |
撖寡<EFBFBD><EFBFBD><EFBFBD>蟮 |
<EFBFBD>圲 隞𦠜𠯫靽桀<E99DBD>
1. 靽格迤<E6A0BC>滨垢 API 頝臬<E9A09D>
**<2A>桅<EFBFBD>**嚗𡁜<E59A97>蝡航<E89DA1><E888AA>刻楝敺<E6A59D><E695BA><EFBFBD>寥<EFBFBD>
// <20>?<3F>躰秤嚗<E7A7A4><E59A97><EFBFBD>㵪<EFBFBD>
fetch('/api/dc/tool-c/process')
fetch('/api/dc/tool-c/execute')
// <20>?甇<>&嚗<EFBC86>耨憭滚<E686AD>嚗?
fetch('/api/v1/dc/tool-c/ai/process')
fetch('/api/v1/dc/tool-c/ai/execute')
靽桀<EFBFBD><EFBFBD><EFBFBD>辣嚗?
- <EFBFBD>?
frontend-v2/src/modules/dc/pages/tool-c/components/Sidebar.tsx
2. 靽格迤<E6A0BC>滚<EFBFBD><E6BB9A>唳旿<E594B3>澆<EFBFBD>
**<2A>桅<EFBFBD>**嚗𡁜<E59A97>蝡航<E89DA1><E888AA>?previewData嚗<EFBFBD><EFBFBD>蝡舀<EFBFBD><EFBFBD>?rows
**靽桀<E99DBD>**嚗?
// <20>?<3F>滨垢<E6BBA8>澆捆銝斤<E98A9D><E696A4>澆<EFBFBD>
data: preview.data.previewData || preview.data.rows || []
靽桀<EFBFBD><EFBFBD><EFBFBD>辣嚗?
- <EFBFBD>?
frontend-v2/src/modules/dc/pages/tool-c/index.tsx - <EFBFBD>?
frontend-v2/src/modules/dc/api/toolC.ts嚗<EFBFBD>掩<EFBFBD>见<EFBFBD>銋㚁<EFBFBD>
3. 靽格迤 AI 憭<><E686AD><EFBFBD>滚<EFBFBD><E6BB9A>澆<EFBFBD>頧祆揢
**<2A>桅<EFBFBD>**嚗𡁜<E59A97>蝡臬<E89DA1>摨娍聢撘誯<E69298>閬<EFBFBD>蓮<EFBFBD>V蛹<EFBCB6>滨垢 ChatContainer <20><><EFBFBD><EFBFBD><EFBFBD>聢撘?
**靽桀<E99DBD>**嚗?
// <20>?頧祆揢<E7A586>𡒊垢<F0A1928A>滚<EFBFBD>
return {
messageId: result.data?.messageId,
explanation: result.data?.explanation,
code: result.data?.code,
success: result.data?.executeResult?.success,
metadata: {
newDataPreview: result.data?.executeResult?.newDataPreview,
},
};
靽桀<EFBFBD><EFBFBD><EFBFBD>辣嚗?
- <EFBFBD>?
frontend-v2/src/modules/dc/pages/tool-c/components/Sidebar.tsx
<EFBFBD><EFBFBD> API <20>滚<EFBFBD><E6BB9A>澆<EFBFBD>
1. <20><>辣銝𠹺<E98A9D><F0A0B9BA>滚<EFBFBD>
POST /api/v1/dc/tool-c/sessions/upload
Response (201):
{
"success": true,
"message": "Session<6F>𥕦遣<F0A595A6>𣂼<EFBFBD>",
"data": {
"sessionId": "xxx",
"fileName": "data.csv",
"fileSize": "1.2 MB",
"totalRows": 1000,
"totalCols": 10,
"columns": ["id", "name", "age", ...],
"expiresAt": "2025-12-07T12:00:00Z",
"createdAt": "2025-12-07T11:00:00Z"
}
}
2. <20>瑕<EFBFBD>憸<EFBFBD><E686B8><EFBFBD>唳旿<E594B3>滚<EFBFBD>
GET /api/v1/dc/tool-c/sessions/:id/preview
Response (200):
{
"success": true,
"data": {
"sessionId": "xxx",
"fileName": "data.csv",
"totalRows": 1000,
"totalCols": 10,
"columns": ["id", "name", "age", ...],
"previewRows": 100,
"previewData": [
{ "id": 1, "name": "撘牐<E69298>", "age": 25 },
{ "id": 2, "name": "<22>𤾸<EFBFBD>", "age": 30 },
...
]
}
}
3. AI 憭<><E686AD><EFBFBD>滚<EFBFBD>
POST /api/v1/dc/tool-c/ai/process
Request:
{
"sessionId": "xxx",
"message": "<22>𨉖ge<67>㛖<EFBFBD>蝻箏仃<E7AE8F>澆‵銵乩蛹撟喳<E6929F><E596B3>?,
"maxRetries": 3
}
Response (200):
{
"success": true,
"message": "憭<EFBFBD><EFBFBD><EFBFBD>𣂼<EFBFBD>",
"data": {
"messageId": "msg-123",
"explanation": "憟賜<EFBFBD>嚗峕<EFBFBD>撠<EFBFBD>葬<EFBFBD>典<EFBFBD>age<EFBFBD>㛖<EFBFBD>蝻箏仃<EFBFBD>澆‵銵乩蛹撟喳<EFBFBD><EFBFBD>潦<EFBFBD>?,
"code": "df['age'].fillna(df['age'].mean(), inplace=True)",
"executeResult": {
"success": true,
"result": "<22>𣂼<EFBFBD>憛怨‘ 15 銝芰撩憭勗<E686AD>?,
"newDataPreview": [
{ "id": 1, "name": "撘牐<EFBFBD>", "age": 25 },
{ "id": 2, "name": "<EFBFBD>𤾸<EFBFBD>", "age": 27.5 },
...
]
},
"retryCount": 0
}
}
<EFBFBD>㴓 蝡臬<E89DA1>蝡舀<E89DA1>蝔?
摰峕㟲<EFBFBD>冽<EFBFBD>瘚<EFBFBD><EFBFBD>
1. <20>冽<EFBFBD>銝𠹺<E98A9D><F0A0B9BA><EFBFBD>辣
<20>?
POST /api/v1/dc/tool-c/sessions/upload
<20>?
餈𥪜<E9A488> sessionId
2. <20>芸𢆡<E88AB8>瑕<EFBFBD>憸<EFBFBD><E686B8><EFBFBD>唳旿
<20>?
GET /api/v1/dc/tool-c/sessions/:id/preview
<20>?
<20>曄內<E69B84>唳旿銵冽聢 + <20><>揢<EFBFBD>?AI 撖寡<E69296><E5AFA1>屸𢒰
3. <20>冽<EFBFBD>颲枏<E9A2B2> AI <20><>誘
<20>?
POST /api/v1/dc/tool-c/ai/process
<20>?
餈𥪜<E9A488>隞<EFBFBD><E99A9E> + <20>扯<EFBFBD>蝏𤘪<E89D8F>
4. <20>芸𢆡<E88AB8>湔鰵銵冽聢<E586BD>唳旿
<20>?
<20>曄內<E69B84>啁<EFBFBD><E59581>唳旿憸<E697BF><E686B8>
<EFBFBD><EFBFBD> 瘚贝<E7989A><E8B49D><EFBFBD><EFBFBD>
1. <20>臬𢆡<E887AC>滚𦛚
# <20>𡒊垢
cd AIclinicalresearch/backend
npm run dev
# <20>滨垢
cd AIclinicalresearch/frontend-v2
npm run dev
# Python 敺格<E695BA><E6A0BC>?
cd AIclinicalresearch/extraction_service
python main.py
2. 瘚贝<E7989A>甇仿炊
-
<EFBFBD>?霈輸䔮憿菟𢒰
- URL: http://localhost:5173/data-cleaning/tool-c
- 摨磰砲<EFBFBD>见<EFBFBD>"銝𠹺<E98A9D><F0A0B9BA>唳旿<E594B3><E697BF>辣"<22>箏<EFBFBD>
-
<EFBFBD>?銝𠹺<EFBFBD><EFBFBD><EFBFBD>辣
- <EFBFBD>孵稬"<22>㗇𥋘<E39787><F0A58B98>辣"
- 銝𠹺<EFBFBD> CSV <20>?Excel <20><>辣嚗?10MB嚗?
- 摨磰砲<EFBFBD>芸𢆡<EFBFBD><EFBFBD>揢<EFBFBD>?AI 撖寡<E69296><E5AFA1>屸𢒰
-
<EFBFBD>?AI 撖寡<E69296>
- <EFBFBD>刻<EFBFBD><EFBFBD>交<EFBFBD>颲枏<EFBFBD><EFBFBD><EFBFBD>誘嚗䔶<EFBFBD>憒<EFBFBD><EFBFBD>
- "<22>曄內<E69B84>?0銵峕㺭<E5B395>?
- "<22>𨉖ge<67>㛖<EFBFBD>蝻箏仃<E7AE8F>澆‵銵乩蛹撟喳<E6929F><E596B3>?
- "<22>𣳇膄<F0A3B387>滚<EFBFBD>銵?
- 摨磰砲<EFBFBD>见<EFBFBD> AI <20><><EFBFBD>隞<EFBFBD><E99A9E>撟嗉䌊<E59789>冽<EFBFBD>銵?
- <EFBFBD>刻<EFBFBD><EFBFBD>交<EFBFBD>颲枏<EFBFBD><EFBFBD><EFBFBD>誘嚗䔶<EFBFBD>憒<EFBFBD><EFBFBD>
-
<EFBFBD>?撉諹<EFBFBD><EFBFBD>唳旿<EFBFBD>湔鰵
- 撌虫儒銵冽聢摨磰砲<EFBFBD>芸𢆡<EFBFBD>湔鰵
- <EFBFBD>曄內憭<EFBFBD><EFBFBD><EFBFBD>𡒊<EFBFBD><EFBFBD>唳旿
3. 瘚贝<E7989A><E8B49D>唳旿
<EFBFBD>刻<EFBFBD>雿輻鍂嚗?
AIclinicalresearch/test_data/cqol-demo.csv嚗<EFBFBD>龫摮行㺭<EFBFBD>殷<EFBFBD>- <EFBFBD>碶遙雿?CSV/Excel <20><>辣嚗?10MB嚗?
<EFBFBD><EFBFBD> 靽格㺿皜<E3BABF><E79A9C>
| <EFBFBD><EFBFBD>辣 | 銵<EFBFBD>噡 | 靽格㺿<EFBFBD><EFBFBD>捆 | <EFBFBD>嗆<EFBFBD>? |
|---|---|---|---|
Sidebar.tsx |
43 | 靽格迤<EFBFBD>扯<EFBFBD>隞<EFBFBD><EFBFBD> API 頝臬<E9A09D> | <EFBFBD>? |
Sidebar.tsx |
122-136 | 靽格迤 AI 憭<><E686AD> API 頝臬<E9A09D><E887AC><EFBFBD><EFBFBD>摨磰蓮<E7A3B0>? | <EFBFBD>? |
index.tsx |
82 | <EFBFBD>澆捆 previewData <20>?rows |
<EFBFBD>? |
toolC.ts |
47 | <EFBFBD>湔鰵 PreviewData 蝐餃<E89D90>摰帋<E691B0> |
<EFBFBD>? |
<EFBFBD>?撉諹<E69289>蝏𤘪<E89D8F>
Linter 璉<><E79289>?
- <EFBFBD>?**<2A>躰秤<E8BAB0>?*嚗?
- <EFBFBD>𩤃<EFBFBD> **霅血<E99C85><E8A180>?*嚗?嚗<>𧊋雿輻鍂<E8BCBB>?
handleSendMessage嚗<EFBFBD>虾敹賜裦嚗?
<EFBFBD>蠘<EFBFBD>撉諹<EFBFBD>
| <EFBFBD>蠘<EFBFBD> | <EFBFBD>嗆<EFBFBD>? | 憭<EFBFBD>釣 |
|---|---|---|
| 憿菟𢒰<EFBFBD>㰘蝸 | <EFBFBD>? | <EFBFBD>䭾𥁒<EFBFBD>? |
| <EFBFBD><EFBFBD>辣銝𠹺<EFBFBD> UI | <EFBFBD>? | 甇<EFBFBD>虜<EFBFBD>曄內 |
| API 頝臬<E9A09D> | <EFBFBD>? | <EFBFBD>寥<EFBFBD><EFBFBD>𡒊垢 |
| 蝐餃<EFBFBD>摰帋<EFBFBD> | <EFBFBD>? | 摰峕㟲 |
| 蝡臬<EFBFBD>蝡舀<EFBFBD>蝔? | <EFBFBD>? | 敺<EFBFBD><EFBFBD>霂? |
<EFBFBD><EFBFBD> <20>𣬚<EFBFBD>蝣?
*<EFBFBD>?Tool C <20>滚<EFBFBD>蝡?API 摰峕㟲撖寞𦻖摰峕<E691B0>嚗?
<EFBFBD>詨<EFBFBD><EFBFBD>𣂼停
-
<EFBFBD>?**<2A>𡒊垢 API 撌脣<E6928C><E884A3>?*
- Day 1: Python 敺格<E695BA><E6A0BC>∴<EFBFBD>隞<EFBFBD><E99A9E><EFBFBD>扯<EFBFBD>嚗?
- Day 2: Session 蝞∠<E89D9E>嚗<EFBFBD><E59A97>隞嗡<E99A9E>隡𨬭<E99AA1><F0A8ACAD>㺭<EFBFBD>桀<EFBFBD><E6A180>剁<EFBFBD>
- Day 3: AI 隞<><E99A9E><EFBFBD><EFBFBD><EFBFBD>嚗㇄eepSeek-V3 <20><><EFBFBD>嚗?
-
<EFBFBD>?**<2A>滨垢 API 靚<>鍂撌脖耨甇?*
- 頝臬<EFBFBD><EFBFBD>寥<EFBFBD>
- <EFBFBD>唳旿<EFBFBD>澆<EFBFBD><EFBFBD>澆捆
- <EFBFBD>滚<EFBFBD>頧祆揢甇<EFBFBD>&
-
<EFBFBD>?**<2A>臭誑餈𥡝<E9A488>蝡臬<E89DA1>蝡舀<E89DA1>霂?*
- 銝𠹺<EFBFBD><EFBFBD><EFBFBD>辣 <20>?<3F>曄內<E69B84>唳旿 <20>?AI 撖寡<E69296> <20>?<3F>扯<EFBFBD>隞<EFBFBD><E99A9E> <20>?<3F>湔鰵銵冽聢
<EFBFBD><EFBFBD> 銝衤<E98A9D>甇?
蝡见朖<EFBFBD>臬<EFBFBD>
- <EFBFBD>?**<2A>瑟鰵瘚讛<E7989A><E8AE9B>?*
- <EFBFBD>?銝𠹺<EFBFBD>瘚贝<EFBFBD><EFBFBD><EFBFBD>辣
- <EFBFBD>?瘚贝<EFBFBD> AI 撖寡<E69296><E5AFA1>蠘<EFBFBD>
敺<EFBFBD><EFBFBD><EFBFBD>吔<EFBFBD><EFBFBD>鮋獈憛痹<EFBFBD>
- <EFBFBD>?隡睃<E99AA1><E79D83>躰秤<E8BAB0>鞟內
- <EFBFBD>?瘛餃<E7989B><E9A483>㰘蝸<E3B098>嗆<EFBFBD><E59786>𢆡<EFBFBD>?
- <EFBFBD>?憓𧼮撩隞<E692A9><E99A9E>擃䀝漁
- <EFBFBD>?<3F>舀<EFBFBD><E88880>日<EFBFBD>/<2F>滚<EFBFBD>
- <EFBFBD>?撖澆枂<E6BE86>唳旿<E594B3>蠘<EFBFBD>
<EFBFBD><EFBFBD> 隞<><E99A9E>蝏蠘恣
| 蝏<EFBFBD>辣 | 隞<EFBFBD><EFBFBD>銵峕㺭 | <EFBFBD>嗆<EFBFBD>? |
|---|---|---|
| Python 敺格<E695BA><E6A0BC>? | ~430 銵? | <EFBFBD>?Day 1 |
| Node.js <20>𡒊垢 | ~2650 銵? | <EFBFBD>?Day 2-3 |
| <EFBFBD>滨垢 React | ~1100 銵? | <EFBFBD>?Day 4-5 |
| <EFBFBD>𡁶鍂 Chat 蝏<>辣 | ~968 銵? | <EFBFBD>?Day 5 |
| <EFBFBD>餉恣 | *~5148 銵? | <EFBFBD>?摰峕<E691B0> |
<EFBFBD><EFBFBD> <20>餌<EFBFBD>
Tool C MVP 撘<><E69298>穃<EFBFBD><E7A983>琜<EFBFBD>
- <EFBFBD>?<3F>滚<EFBFBD>蝡?API 摰峕㟲撖寞𦻖
- <EFBFBD>?<3F>臭誑餈𥡝<E9A488>蝡臬<E89DA1>蝡舀<E89DA1>霂?
- <EFBFBD>?AI 撖寡<E69296> + <20>唳旿憭<E697BF><E686AD><EFBFBD>蠘<EFBFBD>撠梁貌
- <EFBFBD>?<3F>箔<EFBFBD> Ant Design X <20><>緵隞<E7B7B5><E99A9E> UI
*<EFBFBD>啣銁<EFBFBD>臭誑撘<EFBFBD>憪𧢲<EFBFBD>霂訫<EFBFBD><EFBFBD>游<EFBFBD><EFBFBD>賭<EFBFBD>嚗? <20><>
**撘<><E69298>𤏸<EFBFBD>?*嚗鋫I Assistant
**<2A>交<EFBFBD>**嚗?025-12-07
<EFBFBD><EFBFBD>𧋦嚗鐝VP v1.0