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%)
Schema餈<EFBFBD>宏<EFBFBD>𡁏𧋦雿輻鍂<EFBFBD><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD>𧋦嚗? V1.0
*<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>嚗? 2025-11-09
*餈<EFBFBD>宏<EFBFBD>格<EFBFBD>嚗? 隞簵ublic schema餈<61>宏<EFBFBD>?0銝芷<E98A9D>蝳艋chema
<EFBFBD><EFBFBD> <20>𡁏𧋦皜<F0A78BA6><E79A9C>
| # | <EFBFBD>𡁏𧋦<EFBFBD>滨妍 | 霂湔<EFBFBD> | 憸<EFBFBD>恣<EFBFBD>園𡢿 | <EFBFBD>滨蔭靘肽<EFBFBD> |
|---|---|---|---|---|
| 1 | 001-create-all-10-schemas.sql |
<EFBFBD>𥕦遣10銝杵chema嚗?霂衣<E99C82>+7蝛綽<E89D9B> | 5蝘? | <EFBFBD>? |
| 2 | 002-migrate-platform.sql |
餈<EFBFBD>宏platform_schema嚗?銝芾”嚗鮁sers嚗? | 15<EFBFBD><EFBFBD><EFBFBD> | 001 |
| 3 | 003-migrate-aia.sql |
餈<EFBFBD>宏aia_schema嚗?銝芾”嚗𡁜笆霂萘㮾<E89098>喉<EFBFBD> | 30<EFBFBD><EFBFBD><EFBFBD> | 001, 002 |
| 4 | 004-migrate-pkb.sql |
餈<EFBFBD>宏pkb_schema嚗?銝芾”嚗𡁶䰻霂<E4B0BB><E99C82><EFBFBD>詨<EFBFBD>嚗? | 30<EFBFBD><EFBFBD><EFBFBD> | 001, 002 |
| 5 | 005-validate-all.sql |
<EFBFBD>典<EFBFBD>撉諹<EFBFBD><EFBFBD>峕㺭<EFBFBD>桀<EFBFBD><EFBFBD>湔<EFBFBD>扳<EFBFBD><EFBFBD>? | 10<EFBFBD><EFBFBD><EFBFBD> | 001-004 |
*<EFBFBD>餉恣嚗? 蝥?.5撠𤩺𧒄
<EFBFBD><EFBFBD> <20>扯<EFBFBD>甇仿炊
<EFBFBD>滨蔭<EFBFBD><EFBFBD><EFBFBD>
-
*憭<EFBFBD>遢<EFBFBD>唳旿摨橒<EFBFBD>撘箇<EFBFBD>撱箄悅嚗?
pg_dump -U postgres -d your_database > backup_$(date +%Y%m%d_%H%M%S).sql -
*蝖株恕<EFBFBD>唳旿摨栞<EFBFBD><EFBFBD>?
# 蝖桐<E89D96>DATABASE_URL<52>臬<EFBFBD><E887AC>㗛<EFBFBD>甇<EFBFBD>& echo $DATABASE_URL # <20>𡝗䰻<F0A19D97>?.env <20><>辣 -
*蝖株恕敶枏<EFBFBD>銵函<EFBFBD><EFBFBD>?
SELECT tablename FROM pg_tables WHERE schemaname = 'public';
<EFBFBD>扯<EFBFBD>餈<EFBFBD>宏
<EFBFBD>寞<EFBFBD>1嚗帋蝙<EFBFBD>私sql<EFBFBD>賭誘嚗<EFBFBD>綫<EFBFBD>琜<EFBFBD>
# 餈𥕦<E9A488><F0A595A6>𡁏𧋦<F0A1818F>桀<EFBFBD>
cd AIclinicalresearch/docs/09-<2D>嗆<EFBFBD>摰墧鴌/migration-scripts
# 靘脲活<E884B2>扯<EFBFBD><E689AF>𡁏𧋦
psql $DATABASE_URL -f 001-create-all-10-schemas.sql
psql $DATABASE_URL -f 002-migrate-platform.sql
psql $DATABASE_URL -f 003-migrate-aia.sql
psql $DATABASE_URL -f 004-migrate-pkb.sql
psql $DATABASE_URL -f 005-validate-all.sql
<EFBFBD>寞<EFBFBD>2嚗帋<EFBFBD>甈⊥<EFBFBD>扳<EFBFBD>銵峕<EFBFBD><EFBFBD>㕑<EFBFBD><EFBFBD>?
# <20>𥕦遣<F0A595A6>扯<EFBFBD><E689AF>𡁏𧋦
cat 001-create-all-10-schemas.sql \
002-migrate-platform.sql \
003-migrate-aia.sql \
004-migrate-pkb.sql \
005-validate-all.sql \
| psql $DATABASE_URL
<EFBFBD>寞<EFBFBD>3嚗帋蝙<EFBFBD>冽㺭<EFBFBD>桀<EFBFBD>摰X<EFBFBD>蝡荔<EFBFBD>憒<EFBFBD>Beaver<EFBFBD><EFBFBD>gAdmin嚗?
- <EFBFBD>枏<EFBFBD><EFBFBD>唳旿摨枏恥<EFBFBD>瑞垢
- 餈墧𦻖<EFBFBD>啁𤌍<EFBFBD><EFBFBD>㺭<EFBFBD>桀<EFBFBD>
- 靘脲活<EFBFBD>枏<EFBFBD>撟嗆<EFBFBD>銵峕<EFBFBD>銝杵QL<EFBFBD><EFBFBD>辣
<EFBFBD>?撉諹<E69289>皜<EFBFBD><E79A9C>
<EFBFBD>扯<EFBFBD>001<EFBFBD>?
- 10銝杵chema<EFBFBD>券<EFBFBD><EFBFBD>𥕦遣<EFBFBD>𣂼<EFBFBD>
- 瘥譍葵Schema<EFBFBD>賣<EFBFBD>瘜券<EFBFBD>霂湔<EFBFBD>
-- 撉諹<E69289>SQL
SELECT nspname, pg_catalog.obj_description(oid, 'pg_namespace')
FROM pg_namespace
WHERE nspname LIKE '%_schema'
ORDER BY nspname;
<EFBFBD>扯<EFBFBD>002<EFBFBD>?
- platform_schema.users銵典<E98AB5>撱箸<E692B1><E7AEB8>?- [ ] <20>唳旿隞簵ublic.users摰峕㟲餈<E39FB2>宏
- 4銝芰揣撘訫<EFBFBD>撱箸<EFBFBD><EFBFBD>?
-- 撉諹<E69289>SQL
SELECT COUNT(*) AS public_count FROM public.users;
SELECT COUNT(*) AS platform_count FROM platform_schema.users;
<EFBFBD>扯<EFBFBD>003<EFBFBD>?
- aia_schema<EFBFBD>?銝芾”<E88ABE>𥕦遣<F0A595A6>𣂼<EFBFBD>
- <EFBFBD>唳旿摰峕㟲餈<EFBFBD>宏
- 憭㚚睸蝥行<EFBFBD>甇<EFBFBD>&撱箇<EFBFBD>
-- 撉諹<E69289>SQL
SELECT COUNT(*) FROM aia_schema.projects;
SELECT COUNT(*) FROM aia_schema.conversations;
<EFBFBD>扯<EFBFBD>004<EFBFBD>?
- pkb_schema<EFBFBD>?銝芾”<E88ABE>𥕦遣<F0A595A6>𣂼<EFBFBD>
- <EFBFBD><EFBFBD>鉄Phase 2<>冽<EFBFBD><E586BD><EFBFBD>粉摮埈挾
- <EFBFBD>唳旿摰峕㟲餈<EFBFBD>宏
-- 撉諹<E69289>SQL
SELECT COUNT(*) FROM pkb_schema.knowledge_bases;
SELECT COUNT(*) FROM pkb_schema.documents;
<EFBFBD>扯<EFBFBD>005<EFBFBD>?
- <EFBFBD><EFBFBD><EFBFBD>㗇㺭<EFBFBD>桅<EFBFBD>撖寞<EFBFBD>銝<EFBFBD><EFBFBD>?- [ ] 頝沒chema憭㚚睸撘閧鍂<E996A7>㗇<EFBFBD>
- <EFBFBD>䭾㺭<EFBFBD>桐腺憭?
<EFBFBD><EFBFBD> 餈<>宏<EFBFBD>擧㺭<E693A7>桀<EFBFBD>撣?
Platform Schema
platform_schema
<0A>婙<EFBFBD><E5A999><EFBFBD> users (1銵?
AIA Schema
aia_schema
<0A>鎿<EFBFBD><E98EBF><EFBFBD> projects
<0A>鎿<EFBFBD><E98EBF><EFBFBD> conversations
<0A>鎿<EFBFBD><E98EBF><EFBFBD> messages
<0A>鎿<EFBFBD><E98EBF><EFBFBD> general_conversations
<0A>婙<EFBFBD><E5A999><EFBFBD> general_messages (5銵?
PKB Schema
pkb_schema
<0A>鎿<EFBFBD><E98EBF><EFBFBD> knowledge_bases
<0A>鎿<EFBFBD><E98EBF><EFBFBD> documents
<0A>鎿<EFBFBD><E98EBF><EFBFBD> batch_tasks
<0A>鎿<EFBFBD><E98EBF><EFBFBD> batch_results
<0A>婙<EFBFBD><E5A999><EFBFBD> task_templates (5銵?
蝛搴chema嚗?銝迎<E98A9D>
asl_schema (AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃 - Week 3霈曇恣)
common_schema (<28>𡁶鍂<F0A181B6>賢<EFBFBD>撅?
dc_schema (<28>唳旿皜<E697BF><E79A9C>)
rvw_schema (摰∠阮蝟餌<E89D9F>)
admin_schema (餈鞱𨯫蝞∠<E89D9E>)
ssa_schema (<28>箄<EFBFBD>蝏蠘恣<E8A098><E681A3><EFBFBD>)
st_schema (蝏蠘恣<E8A098><E681A3><EFBFBD>撌亙<E6928C>)
<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>鈭钅★
1. 鈭见𦛚靽脲擪
<EFBFBD><EFBFBD><EFBFBD>㕑<EFBFBD>蝘餉<EFBFBD><EFBFBD>祇<EFBFBD>雿輻鍂鈭<EFBFBD><EFBFBD><EFBFBD>∴<EFBFBD>BEGIN/COMMIT嚗㚁<E59A97>
- <EFBFBD>𣂼<EFBFBD>嚗𡁜<EFBFBD><EFBFBD>冽<EFBFBD>鈭?- 憭梯揖嚗朞䌊<E69C9E>典<EFBFBD>皛𡄯<E79A9B><F0A184AF>𣳇<EFBFBD><F0A3B387><EFBFBD><EFBFBD>蝘?
2. 撟<><E6929F><EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>㕑<EFBFBD><EFBFBD>祆𣈲<EFBFBD><EFBFBD><EFBFBD>憭齿<EFBFBD>銵䕘<EFBFBD>
- 雿輻鍂
IF NOT EXISTS<20>𥕦遣撖寡情 - 雿輻鍂
ON CONFLICT DO NOTHING<20>鍦<EFBFBD><E98DA6>唳旿
3. public schema靽萘<E99DBD>
餈<EFBFBD>宏<EFBFBD>?銝滢<EFBFBD><EFBFBD>𣳇膄* public schema銝剔<E98A9D><E58994>蠘”嚗?- <20>笔<EFBFBD>嚗𡁏䲮靘踹<E99D98>皛𡁜<E79A9B>撖寞<E69296>撉諹<E69289>
- 皜<EFBFBD><EFBFBD>嚗𡁜<EFBFBD><EFBFBD><EFBFBD><EFBFBD>厰<EFBFBD>霂<EFBFBD><EFBFBD>朞<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>滚<EFBFBD>摰𡁏糓<EFBFBD>血<EFBFBD><EFBFBD>?
4. 憭㚚睸蝥行<E89DA5>
<EFBFBD>舀<EFBFBD>頝沒chema憭㚚睸嚗?- <20><><EFBFBD>劐<EFBFBD><E58A90>∟”撘閧鍂 platform_schema.users(id)
- PostgreSQL<EFBFBD>毺<EFBFBD><EFBFBD>舀<EFBFBD>嚗峕<EFBFBD><EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD><EFBFBD>滨蔭
<EFBFBD>圲 <20><><EFBFBD><EFBFBD>埝䰻
<EFBFBD>桅<EFBFBD>1嚗朞<EFBFBD><EFBFBD>亥◤<EFBFBD>垍<EFBFBD>
*<EFBFBD>躰秤嚗? connection refused
*閫<EFBFBD><EFBFBD>嚗?
# 璉<><E79289>仙ostgreSQL<51>滚𦛚
sudo systemctl status postgresql
# <20>臬𢆡<E887AC>滚𦛚
sudo systemctl start postgresql
<EFBFBD>桅<EFBFBD>2嚗𡁏<EFBFBD><EFBFBD>𣂷<EFBFBD>頞?
*<EFBFBD>躰秤嚗? permission denied to create schema
*閫<EFBFBD><EFBFBD>嚗?
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GRANT CREATE ON DATABASE your_database TO your_user;
<EFBFBD>桅<EFBFBD>3嚗𡁜<EFBFBD><EFBFBD>桃漲<EFBFBD>笔仃韐?
*<EFBFBD>躰秤嚗? violates foreign key constraint
*閫<EFBFBD><EFBFBD>嚗?
- 蝖桐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>銵?002嚗īlatform嚗匧<E59A97><E58CA7>扯<EFBFBD> 003/004嚗Òia/pkb嚗?- 璉<><E79289>交糓<E4BAA4>行<EFBFBD>摮斤<E691AE><E696A4><EFBFBD>ser_id
<EFBFBD>桅<EFBFBD>4嚗𡁏㺭<EFBFBD>桅<EFBFBD>銝滢<EFBFBD><EFBFBD>?
*<EFBFBD>躰秤嚗? 撉諹<E69289><E8ABB9>𡁏𧋦<F0A1818F>亙<EFBFBD><E4BA99>唳旿<E594B3>譍<EFBFBD>銝<EFBFBD><E98A9D>? *閫<EFBFBD><EFBFBD>嚗?
- 璉<EFBFBD><EFBFBD>交糓<EFBFBD>行<EFBFBD>餈<EFBFBD>宏餈<EFBFBD><EFBFBD>銝剜鰵憓䂿<EFBFBD><EFBFBD>唳旿
- 雿輻鍂ID撖寞<EFBFBD>璉<EFBFBD><EFBFBD>亙<EFBFBD>雿枏榆撘<EFBFBD><EFBFBD>
-- <20>曉枂撌桀<E6928C><E6A180><EFBFBD>D SELECT id FROM public.users EXCEPT SELECT id FROM platform_schema.users;
<EFBFBD><EFBFBD> <20>墧<EFBFBD><E5A2A7>寞<EFBFBD>
敹恍<EFBFBD>笔<EFBFBD>皛𡄯<EFBFBD><EFBFBD>刻<EFBFBD>嚗?
-- <20>𣳇膄<F0A3B387><E88684><EFBFBD>㗇鰵撱箇<E692B1>Schema嚗<61><E59A97>蝥扯<E89DA5><E689AF>𣳇膄<F0A3B387><E88684><EFBFBD>㕑”<E39591>峕㺭<E5B395>殷<EFBFBD>
DROP SCHEMA IF EXISTS platform_schema CASCADE;
DROP SCHEMA IF EXISTS aia_schema CASCADE;
DROP SCHEMA IF EXISTS pkb_schema CASCADE;
DROP SCHEMA IF EXISTS asl_schema CASCADE;
DROP SCHEMA IF EXISTS common_schema CASCADE;
DROP SCHEMA IF EXISTS dc_schema CASCADE;
DROP SCHEMA IF EXISTS rvw_schema CASCADE;
DROP SCHEMA IF EXISTS admin_schema CASCADE;
DROP SCHEMA IF EXISTS ssa_schema CASCADE;
DROP SCHEMA IF EXISTS st_schema CASCADE;
隞𤾸<EFBFBD>隞賣<EFBFBD>憭?
# <20>W<EFBFBD>憭<EFBFBD>遢
psql $DATABASE_URL < backup_20251109_100000.sql
<EFBFBD><EFBFBD> <20>𡒊賒甇仿炊
餈<EFBFBD>宏摰峕<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>
-
<EFBFBD>湔鰵Prisma<EFBFBD>滨蔭 <20>?閫<>遙<EFBFBD>?
- <EFBFBD>湔鰵
backend/prisma/schema.prisma - 瘛餃<EFBFBD>
multiSchema憸<><E686B8><EFBFBD>寞<EFBFBD>? - 銝?銝杵chema摰帋<E691B0>璅∪<E79285>
- <EFBFBD>湔鰵
-
<EFBFBD><EFBFBD><EFBFBD>Prisma Client
cd backend npx prisma generate -
<EFBFBD>湔鰵隞<EFBFBD><EFBFBD> <20>?閫<>遙<EFBFBD>?2
- <EFBFBD><EFBFBD><EFBFBD>㗇㺭<EFBFBD>桀<EFBFBD><EFBFBD>亥砭雿輻鍂<EFBFBD>訕chema
- 瘚贝<EFBFBD><EFBFBD>唳<EFBFBD><EFBFBD>蠘<EFBFBD>
-
餈鞱<EFBFBD>瘚贝<EFBFBD> <20>?閫<>遙<EFBFBD>?
- 瘚贝<EFBFBD>AI<EFBFBD>箄<EFBFBD><EFBFBD>桃<EFBFBD>
- 瘚贝<EFBFBD><EFBFBD>亥<EFBFBD>摨枏<EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD> <20>瑕<EFBFBD>撣桀𨭌
憒<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>桅<EFBFBD>嚗?
- <EFBFBD>亦<EFBFBD><EFBFBD>亙<EFBFBD> - psql隡朞<E99AA1><E69C9E>箄祕蝏<E7A595><E89D8F><EFBFBD>扯<EFBFBD>靽⊥<E99DBD><E28AA5>屸<EFBFBD>霂?2. *璉<EFBFBD><EFBFBD>交<EFBFBD>獢? - <20><><EFBFBD>?
09-<2D>嗆<EFBFBD>摰墧鴌/01-Schema<6D>𠉛氖<F0A0899B>嗆<EFBFBD>霈曇恣嚗?0銝迎<E98A9D>.md - 撉諹<EFBFBD><EFBFBD>唳旿 - 餈鞱<E9A488>
005-validate-all.sql
<EFBFBD>𥕦遣鈭綽<EFBFBD> AI<41>拇<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>堆<EFBFBD> 2025-11-09
*<EFBFBD><EFBFBD>𧋦嚗? V1.0
<EFBFBD>詨<EFBFBD><EFBFBD><EFBFBD>艙嚗𡁜虾<EFBFBD>滚<EFBFBD><EFBFBD>扯<EFBFBD> + 鈭见𦛚靽脲擪 + 摰峕㟲撉諹<E69289> = 摰匧<E691B0>餈<EFBFBD>宏 潃鐥<E6BD83>潃?