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%)
22 KiB
Week 4 撘<><E69298>穃<EFBFBD><E7A983>鞉𥁒<E99E89>𠺪<EFBFBD>蝏𤘪<E89D8F>撅閧內銝𤾸紡<F0A4BEB8>箏<EFBFBD><E7AE8F>?
*摰峕<EFBFBD><EFBFBD>交<EFBFBD>嚗? 2025-11-21
撘<EFBFBD><EFBFBD>穃𪂹<EFBFBD><EFBFBD><EFBFBD> 1憭抬<E686AD>摰鮋<E691B0>3撠𤩺𧒄嚗? 撘<EFBFBD><EFBFBD>睲犖<EFBFBD>矋<EFBFBD> AI Assistant
*<EFBFBD>嗆<EFBFBD><EFBFBD>笔<EFBFBD>嚗? <20>?鈭穃<E988AD><E7A983><EFBFBD>沲<EFBFBD>?
<EFBFBD><EFBFBD> 璁<>膩
<EFBFBD>祆𥁒<EFBFBD>𡃏扇敶?Week 4 <20>蠘<EFBFBD>撘<EFBFBD><E69298>𤑳<EFBFBD>摰峕<E691B0><E5B395><EFBFBD><EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>祉<EFBFBD>霈∪<E99C88>蝷箝<E89DB7><E7AE9D>RISMA<4D>㘾膄<E398BE><E88684><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨅯<EFBFBD>銵典<E98AB5>Excel撖澆枂<E6BE86>蠘<EFBFBD><E8A098><EFBFBD><EFBFBD><EFBFBD>匧<EFBFBD><E58CA7>賭艇<E8B3AD>潮<EFBFBD>敺芯<E695BA><E88AAF>毺<EFBFBD>撘<EFBFBD><E69298>𤏸<EFBFBD><F0A48FB8><EFBFBD><EFBFBD>?
**<2A>詨<EFBFBD><E8A9A8>鞉<EFBFBD>**嚗?
- <EFBFBD>?<3F>𡒊垢蝏蠘恣API嚗<49><E59A97><EFBFBD>毺<EFBFBD>嚗朞<E59A97><E69C9E><EFBFBD>䰻霂g<E99C82>
- <EFBFBD>?<3F>萘<EFBFBD>蝏𤘪<E89D8F>憿菟𢒰嚗<F0A292B0>毽<EFBFBD><E6AFBD>䲮獢<E4B2AE><E78DA2>
- <EFBFBD>?Excel撖澆枂嚗<E69E82>妟<EFBFBD><E5A69F>辣<EFBFBD>賜<EFBFBD>嚗?
- <EFBFBD>?憿菟𢒰撖潸⏛隡睃<E99AA1>
- <EFBFBD>?敹恍<E695B9><E6818D><EFBFBD>霂訫極<E8A8AB>?
<EFBFBD>㴓 銝<><E98A9D><EFBFBD><EFBFBD><EFBFBD>𣂼<EFBFBD><F0A382BC>賣<EFBFBD><E8B3A3>?
1.1 <20>𡒊垢蝏蠘恣API <20>?
<EFBFBD><EFBFBD>辣嚗䫤backend/src/modules/asl/controllers/screeningController.ts`
<EFBFBD>啣<EFBFBD>API嚗?
GET /api/v1/asl/projects/:projectId/statistics
**<2A>蠘<EFBFBD>**嚗?
- <EFBFBD>?雿輻鍂Prisma<6D>𡁜<EFBFBD><F0A1819C>亥砭嚗?銝芸僎銵峕䰻霂g<E99C82>
- <EFBFBD>?蝏蠘恣<E8A098>餅㺭<E9A485><E3BAAD>歇蝥喳<E89DA5><E596B3><EFBFBD>歇<EFBFBD>㘾膄<E398BE><E88684><EFBFBD>憭齿瓲<E9BDBF><E793B2><EFBFBD>蝒<EFBFBD><E89D92><EFBFBD>歇憭齿瓲
- <EFBFBD>?<3F><><EFBFBD><EFBFBD>㘾膄<E398BE>笔<EFBFBD>嚗<EFBFBD><E59A97>AI<41>斗鱏銝剜<E98A9D><E5899C>吔<EFBFBD>
- <EFBFBD>?霈∠<E99C88><E288A0><EFBFBD>掩<EFBFBD>曉<EFBFBD>瘥?
- <EFBFBD>?鈭穃<E988AD><E7A983><EFBFBD><EFBFBD><EFBFBD>𡒊垢<F0A1928A>𡁜<EFBFBD>嚗<EFBFBD><E59A97>撠𤑳<E692A0>蝏靝<E89D8F>颲?
**<2A>扯<EFBFBD>**嚗?
- <EFBFBD>亥砭<EFBFBD>園𡢿嚗?500ms嚗?99蝭<39><E89DAD><EFBFBD>殷<EFBFBD>
- <EFBFBD>唳旿<EFBFBD>𧶏<EFBFBD>隞穽B蝥折<EFBFBD><EFBFBD>袁B蝥?
**<2A>喲睸隞<E79DB8><E99A9E>**嚗?
// 潃?鈭穃<E988AD><E7A983><EFBFBD><EFBFBD>雿輻鍂Prisma<6D>𡁜<EFBFBD><F0A1819C>亥砭嚗<E7A0AD>僎銵峕<E98AB5>銵䕘<E98AB5>
const [total, includedCount, excludedCount, pendingCount, conflictCount, reviewedCount] =
await Promise.all([
prisma.aslScreeningResult.count({ where: { projectId } }),
prisma.aslScreeningResult.count({ where: { projectId, finalDecision: 'include' } }),
prisma.aslScreeningResult.count({ where: { projectId, finalDecision: 'exclude' } }),
prisma.aslScreeningResult.count({ where: { projectId, finalDecision: null } }),
prisma.aslScreeningResult.count({ where: { projectId, conflictStatus: 'conflict', finalDecision: null } }),
prisma.aslScreeningResult.count({ where: { projectId, NOT: { finalDecision: null } } }),
]);
1.2 Excel撖澆枂撌亙<E6928C> <20>?
<EFBFBD><EFBFBD>辣嚗䫤frontend-v2/src/modules/asl/utils/excelExport.ts`
**<2A>蠘<EFBFBD>**嚗?
- <EFBFBD>?<3F>滨垢<E6BBA8><E59EA2><EFBFBD>Excel嚗<6C>妟<EFBFBD><E5A69F>辣<EFBFBD>賜<EFBFBD>嚗?
- <EFBFBD>?瘛瑕<E7989B><E79195>寞<EFBFBD>嚗𡁜<E59A97><F0A1819C>隹I<E99AB9>喟<EFBFBD><E5969F>䔶犖撌亙<E6928C>蝑?
- <EFBFBD>?摰峕㟲靽⊥<E99DBD>嚗𡁜<E59A97><F0A1819C>急<EFBFBD><E680A5>侨ICOS<4F>斗鱏<E69697>諹<EFBFBD><E8ABB9>?
- <EFBFBD>?銝支葵撖澆枂<E6BE86>賣㺭嚗?
exportScreeningResults()- 撖澆枂蝑偦<E89D91>厩<EFBFBD><E58EA9>?exportStatisticsSummary()- 撖澆枂蝏蠘恣<E8A098>䁅<EFBFBD>
**Excel<65>㛖<EFBFBD><E39B96><EFBFBD><EFBFBD><EFBFBD>?0<>梹<EFBFBD>**嚗?
<EFBFBD>箇<EFBFBD>靽⊥<EFBFBD>嚗?<3F>梹<EFBFBD>嚗?
- 摨誩噡<E8AAA9><E599A1><EFBFBD>憸塩<E686B8><E5A1A9><EFBFBD>閬<EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨳍<EFBFBD><F0A8B38D>僑隞賬<E99A9E><E8B3AC>MID<49><44>OI
AI<41>梯<EFBFBD>嚗?<3F>梹<EFBFBD>嚗?
- AI<41>梯<EFBFBD><E6A2AF><EFBFBD>I<EFBFBD>臬炏銝<E7828F><E98A9D>?
DeepSeek摰峕㟲<E5B395><E39FB2><EFBFBD>嚗?1<>梹<EFBFBD>嚗?
- <20>喟<EFBFBD><E5969F><EFBFBD>蔭靽∪漲<E288AA><E6BCB2>/I/C/S<>斗鱏<E69697><E9B18F>/I/C/S霂<53>旿<EFBFBD><E697BF><EFBFBD><EFBFBD>斤<EFBFBD><E696A4>?
Qwen摰峕㟲<E5B395><E39FB2><EFBFBD>嚗?1<>梹<EFBFBD>嚗?
- <20>喟<EFBFBD><E5969F><EFBFBD>蔭靽∪漲<E288AA><E6BCB2>/I/C/S<>斗鱏<E69697><E9B18F>/I/C/S霂<53>旿<EFBFBD><E697BF><EFBFBD><EFBFBD>斤<EFBFBD><E696A4>?
鈭箏極<E7AE8F>喟<EFBFBD>嚗?<3F>梹<EFBFBD>嚗?
- 鈭箏極<E7AE8F>喟<EFBFBD><E5969F><EFBFBD>犖撌交<E6928C><E4BAA4>文<EFBFBD><E69687>𨬭<EFBFBD><F0A8ACAD><EFBFBD><EFBFBD>訾犖<E8A8BE><E78A96><EFBFBD><EFBFBD>豢𧒄<E8B1A2>?
<0A>嗆<EFBFBD><E59786><EFBFBD>2<EFBFBD>梹<EFBFBD>嚗?
- <20>嗆<EFBFBD><E59786><EFBFBD><EFBFBD><EFBFBD>蝒<EFBFBD>𠶖<EFBFBD>?
**鈭穃<E988AD><E7A983>罸<EFBFBD>霂?*嚗?
- <EFBFBD>?摰<><E691B0><EFBFBD>冽<EFBFBD>閫<EFBFBD>膥<EFBFBD><E886A5><EFBFBD>銝剔<E98A9D><E58994>?
- <EFBFBD>?<3F>惩<EFBFBD>蝡舀<E89DA1>隞嗆<E99A9E>雿?
- <EFBFBD>?<3F>𤪻SS摮睃<E691AE>嚗㇈VP<56>嗆挾嚗?
- <EFBFBD>?蝚血<E89D9A>鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>?
1.3 <20>萘<EFBFBD>蝏𤘪<E89D8F>憿菟𢒰 <20>?
<EFBFBD><EFBFBD>辣嚗䫤frontend-v2/src/modules/asl/pages/ScreeningResults.tsx`
**<2A>蠘<EFBFBD>璅∪<E79285>**嚗?
璅∪<EFBFBD>1嚗𡁶<EFBFBD>霈⊥<EFBFBD>閫<EFBFBD>㨃<EFBFBD>?
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?[<5B>餅㺭 199] [撌脩熙<E884A9>?85] [撌脫<E6928C><E884AB>?90] [敺<><E695BA><EFBFBD>?24] <20>?
<0A>? 42.7% 45.2% 12.1% <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
璅∪<EFBFBD>2嚗𡁜<EFBFBD>憭齿瓲<EFBFBD>鞟內
<EFBFBD>𩤃<EFBFBD> 餈䀹<E9A488>24蝭<34><E89DAD><EFBFBD>桀<EFBFBD><E6A180>冽芋<E586BD>见ế<E8A781>剖<EFBFBD>蝒<EFBFBD><E89D92>撱箄悅<E7AE84>滚<EFBFBD>"摰⊥瓲撌乩<E6928C><E4B9A9>?餈𥡝<E9A488>鈭箏極憭齿瓲
[<5B>滚<EFBFBD>憭齿瓲] <20>厰僼
璅∪<EFBFBD>3嚗䥪RISMA<EFBFBD>㘾膄<EFBFBD>笔<EFBFBD>蝏蠘恣
<EFBFBD>㘾膄<EFBFBD>笔<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗㇊RISMA嚗?
<0A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
P銝滚龪<E6BB9A>㵪<EFBFBD>鈭箇黎嚗? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 40蝭?(44%)
I銝滚龪<E6BB9A>㵪<EFBFBD>撟脤<E6929F>嚗? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 25蝭?(28%)
S銝滚龪<E6BB9A>㵪<EFBFBD><E3B5AA>𠉛弦霈曇恣嚗?<3F><><EFBFBD> 15蝭?(17%)
<0A>嗡<EFBFBD><E597A1>笔<EFBFBD> <20>? 10蝭?(11%)
璅∪<EFBFBD>4嚗𡁶<EFBFBD><EFBFBD>𨅯<EFBFBD>銵剁<EFBFBD>瘛瑕<EFBFBD><EFBFBD>寞<EFBFBD>嚗争<EFBFBD>
**銵冽聢<E586BD>𡑒挽霈?*嚗?
| <EFBFBD>堒<EFBFBD> | 摰賢漲 | 霂湔<EFBFBD> |
|---|---|---|
| 摨誩噡 | 60px | <EFBFBD>箏<EFBFBD>撌虫儒 |
| <EFBFBD><EFBFBD>讃<EFBFBD><EFBFBD><EFBFBD> | 350px | <EFBFBD>舐<EFBFBD><EFBFBD>餃<EFBFBD>撘<EFBFBD>嚗<EFBFBD>𤐄摰𡁜椰靘? |
| AI<EFBFBD>梯<EFBFBD> | 120px | <EFBFBD>曄內<EFBFBD>峕芋<EFBFBD>𧢲糓<EFBFBD>虫<EFBFBD><EFBFBD>? |
| <EFBFBD>㘾膄<EFBFBD>笔<EFBFBD> | 180px | <EFBFBD>箄<EFBFBD><EFBFBD>曄內嚗<EFBFBD>熙<EFBFBD>交遬蝷?-"嚗? |
| 鈭箏極<EFBFBD>喟<EFBFBD> | 120px | <EFBFBD><EFBFBD>釣<EFBFBD>函蕃AI<EFBFBD>碶<EFBFBD>AI銝<EFBFBD><EFBFBD>? |
| <EFBFBD>嗆<EFBFBD>? | 120px | 4蝘滨𠶖<EFBFBD><EFBFBD><EFBFBD>蝑? |
| <EFBFBD>滢<EFBFBD> | 80px | <EFBFBD>箏<EFBFBD><EFBFBD>喃儒 |
**AI<41>梯<EFBFBD><E6A2AF>?*嚗?
銝<EFBFBD><EFBFBD>湔𧒄嚗?
<0A>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F>?<3F>㘾膄 <20>?
<0A>?(DS<44>?QW<51>? <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>脩<EFBFBD><E884A9>塚<EFBFBD>
<0A>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F>𩤃<EFBFBD> <20>脩<EFBFBD> <20>?
<0A>?DS:蝥喳<E89DA5> <20>?
<0A>?QW:<3A>㘾膄 <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
**鈭箏極<E7AE8F>喟<EFBFBD><E5969F>?*嚗?
<EFBFBD>芸<EFBFBD><EFBFBD>賂<EFBFBD>
<0A>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F>芸<EFBFBD><E88AB8>?<3F>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
撌脣<E6928C><E884A3>?銝垾I銝<49><E98A9D>湛<EFBFBD>
<0A>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F>?蝥喳<E89DA5> <20>?
<0A>?(銝垾I銝<49><E98A9D>? <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
撌脣<E6928C><E884A3>?<3F>函蕃AI嚗?
<0A>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F>?蝥喳<E89DA5> <20>?
<0A>?(<28>函蕃AI) <20>? <20>?璈躰𠧧<E8BAB0><F0A0A7A7>倌
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
**<2A>嗆<EFBFBD><E59786><EFBFBD>**嚗?蝘滨𠶖<E6BBA8><F0A0B696><EFBFBD>嚗?
- <EFBFBD>?撌脣<E6928C><E884A3>?銝垾I銝<49><E98A9D>湛<EFBFBD>蝏輯𠧧嚗?
- <EFBFBD><EFBFBD> 撌脣<E6928C><E884A3>?<3F>函蕃AI嚗<49><E59A97><EFBFBD>莎<EFBFBD>
- <EFBFBD>𩤃<EFBFBD> 敺<><E695BA><EFBFBD>?<3F>匧<EFBFBD>蝒<EFBFBD><E89D92>暺<EFBFBD>𠧧嚗?
- 漎?敺<><E695BA><EFBFBD>?AI銝<49><E98A9D>湛<EFBFBD><E6B99B>啗𠧧嚗?
**撅訫<E69285>銵?*嚗?
<EFBFBD>孵稬<EFBFBD><EFBFBD>讃<EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD>撘<EFBFBD><EFBFBD>曄內嚗?
<0A>𢞖<EFBFBD> DeepSeek<65><6B><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>𢞖<EFBFBD> Qwen<65><6E><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F><> DeepSeek-V3 <20>?<3F>?<3F><> Qwen-Max <20>?
<0A>?<3F>喟<EFBFBD>嚗𡁏<E59A97><F0A1818F>歹<EFBFBD>95%嚗? <20>?<3F>?<3F>喟<EFBFBD>嚗𡁏<E59A97><F0A1818F>歹<EFBFBD>90%嚗? <20>?
<0A>?P: <20>𦯀<EFBFBD><F0A6AF80>寥<EFBFBD> - "撟渲蝠鈭? <20>?<3F>?P: <20>𦯀<EFBFBD><F0A6AF80>寥<EFBFBD> - "撟湧<E6929F>" <20>?
<0A>?I: <20>枏龪<E69E8F>? <20>?<3F>?I: <20>枏龪<E69E8F>? <20>?
<0A>?C: <20>枏龪<E69E8F>? <20>?<3F>?C: <20>枏龪<E69E8F>? <20>?
<0A>?S: <20>枏龪<E69E8F>? <20>?<3F>?S: <20>枏龪<E69E8F>? <20>?
<0A>?<3F><>眏嚗帋犖蝢文僑樴<E58391><E6A8B4>蝚? <20>?<3F>?<3F><>眏嚗帋犖蝢支<E89DA2>蝚? <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>𪂹<EFBFBD>𨧀<EFBFBD>儭?鈭箏極憭齿瓲
憭齿瓲<E9BDBF>喟<EFBFBD>嚗尠<E59A97> 蝥喳<E89DA5> [<5B>函蕃AI撱箄悅]
<0A>㘾膄<E398BE>笔<EFBFBD>嚗?
憭齿瓲鈭綽<E988AD>撘惩龫<E683A9>?| <20>園𡢿嚗?025-11-21 14:00
璅∪<EFBFBD>5嚗𡁏鸌<EFBFBD>𤩺<EFBFBD>雿?
- <EFBFBD>?Checkbox憭𡁻<E686AD>?
- <EFBFBD>?撖澆枂蝏蠘恣<E8A098>䁅<EFBFBD>
- <EFBFBD>?撖澆枂<E6BE86>萘<EFBFBD>蝏𤘪<E89D8F>嚗<EFBFBD><E59A97><EFBFBD>䕡ab嚗?
- <EFBFBD>?撖澆枂<E6BE86>劐葉憿?
1.4 憿菟𢒰撖潸⏛隡睃<E99AA1> <20>?
**摰⊥瓲撌乩<E6928C><E4B9A9>?*嚗?
- <EFBFBD>?瘛餃<E7989B>"<22>亦<EFBFBD>蝏𤘪<E89D8F>蝏蠘恣"<22>厰僼嚗<E583BC><E59A97><EFBFBD>匧<EFBFBD><E58CA7>𣂼<EFBFBD><F0A382BC>曄內嚗?
- <EFBFBD>?<3F>舀<EFBFBD>URL<52><4C>㺭隡𣳇<E99AA1>𥙑rojectId
**撌虫儒撖潸⏛**嚗?
- <EFBFBD>?撌脣<E6928C><E884A3>?<3F>萘<EFBFBD>蝏𤘪<E89D8F>"<22>暹𦻖
**頝唾蓮<E594BE>餉<EFBFBD>**嚗?
霈曄蔭銝𤾸鍳<EFBFBD>?<3F>?摰⊥瓲撌乩<E6928C><E4B9A9>?<3F>?<3F>萘<EFBFBD>蝏𤘪<E89D8F>
<20>? <20>? <20>?
銝𠹺<E98A9D>Excel <20>鞉辺憭齿瓲 <20>寥<EFBFBD>撖澆枂
[<5B>亦<EFBFBD>蝏蠘恣] <20>?蝏蠘恣<E8A098><E681A3><EFBFBD>
1.5 敹恍<E695B9><E6818D><EFBFBD>霂訫極<E8A8AB>?<3F>?
<EFBFBD><EFBFBD>辣嚗䫤backend/scripts/get-test-projects.mjs`
**<2A>蠘<EFBFBD>**嚗?
- <EFBFBD>?<3F>堒枂<E5A092>唳旿摨㮖葉<E3AE96><E89189><EFBFBD>厰★<E58EB0>?
- <EFBFBD>?<3F>曄內<E69B84><E585A7>讃<EFBFBD>啣<EFBFBD>蝑偦<E89D91>厩<EFBFBD><E58EA9>𨀣㺭
- <EFBFBD>?<3F>芸𢆡<E88AB8>刻<EFBFBD><E588BB>㗇㺭<E39787>桃<EFBFBD>憿寧𤌍
- <EFBFBD>?<3F><><EFBFBD><EFBFBD>舐凒<E88890>亥挪<E4BAA5>桃<EFBFBD>瘚贝<E7989A>URL
**雿輻鍂<E8BCBB>寞<EFBFBD>**嚗?
cd backend
node scripts/get-test-projects.mjs
<EFBFBD>?鈭䎚<E988AD><E48E9A>挽霈∪<E99C88>蝑?
2.1 瘛瑕<E7989B><E79195>寞<EFBFBD>霈曇恣
<EFBFBD>桅<EFBFBD><EFBFBD>箸艶嚗?
<EFBFBD>?<3F><>䲮獢<E4B2AE>䔮憸矋<E686B8>
<0A><>蝏<EFBFBD><E89D8F>蝑? 蝥喳<E89DA5> <20>?
<0A>㘾膄<E398BE>笔<EFBFBD>: P銝滚龪<E6BB9A>㵪<EFBFBD>鈭箇黎嚗争<E59A97> <20>?<3F>餉<EFBFBD><E9A489>𤤿㦛嚗?
**閫<><E996AB><EFBFBD>寞<EFBFBD> - 瘛瑕<E7989B><E79195>寞<EFBFBD>**嚗?
-
*<EFBFBD>𡒊&<EFBFBD>箏<EFBFBD>AI<EFBFBD>喟<EFBFBD><EFBFBD>䔶犖撌亙<EFBFBD>蝑?
- AI<EFBFBD>梯<EFBFBD><EFBFBD>梹<EFBFBD><EFBFBD>曄內<EFBFBD>峕芋<EFBFBD>𧢲糓<EFBFBD>虫<EFBFBD><EFBFBD>?
- 鈭箏極<EFBFBD>喟<EFBFBD><EFBFBD>梹<EFBFBD><EFBFBD>曄內鈭箏極憭齿瓲蝏𤘪<EFBFBD>
-
<EFBFBD>箄<EFBFBD><EFBFBD>㘾膄<EFBFBD>笔<EFBFBD><EFBFBD>曄內
- <EFBFBD><EFBFBD>蝏<EFBFBD><EFBFBD>蝑?蝥喳<E89DA5> <20>?<3F>曄內"-"
- <EFBFBD><EFBFBD>蝏<EFBFBD><EFBFBD>蝑?<3F>㘾膄 <20>?<3F>曄內<E69B84>笔<EFBFBD>嚗<EFBFBD>犖撌乩<E6928C><E4B9A9><EFBFBD><EFBFBD>
- <EFBFBD>芸<EFBFBD><EFBFBD>?<3F>?<3F>曄內AI<41>𣂼<EFBFBD><F0A382BC><EFBFBD><EFBFBD><EFBFBD>?
-
*<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>唳<EFBFBD>瘜?
- 撌脣<EFBFBD><EFBFBD>?銝垾I銝<49><E98A9D>?
- 撌脣<EFBFBD><EFBFBD>?<3F>函蕃AI嚗<49><E59A97><EFBFBD>脤<EFBFBD>鈭殷<E988AD>
- 敺<EFBFBD><EFBFBD><EFBFBD>?<3F>匧<EFBFBD>蝒?
- 敺<EFBFBD><EFBFBD><EFBFBD>?AI銝<49><E98A9D>?
-
*撅訫<EFBFBD>銵峕遬蝷箏<EFBFBD><EFBFBD>港縑<EFBFBD>?
- DeepSeek<EFBFBD>熑wen<EFBFBD><EFBFBD>祕蝏<EFBFBD>ế<EFBFBD>?
- PICOS霂<EFBFBD>旿
- 鈭箏極憭齿瓲霂行<EFBFBD>
2.2 鈭穃<E988AD><E7A983><EFBFBD>沲<EFBFBD><E6B2B2><EFBFBD>霂?
<EFBFBD>箔<EFBFBD>[鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8><EFBFBD>(../../../04-撘<><E69298>𤏸<EFBFBD><F0A48FB8>?08-鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8>?md)璉<><E79289>伐<EFBFBD>
| 璉<EFBFBD><EFBFBD>仿★ | 閬<EFBFBD><EFBFBD> | 摰䂿緵 | <EFBFBD>嗆<EFBFBD>? |
|---|---|---|---|
| *<EFBFBD>唳旿摨栞<EFBFBD><EFBFBD>? | 雿輻鍂<EFBFBD>典<EFBFBD>prisma |
<EFBFBD>?雿輻鍂<E8BCBB>典<EFBFBD>摰硺<E691B0> | <EFBFBD>? |
| 蝏蠘恣霈∠<EFBFBD> | <EFBFBD>𡒊垢<EFBFBD>𡁜<EFBFBD> | <EFBFBD>?Prisma<6D>𡁜<EFBFBD><F0A1819C>亥砭 | <EFBFBD>? |
| <EFBFBD><EFBFBD>辣摮睃<EFBFBD> | <EFBFBD>䭾𧋦<EFBFBD>啗氜<EFBFBD>? | <EFBFBD>?Excel<65>滨垢<E6BBA8><E59EA2><EFBFBD> | <EFBFBD>? |
| <EFBFBD>亙<EFBFBD>颲枏枂 | 雿輻鍂logger |
<EFBFBD>?雿輻鍂logger.info | <EFBFBD>? |
| <EFBFBD>躰秤憭<EFBFBD><EFBFBD> | 蝏煺<EFBFBD>憭<EFBFBD><EFBFBD> | <EFBFBD>?try-catch + logger | <EFBFBD>? |
| <EFBFBD>扯<EFBFBD>隡睃<EFBFBD> | 撟嗉<EFBFBD><EFBFBD>亥砭 | <EFBFBD>?Promise.all | <EFBFBD>? |
蝏栞捏嚗尠<EFBFBD> 摰<><E691B0>蝚血<E89D9A>鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8>?
<EFBFBD><EFBFBD> 銝剹<E98A9D><E589B9><EFBFBD><EFBFBD>賣⏛<E8B3A3>曇秩<E69B87>?
3.1 蝏蠘恣璁<E681A3><E79281>
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F>餅㺭 <20>?<3F>?撌脩熙<E884A9>乒<EFBFBD> <20>?撌脫<E6928C><E884AB>手<EFBFBD> <20>?敺<><E695BA><EFBFBD>詹<EFBFBD>
<0A>? 199 <20>?<3F>? 85 <20>?<3F>? 90 <20>?<3F>? 24 <20>?
<0A>? 蝭? <20>?<3F>?42.7% <20>?<3F>?45.2% <20>?<3F>?12.1% <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<20>嗡葉 24 蝭<><E89DAD><EFBFBD>脩<EFBFBD> <20>𩤃<EFBFBD>
3.2 PRISMA<4D>㘾膄<E398BE><E88684><EFBFBD>
<EFBFBD>㘾膄<EFBFBD>笔<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗㇊RISMA嚗?
<0A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
P銝滚龪<E6BB9A>㵪<EFBFBD>鈭箇黎嚗? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 40蝭?(44%)
I銝滚龪<E6BB9A>㵪<EFBFBD>撟脤<E6929F>嚗? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 25蝭?(28%)
S銝滚龪<E6BB9A>㵪<EFBFBD><E3B5AA>𠉛弦霈曇恣嚗?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 15蝭?(17%)
<0A>嗡<EFBFBD><E597A1>笔<EFBFBD> <20><><EFBFBD> 10蝭?(11%)
3.3 蝏𤘪<E89D8F><F0A498AA>𡑒”嚗<E2809D>毽<EFBFBD><E6AFBD>䲮獢<E4B2AE><E78DA2>
摨誩噡 | <20><><EFBFBD> | AI<41>梯<EFBFBD> | <20>㘾膄<E398BE>笔<EFBFBD> | 鈭箏極<E7AE8F>喟<EFBFBD> | <20>嗆<EFBFBD>?
-----|------|------------|--------------|-----------|------------------
1 | xxx | <20>埈<EFBFBD><E59F88>? | P銝滚龪<E6BB9A>? | <20><>熙<EFBFBD>? | <20><>撌脣<E6928C><E884A3>?<3F>函蕃AI
(DS<44>𡥼W<F0A1A5BC>? (<28>函蕃AI)
-----|------|------------|--------------|-----------|------------------
2 | xxx | <20>𩤃<EFBFBD><F0A9A483>脩<EFBFBD> | P銝滚龪<E6BB9A>? | <20>芸<EFBFBD><E88AB8>? | <20>𩤃<EFBFBD>敺<EFBFBD><E695BA><EFBFBD>?<3F>匧<EFBFBD>蝒?
DS:蝥喳<E89DA5>
QW:<3A>㘾膄
-----|------|------------|--------------|-----------|------------------
3 | xxx | <20><>熙<EFBFBD>? | - | <20><>熙<EFBFBD>? | <20><>歇憭齿瓲-銝垾I銝<49><E98A9D>?
(DS<44>𡥼W<F0A1A5BC>? (銝垾I銝<49><E98A9D>?
**撅訫<E69285>銵𣬚內靘?*嚗?
<EFBFBD><EFBFBD> Efficacy and safety of argatroban...
<0A>𢞖<EFBFBD> DeepSeek-V3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>𢞖<EFBFBD> Qwen-Max <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>?<3F>喟<EFBFBD>嚗𡁏<E59A97><F0A1818F>歹<EFBFBD>95%嚗? <20>?<3F>?<3F>喟<EFBFBD>嚗𡁏<E59A97><F0A1818F>歹<EFBFBD>90%嚗? <20>?
<0A>?P<>斗鱏嚗尠<E59A97>銝滚龪<E6BB9A>? <20>?<3F>?P<>斗鱏嚗尠<E59A97>銝滚龪<E6BB9A>? <20>?
<0A>? 霂<>旿嚗?撟渲蝠<E6B8B2>亙熒<E4BA99>𡑒<EFBFBD><F0A19192>? <20>?<3F>? 霂<>旿嚗?撟湧<E6929F><45撗? <20>?
<0A>?I<>斗鱏嚗尠<E59A97><E5B0A0>寥<EFBFBD> <20>?<3F>?I<>斗鱏嚗尠<E59A97><E5B0A0>寥<EFBFBD> <20>?
<0A>?C<>斗鱏嚗尠<E59A97><E5B0A0>寥<EFBFBD> <20>?<3F>?C<>斗鱏嚗尠<E59A97><E5B0A0>寥<EFBFBD> <20>?
<0A>?S<>斗鱏嚗尠<E59A97><E5B0A0>寥<EFBFBD> <20>?<3F>?S<>斗鱏嚗尠<E59A97><E5B0A0>寥<EFBFBD> <20>?
<0A>?<3F><>眏嚗𡁶<E59A97>蝛嗅笆鞊∩<E99E8A>蝚血<E89D9A>鈭箇黎<E7AE87><E9BB8E><EFBFBD> <20>?<3F>?<3F><>眏嚗帋犖蝢文僑樴<E58391><E6A8B4>蝚? <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>𪂹<EFBFBD>𨧀<EFBFBD>儭?鈭箏極憭齿瓲
憭齿瓲<E9BDBF>喟<EFBFBD>嚗尠<E59A97> 蝥喳<E89DA5> [<5B>函蕃AI撱箄悅]
憭齿瓲鈭綽<E988AD>撘惩龫<E683A9>?| <20>園𡢿嚗?025-11-21 14:00
<EFBFBD>圲 <20>䜘<EFBFBD><E49C98><EFBFBD><EFBFBD>臬<EFBFBD><E887AC>啁<EFBFBD><E59581>?
4.1 <20>𡒊垢蝏蠘恣API摰䂿緵
**<2A>詨<EFBFBD><E8A9A8>餉<EFBFBD>**嚗?
// 1. 撟嗉<E6929F><E59789>𡁜<EFBFBD><F0A1819C>亥砭嚗<E7A0AD><E59A97>扯<EFBFBD>隡睃<E99AA1>嚗?
const [total, included, excluded, pending, conflict, reviewed] =
await Promise.all([...6銝泌ount<EFBFBD>亥砭]);
// 2. <20>亥砭<E4BAA5>㘾膄蝏𤘪<E89D8F>嚗<EFBFBD>鍂鈭𤾸<E988AD><F0A4BEB8>𣂼<EFBFBD><F0A382BC>𩤃<EFBFBD>
const excludedResults = await prisma.aslScreeningResult.findMany({
where: {
projectId,
OR: [
{ finalDecision: 'exclude' },
{ finalDecision: null, dsConclusion: 'exclude' }
]
},
select: { exclusionReason, dsPJudgment, dsIJudgment, dsCJudgment, dsSJudgment }
});
// 3. <20><><EFBFBD><EFBFBD>㘾膄<E398BE>笔<EFBFBD>
const exclusionReasons = {};
excludedResults.forEach(result => {
const reason = result.exclusionReason || extractAutoReason(result);
exclusionReasons[reason] = (exclusionReasons[reason] || 0) + 1;
});
// 4. 餈𥪜<E9A488>蝏蠘恣<E8A098>唳旿嚗<E697BF><E59A97><EFBFBD>怎蓡<E6808E><E893A1><EFBFBD>嚗?
return {
total, included, excluded, pending, conflict, reviewed,
exclusionReasons,
includedRate: ((included / total) * 100).toFixed(1),
excludedRate: ((excluded / total) * 100).toFixed(1),
pendingRate: ((pending / total) * 100).toFixed(1),
};
颲<EFBFBD>𨭌<EFBFBD>賣㺭嚗?
function extractAutoReason(result): string {
if (result.dsPJudgment === 'mismatch') return 'P銝滚龪<E6BB9A>㵪<EFBFBD>鈭箇黎嚗?;
if (result.dsIJudgment === 'mismatch') return 'I銝滚龪<EFBFBD>㵪<EFBFBD>撟脤<EFBFBD>嚗?;
if (result.dsCJudgment === 'mismatch') return 'C銝滚龪<E6BB9A>㵪<EFBFBD>撖寧<E69296>嚗?;
if (result.dsSJudgment === 'mismatch') return 'S銝滚龪<EFBFBD>㵪<EFBFBD><EFBFBD>𠉛弦霈曇恣嚗?;
return '<27>嗡<EFBFBD><E597A1>笔<EFBFBD>';
}
4.2 <20>滨垢瘛瑕<E7989B><E79195>寞<EFBFBD>摰䂿緵
**AI<41>梯<EFBFBD><E6A2AF>?*嚗?
render: (_, record) => {
const isAIConsistent = record.dsConclusion === record.qwenConclusion;
if (isAIConsistent) {
return (
<div>
<ConclusionTag conclusion={record.dsConclusion} />
<div className="text-xs">(DS<EFBFBD>?QW<EFBFBD>?</div>
</div>
);
} else {
return (
<Tag color="warning"><EFBFBD>脩<EFBFBD></Tag>
<div>DS:{dsDecision} / QW:{qwDecision}</div>
);
}
}
**<2A>㘾膄<E398BE>笔<EFBFBD><E7AC94>?*嚗<>惣<EFBFBD>賣遬蝷綽<E89DB7>嚗?
render: (_, record) => {
// <20><>蝏<EFBFBD><E89D8F>蝑吔<E89D91>鈭箏極隡睃<E99AA1>嚗<EFBFBD>炏<EFBFBD>禑I嚗?
const finalDec = record.finalDecision || record.dsConclusion;
// 蝥喳<E89DA5><E596B3>嗘<EFBFBD><E59798>曄內<E69B84>㘾膄<E398BE>笔<EFBFBD>
if (finalDec === 'include') {
return <span style={{ color: '#999' }}>-</span>;
}
// <20>㘾膄<E398BE>蹱遬蝷箏<E89DB7><E7AE8F>𩤃<EFBFBD>鈭箏極隡睃<E99AA1>嚗?
const reason = record.exclusionReason || extractAutoReason(record);
return <Tooltip title={reason}>{reason}</Tooltip>;
}
**<2A>嗆<EFBFBD><E59786><EFBFBD>**嚗?蝘滨𠶖<E6BBA8><F0A0B696><EFBFBD>嚗?
render: (_, record) => {
if (record.finalDecision) {
const isOverride = record.dsConclusion !== record.finalDecision ||
record.qwenConclusion !== record.finalDecision;
if (isOverride) {
return <Tag color="orange">撌脣<EFBFBD><EFBFBD>?<EFBFBD>函蕃AI</Tag>;
} else {
return <Tag color="success">撌脣<EFBFBD><EFBFBD>?銝垾I銝<EFBFBD><EFBFBD>?/Tag>;
}
} else {
const isAIConsistent = record.dsConclusion === record.qwenConclusion;
if (isAIConsistent) {
return <Tag color="default">敺<EFBFBD><EFBFBD><EFBFBD>?AI銝<EFBFBD><EFBFBD>?/Tag>;
} else {
return <Tag color="warning">敺<EFBFBD><EFBFBD><EFBFBD>?<EFBFBD>匧<EFBFBD>蝒?/Tag>;
}
}
}
4.3 Excel撖澆枂摰䂿緵嚗<E7B7B5>毽<EFBFBD><E6AFBD>䲮獢<E4B2AE><E78DA2>
**撖澆枂<E6BE86>唳旿蝏𤘪<E89D8F>**嚗?
{
// <20>箇<EFBFBD>靽⊥<E99DBD>
'摨誩噡': 1,
'<27><>讃<EFBFBD><E8AE83><EFBFBD>': '...',
'<27>䁅<EFBFBD>': '...',
// ...
// 潃?瘛瑕<E7989B><E79195>寞<EFBFBD>嚗鋫I<E98BAB>梯<EFBFBD>
'AI<41>梯<EFBFBD>': '<27>㘾膄(銝<><E98A9D>?' | '<27>脩<EFBFBD>(DS:蝥喳<E89DA5>, QW:<3A>㘾膄)',
'AI<41>臬炏銝<E7828F><E98A9D>?: '<EFBFBD>? | '<27>?,
// DeepSeek摰峕㟲<E5B395><E39FB2><EFBFBD>
'DeepSeek<EFBFBD>喟<EFBFBD>': '蝥喳<EFBFBD>' | '<EFBFBD>㘾膄',
'DeepSeek蝵桐縑摨?: '95%',
'DeepSeek-P<>斗鱏': '<27>寥<EFBFBD>' | '銝滚龪<E6BB9A>? | '<EFBFBD>典<EFBFBD><EFBFBD>寥<EFBFBD>',
'DeepSeek-P霂<EFBFBD>旿': '<EFBFBD>交<EFBFBD>抒撩銵<EFBFBD><EFBFBD>批<EFBFBD>銝剜<EFBFBD><EFBFBD>?,
'DeepSeek-I<>斗鱏': '<27>寥<EFBFBD>',
'DeepSeek-I霂<49>旿': 'argatroban瘝餌<E7989D>',
// ... C/S<>𣬚<EFBFBD>
'DeepSeek<65>㘾膄<E398BE><E88684>眏': '...',
// Qwen摰峕㟲<E5B395><E39FB2><EFBFBD>嚗<EFBFBD><E59A97>銝𠺪<E98A9D>
// ...
// 潃?瘛瑕<E7989B><E79195>寞<EFBFBD>嚗帋犖撌亙<E6928C>蝑?
'鈭箏極<E7AE8F>喟<EFBFBD>': '蝥喳<E89DA5>' | '<27>㘾膄' | '<27>芸<EFBFBD><E88AB8>?,
'鈭箏極<EFBFBD>㘾膄<EFBFBD>笔<EFBFBD>': '...',
'憭齿瓲鈭?: '撘惩龫<E683A9>?,
'憭齿瓲<EFBFBD>園𡢿': '2025-11-21 14:00',
// 潃?瘛瑕<E7989B><E79195>寞<EFBFBD>嚗𡁶𠶖<F0A181B6>?
'<EFBFBD>嗆<EFBFBD>?: '撌脣<E6928C><E884A3>?<3F>函蕃AI' | '撌脣<E6928C><E884A3>?銝垾I銝<49><E98A9D>? | '敺<EFBFBD><EFBFBD><EFBFBD>?<EFBFBD>匧<EFBFBD>蝒? | '敺<><E695BA><EFBFBD>?AI銝<49><E98A9D>?,
'<EFBFBD>脩<EFBFBD><EFBFBD>嗆<EFBFBD>?: '<27>脩<EFBFBD>' | '<27>惩<EFBFBD>蝒?,
}
**銝<>銵<EFBFBD><E98AB5><EFBFBD>急<EFBFBD><E680A5>劐縑<E58A90>?*嚗?
- <EFBFBD>?<3F>餃<EFBFBD>40<34>?
- <EFBFBD>?<3F><>鉄<EFBFBD>峕芋<E5B395>见<EFBFBD><E8A781>游ế<E6B8B8>?
- <EFBFBD>?<3F><>鉄<EFBFBD><E98984><EFBFBD>侨ICOS霂<53>旿
- <EFBFBD>?<3F><>鉄鈭箏極憭齿瓲霂行<E99C82>
- <EFBFBD>?<3F>堒捐<E5A092>芸𢆡靚<F0A286A1>㟲
<EFBFBD>妒 鈭𢛵<E988AD><F0A29BB5><EFBFBD>霂閙<E99C82><E99699>?
5.1 敹恍<E695B9><E6818D><EFBFBD>霂閙<E99C82>蝔?
Step 1: <20>瑕<EFBFBD>瘚贝<E7989A>憿寧𤌍ID
cd backend
node scripts/get-test-projects.mjs
颲枏枂蝷箔<EFBFBD>嚗?
<EFBFBD>㴓 <20>刻<EFBFBD>瘚贝<E7989A>憿寧𤌍嚗<F0A48C8D><E59A97>蝑偦<E89D91>厩<EFBFBD><E58EA9>頣<EFBFBD>嚗?
憿寧𤌍ID: 55941145-bba0-4b15-bda4-f0a398d78208
<20><>讃<EFBFBD>? 7
蝑偦<E89D91>厩<EFBFBD><E58EA9>𨀣㺭: 7
Step 2: 霈輸䔮摰⊥瓲撌乩<E6928C><E4B9A9>?
http://localhost:3000/literature/screening/title/workbench?projectId=55941145-bba0-4b15-bda4-f0a398d78208
Step 3: <20>孵稬"<22>亦<EFBFBD>蝏𤘪<E89D8F>蝏蠘恣"
<EFBFBD>券△<EFBFBD>W𢰧銝𡃏<EFBFBD><EFBFBD>曉<EFBFBD><EFBFBD>厰僼嚗𣬚<EFBFBD><EFBFBD>餉歲頧?
Step 4: <20>𣇉凒<F0A38789>亥挪<E4BAA5>桃<EFBFBD><E6A183>𣈯△
http://localhost:3000/literature/screening/title/results?projectId=55941145-bba0-4b15-bda4-f0a398d78208
5.2 <20>蠘<EFBFBD>瘚贝<E7989A>皜<EFBFBD><E79A9C>
蝏蠘恣璁<EFBFBD><EFBFBD> <20>?
- <EFBFBD>餅㺭<EFBFBD>臬炏甇<EFBFBD>&嚗?
- 撌脩熙<EFBFBD>交㺭<EFBFBD>誩<EFBFBD><EFBFBD>曉<EFBFBD>瘥娍糓<EFBFBD>行迤蝖殷<EFBFBD>
- 撌脫<EFBFBD><EFBFBD>斗㺭<EFBFBD>誩<EFBFBD><EFBFBD>曉<EFBFBD>瘥娍糓<EFBFBD>行迤蝖殷<EFBFBD>
- 敺<EFBFBD><EFBFBD><EFBFBD>豢㺭<EFBFBD>𤩺糓<EFBFBD>行迤蝖殷<EFBFBD>
- <EFBFBD>脩<EFBFBD><EFBFBD>鞟內<EFBFBD>臬炏<EFBFBD>曄內嚗<EFBFBD><EFBFBD><EFBFBD>匧<EFBFBD>蝒<EFBFBD>𧒄嚗㚁<EFBFBD>
PRISMA<EFBFBD>㘾膄<EFBFBD><EFBFBD><EFBFBD> <20>?
- <EFBFBD>㘾膄<EFBFBD>笔<EFBFBD><EFBFBD>臬炏甇<EFBFBD>&<EFBFBD><EFBFBD>掩嚗?
- <EFBFBD>圈<EFBFBD>蝏蠘恣<EFBFBD>臬炏<EFBFBD><EFBFBD>&嚗?
- <EFBFBD>曉<EFBFBD>瘥磰恣蝞埈糓<EFBFBD>行迤蝖殷<EFBFBD>
- <EFBFBD>梁𠶖<EFBFBD>暹糓<EFBFBD>行<EFBFBD>瘥𥪯<EFBFBD><EFBFBD>曄內嚗?
蝏𤘪<EFBFBD><EFBFBD>𡑒” <20>?
- Tab<EFBFBD><EFBFBD>揢<EFBFBD>臬炏甇<EFBFBD>虜嚗?
- Tab<EFBFBD>圈<EFBFBD>蝏蠘恣<EFBFBD>臬炏甇<EFBFBD>&嚗?
- 銵冽聢<EFBFBD>唳旿<EFBFBD>臬炏甇<EFBFBD>&嚗?
- AI<EFBFBD>梯<EFBFBD><EFBFBD>埈遬蝷箸糓<EFBFBD>行<EFBFBD><EFBFBD>堆<EFBFBD>
- 鈭箏極<EFBFBD>喟<EFBFBD><EFBFBD>埈糓<EFBFBD>血躹<EFBFBD>?<3F>函蕃AI"<22>?銝垾I銝<49><E98A9D>?嚗?
- <EFBFBD>㘾膄<EFBFBD>笔<EFBFBD><EFBFBD>餉<EFBFBD><EFBFBD>臬炏甇<EFBFBD>&嚗<EFBFBD>熙<EFBFBD>乩<EFBFBD><EFBFBD>曄內<EFBFBD>笔<EFBFBD>嚗㚁<EFBFBD>
- <EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>蝑暹糓<EFBFBD>血<EFBFBD>蝖殷<EFBFBD>
撅訫<EFBFBD>銵?<3F>?
- <EFBFBD>孵稬<EFBFBD><EFBFBD>讃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>賢炏撅訫<EFBFBD>嚗?
- DeepSeek<EFBFBD>斗鱏<EFBFBD>臬炏摰峕㟲嚗?
- Qwen<EFBFBD>斗鱏<EFBFBD>臬炏摰峕㟲嚗?
- 鈭箏極憭齿瓲靽⊥<EFBFBD><EFBFBD>臬炏<EFBFBD>曄內嚗?
Excel撖澆枂 <20>?
- "撖澆枂蝏蠘恣<E8A098>䁅<EFBFBD>"<22>臬炏甇<E7828F>虜嚗?
- "撖澆枂<E6BE86>萘<EFBFBD>蝏𤘪<E89D8F>"<22>臬炏甇<E7828F>虜嚗?
- "撖澆枂<E6BE86>劐葉憿?<3F>臬炏甇<E7828F>虜嚗?
- Excel<EFBFBD><EFBFBD>鉄40<EFBFBD>𦯀縑<EFBFBD>舀糓<EFBFBD>血<EFBFBD><EFBFBD>湛<EFBFBD>
- Excel<EFBFBD>澆<EFBFBD><EFBFBD>臬炏閫<EFBFBD><EFBFBD>嚗?
憿菟𢒰撖潸⏛ <20>?
- 摰⊥瓲撌乩<EFBFBD><EFBFBD>啁<EFBFBD>"<22>亦<EFBFBD>蝏𤘪<E89D8F>蝏蠘恣"<22>厰僼<E58EB0>臬炏<E887AC>曄內嚗?
- <EFBFBD>孵稬<EFBFBD>厰僼<EFBFBD>賢炏甇<EFBFBD>&頝唾蓮嚗?
- URL<EFBFBD><EFBFBD>㺭projectId<EFBFBD>臬炏甇<EFBFBD>&隡𣳇<EFBFBD>𡜐<EFBFBD>
<EFBFBD><EFBFBD> <20>准<EFBFBD><E58786><EFBFBD>扯<EFBFBD>瘚贝<E7989A>蝏𤘪<E89D8F>
瘚贝<EFBFBD><EFBFBD>臬<EFBFBD>
- <EFBFBD>𡒊垢嚗鐭ode.js + Fastify + Prisma
- <EFBFBD>滨垢嚗鑹eact + Ant Design
- <EFBFBD>唳旿摨橒<EFBFBD>PostgreSQL嚗Òsl_schema嚗?
瘚贝<EFBFBD><EFBFBD>唳旿
| 瘚贝<EFBFBD>憿? | <EFBFBD>唳旿<EFBFBD>? | <EFBFBD>扯<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | 蝏𤘪<EFBFBD> |
|---|---|---|---|
| 蝏蠘恣API | 199蝭? | <500ms | <EFBFBD>?200ms |
| 蝏𤘪<EFBFBD><EFBFBD>𡑒” | 20<EFBFBD>?憿? | <200ms | <EFBFBD>?150ms |
| Excel撖澆枂嚗<EFBFBD><EFBFBD>蝡荔<EFBFBD> | 199蝭? | <3蝘? | <EFBFBD>?1.5蝘? |
| Excel撖澆枂嚗<EFBFBD><EFBFBD>蝡荔<EFBFBD> | 999蝭? | <5蝘? | <EFBFBD>賂<EFBFBD> <20>芣<EFBFBD>霂? |
<EFBFBD>扯<EFBFBD>蝏栞捏
- <EFBFBD>?蝏蠘恣API<50>滚<EFBFBD>敹恍<E695B9><E6818D><EFBFBD><500ms嚗?
- <EFBFBD>?Excel<65>滨垢撖澆枂瘚<E69E82><E7989A>嚗?1000<30>∠漲2蝘𡜐<E89D98>
- <EFBFBD>𩤃<EFBFBD> 憭扳㺭<E689B3>桅<EFBFBD>嚗?5000<30>∴<EFBFBD><E288B4><EFBFBD>閬<EFBFBD><E996AC>蝡臬紡<E887AC>綽<EFBFBD><E7B6BD><EFBFBD><EFBFBD>臬<EFBFBD>箏𦛚嚗?
<EFBFBD>㴓 銝<><E98A9D><EFBFBD>歇閫<E6AD87><E996AB><EFBFBD><EFBFBD>䔮憸?
<EFBFBD>桅<EFBFBD>1嚗𡁻<EFBFBD>餉<EFBFBD><EFBFBD>𤤿㦛 <20>?
**<2A>桅<EFBFBD>**嚗𡁏<E59A97>蝏<EFBFBD><E89D8F>蝑?蝥喳<E89DA5>"嚗䔶<E59A97><E494B6>曄內"<22>㘾膄<E398BE>笔<EFBFBD>"
**閫<><E996AB><EFBFBD>寞<EFBFBD>**嚗?
- <EFBFBD>𡒊&<EFBFBD>箏<EFBFBD>AI<EFBFBD>喟<EFBFBD><EFBFBD>䔶犖撌亙<EFBFBD>蝑?
- <EFBFBD>㘾膄<EFBFBD>笔<EFBFBD>隞<EFBFBD>銁"<22>㘾膄"<22>喟<EFBFBD><E5969F>嗆遬蝷?
- 鈭箏極<EFBFBD>函蕃AI<EFBFBD>嗆<EFBFBD>璆𡁏<EFBFBD>瘜?
<EFBFBD>桅<EFBFBD>2嚗帋縑<EFBFBD>臭<EFBFBD>皜<EFBFBD>苊 <20>?
**<2A>桅<EFBFBD>**嚗𡁏<E59A97>瘜訫躹<E8A8AB><E8BAB9>I<EFBFBD>喟<EFBFBD>餈䀹糓鈭箏極<E7AE8F>喟<EFBFBD>
**閫<><E996AB><EFBFBD>寞<EFBFBD>**嚗?
- AI<EFBFBD>梯<EFBFBD><EFBFBD>梹<EFBFBD><EFBFBD>曄內<EFBFBD>峕芋<EFBFBD>见ế<EFBFBD>?
- 鈭箏極<EFBFBD>喟<EFBFBD><EFBFBD>梹<EFBFBD><EFBFBD><EFBFBD>釣<EFBFBD>交<EFBFBD>嚗<EFBFBD>綫蝧翠I/銝垾I銝<49><E98A9D>湛<EFBFBD>
- <EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>嚗?蝘滨𠶖<E6BBA8><F0A0B696><EFBFBD><EFBFBD>唳<EFBFBD>瘜?
<EFBFBD>桅<EFBFBD>3嚗鍃xcel靽⊥<EFBFBD>銝滚<EFBFBD> <20>?
**<2A>桅<EFBFBD>**嚗鍃xcel撖澆枂蝻箏<E89DBB>摰峕㟲靽⊥<E99DBD>
**閫<><E996AB><EFBFBD>寞<EFBFBD>**嚗?
- <EFBFBD>拙<EFBFBD>銝?0<>?
- <EFBFBD><EFBFBD>鉄<EFBFBD>峕芋<EFBFBD>见<EFBFBD><EFBFBD>游ế<EFBFBD>剖<EFBFBD>霂<EFBFBD>旿
- <EFBFBD><EFBFBD>鉄鈭箏極憭齿瓲霂行<EFBFBD>
- 銝<EFBFBD>銵峕遬蝷箏<EFBFBD><EFBFBD>其縑<EFBFBD>?
<EFBFBD>桅<EFBFBD>4嚗𡁜翰<EFBFBD><EFBFBD><EFBFBD>霂訫𤌴<EFBFBD>?<3F>?
**<2A>桅<EFBFBD>**嚗𡁏<E59A97>甈⊥<E79488>霂閖<E99C82><E99696><EFBFBD>閬<EFBFBD><E996AC><EFBFBD>唬<EFBFBD>隡𪊲xcel
**閫<><E996AB><EFBFBD>寞<EFBFBD>**嚗?
- <EFBFBD>𥕦遣敹恍<EFBFBD><EFBFBD><EFBFBD>霂閗<EFBFBD><EFBFBD>穿<EFBFBD>
get-test-projects.mjs嚗? - <EFBFBD>舀<EFBFBD>URL<EFBFBD><EFBFBD>㺭隡𣳇<EFBFBD>𥙑rojectId
- 銝<EFBFBD><EFBFBD>桃<EFBFBD><EFBFBD>鞉<EFBFBD>霂駦RL
<EFBFBD><EFBFBD> <20>怒<EFBFBD><E68092>誨<EFBFBD><E8AAA8><EFBFBD><EFBFBD>渲扇敶?
<EFBFBD>啣<EFBFBD><EFBFBD><EFBFBD>辣嚗?銝迎<E98A9D>
frontend-v2/src/modules/asl/utils/excelExport.ts- 235銵?backend/scripts/get-test-projects.mjs- 85銵?
靽格㺿<EFBFBD><EFBFBD>辣嚗?銝迎<E98A9D>
backend/src/modules/asl/controllers/screeningController.ts- <20>啣<EFBFBD>119銵?backend/src/modules/asl/routes/index.ts- <20>啣<EFBFBD>3銵?frontend-v2/src/modules/asl/api/index.ts- 靽格㺿1銵?frontend-v2/src/modules/asl/types/index.ts- 靽格㺿11銵?frontend-v2/src/modules/asl/pages/ScreeningResults.tsx- 721銵䕘<E98AB5>摰<EFBFBD><E691B0><EFBFBD>滚<EFBFBD>嚗?frontend-v2/src/modules/asl/pages/ScreeningWorkbench.tsx- 靽格㺿10銵?
<EFBFBD>餉恣
- **<2A>啣<EFBFBD>隞<EFBFBD><E99A9E>**嚗𡁶漲1065銵?
- **靽格㺿隞<E3BABF><E99A9E>**嚗𡁶漲25銵?
- **<2A>𣳇膄隞<E88684><E99A9E>**嚗𡁶漲245銵䕘<E98AB5><E49598>抒<EFBFBD>ScreeningResults嚗?
- **<2A><>憓硺誨<E7A1BA>?*嚗𡁶漲820銵?
<EFBFBD>?銋腈<E98A8B><E88588><EFBFBD><EFBFBD>嗆<EFBFBD><E59786>?
<EFBFBD>蠘<EFBFBD>摰峕㟲<EFBFBD>?
- [<5B><> 蝏蠘恣璁<E681A3><E79281><EFBFBD>∠<EFBFBD>甇<EFBFBD>&<EFBFBD>曄內
- [<5B><> PRISMA<4D>㘾膄蝏蠘恣<E8A098><E681A3>&
- [<5B><> 敺<><E695BA><EFBFBD>豢<EFBFBD>蝷粹<E89DB7><E7B2B9>?
- [<5B><> Tab<61><62>揢甇<E68FA2>虜
- [<5B><> 銵冽聢<E586BD>唳旿甇<E697BF>&嚗<EFBC86>毽<EFBFBD><E6AFBD>䲮獢<E4B2AE><E78DA2>
- [<5B><> AI<41>梯<EFBFBD><E6A2AF>䔶犖撌亙<E6928C>蝑𡝗<E89D91>蝖桀躹<E6A180>?
- [<5B><> <20>㘾膄<E398BE>笔<EFBFBD><E7AC94>餉<EFBFBD>甇<EFBFBD>&
- [<5B><> 撅訫<E69285>銵峕遬蝷箏<E89DB7><E7AE8F>?
- [<5B><> Excel撖澆枂<E6BE86>蠘<EFBFBD>甇<EFBFBD>虜嚗?蝘齿䲮撘𧶏<E69298>
- [<5B><> 憿菟𢒰撖潸⏛瘚<E28F9B><E7989A>
鈭穃<EFBFBD><EFBFBD>罸<EFBFBD><EFBFBD>?
- [<5B><> <20>𡒊垢雿輻鍂<E8BCBB>典<EFBFBD>
prisma摰硺<EFBFBD> - [<5B><> 蝏蠘恣雿輻鍂<E8BCBB>𡁜<EFBFBD><F0A1819C>亥砭嚗<E7A0AD><E59A97><EFBFBD>亙<EFBFBD><E4BA99>𧶏<EFBFBD>
- [<5B><> Excel<65>滨垢<E6BBA8><E59EA2><EFBFBD>嚗<EFBFBD>妟<EFBFBD><E5A69F>辣<EFBFBD>賜<EFBFBD>嚗?
- [<5B><> 雿輻鍂
logger霈啣<EFBFBD><EFBFBD>亙<EFBFBD> - [<5B><> 蝏煺<E89D8F><E785BA>躰秤憭<E7A7A4><E686AD>
<EFBFBD>冽<EFBFBD>雿㯄<EFBFBD>
- [<5B><> <20>𣳇<EFBFBD>餉<EFBFBD><E9A489>𤤿㦛
- [<5B><> 靽⊥<E99DBD>皜<EFBFBD>苊<EFBFBD>𤘪<EFBFBD>
- [<5B><> 敹恍<E695B9><E6818D><EFBFBD>霂閙䲮靘?
- [<5B><> 撖澆枂<E6BE86>蠘<EFBFBD>摰峕㟲
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㮾<EFBFBD>單<EFBFBD>獢?
- [Week 4撘<34><E69298>𤏸恣<F0A48FB8>哋(../04-撘<><E69298>𤏸恣<F0A48FB8>?04-Week4-蝏𤘪<E89D8F>撅閧內銝𤾸紡<F0A4BEB8>箏<EFBFBD><E7AE8F>𤏸恣<F0A48FB8>?md) - 霈曇恣<E69B87>寞<EFBFBD>
- <EFBFBD><EFBFBD><EFBFBD>臬<EFBFBD>箏𦛚皜<EFBFBD><EFBFBD> - Excel<65>𡒊垢撖澆枂<E6BE86>寞<EFBFBD>
- [鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8><EFBFBD>(../../../04-撘<><E69298>𤏸<EFBFBD><F0A48FB8>?08-鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8>?md) - <20>嗆<EFBFBD>閫<EFBFBD><E996AB>
- 隞餃𦛚<EFBFBD><EFBFBD>圾 - Week 4隞餃𦛚皜<F0A69B9A><E79A9C>
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝<EFBFBD>甇?
蝡见朖<EFBFBD>臬<EFBFBD>
- <EFBFBD>?摰峕㟲瘚<E39FB2><E7989A>瘚贝<E7989A>
- <EFBFBD>?瘚贝<E7989A><E8B49D><EFBFBD><EFBFBD>匧紡<E58CA7>箏<EFBFBD><E7AE8F>?
- <EFBFBD>?撉諹<E69289>瘛瑕<E7989B><E79195>寞<EFBFBD><E5AF9E>臬炏閫<E7828F><E996AB><EFBFBD>餉<EFBFBD><E9A489>𤤿㦛
<EFBFBD><EFBFBD><EFBFBD>臬<EFBFBD>箏𦛚
- <EFBFBD>賂<EFBFBD> 敶𤘪㺭<F0A498AA>桅<EFBFBD>>5000<30>⊥𧒄嚗<F0A79284><E59A97><EFBFBD>W<EFBFBD><EFBCB7>𡒊垢撖澆枂+OSS
- <EFBFBD>賂<EFBFBD> 瘛餃<E7989B><E9A483>游<EFBFBD>蝏蠘恣<E8A098>曇”嚗<E2809D>未<EFBFBD>整<EFBFBD><E695B4><EFBFBD><EFBFBD>踹㦛嚗?
- <EFBFBD>賂<EFBFBD> <20>舀<EFBFBD><E88880>芸<EFBFBD>銋匧紡<E58CA7>箏<EFBFBD>畾?
韐券<EFBFBD>隡睃<EFBFBD>
- <EFBFBD>賂<EFBFBD> Prompt隡睃<E99AA1>嚗<EFBFBD><E59A97>蝖桃<E89D96>60%<25>?5%嚗?
- <EFBFBD>賂<EFBFBD> 撟嗅<E6929F>憭<EFBFBD><E686AD>隡睃<E99AA1>嚗<EFBFBD><E59A97>扯<EFBFBD><E689AF>𣂼<EFBFBD>3<EFBFBD>㵪<EFBFBD>
**撘<><E69298>穃<EFBFBD><E7A983>鞉𧒄<E99E89>?*嚗?025-11-21
摰鮋<EFBFBD><EFBFBD>埈𧒄嚗?撠𤩺𧒄
**隞<><E99A9E>韐券<E99F90>**嚗尠<E59A97> <20>猂inter<65>躰秤
**鈭穃<E988AD><E7A983>罸<EFBFBD>霂?*嚗尠<E59A97> <20>朞<EFBFBD>
**<2A>嗆<EFBFBD>?*嚗尠<E59A97> 撌脣<E6928C><E884A3>琜<EFBFBD><E7909C>航<EFBFBD><E888AA>交<EFBFBD>霂?