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%)
154 lines
8.1 KiB
Markdown
154 lines
8.1 KiB
Markdown
# **謚譛ッ隶セ隶。譁<EFBDA1>。」<EFBDA1>壼キ・蜈キ C \- 遘醍<E98198>疲焚謐ョ郛冶セ大<EFBDBE>?(V7 莠醍ォッ豐咏ョア謚鈴」朱勦迚<E58BA6>)**
|
||
|
||
| 譁<>。」邀サ蝙<EFBDBB> | Technical Design Document (TDD) |
|
||
| :---- | :---- |
|
||
| **蟇ケ蠎泌次蝙<E6ACA1>** | **蟾・蜈キC\_遘醍<E98198>疲焚謐ョ郛冶セ大勣\_蜴溷梛隶セ隶。\_V6\_菫ョ螟咲<E89E9F>?html** |
|
||
| **迚域悽** | **V7.1** (螳梧紛謾カ蠖墓楔譫<E6A594><E8ADAB>遲<EFBFBD> ADR 荳守コ「髦滄」朱勦蟇ケ遲? |
|
||
| **迥カ諤?* | Final Standard |
|
||
| **譬ク蠢<EFBDB8>岼譬<E5B2BC>** | 譫<>サコ荳荳ェ鬮伜庄髱<E5BA84>逧<EFBFBD>コ醍ォ?Python 謨ー謐ョ貂<EFBDAE>エ怜ケウ蜿ー縲ょ惠菫晞囿窶懈焚謐ョ荳榊<E88DB3>蝓溪晉噪蜑肴署荳具シ碁夊ソ<E5A48A> Apache Arrow 蜥梧<E89CA5>キ蠑丞<E8A091>遖サ謚譛ッ<E8AD9B>瑚ァ」蜀ウ譛榊苅遶ッ謇ァ陦悟クヲ譚・逧<EFBDA5>サカ霑滉ク取<EFBDB8>シ蠑丈ク「螟ア髣ョ鬚倥?|
|
||
|
||
## **1\. 諤サ菴捺楔譫<E6A594>ョセ隶。 (System Architecture)**
|
||
|
||
驩エ莠取枚莉カ螟ァ蟆城剞蛻カ (\<20MB) 蜥瑚┳謨丞燕謠撰シ碁㊦逕ィ 窶廸ode.js BFF \+ Python Microservice窶?譫カ譫<EFBDB6>?
|
||
V7 譬ク蠢<EFBDB8>合郤ァ<E983A4>?蠑募<E8A091> Apache Arrow 菴應クコ蜑榊錘遶ッ謨ー謐ョ莠、謐「譬<EFBDA2>㊥<EFBFBD>梧崛莉」菴取譜逧?Excel 譁<>サカ蜿榊、崎ッサ蜀呻シ悟ー<E6829F>黒谺。莠、莠貞サカ霑滉サ?8s 髯堺ス手<EFBDBD>?0.5s縲?
|
||
### **1.1 譫カ譫<EFBDB6>挙謇大<E8AC87>?(V7 莨伜喧迚?**
|
||
|
||
graph TD
|
||
subgraph Client\_Layer \[逕ィ謌キ遶ッ\]
|
||
ReactApp\[React 19 \+ AG Grid\]
|
||
ArrowClient\[Apache Arrow JS\]
|
||
end
|
||
|
||
subgraph Aliyun\_SAE \[髦ソ驥御コ?Serverless 蠎皮畑蠑墓梼\]
|
||
BFF\[Node.js Web 譛榊苅 (Fastify)\]
|
||
PythonService\[Python 隶。邂怜セョ譛榊<E8AD9B>?(FastAPI)\]
|
||
end
|
||
|
||
subgraph Cache\_Layer \[鬮倬溽シ灘ュ伜ア<E4BC9C>]
|
||
Redis\_Session\[Redis (蟄?DataFrame Arrow 蠎丞<E8A08E>蛹?\]
|
||
end
|
||
|
||
subgraph AI\_PaaS \[AI 閭ス蜉帛ア<E5B89B>]
|
||
Dify\[Dify 郛匁賜蠑墓梼\]
|
||
DeepSeek\[DeepSeek-V3 讓。蝙欺]
|
||
end
|
||
|
||
subgraph Cloud\_Infra \[謖∽ケ<E288BD>喧螻<E596A7>]
|
||
OSS\[蟇ケ雎。蟄伜お (蟄?Excel 蠎墓攸)\]
|
||
RDS\[RDS PostgreSQL (蟄伜<E89F84>謨ー謐ョ)\]
|
||
end
|
||
|
||
%% 莠、莠呈オ?
|
||
User\[逕ィ謌キ\] \--\>|1. 荳贋シ<E8B48B>| BFF
|
||
BFF \--\>|2. 蟄伜次蟋畿xcel| OSS
|
||
BFF \--\>|3. 鬚<>Ο Session| PythonService
|
||
PythonService \--\>|4. 蜉<>霓ス蟷カ霓ャ荳?Arrow| Redis\_Session
|
||
|
||
User \--\>|5. AI 謖<>サ、| Dify
|
||
Dify \--\>|6. Python 莉」遐- BFF
|
||
BFF \--\>|7. 蜿鷹∽サ」遐- PythonService
|
||
|
||
PythonService \--\>|8. 隸サ蜿<EFBDBB> Arrow (蜀<>ュ<EFBFBD>)| Redis\_Session
|
||
PythonService \--\>|9. Pandas 謇ァ陦芸 PythonService
|
||
PythonService \--\>|10. 蜀吝屓 Arrow| Redis\_Session
|
||
|
||
PythonService \--\>|11. 霑泌屓 Preview 謨ー謐ョ (JSON/Arrow)| ReactApp
|
||
|
||
User \--\>|12. 蟇シ蜃コ/菫晏ュ<E6998F> BFF
|
||
BFF \--\>|13. 隗ヲ蜿大粋蟷カ| PythonService
|
||
PythonService \--\>|14. 隸サOSS蠎墓攸 \+ 蝪ォ蜈・謨ー謐ョ| OSS
|
||
|
||
## **2\. 蜈ウ髞ョ譫カ譫<EFBDB6><E8ADAB>遲冶ョー蠖<EFBDB0> (ADR)**
|
||
|
||
譛ャ闃りョー蠖穂コ<EFBFBD>クコ菴穂サ寂懷燕遶?Pyodide窶晁スャ蜷鯛懷錘遶ッ豐咏ョア窶晉噪蜀ウ遲冶ソ<E586B6>ィ具シ御セ帛屬髦溷盾閠<E79BBE>?
|
||
### **蜀ウ遲也せ<E4B99F>壼燕遶ッ霑占。<E58DA0> (WASM) vs 蜷守ォッ霑占。<E58DA0> (Server-side)**
|
||
|
||
| 扈エ蠎ヲ | 譁ケ譯<EFBDB9> A<>壼燕遶?Pyodide (WASM) | 譁ケ譯<EFBDB9> B<>壼錘遶?Python (譛ャ譁ケ譯? | 蜀ウ遲也サ楢ョコ |
|
||
| :---- | :---- | :---- | :---- |
|
||
| **蜷ッ蜉ィ蟒カ霑<EFBDB6>** | **譫∵<E8ADAB> (15s+)**縲る怙荳玖スス \~20MB 蠑墓梼蛹<E6A2BC>シ檎畑謌キ菴馴ェ梧栫蟾ョ縲?| **遘貞シ**縲ら識蠅<E8AD98>惠譛榊苅蝎ィ鬚<EFBDA8>Ο<EFBFBD>悟叉蠑蜊ウ逕ィ縲?| **蜷守ォッ閭?* |
|
||
| **莠、莠貞サカ霑<EFBDB6>** | **譫∝ソォ (\< 0.1s)**縲よ悽蝨ー蜀<EFBDB0>ュ俶桃菴懶シ梧裏鄂醍サ懷シ髞縲?| **荳ュ遲<EFBDAD> (0.5s)**縲る夊ソ<E5A48A> Apache Arrow 莨伜喧蜷主庄謗・蜿励?| 蜑咲ォッ閭?|
|
||
| **遞ウ螳壽?* | **鬮倬」朱<EFBDA3>?*縲よオ剰ァ亥勣 Tab 蜀<>ュ俶怏髯撰シ梧<EFBDBC> OOM 蟠ゥ貅<EFBDA9>?| **鬮倡ィウ螳?*縲よ恪蜉。蝎ィ蜀<EFBDA8>ュ伜<EFBDAD>雜ウ<E99B9C>悟ョケ蝎ィ髫皮ヲサ<EFBDA6>悟エゥ貅<EFBDA9>ク榊スア蜩榊燕遶ッ縲?| **蜷守ォッ閭?* |
|
||
| **蠎捺髪謖?* | **譛蛾剞**縲ゆク肴髪謖<E9ABAA>Κ蛻<CE9A> C 謇ゥ螻募コ?(螯ょ、肴揩扈溯ョ。蠎<EFBDA1>)縲?| **譌<>髯<EFBFBD>**縲よ<E7B8B2><E38288><EFBFBD>?Linux 邇ッ蠅<EFBDAF>シ檎函諤∝ョ梧紛縲?| **蜷守ォッ閭?* |
|
||
| **蠑蜿鷹埓蠎?* | **譫<>ォ<EFBFBD>**縲る怙螟<E68099>炊 JS-Python 騾壻ソ。縲∝<E7B8B2>蟄倡ョ。逅<EFBDA1>?| **菴?*縲よ<E7B8B2><E38288><EFBFBD>?Web API 蠑蜿代?| **蜷守ォッ閭?* |
|
||
|
||
**扈楢ョコ<EFBDAE>?* 驩エ莠寂懈焚謐ョ蟾イ閼ア謨鞘昜ク披懈枚莉カ霎<EFBDB6>ー鞘晢シ<E699A2>**蜷守ォッ謇ァ陦梧婿譯<E5A9BF>** 蝨ィ遞ウ螳壽ァ縲∝<E7B8B2>螳ケ諤ァ蜥悟シ蜿第<E89CBF>譛ャ荳雁<E88DB3>髱「閭懷<E996AD>縲?
|
||
## **3\. 謚譛ッ騾牙梛荳手檮蜷?(Tech Stack Fusion)**
|
||
|
||
### **3.1 譬ク蠢<EFBDB8>サ<EFBFBD>サカ譖エ譁ー**
|
||
|
||
| 鬚<>沺 | 騾牙梛 | V7 譁ー蠅樒炊逕ア |
|
||
| :---- | :---- | :---- |
|
||
| **謨ー謐ョ莠、謐「** | **Apache Arrow** | **蜈ウ髞ョ蜊<EFBDAE>コァ**縲ら畑莠?Python 蜥?Node.js/蜑咲ォッ荵矩龍逧<E9BE8D>ォ俶ァ閭ス謨ー謐ョ莨<EFBDAE>霎難シ碁∩蜈?JSON 蠎丞<E8A08E>蛹門シ髞<E9AB9E>?*隗」蜀ウ IO 蟒カ霑滓<E99C91>ク蠢<EFBDB8>**縲?|
|
||
| **Excel 螟<>炊** | **openpyxl** | 譖ソ莉」郤?Pandas縲ら畑莠主惠蟇シ蜃コ譌?*菫晉蕗蜴溷ァ<E6BAB7> Excel 譬キ蠑<EFBDB7>**<2A>亥ヲる「懆牡縲∬セケ譯<EFBDB9>シ会シ?*隗」蜀ウ譬シ蠑丈ク「螟ア譬ク蠢<EFBDB8>**縲?|
|
||
| **莨夊ッ晉シ灘ュ<E78198>** | **Redis** | 逕ィ莠取嘯蟄倡畑謌キ逧?DataFrame (蠎丞<E8A08E>蛹紋クコ Parquet/Arrow)<29>碁∩蜈肴ッ乗ャ。謫堺ス憺<EFBDBD>蜴?OSS 隸サ譁<EFBDBB>サカ縲?|
|
||
| **隶。邂玲恪蜉。** | **FastAPI \+ Celery** | 蠑募<E8A091> Celery 螟<>炊蠑よュ・莉サ蜉。<E89C89>碁亟豁「髟ソ隶。邂鈴仆蝪<E4BB86> HTTP 郤ソ遞九?|
|
||
|
||
## **4\. 騾<>髄鬟朱勦隸<E58BA6>シー荳主ッケ遲?(Red Teaming Analysis)**
|
||
|
||
譛ャ闃りッヲ扈<EFBFBD>ョー蠖穂コ<EFBFBD>懃コ「髦滓オ玖ッ補昜クュ蜿醍鴫逧<EFBFBD>ス懷惠閾エ蜻ス鬟朱勦蜿雁<EFBFBD>蟾・遞句喧隗」蜀ウ譁ケ譯医?
|
||
### **鬟朱勦荳<E88DB3>壻コ、莠貞サカ霑溽噪窶應ス捺─蟠ゥ蝪娯?*
|
||
|
||
* **騾<>髄諡キ髣ョ<E9ABA3>?* 豈乗ャ。 AI 謫堺ス憺<EFBDBD>襍ー OSS 荳玖スス \-\> Pandas 隸サ蜿<EFBDBB> \-\> 隶。邂<EFBDA1> \-\> 荳贋シ<E8B48B><EFBDBC>悟黒谺。閠玲慮蜿ッ閭ス雜<EFBDBD>ソ<EFBFBD> 8遘抵シ檎畑謌キ譌<EFBDB7>豕募ソ榊女縲?
|
||
* **V7 隗」蜀ウ譁ケ譯茨シ?* **Session 鬩サ逡呎ィ。蠑<EFBDA1> (Memory-Resident)**
|
||
1. **蛻晏ァ句喧<E58FA5><E596A7>** 逕ィ謌キ荳贋シ<E8B48B> Excel 蜷趣シ悟錘遶ッ蟆<EFBDAF><E89F86>蜉<EFBFBD>霓ス荳?DataFrame<6D>悟ケカ蠎丞<E8A08E>蛹紋クコ **Arrow** 譬シ蠑丞ュ伜<EFBDAD> Redis (TTL 30min)縲?
|
||
2. **蠅樣㍼莠、莠抵シ?* 蜑咲ォッ蜿鷹∵欠莉、<E88E89>訓ython 莉?Redis 隸サ蜿<EFBDBB> Arrow 謨ー謐ョ<E8AC90>域ッォ遘堤コァ<EFBDBA>会シ梧鴬陦<E9B4AC> Pandas 隶。邂暦シ悟ー<E6829F>サ捺棡蜀吝屓 Redis縲?
|
||
3. **霓サ驥丞渚鬥茨シ?* 隶。邂怜ョ梧<EFBDAE>蜷趣シ悟宵霑泌<E99C91>?**蜑?100 陦碁「<E7A281>ァ域焚謐?* 扈吝燕遶?AG Grid 貂イ譟薙?
|
||
4. **謨域棡<E59F9F>?* 閠玲慮郛ゥ遏ュ閾?**0.5s \- 1s**縲?
|
||
### **鬟朱勦莠鯉シ哘xcel 譬シ蠑丈ク「螟ア (The Format Loss)**
|
||
|
||
* **騾<>髄諡キ髣ョ<E9ABA3>?* Pandas 逧?to\_excel 莨夐㍾鄂ョ謇譛牙黒蜈<E9BB92><E89C88>シ譬キ蠑擾シ悟現逕滓<E98095><E6BB93>ウィ逧<EFBDA8>「懆牡蜥梧音豕ィ莨壻ク「螟ア縲?
|
||
* **V7 隗」蜀ウ譁ケ譯茨シ?* **蠎墓攸蛻<E694B8>ヲサ遲也払 (Template Separation)**
|
||
1. **荳贋シ<E8B48B>譌カ<E8AD8C><EFBDB6>** 蟆<>次蟋?Excel 譬<>ョー荳?**"Style Template" (譬キ蠑丞コ墓攸)**<2A>梧ーク荵<EFBDB8>ソ晏ュ伜惠 OSS縲?
|
||
2. **隶。邂玲慮<E78EB2><E685AE>** 蜿ェ蝨ィ蜀<EFBDA8>ュ<EFBFBD>/Redis 荳ュ螟<EFBDAD>炊郤ッ謨ー謐ョ (Values)<29>御ク榊<EFBDB8>蠢<EFBFBD><E8A0A2>キ蠑上?
|
||
3. **蟇シ蜃コ譌カ<E8AD8C><EFBDB6>** 菴ソ逕ィ openpyxl 蜉<>霓ス窶懈<E7AAB6>キ蠑丞コ墓攸窶晢シ悟ー<E6829F><EFBDB0>蟄倅クュ逧<EFBDAD>眠謨ー謐ョ**蝪ォ蜈・**蛻ー蠎墓攸逧<E694B8>ッケ蠎泌攝譬<E6949D>クュ<EFBDB8>御ソ晉蕗譛ェ菫ョ謾ケ蛹コ蝓溽噪閭梧勹濶イ蜥梧音豕ィ縲?
|
||
### **鬟朱勦荳会シ夂憾諤∝酔豁・逧<EFBDA5>懷曙蜀吝<E89C80>遯≫?*
|
||
|
||
* **騾<>髄諡キ髣ョ<E9ABA3>?* 逕ィ謌キ謇句勘菫ョ謾ケ莠<EFBDB9>ャャ 5 陦鯉シ悟酔譌カ AI 蛻<>髯、莠<EFBDA4>ャャ 5 陦鯉シ悟ッシ閾エ謨ー謐ョ迥カ諤∽ク堺ク閾エ縲?
|
||
* **V7 隗」蜀ウ譁ケ譯茨シ?* **UI 莠呈箕髞?(UI Locking)**
|
||
* 蠖?AI 豁」蝨ィ逕滓<E98095>莉」遐∵<E98190>蜷守ォッ豁」蝨ィ隶。邂玲慮<E78EB2>窟G Grid 蠑コ蛻カ霑帛<E99C91> **readOnly** 讓。蠑擾シ悟ケカ蝨ィ逡碁擇譏セ遉?"AI 豁」蝨ィ螟<EFBDA8>炊..." 驕ョ鄂ゥ<E98482>?*迚ゥ逅<EFBDA9>アる擇荳顔ヲ∵ュ「蟷カ蜿第桃菴?*縲?
|
||
### **鬟朱勦蝗幢シ壼ョ牙<EFBDAE>豐咏ョア騾<EFBDB1>?*
|
||
|
||
* **騾<>髄諡キ髣ョ<E9ABA3>?* AI 逕滓<E98095>莠?import os; os.system('rm \-rf /')縲?
|
||
* **V7 隗」蜀ウ譁ケ譯茨シ?* **AST 髱呎∝<C280>譫?\+ 螳ケ蝎ィ髫皮ヲサ**
|
||
* **鬚<>」<EFBDA3>?* 蝨ィ謇ァ陦?exec() 蜑搾シ御スソ逕ィ Python ast 讓。蝮玲沖謠丈サ」遐∵<E98190>托シ梧」豬句芦 import os 遲牙<E981B2>髞ョ隸咲峩謗・謚帛<E8AC9A>蠑ょクク縲?
|
||
* **襍<>コ宣剞鬚晢シ?* 菴ソ逕ィ Python resource 讓。蝮鈴剞蛻カ蜊墓ャ。謇ァ陦檎<E999A6>?CPU 譌カ髣エ (10s) 蜥?蜀<>ュ<EFBFBD> (1GB)縲?
|
||
## **5\. 謨ー謐ョ蠎楢ョセ隶?(蜈<>焚謐ョ螻<EFBDAE>)**
|
||
|
||
譁ー蠅<EFBFBD> TaskAudit 陦ィ逕ィ莠手ョー蠖墓ッ丈ク谺?AI 謫堺ス懃噪荳贋ク区枚<E58CBA>御セソ莠主屓貊壼柱螳。隶。縲?
|
||
model TaskAudit {
|
||
id String @id @default(uuid())
|
||
datasetId String
|
||
version Int // 謫堺ス懷錘逧<E98C98>沿譛ャ蜿?
|
||
|
||
actionType String // "AI\_CODE" or "MANUAL\_EDIT"
|
||
prompt String? // 逕ィ謌キ逧<EFBDB7><E980A7>辟カ隸ュ險謖<C280>サ、
|
||
code String? // AI 逕滓<E98095>逧?Python 莉」遐<EFBDA3>
|
||
|
||
executionTime Int // 謇ァ陦瑚玲慮 (ms)
|
||
status String // SUCCESS / FAILED
|
||
|
||
createdAt DateTime @default(now())
|
||
}
|
||
|
||
## **6\. API 謗・蜿」螳壻ケ<E5A3BB> (V7 莨伜喧)**
|
||
|
||
* POST /api/session/init: 荳贋シ<E8B48B>譁<EFBFBD>サカ<EFBDBB>悟<EFBFBD>蟋句喧 Redis Session<6F>瑚ソ泌<EFBDBF>?sessionId縲?
|
||
* POST /api/session/execute:
|
||
* **Input:** { sessionId, code, version }
|
||
* **Output:** { previewData: ArrowBase64, newVersion: int, logs: string }
|
||
* **隸エ譏<EFBDB4>:** 莉<>ソ泌屓鬚<E5B193>ァ域焚謐ョ<E8AC90>御ク咲函謌?Excel 譁<>サカ縲?
|
||
* POST /api/session/save:
|
||
* **Input:** { sessionId }
|
||
* **Output:** { downloadUrl }
|
||
* **隸エ譏<EFBDB4>:** 隗ヲ蜿<EFBDA6> openpyxl 蜷亥ケカ騾サ霎托シ檎函謌先怙扈?Excel 蟷カ荳贋シ?OSS縲?
|
||
## **7\. 蠑蜿大<E89CBF>蟾・蟒コ隶?*
|
||
|
||
* **Python 扈?(驥堺クュ荵矩㍾):**
|
||
* 螳樒鴫 Arrow \<-\> Pandas 逧<>コ丞<EFBDBA>蛹夜サ霎代?
|
||
* 蟆∬」<E288AC> openpyxl 逧<><E980A7>キ蠑丞屓蝪ォ騾サ霎代?
|
||
* 謳ュ蟒コ FastAPI \+ Redis 邇ッ蠅<EFBDAF>?
|
||
* **Node.js 扈?**
|
||
* 雍溯エ」 Dify 霓ャ蜿大柱驩エ譚<EFBDB4>?
|
||
* **蜑咲ォッ扈?**
|
||
* 髮<><E9ABAE> apache-arrow JS 蠎難シ瑚ァ」譫仙錘遶ッ霑泌屓逧<E5B193>コ瑚ソ帛宛豬∝ケカ蝨?AG Grid 螻慕、コ縲?
|
||
* 螳樒鴫窶廣I 螟<>炊荳ュ窶晉噪蜈ィ螻城煤螳壻コ、莠偵 |