Files
AIclinicalresearch/docs/03-业务模块/ADMIN-运营管理端/00-系统设计/02-通用能力层_10-权限体系梳理反馈与修正建议.md
HaHafeng 1b53ab9d52 feat(aia): Complete AIA V2.0 with universal streaming capabilities
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%)
2026-01-14 19:15:01 +08:00

89 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# **<2A><><EFBFBD>銝舘<E98A9D><E88898><EFBFBD>蝟餅<E9A485><EFBC94>𥁒<EFBFBD>?\- 摰⊥䰻<E28AA5><EFBFBD>銝𦒘耨甇<E880A8>遣霈?*
摰⊥䰻撖寡情嚗?00-<2D><><EFBFBD>銝舘<E98A9D><E88898><EFBFBD>蝟餅<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><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><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>芣䰻霂䌊撌梁㮾<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><EFBFBD><EFBFBD>?(parentId)<29>?
<EFBFBD>遠嚗尠<EFBFBD> 隡条<E99AA1><E69DA1><EFBFBD><EFBFBD>銝箸𧊋<E7AEB8>交𣈲<E4BAA4><F0A388B2><EFBFBD><EFBFBD><E8A1A4>脣龫<E884A3><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>唳旿銝<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>