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.7 KiB
7.7 KiB
<EFBFBD>唳旿摨枏<EFBFBD><EFBFBD>𤏸<EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD>𧋦: v1.0 <0A>湔鰵<E6B994>交<EFBFBD>: 2026-01-11 蝻硋<E89DBB><E7A18B>峕艶: 2026-01-11 <20>唳旿摨㮖<E691A8><E3AE96><EFBFBD><EFBFBD><EFBFBD>餌<EFBFBD>
1. <20>詨<EFBFBD><E8A9A8>笔<EFBFBD>
1.1 摰匧<E691B0>蝚砌<E89D9A>
<EFBFBD>𩤃<EFBFBD> 暺<><E69ABA>瘜訫<E7989C>嚗帋遙雿閙㺭<E99699>桀<EFBFBD><E6A180>滢<EFBFBD><E6BBA2>㵪<EFBFBD>敹<EFBFBD>◆<EFBFBD><E29786><EFBFBD>隞踝<E99A9E>
1.2 蝳<>迫雿輻鍂<E8BCBB><E98D82>暒<EFBFBD>拙𦶢隞?
| <EFBFBD>賭誘 | <EFBFBD>梢埯蝑厩漣 | 霂湔<EFBFBD> |
|---|---|---|
prisma db push --force-reset |
<EFBFBD>𣞁 <EFBFBD><EFBFBD><EFBFBD> | 隡𡁜<EFBFBD><EFBFBD>斗<EFBFBD><EFBFBD>㗇㺭<EFBFBD>桀<EFBFBD><EFBFBD>鱲risma蝞∠<EFBFBD><EFBFBD><EFBFBD>笆鞊? |
prisma migrate reset |
<EFBFBD>𣞁 <EFBFBD><EFBFBD><EFBFBD> | <EFBFBD>滨蔭<EFBFBD>港葵<EFBFBD>唳旿摨? |
DROP DATABASE |
<EFBFBD>𣞁 <EFBFBD><EFBFBD><EFBFBD> | <EFBFBD>𣳇膄<EFBFBD>港葵<EFBFBD>唳旿摨? |
TRUNCATE TABLE |
<EFBFBD><EFBFBD> 擃? | 皜<EFBFBD>征銵冽㺭<EFBFBD>? |
1.3 <20>刻<EFBFBD><E588BB><EFBFBD><EFBFBD><EFBFBD>典𦶢隞?
| <EFBFBD>賭誘 | <EFBFBD>券<EFBFBD>? | 摰匧<EFBFBD><EFBFBD>? |
|---|---|---|
prisma migrate dev |
撘<EFBFBD><EFBFBD>𤑳㴓憓<EFBFBD><EFBFBD>蝘? | <EFBFBD>?摰匧<E691B0> |
prisma migrate deploy |
<EFBFBD>煺漣<EFBFBD>臬<EFBFBD>餈<EFBFBD>宏 | <EFBFBD>?摰匧<E691B0> |
prisma db push (<28>?--force-reset) |
<EFBFBD>峕郊schema<EFBFBD>唳㺭<EFBFBD>桀<EFBFBD> | <EFBFBD>𩤃<EFBFBD> 靚冽<E99D9A>雿輻鍂 |
prisma generate |
<EFBFBD><EFBFBD><EFBFBD>摰X<EFBFBD>蝡? | <EFBFBD>?摰匧<E691B0> |
2. <20>唳旿摨枏<E691A8>隞質<E99A9E><E8B3AA>?
2.1 憭<>遢<EFBFBD>賭誘
# <20>朞<EFBFBD> Docker 憭<>遢嚗<E981A2>綫<EFBFBD>琜<EFBFBD>
docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research > backup_$(date +%Y%m%d_%H%M%S).sql
# PowerShell <20><>𧋦
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research > "backup_$timestamp.sql"
2.2 憭<>遢<EFBFBD>嗆㦤
| <EFBFBD>嗆㦤 | <EFBFBD>臬炏敹<EFBFBD>◆ |
|---|---|
<EFBFBD>扯<EFBFBD>隞颱<EFBFBD> prisma migrate <20>? |
<EFBFBD>?敹<>◆ |
<EFBFBD>扯<EFBFBD> prisma db push <20>? |
<EFBFBD>?敹<>◆ |
| <EFBFBD>函蔡<EFBFBD>啁<EFBFBD>鈭抒㴓憓<EFBFBD><EFBFBD> | <EFBFBD>?敹<>◆ |
| 瘥𤩺𠯫<EFBFBD>芸𢆡憭<EFBFBD>遢 | <EFBFBD>?<3F>刻<EFBFBD> |
| <EFBFBD>滚之<EFBFBD>蠘<EFBFBD><EFBFBD>穃<EFBFBD><EFBFBD>? | <EFBFBD>?敹<>◆ |
2.3 憭<>遢<EFBFBD><E981A2>辣蝞∠<E89D9E>
AIclinicalresearch/
<0A>鎿<EFBFBD><E98EBF><EFBFBD> backup_20260111_131506.sql # <20>交<EFBFBD>_<EFBFBD>園𡢿<E59C92>賢<EFBFBD>
<0A>鎿<EFBFBD><E98EBF><EFBFBD> rds_init_20251224_154529.sql # <20><>蟮憭<E89FAE>遢
<0A>婙<EFBFBD><E5A999><EFBFBD> ...
3. Schema <20>䀹凒瘚<E58792><E7989A>
3.1 <20><><EFBFBD>瘚<EFBFBD><E7989A>
graph TD
A[靽格㺿 schema.prisma] --> B[憭<>遢<EFBFBD>唳旿摨𨩇
B --> C[餈鞱<E9A488> prisma migrate dev]
C --> D{餈<>宏<EFBFBD>𣂼<EFBFBD>?}
D -->|<7C>砝 E[瘚贝<E7989A><E8B49D>蠘<EFBFBD>]
D -->|<7C>帆 F[隞𤾸<E99A9E>隞賣<E99A9E>憭䓞
E --> G{瘚贝<E7989A><E8B49D>朞<EFBFBD>?}
G -->|<7C>砝 H[<5B>𣂷漱隞<E6BCB1><E99A9E>]
G -->|<7C>帆 F
3.2 <20>瑚<EFBFBD>甇仿炊
# 1. 憭<>遢<EFBFBD>唳旿摨?
docker exec ai-clinical-postgres pg_dump -U postgres -d ai_clinical_research > backup_before_migration.sql
# 2. 靽格㺿 schema.prisma
# 3. <20>𥕦遣餈<E981A3>宏
npx prisma migrate dev --name describe_your_change
# 4. 璉<><E79289>亦<EFBFBD><E4BAA6>鞟<EFBFBD>餈<EFBFBD>宏 SQL
cat prisma/migrations/xxx_describe_your_change/migration.sql
# 5. 瘚贝<E7989A>
# 6. 憒<><E68692>憭梯揖嚗峕<E59A97>憭滚<E686AD>隞?
cat backup_before_migration.sql | docker exec -i ai-clinical-postgres psql -U postgres -d ai_clinical_research
4. Prisma 銝擧㺭<E693A7>桀<EFBFBD>銝滢<E98A9D><E6BBA2>湧䔮憸?
4.1 Prisma 銝滨恣<E6BBA8><E681A3><EFBFBD>撖寡情
隞乩<EFBFBD><EFBFBD>唳旿摨枏笆鞊∩<EFBFBD><EFBFBD>?schema.prisma 銝剖<E98A9D>銋㚁<E98A8B><E39A81><EFBFBD>閬<EFBFBD><E996AC><EFBFBD>祉恣<E7A589><E681A3><EFBFBD>
| 撖寡情 | 蝐餃<EFBFBD> | <EFBFBD>交<EFBFBD> | <EFBFBD>W<EFBFBD><EFBFBD>𡁏𧋦 |
|---|---|---|---|
platform_schema.job_common |
銵? | pg-boss 餈鞱<E9A488><E99EB1>嗅<EFBFBD>撱? | restore_job_common.sql |
platform_schema.create_queue() |
<EFBFBD>賣㺭 | pg-boss <20>嘥<EFBFBD><E598A5>? | restore_pgboss_functions.sql |
platform_schema.delete_queue() |
<EFBFBD>賣㺭 | pg-boss <20>嘥<EFBFBD><E598A5>? | restore_pgboss_functions.sql |
4.2 <20>W<EFBFBD><EFBCB7>?Prisma 蝞∠<E89D9E><E288A0><EFBFBD>笆鞊?
# 憒<><E68692>霂臬<E99C82>鈭?pg-boss <20>詨<EFBFBD>撖寡情嚗峕<E59A97>銵䕘<E98AB5>
npx prisma db execute --file restore_job_common.sql --schema prisma/schema.prisma
npx prisma db execute --file restore_pgboss_functions.sql --schema prisma/schema.prisma
4.3 璉<><E79289>交㺭<E4BAA4>桀<EFBFBD>銝?Prisma 銝<><E98A9D>湔<EFBFBD>?
# <20>亦<EFBFBD><E4BAA6>唳旿摨㮖葉<E3AE96><E89189>遆<EFBFBD>?
SELECT routine_name FROM information_schema.routines WHERE routine_schema = 'platform_schema';
# <20>亦<EFBFBD><E4BAA6>唳旿摨㮖葉<E3AE96><E89189>”
SELECT table_name FROM information_schema.tables WHERE table_schema = 'platform_schema';
# 撖寞<E69296> schema.prisma 摰帋<E691B0>
5. 憭?Schema <20>嗆<EFBFBD>閫<EFBFBD><E996AB>
5.1 Schema <20>賢<EFBFBD>閫<EFBFBD><E996AB>
| Schema | <EFBFBD>券<EFBFBD>? | 蝷箔<EFBFBD>銵? |
|---|---|---|
platform_schema |
撟喳蝱<EFBFBD>箇<EFBFBD>霈暹鴌 | users, tenants, app_cache |
admin_schema |
餈鞱𨯫蝞∠<EFBFBD> | admin_operation_logs |
aia_schema |
AI<EFBFBD>箄<EFBFBD><EFBFBD>桃<EFBFBD> | conversations, messages |
asl_schema |
<EFBFBD><EFBFBD>讃蝑偦<EFBFBD>? | screening_projects, literatures |
dc_schema |
<EFBFBD>唳旿皜<EFBFBD><EFBFBD> | dc_templates, dc_extraction_tasks |
pkb_schema |
銝芯犖<EFBFBD>亥<EFBFBD>摨? | knowledge_bases, documents |
iit_schema |
IIT憿寧𤌍 | projects, audit_logs |
rvw_schema |
霈箸<EFBFBD>憸<EFBFBD>恣 | review_tasks |
capability_schema |
<EFBFBD>𡁶鍂<EFBFBD>賢<EFBFBD> | prompt_templates |
public |
<EFBFBD>扳㺭<EFBFBD>?<3F>澆捆 | users (<28>?, admin_logs |
5.2 銵典𦶢<E585B8>滩<EFBFBD><E6BBA9>?
{schema_name}.{module_prefix}_{entity_name}
蝷箔<E89DB7>嚗?
- dc_schema.dc_templates
- dc_schema.dc_extraction_tasks
- asl_schema.screening_projects
6. 憭㚚睸銝擧㺭<E693A7>桀<EFBFBD><E6A180>湔<EFBFBD>?
6.1 頝?Schema 憭㚚睸
// <20>?甇<>&嚗𡁏<E59A97>蝖格<E89D96>摰𡁜<E691B0>蝟?
model ReviewTask {
userId String @map("user_id")
user PublicUser @relation(fields: [userId], references: [id])
@@schema("rvw_schema")
}
model PublicUser {
id String @id
reviewTasks ReviewTask[]
@@schema("public")
}
6.2 憭㚚睸<E39A9A><E79DB8><EFBFBD>璉<EFBFBD><E79289>?
<EFBFBD>其蝙<EFBFBD>?prisma db push <20>𠬍<EFBFBD>璉<EFBFBD><E79289>亙<EFBFBD><E4BA99>格糓<E6A0BC>行迤蝖殷<E89D96>
SELECT
tc.table_schema, tc.table_name, kcu.column_name,
ccu.table_schema AS foreign_schema, ccu.table_name AS foreign_table
FROM information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
WHERE tc.constraint_type = 'FOREIGN KEY';
7. 鈭𧢲<E988AD><F0A7A2B2>W<EFBFBD>瘚<EFBFBD><E7989A>
7.1 霂臬<E99C82><E887AC>唳旿<E594B3>W<EFBFBD>
# 1. <20>𨀣迫摨𠉛鍂
# 2. 隞𤾸<E99A9E>隞賣<E99A9E>憭?
cat backup_xxx.sql | docker exec -i ai-clinical-postgres psql -U postgres -d ai_clinical_research
# 3. 撉諹<E69289><E8ABB9>唳旿
npx tsx verify_system.ts
# 4. <20>滚鍳摨𠉛鍂
7.2 Schema 銝滢<E98A9D><E6BBA2>湔<EFBFBD>憭?
# 1. 璉<><E79289>亙榆撘?
npx tsx compare_schema_db.ts
# 2. <20>W<EFBFBD>蝻箏仃<E7AE8F><E4BB83>笆鞊?
npx prisma db execute --file restore_xxx.sql --schema prisma/schema.prisma
# 3. 撉諹<E69289>
8. 撘<><E69298>𤑳㴓憓?vs <20>煺漣<E785BA>臬<EFBFBD>
8.1 撘<><E69298>𤑳㴓憓?
- <EFBFBD>臭誑雿輻鍂
prisma migrate dev - <EFBFBD>臭誑雿輻鍂
prisma db push嚗<EFBFBD>馬<EFBFBD>𠬍<EFBFBD> - 摰𡁏<EFBFBD><EFBFBD>峕郊<EFBFBD>煺漣<EFBFBD>唳旿摨梶<EFBFBD><EFBFBD>?
8.2 <20>煺漣<E785BA>臬<EFBFBD>
- **<2A>芾<EFBFBD>**雿輻鍂
prisma migrate deploy - 蝳<EFBFBD>迫雿輻鍂隞颱<EFBFBD>
--force<20>?--reset<20><>㺭 - <EFBFBD>䀹凒<EFBFBD>滚<EFBFBD>憿餅<EFBFBD><EFBFBD>墧<EFBFBD>霈∪<EFBFBD>
- 敹<EFBFBD>◆<EFBFBD>㗇<EFBFBD><EFBFBD>啣<EFBFBD>隞?
9. 璉<><E79289>交<EFBFBD><E4BAA4>?
9.1 <20>唳旿摨枏<E691A8><E69E8F>游<EFBFBD>璉<EFBFBD><E79289>?
- 撌脣<EFBFBD>隞賣㺭<EFBFBD>桀<EFBFBD>
- 撌脣恣<EFBFBD>?schema.prisma <20>䀹凒
- 撌脫<EFBFBD><EFBFBD>交糓<EFBFBD>血蔣<EFBFBD>漤<EFBFBD> Prisma 蝞∠<E89D9E><E288A0><EFBFBD>笆鞊?
- 撌脣<EFBFBD>憭<EFBFBD><EFBFBD>皛𡁏䲮獢?
- 撌脣銁撘<EFBFBD><EFBFBD>𤑳㴓憓<EFBFBD><EFBFBD>霂?
9.2 <20>函蔡<E587BD>擧<EFBFBD><E693A7>?
- 摨𠉛鍂甇<EFBFBD>虜<EFBFBD>臬𢆡
- <EFBFBD>唳旿摨栞<EFBFBD><EFBFBD>交迤撣?
- pg-boss <20>笔<EFBFBD>甇<EFBFBD>虜撌乩<E6928C>
- <EFBFBD>詨<EFBFBD><EFBFBD>蠘<EFBFBD>瘚贝<EFBFBD><EFBFBD>朞<EFBFBD>
10. 撣貊鍂<E8B28A>𡁏𧋦
10.1 撉諹<E69289><E8ABB9>𡁏𧋦雿滨蔭
backend/
<0A>鎿<EFBFBD><E98EBF><EFBFBD> verify_system.ts # 蝟餌<E89D9F>摰峕㟲<E5B395>折<EFBFBD>霂?
<0A>鎿<EFBFBD><E98EBF><EFBFBD> compare_schema_db.ts # Schema銝擧㺭<E693A7>桀<EFBFBD>撖寞<E69296>
<0A>鎿<EFBFBD><E98EBF><EFBFBD> check_iit_asl_data.ts # 璉<><E79289>交芋<E4BAA4>埈㺭<E59F88>?
<0A>鎿<EFBFBD><E98EBF><EFBFBD> restore_job_common.sql # <20>W<EFBFBD> job_common 銵?
<0A>婙<EFBFBD><E5A999><EFBFBD> restore_pgboss_functions.sql # <20>W<EFBFBD> pg-boss <20>賣㺭
10.2 敹恍<E695B9>罸<EFBFBD>霂<EFBFBD>𦶢隞?
# 霈曄蔭<E69B84>臬<EFBFBD><E887AC>㗛<EFBFBD>
$env:DATABASE_URL="postgresql://postgres:postgres123@localhost:5432/ai_clinical_research"
# 撉諹<E69289>蝟餌<E89D9F>
npx tsx verify_system.ts
# 璉<><E79289>交㺭<E4BAA4>?
npx tsx check_iit_asl_data.ts
<EFBFBD><EFBFBD><EFBFBD>嚗帋<EFBFBD><EFBFBD><EFBFBD><EFBFBD>靘?
獢<EFBFBD><EFBFBD>1嚗?026-01-11 <20>唳旿摨㯄<E691A8>蝵桐<E89DB5><E6A190>?
**<2A>笔<EFBFBD>**嚗帋蝙<E5B88B>?prisma db push --force-reset 撖潸稲<E6BDB8>?Prisma 蝞∠<E89D9E><E288A0><EFBFBD>笆鞊∩腺憭?
**敶勗<E695B6>**嚗?
- pg-boss <20>賣㺭銝W仃嚗屸<E59A97><E5B1B8>埈<EFBFBD>瘜閙釣<E99699>?
- job_common 銵其腺憭?
- <EFBFBD>冽<EFBFBD><EFBFBD>唳旿銝W仃嚗<EFBFBD>歇<EFBFBD>朞<EFBFBD> seed <20>W<EFBFBD>嚗?
<EFBFBD>躰悌嚗?
- 瘞貉<EFBFBD>銝滩<EFBFBD>雿輻鍂
--force-reset - <EFBFBD>滢<EFBFBD><EFBFBD>滚<EFBFBD>憿餃<EFBFBD>隞?
- 鈭<EFBFBD>圾 Prisma <20><>恣<EFBFBD><E681A3>器<EFBFBD>?
霂西<EFBFBD>嚗䫤docs/08-憿寧𤌍蝞∠<E89D9E>/2026-01-11-<2D>唳旿摨㮖<E691A8><E3AE96><EFBFBD><EFBFBD>餌<EFBFBD>.md`