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%)
89 lines
5.4 KiB
Markdown
89 lines
5.4 KiB
Markdown
# **<2A><><EFBFBD>銝舘<E98A9D><E88898>脖<EFBFBD>蝟餅4<E9A485><EFBC94>𥁒<EFBFBD>?\- 摰⊥䰻<E28AA5>漤<EFBFBD>銝𦒘耨甇<E880A8>遣霈?*
|
||
|
||
摰⊥䰻撖寡情嚗?00-<2D><><EFBFBD>銝舘<E98A9D><E88898>脖<EFBFBD>蝟餅4<E9A485><EFBC94>𥁒<EFBFBD>蹾_v1.0.md
|
||
撖寞<EFBFBD><EFBFBD>箏<EFBFBD>嚗?07-餈鞱𨯫銝擧㦤<E693A7><E3A6A4>恣<EFBFBD><E681A3>垢PRD\_v2.1.md
|
||
摰⊥䰻蝏栞捏嚗?<3F>颱<EFBFBD><E9A2B1>朞<EFBFBD> (Approved with Modification)<29><>抅蝖<E68A85><E89D96>嗆<EFBFBD>霈曇恣<E69B87>𤾸<EFBFBD>嚗屸<E59A97>銵亙<E98AB5>撠煾<E692A0><E785BE><EFBFBD>笆銝𡁜𦛚<F0A1819C>箸艶嚗<E889B6>龫<EFBFBD>a<EFBFBD>憸腈<E686B8><E88588>rompt靚<74><E99D9A>嚗厩<E59A97>摮埈挾霈曇恣<E69B87>?
|
||
## **1\. <20>詨<EFBFBD><E8A9A8>桅<EFBFBD>銝𤾸榆頝嘥<E9A09D><E598A5>?(Gap Analysis)**
|
||
|
||
<EFBFBD>賜<EFBFBD> v1.0 <20>亙<EFBFBD><E4BA99><EFBFBD>遣鈭<E981A3><E988AD>摰䂿<E691B0> RBAC <20>箇<EFBFBD>嚗䔶<E59A97><E494B6>冽𣈲<E586BD>?PRD v2.1 <20><>鸌摰帋<E691B0><E5B88B>∪㦤<E288AA>舀𧒄嚗<F0A79284><E59A97><EFBFBD>其誑銝讠撩憭梧<E686AD>
|
||
|
||
### **1.1 蝻箏仃<E7AE8F>𦦵移蝏<E7A7BB><E89D8F><EFBFBD>漤<EFBFBD><E6BCA4><EFBFBD><EFBFBD><EFBFBD>脲芋<E884B2>?(Critical)**
|
||
|
||
* **<2A>啁𠶖**嚗𡁏𥁒<F0A1818F>𠹺葉霈曇恣鈭?tenant\_quotas 銵剁<E98AB5><E58981>衤撮<E8A1A4>舫<EFBFBD>撖寧<E69296><E5AFA7>瑞<EFBFBD><E7919E>駁<EFBFBD>憸腈<E686B8>?
|
||
* **PRD 閬<><E996AC>**嚗𡁜龫<F0A1819C>Y垢<EFBCB9><E59EA2>閬<EFBFBD><E996AC><EFBFBD>漤<EFBFBD><E6BCA4><EFBFBD><EFBFBD>蝏?**蝘穃恕 (Department)** <20>?**銝芯犖**<2A>?
|
||
* 靽格迤撱箄悅嚗?
|
||
<20><>閬<EFBFBD><E996AC><EFBFBD>?PRD v2.1 銝剖<E98A9D>銋厩<E98A8B> TenantQuotaAllocation 銵函<E98AB5><E587BD><EFBFBD><EFBFBD><EFBFBD>舀<EFBFBD> targetType ('DEPARTMENT' | 'USER')<29>?
|
||
model TenantQuotaAllocation {
|
||
id Int @id @default(autoincrement())
|
||
tenantId String @map("tenant\_id") @db.Uuid
|
||
targetType String // 'DEPARTMENT' | 'USER'
|
||
targetKey String // DepartmentID <20>?UserID
|
||
limitAmount BigInt // <20><><EFBFBD>憸嘥漲
|
||
usedAmount BigInt @default(0)
|
||
|
||
@@unique(\[tenantId, targetType, targetKey\])
|
||
@@map("tenant\_quota\_allocations")
|
||
@@schema("platform\_schema")
|
||
}
|
||
|
||
### **1.2 蝻箏仃<E7AE8F>憕rompt 撌亦<E6928C><E4BAA6>砽<EFBFBD>萘㮾<E89098>單<EFBFBD><E596AE>?*
|
||
|
||
* **<2A>啁𠶖**嚗𡁏𥁒<F0A1818F>𠰴<EFBFBD>瘜其<E7989C><E585B6>𡁶鍂<F0A181B6><E98D82><EFBFBD><EFBFBD>瑞恣<E7919E><E681A3><EFBFBD><EFBFBD>僐<EFBFBD>?
|
||
* **PRD 閬<><E996AC>**嚗朞<E59A97><E69C9E>亦垢<E4BAA6><E59EA2>閬?**Prompt <20>啣漲憸<E6BCB2><E686B8>** <20>蠘<EFBFBD><E8A098><EFBFBD><EFBFBD><EFBFBD>誩㭠<E8AAA9><E3ADA0><EFBFBD><EFBFBD>閬<EFBFBD><E996AC>銝芰鸌畾羓<E795BE><E7BE93><EFBFBD><EFBFBD><EFBFBD>?prompt:debug嚗<67><E59A97>霈貊鍂<E8B28A>瑕銁<E79195>煺漣<E785BA>臬<EFBFBD>霂餃<E99C82> Draft <20>唳旿<E594B3>?
|
||
* **靽格迤撱箄悅**嚗𡁜銁霈曇恣 permissions嚗<73><E59A97><EFBFBD>𨀣<EFBFBD>蝞堒<E89D9E>蝏<EFBFBD><E89D8F>摨行綉<E8A18C>塚<EFBFBD><E5A19A>碶誨<E7A2B6><E8AAA8>虜<EFBFBD>譍葉嚗峕<E59A97>蝖桅<E89D96><E6A185>?PROMPT\_ADMIN <20>?DEBUGGER 閫坿𠧧<E59DBF>賢<EFBFBD><E8B3A2>?
|
||
### **1.3 摰∟恣<E2889F>亙<EFBFBD><E4BA99><EFBFBD><EFBFBD>閫<EFBFBD><E996AB>扯<EFBFBD>瘙?*
|
||
|
||
* **<2A>啁𠶖**嚗𡁏𥁒<F0A1818F>𦠜<EFBFBD><F0A6A09C>唬<EFBFBD> admin\_operation\_logs<67>?
|
||
* **PRD 閬<><E996AC>**嚗朞晓隡<E69993>垢 (Pharma) 撖孵恣霈⊥𠯫敹埈<E695B9> FDA 21 CFR Part 11 <20><><EFBFBD>閫<EFBFBD><E996AB>瘙<EFBFBD><E79899><EFBFBD>唳旿靽格㺿<E6A0BC>閗蕨嚗剹<E59A97>?
|
||
* **靽格迤撱箄悅**嚗𡁶&靽?Log 銵典<E98AB5><E585B8>?beforeData <20>?afterData (撌脣<E6928C><E884A3>恬<EFBFBD>敺<EFBFBD>末)嚗䔶<E59A97>撱箄悅憓𧼮<E68693> module 摮埈挾嚗<E68CBE>躹<EFBFBD><E8BAB9>糓 IIT 璅∪<E79285><E288AA><EFBFBD>𠯫敹𡑒<E695B9><F0A19192>舐頂蝏罸<E89D8F>蝵格𠯫敹梹<E695B9>嚗䔶誑靘輯晓隡<E69993>垢<EFBFBD>芣䰻霂Z䌊撌梁㮾<E6A281>喟<EFBFBD><E5969F>亙<EFBFBD><E4BA99>?
|
||
## **2\. <20>唳旿摨栞挽霈∪恣<E288AA>?(Schema Review)**
|
||
|
||
### **2.1 <20>冽<EFBFBD>銵函<E98AB5>銝<EFBFBD>蝑𣇉裦 (User Table)**
|
||
|
||
雿删<EFBFBD><EFBFBD>喟<EFBFBD>嚗帋<EFBFBD><EFBFBD>?platform\_schema.users嚗<73><E59A97><EFBFBD>?public.users<72>?
|
||
霂<EFBFBD>遠嚗尠<EFBFBD> 摰<><E691B0>甇<EFBFBD>&<EFBFBD>?
|
||
<EFBFBD>鞾<EFBFBD>嚗朞<EFBFBD>蝘餅㺭<EFBFBD>格𧒄嚗<EFBFBD>𦛚敹<EFBFBD>釣<EFBFBD>?public.users 銝剔<E98A9D> id 憒<><E68692>銝齿糓 UUID <20>澆<EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>𨀣糓<F0A880A3>抒頂蝏毺<E89D8F><E6AFBA>鞟<EFBFBD>嚗㚁<E59A97><E39A81><EFBFBD>閬<EFBFBD><E996AC><EFBFBD>惩<EFBFBD>憭<EFBFBD><E686AD>嚗<EFBFBD>炏<EFBFBD>坔<EFBFBD><E59D94>𥪜<EFBFBD><F0A5AA9C>桐<EFBFBD><E6A190>仿<EFBFBD><E4BBBF>?
|
||
### **2.2 蝘<><E89D98><EFBFBD>𣂼<EFBFBD>銵典𦶢<E585B8>?(Naming Convention)**
|
||
|
||
雿删<EFBFBD>霈曇恣嚗関enantUser / tenant\_users
|
||
PRD 霈曇恣嚗関enantMember / tenant\_members
|
||
撱箄悅嚗𡁜遣霈桃<EFBFBD>銝<EFBFBD>雿輻鍂 TenantMember<65><72><EFBFBD>銝?"User" <20>𡁜虜<F0A1819C><E8999C>蒈敶閗揭<E99697>瑕<EFBFBD>雿橒<E99BBF><E6A992>?"Member" <20><><EFBFBD>蝘滨<E89D98>蝏<EFBFBD><E89D8F>蝟颱葉<E9A2B1><E89189>澈隞賬<E99A9E><E8B3AC><EFBFBD>蝘滩祗銋匧躹<E58CA7><E8BAB9>銁隞<E98A81><E99A9E>銝哨<E98A9D>憒?member.role vs user.role嚗劐<E59A97><E58A90>湔<EFBFBD><E6B994>啜<EFBFBD>?
|
||
### **2.3 <20>券秄銵函<E98AB5><E587BD>?(Department)**
|
||
|
||
雿删<EFBFBD>霈曇恣嚗𡁏𣈲<EFBFBD><EFBFBD><EFBFBD>敶Y<EFBFBD><EFBFBD>?(parentId)<29>?
|
||
霂<EFBFBD>遠嚗尠<EFBFBD> 隡条<E99AA1><E69DA1><EFBFBD><EFBFBD>銝箸𧊋<E7AEB8>交𣈲<E4BAA4><F0A388B2>之<EFBFBD>衤<EFBFBD><E8A1A4>脣龫<E884A3>Y<EFBFBD>憭齿<E686AD>蝘穃恕蝏𤘪<E89D8F>嚗<EFBFBD><E59A97>蝘?\-\> 敹<><E695B9>蝘?\-\> 銝<><E98A9D><EFBFBD>躹嚗㗇<E59A97>銝衤<E98A9D><E8A1A4>箇<EFBFBD><E7AE87>?
|
||
## **3\. <20><><EFBFBD>航楝蝥踹虾銵峕<E98AB5>扯<EFBFBD>隡?*
|
||
|
||
### **3.1 JWT <20>寞<EFBFBD>**
|
||
|
||
* **霂<>遠**嚗帋蝙<E5B88B>?jsonwebtoken \+ localStorage <20>舀<EFBFBD><E88880><EFBFBD><EFBFBD><EFBFBD>鞟<EFBFBD><E99E9F>?SPA <20>寞<EFBFBD><E5AF9E>?
|
||
* **憌𡡞埯<F0A1A19E>鞟內**嚗饝ocalStorage 摰寞<E691B0><E5AF9E>堒<EFBFBD> XSS <20>餃稬<E9A483><E7A8AC>蒾<EFBFBD>?MVP <20>嗆挾<E59786>舀𦻖<E88880>梹<EFBFBD>雿<EFBFBD>遣霈桀<E99C88>蝏哨<E89D8F><E593A8>孵<EFBFBD><E5ADB5>航晓隡<E69993>垢銝羓瑪<E7BE93>㵪<EFBFBD><E3B5AA><EFBFBD><EFBFBD> **HttpOnly Cookie** <20>寞<EFBFBD>嚗峕<E59A97><E5B395><EFBFBD>銁<EFBFBD>滨垢<E6BBA8>惩撩 XSS <20>脫擪<E884AB>?
|
||
### **3.2 <20><><EFBFBD>銝剝𡢿隞?(requireTenantAccess)**
|
||
|
||
* **霂<>遠**嚗朞<E59A97><E69C9E>臬<EFBFBD>蝘<EFBFBD><E89D98><EFBFBD>𠉛氖<F0A0899B><E6B096>瓲敹<E793B2><E695B9>?
|
||
* **銵亙<E98AB5>撱箄悅**嚗𡁻膄鈭?API 撅<><E69285>銝剝𡢿隞塚<E99A9E>撘箇<E69298>撱箄悅<E7AE84>厩<EFBFBD><E58EA9>睲<EFBFBD><E79DB2>齿<EFBFBD>靘𤤿<E99D98> **Prisma Extension** <20>寞<EFBFBD>嚗<EFBFBD>銁<EFBFBD>唳旿摨栞挪<E6A09E>桀<EFBFBD>嚗㇉RM嚗匧<E59A97><E58CA7>牐<EFBFBD><E78990>㯄<EFBFBD><E3AF84>?
|
||
* *<2A>笔<EFBFBD>*嚗𡁜<E59A97><F0A1819C>睲犖<E79DB2>睃虾<E79D83>賭<EFBFBD>敹䁅扇<E48185>?Controller <20><><EFBFBD>銝剝𡢿隞塚<E99A9E>雿<EFBFBD><E99BBF><EFBFBD>曄<EFBFBD>餈<EFBFBD><E9A488>撅<EFBFBD><E69285>?Prisma Client <20>拙<EFBFBD><E68B99>?
|
||
### **3.3 <20><><EFBFBD>摰𡁜<E691B0> (Branding)**
|
||
|
||
* **霂<>遠**嚗𡁏𥁒<F0A1818F>𠹺葉撌脣<E6928C><E884A3>?api/public/tenant-config <20>亙藁<E4BA99>?
|
||
* **<2A>鞾<EFBFBD>**嚗朞砲<E69C9E>亙藁<E4BA99>∪<EFBFBD><E288AA>牐<EFBFBD> **蝻枏<E89DBB> (Cache)** <20>批<EFBFBD>嚗<EFBFBD><E59A97> Cache-Control: public, max-age=3600嚗㚁<E59A97><E39A81>牐蛹瘥譍葵<E8AD8D>冽<EFBFBD><E586BD>枏<EFBFBD><E69E8F>餃<EFBFBD>憿菟<E686BF>隡朞<E99AA1><E69C9E>剁<EFBFBD>擃睃僎<E79D83>睲<EFBFBD>銝滩<E98A9D><E6BBA9>湔𦻖<E6B994>𤘪㺭<F0A498AA>桀<EFBFBD><E6A180>?
|
||
## **4\. 撘<><E69298>𤏸恣<F0A48FB8>雴<EFBFBD><E99BB4>硋遣霈?*
|
||
|
||
<EFBFBD>亙<EFBFBD>銝剔<EFBFBD> **8.5 Phase 4 (餈鞱𨯫蝡?MVP)** <20>?**8.6 Phase 5 (銝枏<E98A9D><E69E8F>餃<EFBFBD>)** <20>埝<EFBFBD><E59F9D><EFBFBD><EFBFBD><EFBFBD>?
|
||
**撱箄悅靚<E68285>㟲<EFBFBD>對<EFBFBD>**
|
||
|
||
1. **Phase 0 (<28>唳旿餈<E697BF>宏) 敹<>◆<EFBFBD>匧<EFBFBD>皛𡁏䲮獢?*嚗?
|
||
* <20>典<EFBFBD><E585B8>?public.users 銋见<E98A8B>嚗<EFBFBD><E59A97>撠<EFBFBD><E692A0><EFBFBD>滚𦶢<E6BB9A>滢蛹 public.users\_backup嚗䔶<E59A97><E494B6>?1 <20>剁<EFBFBD><E58981>脫迫餈<E8BFAB>宏<EFBFBD>𡁏𧋦<F0A1818F>?Bug 撖潸稲<E6BDB8>唳旿銝W仃<EFBCB7>?
|
||
2. **<EFBFBD>𣂼<EFBFBD>摰帋<EFBFBD><EFBFBD>𡏭<EFBFBD>蝥抒恣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>萘<EFBFBD>摮鞉㺭<EFBFBD>?*嚗?
|
||
* <20>?Prisma Seed <20>𡁏𧋦銝哨<E98A9D>蝖祉<E89D96><E7A589><EFBFBD><EFBFBD>銝芾<E98A9D>蝥抒恣<E68A92><E681A3><EFBFBD>韐血噡嚗<E599A1><E59A97> admin@yizhengxun.com嚗㚁<E59A97><E39A81>血<EFBFBD>蝟餌<E89D9F>銝羓瑪<E7BE93>𦒘<EFBFBD>餈𥕢<E9A488><F0A595A2>餃<EFBFBD><E9A483>啜<EFBFBD>?
|
||
3. **<EFBFBD>滨垢<EFBFBD><EFBFBD><EFBFBD> Mock <20><>像皛𤏸<E79A9B>皜?*嚗?
|
||
* <20>?Phase 3 撖寞𦻖<E5AF9E>塚<EFBFBD>銝滩<E98A9D><E6BBA9>湔𦻖<E6B994>𣳇膄 PermissionContext嚗諹<E59A97>峕糓靽格㺿<E6A0BC>嗅<EFBFBD><E59785>典<EFBFBD><E585B8>堆<EFBFBD>隞?API <20>瑕<EFBFBD><E79195>唳旿<E594B3>蹂誨 Mock <20>唳旿嚗諹<E59A97><E8ABB9>瑕虾隞交<E99A9E>撠誩<E692A0><E8AAA9>孵𢆡<E5ADB5>滨垢銝𡁜𦛚隞<F0A69B9A><E99A9E><EFBFBD>?
|
||
## **5\. <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> MVP <20><>瓲敹<E793B2><E695B9>?
|
||
**銝衤<E98A9D>甇亥<E79487><E4BAA5>冽<EFBFBD>隞歹<E99A9E>**
|
||
|
||
1. **<EFBFBD><EFBFBD>熙**嚗𡁜<E59A97>銵典<E98AB5> TenantUser 靽格㺿銝?TenantMember<65>?
|
||
2. **憓𧼮<E68693>**嚗𡁜銁 Schema 銝剖<E98A9D><E58996>?TenantQuotaAllocation 銵剁<E98AB5><E58981><EFBFBD><EFBFBD>?1.1嚗剹<EFBFBD>?
|
||
3. **<EFBFBD>扯<EFBFBD>**嚗𡁏<E59A97><F0A1818F>扳𥁒<E689B3>𠹺葉<F0A0B9BA>?Phase 0 \- Phase 6 撘<>憪𧢲<E686AA>銵䎚<E98AB5>?
|
||
**蝏栞捏嚗?* <20><>﹝韐券<E99F90>擃矋<E69383>憌𡡞埯<F0A1A19E>舀綉嚗?*<2A>臭誑撘<E8AA91>憪见<E686AA><E8A781>?*<2A> |