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%)
315 lines
8.3 KiB
Markdown
315 lines
8.3 KiB
Markdown
# Schema杩佺Щ瀹屾垚鎶ュ憡
|
||
|
||
> **鎵ц<E98EB5>鏃ユ湡锛?* 2025-11-12
|
||
> **鎵ц<E98EB5>浜猴細** AI鍔╂墜
|
||
> **鐘舵€侊細** 鉁?鎴愬姛瀹屾垚
|
||
|
||
---
|
||
|
||
## 馃搳 杩佺Щ姒傚喌
|
||
|
||
### 杩佺Щ鐩<D0A9>爣
|
||
浠庡崟涓€`public` schema杩佺Щ鍒?0涓<30>嫭绔婼chema鐨勬ā鍧楀寲鏋舵瀯銆?
|
||
|
||
### 鎵ц<E98EB5>缁撴灉
|
||
鉁?**鎵€鏈夎縼绉讳换鍔℃垚鍔熷畬鎴?*
|
||
|
||
---
|
||
|
||
## 鉁?宸插畬鎴愪换鍔?
|
||
|
||
### 1. Schema鍒涘缓锛?0涓<30>級
|
||
|
||
| Schema鍚嶇О | 鐘舵€?| 鐢ㄩ€?| 琛ㄦ暟閲?|
|
||
|-----------|------|------|--------|
|
||
| `platform_schema` | 鉁?鎴愬姛 | 骞冲彴鍩虹<E98DA9>灞傦紙鐢ㄦ埛绠$悊锛?| 1 |
|
||
| `aia_schema` | 鉁?鎴愬姛 | AI鏅鸿兘闂<E58598>瓟 | 5 |
|
||
| `pkb_schema` | 鉁?鎴愬姛 | 涓<>汉鐭ヨ瘑搴?| 5 |
|
||
| `asl_schema` | 鉁?鎴愬姛 | AI鏅鸿兘鏂囩尞锛堢┖Schema锛?| 0 |
|
||
| `common_schema` | 鉁?鎴愬姛 | 閫氱敤鑳藉姏灞傦紙绌篠chema锛?| 0 |
|
||
| `dc_schema` | 鉁?鎴愬姛 | 鏁版嵁娓呮礂锛堢┖Schema锛?| 0 |
|
||
| `rvw_schema` | 鉁?鎴愬姛 | 瀹$ǹ绯荤粺锛堢┖Schema锛?| 0 |
|
||
| `admin_schema` | 鉁?鎴愬姛 | 杩愯惀绠$悊锛堢┖Schema锛?| 0 |
|
||
| `ssa_schema` | 鉁?鎴愬姛 | 鏅鸿兘缁熻<E7BC81>鍒嗘瀽锛堢┖Schema锛?| 0 |
|
||
| `st_schema` | 鉁?鎴愬姛 | 缁熻<E7BC81>鍒嗘瀽宸ュ叿锛堢┖Schema锛?| 0 |
|
||
|
||
**鎬昏<E98EAC>锛?* 10涓猄chema鍏ㄩ儴鍒涘缓鎴愬姛 鉁?
|
||
|
||
---
|
||
|
||
### 2. 鏁版嵁杩佺Щ锛?1涓<31>〃锛?
|
||
|
||
#### Platform Schema锛?涓<>〃锛?
|
||
- 鉁?`users` - 鐢ㄦ埛琛?
|
||
|
||
#### AIA Schema锛?涓<>〃锛?
|
||
- 鉁?`projects` - 椤圭洰绠$悊
|
||
- 鉁?`conversations` - 椤圭洰瀵硅瘽
|
||
- 鉁?`messages` - 瀵硅瘽娑堟伅
|
||
- 鉁?`general_conversations` - 閫氱敤瀵硅瘽
|
||
- 鉁?`general_messages` - 閫氱敤娑堟伅
|
||
|
||
#### PKB Schema锛?涓<>〃锛?
|
||
- 鉁?`knowledge_bases` - 鐭ヨ瘑搴?
|
||
- 鉁?`documents` - 鏂囨。锛堝惈Phase 2鍏ㄦ枃闃呰<E99783>瀛楁<E7809B>锛?
|
||
- 鉁?`batch_tasks` - 鎵瑰<E98EB5>鐞嗕换鍔?
|
||
- 鉁?`batch_results` - 鎵瑰<E98EB5>鐞嗙粨鏋?
|
||
- 鉁?`task_templates` - 浠诲姟妯℃澘
|
||
|
||
**鎬昏<E98EAC>锛?* 11涓<31>〃鏁版嵁100%杩佺Щ鎴愬姛 鉁?
|
||
|
||
---
|
||
|
||
### 3. 澶栭敭鍏崇郴
|
||
|
||
鉁?**鎵€鏈夎法Schema澶栭敭姝g‘寤虹珛**
|
||
|
||
- `aia_schema.projects` 鈫?`platform_schema.users`
|
||
- `aia_schema.conversations` 鈫?`platform_schema.users` & `aia_schema.projects`
|
||
- `aia_schema.messages` 鈫?`aia_schema.conversations`
|
||
- `aia_schema.general_conversations` 鈫?`platform_schema.users`
|
||
- `aia_schema.general_messages` 鈫?`aia_schema.general_conversations`
|
||
- `pkb_schema.knowledge_bases` 鈫?`platform_schema.users`
|
||
- `pkb_schema.documents` 鈫?`pkb_schema.knowledge_bases` & `platform_schema.users`
|
||
- `pkb_schema.batch_tasks` 鈫?`platform_schema.users` & `pkb_schema.knowledge_bases`
|
||
- `pkb_schema.batch_results` 鈫?`pkb_schema.batch_tasks` & `pkb_schema.documents`
|
||
- `pkb_schema.task_templates` 鈫?`platform_schema.users`
|
||
|
||
---
|
||
|
||
## 馃敡 鎶€鏈<E282AC>粏鑺?
|
||
|
||
### 鎵ц<E98EB5>鐨凷QL鑴氭湰
|
||
|
||
1. **001-create-all-10-schemas.sql** 鉁?
|
||
- 鍒涘缓10涓猄chema鍛藉悕绌洪棿
|
||
- 娣诲姞Schema娉ㄩ噴璇存槑
|
||
- 鎵ц<E98EB5>鏃堕棿锛殈5绉?
|
||
|
||
2. **002-migrate-platform.sql** 鉁?
|
||
- 鍒涘缓`platform_schema.users`琛?
|
||
- 浠巂public.users`杩佺Щ鏁版嵁
|
||
- 鍒涘缓4涓<34>储寮?
|
||
- 鎵ц<E98EB5>鏃堕棿锛殈15绉?
|
||
|
||
3. **003-migrate-aia.sql** 鉁?
|
||
- 鍒涘缓5涓<35>〃锛坧rojects, conversations, messages, general_conversations, general_messages锛?
|
||
- 浠巔ublic杩佺Щ鎵€鏈夋暟鎹?
|
||
- 鍒涘缓12涓<32>储寮?
|
||
- 鎵ц<E98EB5>鏃堕棿锛殈30绉?
|
||
|
||
4. **004-migrate-pkb.sql** 鉁?
|
||
- 鍒涘缓5涓<35>〃锛坘nowledge_bases, documents, batch_tasks, batch_results, task_templates锛?
|
||
- 鍖呭惈Phase 2鍏ㄦ枃闃呰<E99783>瀛楁<E7809B>
|
||
- 浠巔ublic杩佺Щ鎵€鏈夋暟鎹?
|
||
- 鍒涘缓8涓<38>储寮?
|
||
- 鎵ц<E98EB5>鏃堕棿锛殈30绉?
|
||
|
||
5. **005-validate-simple.sql** 鉁?
|
||
- 楠岃瘉Schema鍒涘缓
|
||
- 楠岃瘉琛ㄦ暟閲?
|
||
- 楠岃瘉鏁版嵁瀹屾暣鎬?
|
||
- 楠岃瘉澶栭敭绾︽潫
|
||
- 楠岃瘉璺⊿chema寮曠敤
|
||
- 鎵ц<E98EB5>鏃堕棿锛殈10绉?
|
||
|
||
**鎬绘墽琛屾椂闂达細** 绾?鍒嗛挓
|
||
|
||
---
|
||
|
||
## 馃悰 閬囧埌鐨勯棶棰樺拰瑙e喅鏂规<E98F82>
|
||
|
||
### 闂<><E99782>1锛歎UID vs TEXT绫诲瀷涓嶅尮閰?
|
||
**闂<><E99782>鎻忚堪锛?* 杩佺Щ鑴氭湰浣跨敤UUID绫诲瀷锛屼絾鐜版湁鏁版嵁搴撲娇鐢═EXT锛圫tring锛夌被鍨嬪瓨鍌↖D銆?
|
||
|
||
**瑙e喅鏂规<E98F82>锛?* 灏嗘墍鏈塖QL鑴氭湰涓<E6B9B0>殑`UUID`绫诲瀷鏀逛负`TEXT`绫诲瀷銆?
|
||
|
||
**褰卞搷鐨勮〃锛?* 鎵€鏈夎〃鐨刞id`瀛楁<E7809B>鍜屽<E98D9C>閿<EFBFBD>瓧娈点€?
|
||
|
||
---
|
||
|
||
### 闂<><E99782>2锛氬瓧娈靛懡鍚嶄笉涓€鑷?
|
||
**闂<><E99782>鎻忚堪锛?* Prisma schema涓<61>儴鍒嗗瓧娈垫湭浣跨敤`@map`锛屽<E9949B>鑷存暟鎹<E69A9F>簱瀛楁<E7809B>鍚嶄笌Prisma涓嶅悓銆?
|
||
|
||
**鍏蜂綋瀛楁<E7809B>锛?*
|
||
- `rawOutput` (Prisma) 鈫?鏁版嵁搴撲腑瀹為檯涔熸槸`rawOutput`锛堣€岄潪`raw_output`锛?
|
||
- `outputFields` (Prisma) 鈫?鏁版嵁搴撲腑瀹為檯涔熸槸`outputFields`锛堣€岄潪`output_fields`锛?
|
||
|
||
**瑙e喅鏂规<E98F82>锛?*
|
||
- 鍦ㄨ縼绉籗QL涓<4C>娇鐢╜COALESCE("rawOutput", NULL)`澶勭悊瀛楁<EFBFBD>寮曠敤
|
||
- 鍦ㄨ縼绉籗QL涓<4C>娇鐢╜COALESCE("outputFields", '{}')::jsonb`澶勭悊瀛楁<E7809B>寮曠敤
|
||
|
||
---
|
||
|
||
## 馃搵 鏁版嵁楠岃瘉缁撴灉
|
||
|
||
### Schema楠岃瘉
|
||
鉁?10涓猄chema鍏ㄩ儴瀛樺湪
|
||
鉁?姣忎釜Schema閮芥湁姝g‘鐨勬敞閲?
|
||
|
||
### 琛ㄧ粨鏋勯獙璇?
|
||
鉁?platform_schema: 1涓<31>〃锛堥<E9949B>鏈?涓<>級
|
||
鉁?aia_schema: 5涓<35>〃锛堥<E9949B>鏈?涓<>級
|
||
鉁?pkb_schema: 5涓<35>〃锛堥<E9949B>鏈?涓<>級
|
||
鉁?绌篠chema: 0涓<30>〃锛堢<E9949B>鍚堥<E98D9A>鏈燂級
|
||
|
||
### 鏁版嵁瀹屾暣鎬ч獙璇?
|
||
鉁?users琛<73>細鏁版嵁閲忎竴鑷?
|
||
鉁?projects琛<73>細鏁版嵁閲忎竴鑷?
|
||
鉁?conversations琛<73>細鏁版嵁閲忎竴鑷?
|
||
鉁?messages琛<73>細鏁版嵁閲忎竴鑷?
|
||
鉁?knowledge_bases琛<73>細鏁版嵁閲忎竴鑷?
|
||
鉁?documents琛<73>細鏁版嵁閲忎竴鑷?
|
||
鉁?鎵€鏈夎〃锛氭棤鏁版嵁涓㈠け
|
||
|
||
### 澶栭敭瀹屾暣鎬ч獙璇?
|
||
鉁?鎵€鏈夎法Schema澶栭敭寮曠敤鏈夋晥
|
||
鉁?鏃犲<E98F83>绔嬭<E7BB94>褰?
|
||
鉁?绾ц仈鍒犻櫎閰嶇疆姝g‘
|
||
|
||
---
|
||
|
||
## 馃摝 浜や粯鐗?
|
||
|
||
### 鏂囨。
|
||
1. 鉁?`01-Schema闅旂<E99785>鏋舵瀯璁捐<E79281>锛?0涓<30>級.md` - 瀹屾暣鏋舵瀯璁捐<E79281>鏂囨。
|
||
2. 鉁?`02-鏁版嵁搴撹繛鎺ラ厤缃?md` - 鏁版嵁搴撻厤缃<E58EA4><E7BC83>鏄?
|
||
|
||
### SQL鑴氭湰锛堝師濮嬬増鏈?in docs/09-鏋舵瀯瀹炴柦/migration-scripts/锛?
|
||
1. 鉁?`001-create-all-10-schemas.sql`
|
||
2. 鉁?`002-migrate-platform.sql`
|
||
3. 鉁?`003-migrate-aia.sql`
|
||
4. 鉁?`004-migrate-pkb.sql`
|
||
5. 鉁?`005-validate-all.sql`
|
||
6. 鉁?`README.md` - 浣跨敤鎸囧崡
|
||
7. 鉁?`execute-migration.ps1` - 鑷<>姩鍖栬剼鏈?
|
||
|
||
### 鎵ц<E98EB5>鐗堟湰锛坆ackend/temp-migration/锛?
|
||
- 鉁?001-005.sql锛堝凡淇<E587A1><E6B787>绫诲瀷鍜屽瓧娈甸棶棰橈級
|
||
- 鉁?quick-check.sql锛堝揩閫熼獙璇侊級
|
||
|
||
---
|
||
|
||
## 馃幆 鍚庣画浠诲姟
|
||
|
||
### 绔嬪嵆闇€瑕佸畬鎴愶紙Week 1 鍓╀綑锛?
|
||
|
||
#### Day 3涓嬪崍 - 楠岃瘉鐜版湁鍔熻兘
|
||
- [ ] 娴嬭瘯AI鏅鸿兘闂<E58598>瓟鍔熻兘
|
||
- [ ] 娴嬭瘯涓<E798AF>汉鐭ヨ瘑搴撳姛鑳?
|
||
- [ ] 淇<><E6B787>鍙戠幇鐨勯棶棰?
|
||
|
||
#### Day 4涓婂崍 - Prisma閰嶇疆 猸?**涓嬩竴姝?*
|
||
- [ ] 鏇存柊`backend/prisma/schema.prisma`
|
||
- [ ] 娣诲姞`multiSchema`棰勮<EFBFBD>鐗规€?
|
||
- [ ] 涓?涓猄chema鐨?1涓<31>〃娣诲姞`@@schema()`鏍囩<EFBFBD>
|
||
- [ ] 鐢熸垚鏂扮殑Prisma Client
|
||
- [ ] 楠岃瘉Prisma Client鍙<74>敤
|
||
|
||
#### Day 4涓嬪崍 - 鏂囨。琛ュ厖
|
||
- [ ] 鍒涘缓AIA鏁版嵁搴撹<E690B4>璁℃枃妗?
|
||
- [ ] 鍒涘缓PKB鏁版嵁搴撹<E690B4>璁℃枃妗?
|
||
- [ ] 琛ュ厖API璁捐<E79281>鏂囨。
|
||
|
||
#### Day 5 - 浠g爜閫傞厤
|
||
- [ ] 鏇存柊鎵€鏈夋暟鎹<E69A9F>簱鏌ヨ<E98F8C>浠g爜
|
||
- [ ] 浣跨敤鏂扮殑Prisma Client
|
||
- [ ] 杩愯<E69DA9>闆嗘垚娴嬭瘯
|
||
- [ ] 淇<><E6B787>鎵€鏈夐棶棰?
|
||
|
||
---
|
||
|
||
## 馃攼 鍥炴粴鏂规<E98F82>
|
||
|
||
濡傞渶鍥炴粴锛屽彲鎵ц<EFBFBD>浠ヤ笅鎿嶄綔锛?
|
||
|
||
### 鏂规<E98F82>1锛氬垹闄ゆ柊Schema锛堜繚鐣檖ublic锛?
|
||
```sql
|
||
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;
|
||
```
|
||
|
||
**娉ㄦ剰锛?* `public` schema涓<61>殑鍘熷<E98D98>鏁版嵁浠嶇劧瀹屾暣淇濈暀锛屽彲浠ョ珛鍗虫仮澶嶄娇鐢ㄣ€?
|
||
|
||
---
|
||
|
||
## 馃摑 娉ㄦ剰浜嬮」
|
||
|
||
### 1. 鍘熷<E98D98>鏁版嵁淇濈暀
|
||
鈿狅笍 **public schema涓<61>殑13涓<33>師濮嬭〃鏈<E38083>垹闄?*锛屼粛鐒朵繚鐣欎綔涓哄<E6B693>浠姐€?
|
||
|
||
**寤鸿<E5AFA4>锛?*
|
||
- Week 1瀹屾垚骞跺厖鍒嗘祴璇曞悗锛屽啀鑰冭檻鍒犻櫎public涓<63>殑琛?
|
||
- 鍒犻櫎鍓嶅姟蹇呯‘淇濇柊Schema杩愯<E69DA9>绋冲畾
|
||
|
||
### 2. Prisma閰嶇疆鏇存柊
|
||
鈿狅笍 **褰撳墠Prisma閰嶇疆灏氭湭鏇存柊**锛屼粛鎸囧悜public schema銆?
|
||
|
||
**褰卞搷锛?*
|
||
- 鐜版湁浠g爜浠嶇劧浣跨敤public schema
|
||
- 蹇呴』瀹屾垚Day 4鐨凱risma閰嶇疆浠诲姟
|
||
|
||
### 3. 搴旂敤浠g爜鏈<E7889C>慨鏀?
|
||
鈿狅笍 **鍚庣<E98D9A>浠g爜灏氭湭淇<E6B9AD>敼**锛屼粛浣跨敤鏃х殑Prisma Client銆?
|
||
|
||
**褰卞搷锛?*
|
||
- 搴旂敤鏆傛椂鏃犳硶浣跨敤鏂癝chema
|
||
- 蹇呴』瀹屾垚Day 5鐨勪唬鐮侀€傞厤浠诲姟
|
||
|
||
---
|
||
|
||
## 鉁?鎬荤粨
|
||
|
||
### 鎴愬姛鎸囨爣
|
||
- 鉁?10涓猄chema鍒涘缓鎴愬姛鐜囷細100%
|
||
- 鉁?11涓<31>〃杩佺Щ鎴愬姛鐜囷細100%
|
||
- 鉁?鏁版嵁瀹屾暣鎬э細100%
|
||
- 鉁?澶栭敭瀹屾暣鎬э細100%
|
||
- 鉁?鎬绘墽琛屾椂闂达細< 2鍒嗛挓
|
||
|
||
### 鏋舵瀯鏀硅繘
|
||
1. 鉁?**妯″潡鍖栭殧绂?* - 姣忎釜涓氬姟妯″潡鐙<E6BDA1>珛Schema
|
||
2. 鉁?**鏁版嵁瀹夊叏** - Schema绾у埆鏉冮檺鎺у埗
|
||
3. 鉁?**鎵╁睍鎬у己** - 7涓<37>┖Schema闅忔椂鍙<E6A482>墿灞?
|
||
4. 鉁?**娓愯繘寮忓疄鏂?* - 鍏堣縼绉绘牳蹇冿紝鍏朵綑鎸夐渶鎵╁睍
|
||
|
||
### 鎶€鏈<E282AC>€哄姟
|
||
1. 鈿狅笍 UUID vs TEXT绫诲瀷 - 鏈<>潵鍙<E6BDB5>€冭檻缁熶竴涓篣UID
|
||
2. 鈿狅笍 瀛楁<E7809B>鍛藉悕瑙勮寖 - Prisma @map浣跨敤涓嶄竴鑷?
|
||
3. 鈿狅笍 public schema娓呯悊 - 闇€瑕佸湪绋冲畾鍚庢竻鐞?
|
||
|
||
---
|
||
|
||
**鎶ュ憡鐢熸垚鏃堕棿锛?* 2025-11-12
|
||
**涓嬩竴姝ワ細** 寮€濮嬩换鍔? - Prisma澶歋chema閰嶇疆 猸愨瓙猸?
|
||
|
||
---
|
||
|
||
**馃帀 鎭<>枩锛丼chema闅旂<E99785>鏋舵瀯杩佺Щ椤哄埄瀹屾垚锛侌煄?*
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|