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%)
16 KiB
ASL璅∪<EFBFBD>撘<EFBFBD><EFBFBD>?- <20>蚊I鈭斗𦻖<E69697><F0A6BB96>﹝
<EFBFBD>交<EFBFBD>: 2025-11-18
敶枏<EFBFBD><EFBFBD>嗆挾: Week 2 - <20>滨垢UI撘<49><E69298>?
<EFBFBD><EFBFBD>粉<EFBFBD>園𡢿: 5<><35><EFBFBD>
<EFBFBD>㴓 憿寧𤌍璁<F0A48C8D>膩
餈蹱糓隞<EFBFBD>銋<EFBFBD>★<EFBFBD>殷<EFBFBD>
AIclinicalresearch - <20>餃郎銝游<E98A9D><E6B8B8>𠉛弦AI撟喳蝱
銝<EFBFBD>銝芾<EFBFBD><EFBFBD>硋龫摮衣<EFBFBD>蝛嗅<EFBFBD><EFBFBD>笔𦶢<EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD>I颲<EFBFBD>𨭌撟喳蝱嚗<EFBFBD><EFBFBD><EFBFBD>?憭找<E686AD><E689BE>⊥芋<E28AA5>𨰜<EFBFBD>?*敶枏<E695B6>甇<EFBFBD>銁撘<E98A81><E69298>飊SL璅∪<E79285>**嚗㇁I<E38781>箄<EFBFBD><E7AE84><EFBFBD>讃蝑偦<E89D91>㚁<EFBFBD><E39A81>?
蝟餌<EFBFBD><EFBFBD>嗆<EFBFBD>嚗<EFBFBD><EFBFBD>撅<EFBFBD><EFBFBD>
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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>? 銝𡁜𦛚璅∪<E79285>撅?(Business Layer) <20>?
<0A>? - ASL (AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃) <20>?敶枏<E695B6>撘<EFBFBD><E69298>睲葉 <20>?
<0A>? - AIA, PKB, DC, SSA, ST, RVW <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>?
<20>?靘肽<E99D98>
<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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>? <20>賢<EFBFBD>撅?(Capability Layer) <20>?
<0A>? - LLM Gateway (5銝芣芋<E88AA3>见歇<E8A781><E6AD87><EFBFBD>) <20>? <20>?
<0A>? - Document Processing Engine <20>?
<0A>? - RAG Engine, ETL, Medical NLP <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>?
<20>?靘肽<E99D98>
<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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>? 撟喳蝱<E596B3>箇<EFBFBD>霈暹鴌撅?(Platform Layer) <20>?
<0A>? 8銝芣瓲敹<E793B2>芋<EFBFBD>?- 撌脣<E6928C><E884A3>?<3F>? <20>?
<0A>? Storage, Logging, Caching, Jobs, etc. <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>?
**<2A>喲睸<E596B2>寞<EFBFBD>?*:
- Schema<EFBFBD>𠉛氖: 10銝芰𡠺蝡閪ostgreSQL Schema
- **璅∪<E79285><E288AA>?*: 瘥譍葵銝𡁜𦛚璅∪<E79285><E288AA>祉<EFBFBD>撘<EFBFBD><E69298>㻫<EFBFBD><E3BBAB><EFBFBD>蝵脯<E89DB5><E884AF><EFBFBD><EFBFBD>?
- **鈭穃<E988AD><E7A983>?*: 隡睃<E99AA1>Alibaba Cloud SAE<41>函蔡
<EFBFBD><EFBFBD> 敶枏<E695B6><E69E8F>嗆<EFBFBD><E59786><EFBFBD>2025-11-18嚗?
<EFBFBD>?Week 1 撌脣<E6928C><E884A3>琜<EFBFBD><E7909C>𣂼<EFBFBD>4憭抬<E686AD>
*<EFBFBD>𡒊垢撘<EFBFBD><EFBFBD>? (100%):
- <EFBFBD>?<3F>唳旿摨廍chema霈曇恣嚗?銝芾”嚗蘏sl_schema嚗?
- <EFBFBD>?<3F>𡒊垢API獢<49>沲嚗?0銝芣𦻖<E88AA3><F0A6BB96><EFBFBD>
- <EFBFBD>?LLM<4C>峕芋<E5B395>讠<EFBFBD><E8AEA0>㗇<EFBFBD><E39787>?
- <EFBFBD>?銝厩<E98A9D>蝑偦<E89D91>厰<EFBFBD><E58EB0>潘<EFBFBD>摰賣𠹭/<2F><><EFBFBD>/銝交聢嚗?
- <EFBFBD>?JSON閫<4E><E996AB><EFBFBD>其耨憭㵪<E686AD><E3B5AA>舀<EFBFBD>銝剜<E98A9D>撘訫噡嚗?
- <EFBFBD>?API瘚贝<E7989A>摰峕<E691B0>嚗?/7<>朞<EFBFBD>嚗?
<EFBFBD>詨<EFBFBD><EFBFBD>鞉<EFBFBD>:
- **<2A>峕芋<E5B395>讠<EFBFBD><E8AEA0>?*: DeepSeek-V3 + Qwen-Max撟嗉<E6929F>
- 銝厩<EFBFBD>Prompt: 摰賣𠹭/<2F><><EFBFBD>/銝交聢璅∪<E79285>
- <EFBFBD><EFBFBD>眏撅閧內: 靽嘥<E99DBD>銝支葵璅∪<E79285><E288AA><EFBFBD><EFBFBD><EFBFBD>游ế<E6B8B8>剔<EFBFBD><E58994>?
- **<2A>脩<EFBFBD>璉<EFBFBD>瘚?*: <20>芣<EFBFBD>瘚醶onclusion<6F>脩<EFBFBD>嚗䔶<E59A97>璉<EFBFBD>瘚閪ICO撌桀<E6928C>
漎?Week 2 敺<><E695BA>憪页<E686AA>敶枏<E695B6>隞餃𦛚嚗?
*<EFBFBD>滨垢UI撘<EFBFBD><EFBFBD>? (0%):
- 漎?Day 1-2: 憿寧𤌍蝞∠<E89D9E><E288A0>屸𢒰
- 漎?Day 3-4: <20><>讃撖澆<E69296><E6BE86>屸𢒰
- 漎?Day 5: 蝑偦<E89D91>厩<EFBFBD><E58EA9>𨅯<EFBFBD>蝷?
<EFBFBD>圲 <20><><EFBFBD>舀<EFBFBD>
<EFBFBD>滨垢
- 獢<EFBFBD>沲: React 18 + TypeScript
- **UI摨?*: Ant Design 5
- 頝舐眏: React Router v6
- **<2A>嗆<EFBFBD>?*: React Query + Zustand
- <EFBFBD>嗆<EFBFBD>: Frontend-v2嚗<32>芋<EFBFBD>堒<EFBFBD>瘜典<E7989C>嚗?
<EFBFBD>𡒊垢
- 獢<EFBFBD>沲: Fastify + TypeScript
- ORM: Prisma
- **<2A>唳旿摨?*: PostgreSQL (asl_schema)
- LLM: DeepSeek-V3, Qwen-Max, GPT-4o, Claude-4.5
撌脣<EFBFBD><EFBFBD>鞟<EFBFBD>撟喳蝱<EFBFBD>滚𦛚嚗<EFBFBD>虾<EFBFBD>湔𦻖雿輻鍂嚗?
import { logger } from '@/common/logging'; // <20>亙<EFBFBD>
import { storage } from '@/common/storage'; // 摮睃<E691AE>
import { cache } from '@/common/cache'; // 蝻枏<E89DBB>
import { jobQueue } from '@/common/jobs'; // 撘<>郊隞餃𦛚
import { prisma } from '@/config/database'; // <20>唳旿摨?
<EFBFBD><EFBFBD> <20>喲睸<E596B2>桀<EFBFBD>蝏𤘪<E89D8F>
<EFBFBD>滨垢嚗<EFBFBD><EFBFBD>撘<EFBFBD><EFBFBD>𡢅<EFBFBD>
frontend-v2/src/modules/asl/
<0A>鎿<EFBFBD><E98EBF><EFBFBD> pages/ # 憿菟𢒰蝏<F0A292B0>辣
<0A>? <20>鎿<EFBFBD><E98EBF><EFBFBD> ProjectList/ # 憿寧𤌍<E5AFA7>𡑒”憿?<3F>?Week 2 Day 1
<0A>? <20>鎿<EFBFBD><E98EBF><EFBFBD> ProjectDetail/ # 憿寧𤌍霂行<E99C82>憿?<3F>?Week 2 Day 2
<0A>? <20>鎿<EFBFBD><E98EBF><EFBFBD> LiteratureImport/ # <20><>讃撖澆<E69296>憿?<3F>?Week 2 Day 3-4
<0A>? <20>婙<EFBFBD><E5A999><EFBFBD> ScreeningResults/ # 蝑偦<E89D91>厩<EFBFBD><E58EA9>𣈯△ <20>?Week 2 Day 5
<0A>鎿<EFBFBD><E98EBF><EFBFBD> components/ # <20>𡁶鍂蝏<E98D82>辣
<0A>鎿<EFBFBD><E98EBF><EFBFBD> hooks/ # <20>芸<EFBFBD>銋鵎ooks
<0A>鎿<EFBFBD><E98EBF><EFBFBD> services/ # API靚<49>鍂
<0A>鎿<EFBFBD><E98EBF><EFBFBD> types/ # TypeScript蝐餃<E89D90>
<0A>婙<EFBFBD><E5A999><EFBFBD> index.tsx # 璅∪<E79285><E288AA>亙藁
<EFBFBD>𡒊垢嚗<EFBFBD>歇摰峕<EFBFBD>嚗争<EFBFBD>
backend/src/modules/asl/
<0A>鎿<EFBFBD><E98EBF><EFBFBD> controllers/ # <20>批<EFBFBD><E689B9>?<3F>?
<0A>鎿<EFBFBD><E98EBF><EFBFBD> services/ # 銝𡁜𦛚<F0A1819C>餉<EFBFBD> <20>?
<0A>? <20>婙<EFBFBD><E5A999><EFBFBD> llmScreeningService.ts # <20>詨<EFBFBD>蝑偦<E89D91>㗇<EFBFBD><E39787>?
<0A>鎿<EFBFBD><E98EBF><EFBFBD> routes/ # 頝舐眏 <20>?
<0A>鎿<EFBFBD><E98EBF><EFBFBD> schemas/ # JSON Schema + Prompt<70><74><EFBFBD> <20>?
<0A>鎿<EFBFBD><E98EBF><EFBFBD> types/ # 蝐餃<E89D90>摰帋<E691B0> <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD> prompts/ # 銝厩<E98A9D>Prompt璅⊥踎 <20>?
<20>鎿<EFBFBD><E98EBF><EFBFBD> v1.1.0-lenient.txt # 摰賣𠹭璅∪<E79285>
<20>鎿<EFBFBD><E98EBF><EFBFBD> v1.1.0-standard.txt # <20><><EFBFBD>璅∪<E79285>
<20>婙<EFBFBD><E5A999><EFBFBD> v1.1.0-strict.txt # 銝交聢璅∪<E79285>
<EFBFBD><EFBFBD> <20>詨<EFBFBD><E8A9A8>蠘<EFBFBD>霂湔<E99C82>
1. <20>峕芋<E5B395>讠<EFBFBD><E8AEA0>㗇㦤<E39787>?
撌乩<EFBFBD>瘚<EFBFBD><EFBFBD>:
1. <20>冽<EFBFBD>銝𠹺<E98A9D><F0A0B9BA><EFBFBD>讃嚗𠄌xcel嚗?
2. 蝟餌<E89D9F>閫<EFBFBD><E996AB><EFBFBD><EFBFBD>讃嚗<E8AE83><E59A97>憸?<3F>䁅<EFBFBD>嚗?
3. 撟嗉<E6929F>靚<EFBFBD>鍂銝支葵LLM璅∪<E79285>嚗?
- DeepSeek-V3
- Qwen-Max
4. 銝支葵璅∪<E79285><E288AA>祉<EFBFBD><E7A589>斗鱏嚗ǎnclude/exclude嚗?
5. 蝟餌<E89D9F>璉<EFBFBD>瘚见<E7989A>蝒<EFBFBD><E89D92>conclusion<6F>臬炏銝<E7828F><E98A9D>湛<EFBFBD>
6. 餈𥪜<E9A488>蝏𤘪<E89D8F>嚗?
- 銝<><E98A9D>?<3F>?finalDecision = 璅∪<E79285>蝏栞捏
- <20>脩<EFBFBD> <20>?finalDecision = pending嚗<67><E59A97>鈭箏極憭齿瓲嚗?
<EFBFBD>滩<EFBFBD>: 靽嘥<E99DBD>銝支葵璅∪<E79285><E288AA>?*摰峕㟲<E5B395><E39FB2>眏**靘𤤿鍂<F0A4A4BF>瑟䰻<E7919F>?
2. 銝厩<E98A9D>蝑偦<E89D91>厰<EFBFBD><E58EB0>?
| 憌擧聢 | <EFBFBD>寧<EFBFBD> | 雿輻鍂<EFBFBD>箸艶 |
|---|---|---|
| 摰賣𠹭璅∪<EFBFBD> | 摰<EFBFBD>虾憭𡁶熙<EFBFBD>伐<EFBFBD>銝漤<EFBFBD>餈? | <EFBFBD>萘<EFBFBD><EFBFBD>嗆挾 |
| <EFBFBD><EFBFBD><EFBFBD>璅∪<EFBFBD> | 撟唾﹛<EFBFBD><EFBFBD>&<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砍<EFBFBD><EFBFBD>? | 撣貉<EFBFBD>雿輻鍂 |
| 銝交聢璅∪<EFBFBD> | 摰<EFBFBD>虾<EFBFBD>蹱<EFBFBD>嚗䔶<EFBFBD>霂<EFBFBD>捶<EFBFBD>? | 蝎曄<EFBFBD><EFBFBD>嗆挾 |
摰䂿緵: 撌脣銁<E884A3>𡒊垢摰䂿緵嚗<E7B7B5><E59A97>蝡舫<E89DA1>瘛餃<E7989B><E9A483>㗇𥋘<E39787>?
3. <20>唳旿璅∪<E79285>嚗Òsl_schema嚗?
4銝芣瓲敹<EFBFBD>”:
screening_projects -- 蝑偦<E89D91>厰★<E58EB0>殷<EFBFBD>摮婱ICOS<4F><53>熙<EFBFBD>埝<EFBFBD><E59F9D><EFBFBD><EFBFBD>
literatures -- <20><>讃<EFBFBD>∠𤌍嚗<F0A48C8D><E59A97>憸塩<E686B8><E5A1A9><EFBFBD>閬<EFBFBD><E996AC><EFBFBD>DF<44>暹𦻖嚗?
screening_results -- 蝑偦<E89D91>厩<EFBFBD><E58EA9>頣<EFBFBD>銝支葵璅∪<E79285><E288AA><EFBFBD>ế<EFBFBD>?<3F><>眏嚗?
screening_tasks -- 蝑偦<E89D91>劐遙<E58A90>∴<EFBFBD><E288B4>寥<EFBFBD>隞餃𦛚餈𥕦漲頝蠘葵嚗?
<EFBFBD>綫 UI<55>笔<EFBFBD><E7AC94><EFBFBD><EFBFBD>?
雿滨蔭: docs/03-銝𡁜𦛚璅∪<E79285>/ASL-AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃/03-UI霈曇恣/AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃-<2D><><EFBFBD><EFBFBD>䁅<EFBFBD><E48185>萘<EFBFBD><E89098>笔<EFBFBD>.html
<EFBFBD>詨<EFBFBD>憿菟𢒰:
- 憿寧𤌍<EFBFBD>𡑒” - <20>曄內<E69B84><E585A7><EFBFBD>厩<EFBFBD><E58EA9>厰★<E58EB0>?
- 憿寧𤌍霂行<EFBFBD> - PICOS<4F><53><EFBFBD><EFBFBD><EFBFBD>熙<EFBFBD>埝<EFBFBD><E59F9D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>桀<EFBFBD>銵?
- <EFBFBD><EFBFBD>讃撖澆<EFBFBD> - Excel銝𠹺<E98A9D><F0A0B9BA><EFBFBD><EFBFBD>閫<EFBFBD><E996AB><EFBFBD>紡<EFBFBD>?
- *蝑偦<EFBFBD>厩<EFBFBD><EFBFBD>? - <20>曄內蝑偦<E89D91>厩<EFBFBD><E58EA9>栶<EFBFBD><E6A0B6>舅銝芣芋<E88AA3>讠<EFBFBD><E8AEA0><EFBFBD>眏<EFBFBD><E79C8F><EFBFBD>蝒<EFBFBD><E89D92>霈?
<EFBFBD><EFBFBD> Week 2 撘<><E69298>睲遙<E79DB2>∴<EFBFBD>霂衣<E99C82>皜<EFBFBD><E79A9C>嚗?
Day 1-2: 憿寧𤌍蝞∠<E89D9E><E288A0>屸𢒰
隞餃𦛚:
- <EFBFBD>𥕦遣憿寧𤌍<EFBFBD>𡑒”憿蛛<EFBFBD>
/asl/projects嚗? - <EFBFBD>𥕦遣憿寧𤌍<EFBFBD>厰僼 + <20>𥕦遣憿寧𤌍銵典<E98AB5>
- 憿寧𤌍<EFBFBD>滨妍
- PICOS<EFBFBD><EFBFBD><EFBFBD>嚗?銝芸<E98A9D>畾蛛<E795BE>
- 蝥喳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>砍<EFBFBD>嚗?
- <EFBFBD>㘾膄<EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>砍<EFBFBD>嚗?
- 蝑偦<EFBFBD>厰<EFBFBD><EFBFBD>潮<EFBFBD>㗇𥋘嚗㇌adio: 摰賣𠹭/<2F><><EFBFBD>/銝交聢嚗争<E59A97>
- 憿寧𤌍<EFBFBD>𡑒”撅閧內嚗㇍able嚗?
- 憿寧𤌍霂行<EFBFBD>憿蛛<EFBFBD>
/asl/projects/:id嚗?
API<EFBFBD>亙藁嚗<EFBFBD>歇摰峕<EFBFBD>嚗?
POST /api/v1/asl/projects- <20>𥕦遣憿寧𤌍GET /api/v1/asl/projects- <20>瑕<EFBFBD>憿寧𤌍<E5AFA7>𡑒”GET /api/v1/asl/projects/:id- <20>瑕<EFBFBD>憿寧𤌍霂行<E99C82>
Day 3-4: <20><>讃撖澆<E69296><E6BE86>屸𢒰
隞餃𦛚:
- <EFBFBD><EFBFBD>讃撖澆<EFBFBD>憿蛛<EFBFBD>
/asl/projects/:id/import嚗? - Excel<EFBFBD><EFBFBD>辣銝𠹺<EFBFBD>嚗㇄ragger嚗?
- <EFBFBD><EFBFBD>讃憸<EFBFBD><EFBFBD>嚗㇍able嚗?
- <EFBFBD>澆<EFBFBD>撉諹<EFBFBD><EFBFBD>鞟內
- 蝖株恕撖澆<EFBFBD><EFBFBD>厰僼
- 撖澆<EFBFBD>餈𥕦漲<EFBFBD>鞟內
API<EFBFBD>亙藁嚗<EFBFBD>歇摰峕<EFBFBD>嚗?
POST /api/v1/asl/projects/:id/literatures/import-json- 撖澆<E69296><E6BE86><EFBFBD>讃GET /api/v1/asl/projects/:id/literatures- <20>瑕<EFBFBD><E79195><EFBFBD>讃<EFBFBD>𡑒”
Excel<EFBFBD>澆<EFBFBD>:
敹<EFBFBD>◆摮埈挾: title, abstract
<0A>舫<EFBFBD>匧<EFBFBD>畾? pmid, authors, journal, publicationYear, doi
Day 5: 蝑偦<E89D91>厩<EFBFBD><E58EA9>𨅯<EFBFBD>蝷?潃?<EFBFBD>滨<EFBFBD>
隞餃𦛚:
- 蝑偦<EFBFBD>厩<EFBFBD><EFBFBD>𨅯<EFBFBD>銵券△嚗Ǒ/asl/projects/:id/results`嚗?
- 蝏𤘪<EFBFBD>蝑偦<EFBFBD>㚁<EFBFBD><EFBFBD>券<EFBFBD>/蝥喳<E89DA5>/<2F>㘾膄/敺<><E695BA><EFBFBD>賂<EFBFBD>
- 蝏𤘪<EFBFBD>霂行<EFBFBD>撘寧<EFBFBD> 潃?<EFBFBD>喲睸
- <EFBFBD><EFBFBD>讃靽⊥<EFBFBD>嚗<EFBFBD><EFBFBD>憸塩<EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>
- <EFBFBD><EFBFBD>蝏<EFBFBD><EFBFBD>蝑吔<EFBFBD>include/exclude/pending嚗?
- **銝支葵璅∪<E79285><E288AA><EFBFBD><EFBFBD><EFBFBD>渡<EFBFBD><E6B8A1>?*嚗?
- DeepSeek-V3嚗𡁶<E59A97>霈?+ <20><>眏 + 蝵桐縑摨?
- Qwen-Max嚗𡁶<E59A97>霈?+ <20><>眏 + 蝵桐縑摨?
- <EFBFBD>脩<EFBFBD><EFBFBD>鞟內嚗<EFBFBD><EFBFBD><EFBFBD>靝舅銝芣芋<EFBFBD>衤<EFBFBD>銝<EFBFBD><EFBFBD>湛<EFBFBD>
- 鈭箏極憭齿瓲<EFBFBD>厰僼
API<EFBFBD>亙藁嚗<EFBFBD>歇摰峕<EFBFBD>嚗?
GET /api/v1/asl/projects/:id/results- <20>瑕<EFBFBD>蝑偦<E89D91>厩<EFBFBD><E58EA9>?
<EFBFBD>滚<EFBFBD><EFBFBD>澆<EFBFBD>:
{
literatureId: string;
title: string;
abstract: string;
finalDecision: 'include' | 'exclude' | 'pending';
// 潃?銝支葵璅∪<E79285><E288AA><EFBFBD>祕蝏<E7A595><E89D8F><EFBFBD>?
model1Result: {
modelName: 'DeepSeek-V3';
conclusion: 'exclude';
confidence: 0.92;
reason: '摰峕㟲<E5B395><E39FB2><EFBFBD><EFBFBD>斤<EFBFBD><E696A4>?..'; // <20>?<3F>滨垢<E6BBA8><E59EA2><EFBFBD>曄內
judgment: { P: 'match', I: 'match', C: 'mismatch', S: 'match' };
},
model2Result: {
modelName: 'Qwen-Max';
conclusion: 'include';
confidence: 0.85;
reason: '摰峕㟲<E5B395><E39FB2>熙<EFBFBD>亦<EFBFBD><E4BAA6>?..'; // <20>?<3F>滨垢<E6BBA8><E59EA2><EFBFBD>曄內
judgment: { ... };
},
hasConflict: true; // 銝支葵璅∪<E79285>銝滢<E98A9D><E6BBA2>?
conflictFields: ['conclusion'];
}
<EFBFBD>𤣳 Week 2 撘<><E69298>煾<EFBFBD><E785BE>?
1. 蝑偦<E89D91>厰<EFBFBD><E58EB0>潮<EFBFBD>㗇𥋘<E39787>?潃?
雿滨蔭: <20>𥕦遣憿寧𤌍銵典<E98AB5>
<Form.Item label="蝑偦<E89D91>厰<EFBFBD><E58EB0>? name="screeningStyle">
<Radio.Group defaultValue="standard">
<Radio.Button value="lenient">
<EFBFBD><EFBFBD> 摰賣𠹭璅∪<EFBFBD>
<Tooltip title="<22>萘<EFBFBD><E89098>刻<EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>臬<EFBFBD>蝥喳<E89DA5>">
<QuestionCircleOutlined />
</Tooltip>
</Radio.Button>
<Radio.Button value="standard">
<EFBFBD>吔<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>璅∪<EFBFBD>
</Radio.Button>
<Radio.Button value="strict">
<EFBFBD><EFBFBD> 銝交聢璅∪<EFBFBD>
</Radio.Button>
</Radio.Group>
</Form.Item>
2. 銝支葵璅∪<E79285><E288AA><EFBFBD>眏撅閧內 潃鐥<E6BD83>潃?<EFBFBD><EFBFBD><EFBFBD>滩<EFBFBD>
雿滨蔭: 蝑偦<E89D91>厩<EFBFBD><E58EA9>𡏭祕<F0A18FAD><E7A595>撕蝒?
<Modal title="蝑偦<E89D91>㕑祕<E39591>? width={1000}>
{/* <20><>蝏<EFBFBD><E89D8F>蝑?*/}
<Alert type={finalDecision === 'pending' ? 'warning' : 'success'}>
<strong><3E><>蝏<EFBFBD><E89D8F>蝑?</strong> {finalDecision}
</Alert>
{/* <20>脩<EFBFBD><E884A9>鞟內 */}
{hasConflict && (
<Alert type="warning" showIcon style={{marginTop: 16}}>
<EFBFBD>𩤃<EFBFBD> 銝支葵璅∪<EFBFBD><EFBFBD>斗鱏銝滢<EFBFBD><EFBFBD>湛<EFBFBD>撱箄悅鈭箏極憭齿瓲
</Alert>
)}
<Divider />
{/* 潃?銝支葵璅∪<E79285><E288AA><EFBFBD>祕蝏<E7A595><E89D8F><EFBFBD>頣<EFBFBD>撟嗆<E6929F><E59786>曄內嚗?/}
<Row gutter={16}>
<Col span={12}>
<Card title="<22><> DeepSeek-V3" size="small">
<Descriptions column={1} size="small">
<Descriptions.Item label="蝏栞捏">
<Tag color={model1.conclusion === 'include' ? 'green' : 'red'}>
{model1.conclusion}
</Tag>
</Descriptions.Item>
<Descriptions.Item label="蝵桐縑摨?>
{(model1.confidence * 100).toFixed(0)}%
</Descriptions.Item>
</Descriptions>
<Divider style={{margin: '12px 0'}} />
<div>
<strong><3E>斗鱏<E69697><E9B18F>眏:</strong>
<p style={{marginTop: 8, whiteSpace: 'pre-wrap'}}>
{model1.reason} {/* 潃?<3F>曄內摰峕㟲<E5B395><E39FB2>眏 */}
</p>
</div>
<Divider style={{margin: '12px 0'}} />
<Collapse ghost size="small">
<Panel header="PICO蝏游漲霂行<E99C82>" key="1">
<Descriptions column={2} size="small">
<Descriptions.Item label="P">{model1.judgment.P}</Descriptions.Item>
<Descriptions.Item label="I">{model1.judgment.I}</Descriptions.Item>
<Descriptions.Item label="C">{model1.judgment.C}</Descriptions.Item>
<Descriptions.Item label="S">{model1.judgment.S}</Descriptions.Item>
</Descriptions>
</Panel>
</Collapse>
</Card>
</Col>
<Col span={12}>
<Card title="<22><> Qwen-Max" size="small">
{/* <20>䔶<EFBFBD>嚗峕遬蝷榦odel2<6C><32><EFBFBD><EFBFBD>?*/}
</Card>
</Col>
</Row>
{/* 鈭箏極憭齿瓲<E9BDBF>厰僼 */}
<div style={{marginTop: 16, textAlign: 'center'}}>
<Button type="primary" onClick={handleManualReview}>
鈭箏極憭齿瓲甇斗<EFBFBD><EFBFBD>?
</Button>
</div>
</Modal>
銝箔<EFBFBD>銋<EFBFBD><EFBFBD>銋<EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>
- <EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD><EFBFBD>蚊I<EFBFBD><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>滩<EFBFBD><E6BBA9><EFBFBD>﹝蝝W<E89D9D>
敹<EFBFBD>粉<EFBFBD><EFBFBD>﹝嚗<EFBFBD><EFBFBD><EFBFBD>穃<EFBFBD>嚗?
-
隞餃𦛚<EFBFBD><EFBFBD>圾:
docs/03-銝𡁜𦛚璅∪<E79285>/ASL-AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃/04-撘<><E69298>𤏸恣<F0A48FB8>?03-隞餃𦛚<E9A483><F0A69B9A>圾.md- Week 2霂衣<E99C82>隞餃𦛚皜<F0A69B9A><E79A9C>
-
UI<EFBFBD>笔<EFBFBD>:
docs/03-銝𡁜𦛚璅∪<E79285>/ASL-AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃/03-UI霈曇恣/AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃-<2D><><EFBFBD><EFBFBD>䁅<EFBFBD><E48185>萘<EFBFBD><E89098>笔<EFBFBD>.html- <EFBFBD>屸𢒰<EFBFBD><EFBFBD><EFBFBD>?
-
API霈曇恣:
docs/03-銝𡁜𦛚璅∪<E79285>/ASL-AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃/02-<2D><><EFBFBD>航挽霈?02-API霈曇恣閫<E681A3><E996AB>.md- API<EFBFBD>亙藁<EFBFBD><EFBFBD>﹝
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>獢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD>𧒄<EFBFBD>仿<EFBFBD>嚗?
- 蝟餌<EFBFBD><EFBFBD>嗆<EFBFBD>:
docs/00-蝟餌<E89D9F><E9A48C>颱<EFBFBD>霈曇恣/00-蝟餌<E89D9F>敶枏<E695B6><E69E8F>嗆<EFBFBD><E59786><EFBFBD>撘<EFBFBD><E69298>烐<EFBFBD><E78390>?md - **<2A>滨垢璅∪<E79285><E288AA>?*:
docs/00-蝟餌<E89D9F><E9A48C>颱<EFBFBD>霈曇恣/<2F>滚<EFBFBD>蝡舀芋<E88880>堒<EFBFBD><E5A092>嗆<EFBFBD>霈曇恣-V2.md - **<2A>唳旿摨栞挽霈?*:
docs/03-銝𡁜𦛚璅∪<E79285>/ASL-AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃/02-<2D><><EFBFBD>航挽霈?01-<2D>唳旿摨栞挽霈?md
<EFBFBD><EFBFBD> 敹恍<E695B9>笔鍳<E7AC94>?
1. <20>臬𢆡<E887AC>𡒊垢嚗<E59EA2>歇摰峕<E691B0>嚗?
cd backend
npm run dev
# <20>𡒊垢餈鞱<E9A488><E99EB1>?http://localhost:3001
# API<50>滨<EFBFBD>: /api/v1/asl
2. <20>臬𢆡<E887AC>滨垢嚗<E59EA2><E59A97>撘<EFBFBD><E69298>𡢅<EFBFBD>
cd frontend-v2
npm run dev
# <20>滨垢餈鞱<E9A488><E99EB1>?http://localhost:5173
3. 瘚贝<E7989A>API
# <20>亙熒璉<E78692><E79289>?
curl http://localhost:3001/api/v1/asl/health
# <20>瑕<EFBFBD>憿寧𤌍<E5AFA7>𡑒”
curl http://localhost:3001/api/v1/asl/projects
<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD>瘜冽<E7989C>鈭钅★
1. 銝湔𧒄瘚贝<E7989A>璅∪<E79285>
**JWT霈方<E99C88><E696B9><EFBFBD>𧒄蝏閗<E89D8F>**嚗䔶蝙<E494B6>券<EFBFBD>霈斗<E99C88>霂閧鍂<E996A7>瘀<EFBFBD>
const userId = requestBody.userId || 'asl-test-user-001';
**<2A>煺漣<E785BA>臬<EFBFBD><E887AC><EFBFBD>閬?*: 摰䂿緵<E482BF>笔<EFBFBD><E7AC94><EFBFBD>WT霈方<E99C88>
2. 蝑偦<E89D91>厰<EFBFBD><E58EB0>澆<EFBFBD><E6BE86>?
<EFBFBD>𥕦遣憿寧𤌍<EFBFBD>塚<EFBFBD>霈啣<EFBFBD>隡𣳇<EFBFBD>垍<EFBFBD><EFBFBD>厰<EFBFBD><EFBFBD>潘<EFBFBD>
const projectData = {
projectName: '...',
picoCriteria: { ... },
inclusionCriteria: '...',
exclusionCriteria: '...',
screeningConfig: {
style: 'lenient', // <20>?蝑偦<E89D91>厰<EFBFBD><E58EB0>?
models: ['deepseek-chat', 'qwen-max']
}
};
3. 銝支葵璅∪<E79285><E288AA><EFBFBD>眏<EFBFBD>舀瓲敹<E793B2><E695B9><EFBFBD>?
**敹<>◆<EFBFBD>典<EFBFBD>蝡舀遬蝷?*嚗䔶<E59A97><E494B6>賜<EFBFBD><E8B39C>伐<EFBFBD>
餈蹱糓<EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>滩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瘙<EFBFBD><EFBFBD>撣桀𨭌隞碶賑<EFBFBD><EFBFBD>圾AI<EFBFBD><EFBFBD>ế<EFBFBD>剝<EFBFBD>餉<EFBFBD><EFBFBD>?
<EFBFBD>㴓 Week 2 <20>𣂼<EFBFBD><F0A382BC><EFBFBD><EFBFBD>
<EFBFBD>蠘<EFBFBD>摰峕㟲<EFBFBD>?
- <EFBFBD>冽<EFBFBD><EFBFBD>臭誑<EFBFBD>𥕦遣憿寧𤌍嚗<EFBFBD><EFBFBD><EFBFBD>促ICOS<EFBFBD>𣬚<EFBFBD><EFBFBD>厰<EFBFBD><EFBFBD>潮<EFBFBD>㗇𥋘嚗?
- <EFBFBD>冽<EFBFBD><EFBFBD>臭誑銝𠹺<EFBFBD>Excel<EFBFBD><EFBFBD>辣撖澆<EFBFBD><EFBFBD><EFBFBD>讃
- <EFBFBD>冽<EFBFBD><EFBFBD>臭誑<EFBFBD>亦<EFBFBD>蝑偦<EFBFBD>厩<EFBFBD><EFBFBD>𨅯<EFBFBD>銵?
- <EFBFBD>冽<EFBFBD><EFBFBD>臭誑<EFBFBD>亦<EFBFBD>*銝支葵璅∪<EFBFBD><EFBFBD><EFBFBD>祕蝏<EFBFBD><EFBFBD><EFBFBD>? 潃?
- <EFBFBD>冽<EFBFBD><EFBFBD>臭誑霂<EFBFBD><EFBFBD><EFBFBD>脩<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD>屸𢒰韐券<EFBFBD>
- UI蝚血<EFBFBD>Ant Design閫<6E><E996AB>
- <EFBFBD>滚<EFBFBD>撘誩<EFBFBD>撅<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝滚<EFBFBD>撅誩<EFBFBD>嚗?
- <EFBFBD>㰘蝸<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>蝷?
- <EFBFBD>躰秤憭<EFBFBD><EFBFBD><EFBFBD>见末
隞<EFBFBD><EFBFBD>韐券<EFBFBD>
- TypeScript蝐餃<EFBFBD>摰峕㟲
- 蝏<EFBFBD>辣<EFBFBD>諹提皜<EFBFBD>苊
- API靚<EFBFBD>鍂撠<EFBFBD><EFBFBD>憟?
- 隞<EFBFBD><EFBFBD>蝚血<EFBFBD>ESLint閫<EFBFBD><EFBFBD>
<EFBFBD>働 撘<><E69298>穃遣霈?
1. <20><><EFBFBD>獢<EFBFBD>沲嚗<E6B2B2><E59A97>憛怠<E6869B>摰?
Day 1: <20>剖遣憿菟𢒰獢<F0A292B0>沲 + 頝舐眏
Day 2: 摰䂿緵銵典<E98AB5><E585B8><EFBFBD><EFBFBD>銵?
Day 3-4: <20><>讃撖澆<E69296><E6BE86>蠘<EFBFBD>
Day 5: 蝑偦<E89D91>厩<EFBFBD><E58EA9>𨅯<EFBFBD>蝷綽<E89DB7><E7B6BD>滨<EFBFBD>嚗?
2. 蝏<>辣憭滨鍂
- ProjectForm.tsx嚗<78><E59A97>撱?蝻𤥁<E89DBB>憿寧𤌍銵典<E98AB5>嚗?
- LiteratureTable.tsx嚗<78><E59A97><EFBFBD>桀<EFBFBD>銵刻”<E588BB>潘<EFBFBD>
- ScreeningResultCard.tsx嚗<78><E59A97><EFBFBD>厩<EFBFBD><E58EA9>𨅯㨃<F0A885AF><E3A883><EFBFBD>
- ModelComparisonPanel.tsx嚗<78>芋<EFBFBD>见笆瘥娪𢒰<E5A8AA>選<EFBFBD>潃?
3. <20>嗆<EFBFBD><E59786>恣<EFBFBD>?
// 雿輻鍂React Query蝞∠<E89D9E><E288A0>滚𦛚蝡舐𠶖<E88890>?
const { data: projects } = useQuery(['projects'], fetchProjects);
// 雿輻鍂Zustand蝞∠<E89D9E>摰X<E691B0>蝡舐𠶖<E88890>?
const useAslStore = create((set) => ({
currentProject: null,
setCurrentProject: (project) => set({ currentProject: project }),
}));
<EFBFBD><EFBFBD> <20>𡒊賒霈∪<E99C88>
Week 3-4: MVP摰峕<E691B0>
- <EFBFBD>寥<EFBFBD>蝑偦<EFBFBD>?
- 蝏𤘪<EFBFBD>撖澆枂
- 瘚贝<EFBFBD>銝羓瑪
Week 5-7: Phase 2嚗<32>虾<EFBFBD>㚁<EFBFBD>
- <EFBFBD>箄<EFBFBD>Prompt<EFBFBD><EFBFBD><EFBFBD>璅∪<EFBFBD>
- <EFBFBD>冽<EFBFBD><EFBFBD>芸<EFBFBD>銋侨ICOS
- AI<EFBFBD><EFBFBD><EFBFBD>颲寧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
霂西<EFBFBD>: docs/03-銝𡁜𦛚璅∪<E79285>/ASL-AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃/02-<2D><><EFBFBD>航挽霈?07-<2D>箄<EFBFBD>Prompt<70><74><EFBFBD>璅∪<E79285>撘<EFBFBD><E69298>𤏸恣<F0A48FB8>?md
<EFBFBD><EFBFBD> <20>喲睸<E596B2>𠉛頂靽⊥<E99DBD>
- 憿寧𤌍<EFBFBD><EFBFBD>﹝:
AIclinicalresearch/docs/ - 隞<EFBFBD><EFBFBD>隞枏<EFBFBD>:
AIclinicalresearch/ - <EFBFBD>滨垢隞<EFBFBD><EFBFBD>:
frontend-v2/src/modules/asl/ - <EFBFBD>𡒊垢隞<EFBFBD><EFBFBD>:
backend/src/modules/asl/
<EFBFBD>?鈭斗𦻖璉<F0A6BB96><E79289>交<EFBFBD><E4BAA4>?
<EFBFBD>蚊I摨磰砲蝖株恕<EFBFBD><EFBFBD>圾嚗?
- 憿寧𤌍<EFBFBD>臭<EFBFBD>銋<EFBFBD><EFBFBD><EFBFBD>餃郎<EFBFBD><EFBFBD>讃AI蝑偦<EFBFBD>㚁<EFBFBD>
- 敶枏<EFBFBD><EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>Week 1摰峕<E691B0>嚗𡦀eek 2敺<32><E695BA>憪页<E686AA>
- <EFBFBD><EFBFBD><EFBFBD>舀<EFBFBD>嚗㇌eact + Ant Design + Fastify + Prisma嚗?
- Week 2隞餃𦛚嚗?銝芷△<E88AB7>g<EFBFBD>憿寧𤌍蝞∠<E89D9E><E288A0><EFBFBD><EFBFBD><EFBFBD>桀紡<E6A180>乓<EFBFBD><E4B993><EFBFBD><EFBFBD>𨅯<EFBFBD>蝷綽<E89DB7>
- <EFBFBD>詨<EFBFBD><EFBFBD>蠘<EFBFBD>嚗<EFBFBD><EFBFBD>璅∪<EFBFBD>蝑偦<EFBFBD>剹<EFBFBD><EFBFBD><EFBFBD>蝘漤<EFBFBD><EFBFBD>潦<EFBFBD><EFBFBD>遬蝷箇<EFBFBD><EFBFBD>梧<EFBFBD>
- <EFBFBD>滨<EFBFBD>隞餃𦛚嚗<EFBFBD>遬蝷箔舅銝芣芋<EFBFBD>讠<EFBFBD>摰峕㟲<EFBFBD><EFBFBD>眏嚗争<EFBFBD>
蟡脲鰵AI撘<EFBFBD><EFBFBD>煾◇<EFBFBD>抬<EFBFBD> <20><>
<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦: v1.0
<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>: 2025-11-18
**蝏湔擪鈭?: Previous AI Assistant
**<2A>券<EFBFBD>?: <20>蚊I敹恍<E695B9>煺<EFBFBD><E785BA>𧢲<EFBFBD><F0A7A2B2>?