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%)
233 lines
4.5 KiB
Markdown
233 lines
4.5 KiB
Markdown
# [璅∪<E79285><E288AA>滨妍] - <20>唳旿摨栞挽霈?
|
||
|
||
> **Schema嚗?* `xxx_schema`
|
||
> **銵冽㺭<E586BD>𧶏<EFBFBD>** X銝?
|
||
> **靘肽<E99D98>嚗?* platform_schema.users嚗<73><E59A97><EFBFBD>㚁<EFBFBD>
|
||
> **<2A><><EFBFBD>擧凒<E693A7>堆<EFBFBD>** YYYY-MM-DD
|
||
|
||
---
|
||
|
||
## <20><> Schema霂湔<E99C82>
|
||
|
||
**Schema<6D>𥕦遣嚗?*
|
||
```sql
|
||
CREATE SCHEMA IF NOT EXISTS xxx_schema;
|
||
```
|
||
|
||
**<EFBFBD>諹提<EFBFBD><EFBFBD>凒嚗?*
|
||
- <20>蠘<EFBFBD>1<EFBFBD>詨<EFBFBD><E8A9A8>唳旿
|
||
- <20>蠘<EFBFBD>2<EFBFBD>詨<EFBFBD><E8A9A8>唳旿
|
||
- ...
|
||
|
||
**靘肽<E99D98><E882BD>喟頂嚗?*
|
||
- 靘肽<E99D98> `platform_schema.users`嚗<EFBFBD>鍂<EFBFBD>瑚縑<EFBFBD>荔<EFBFBD>
|
||
- 靘肽<E99D98> `platform_schema.xxx`嚗<EFBFBD><EFBFBD><EFBFBD>㚁<EFBFBD>
|
||
|
||
---
|
||
|
||
## <20><> ER<45>橘<EFBFBD><E6A998>舫<EFBFBD>㚁<EFBFBD>
|
||
|
||
```
|
||
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
<EFBFBD>? users (憭㚚<E686AD>) <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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
<20>?1:N
|
||
<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
<EFBFBD>? 銝餉” <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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
<20>?1:N
|
||
<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
<EFBFBD>? 摮鞱” <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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||
```
|
||
|
||
---
|
||
|
||
## <20><> 銵函<E98AB5><E587BD><EFBFBD>挽霈?
|
||
|
||
### 1. xxx_table_name嚗<65>”<EFBFBD>讛膩嚗?
|
||
|
||
**<EFBFBD>券<EFBFBD>䈑<EFBFBD>** 蝞<>閬<EFBFBD>秩<EFBFBD>舘”<E88898><E2809D>鍂<EFBFBD>?
|
||
|
||
**摮埈挾霂湔<E99C82>嚗?*
|
||
|
||
```sql
|
||
CREATE TABLE xxx_schema.xxx_table_name (
|
||
-- 銝駁睸
|
||
id SERIAL PRIMARY KEY,
|
||
|
||
-- 憭㚚睸
|
||
user_id INTEGER REFERENCES platform_schema.users(id) ON DELETE CASCADE,
|
||
|
||
-- 銝𡁜𦛚摮埈挾
|
||
field_name VARCHAR(200) NOT NULL,
|
||
description TEXT,
|
||
status VARCHAR(20) DEFAULT 'active',
|
||
|
||
-- <20>園𡢿<E59C92>喉<EFBFBD>敹<EFBFBD>◆嚗?
|
||
created_at TIMESTAMP DEFAULT NOW(),
|
||
updated_at TIMESTAMP DEFAULT NOW(),
|
||
|
||
-- 蝝W<E89D9D>
|
||
INDEX idx_xxx_user_id (user_id),
|
||
INDEX idx_xxx_status (status)
|
||
);
|
||
```
|
||
|
||
**摮埈挾霂西圾嚗?*
|
||
|
||
| 摮埈挾<E59F88>?| 蝐餃<E89D90> | 蝥行<E89DA5> | 霂湔<E99C82> |
|
||
|--------|------|------|------|
|
||
| id | SERIAL | PK | 銝駁睸 |
|
||
| user_id | INTEGER | FK, NOT NULL | <20>冽<EFBFBD>ID |
|
||
| field_name | VARCHAR(200) | NOT NULL | 摮埈挾霂湔<E99C82> |
|
||
| description | TEXT | - | 霂衣<E99C82><E8A1A3>讛膩 |
|
||
| status | VARCHAR(20) | DEFAULT 'active' | <20>嗆<EFBFBD><E59786><EFBFBD>active/inactive/deleted |
|
||
| created_at | TIMESTAMP | NOT NULL | <20>𥕦遣<F0A595A6>園𡢿 |
|
||
| updated_at | TIMESTAMP | NOT NULL | <20>湔鰵<E6B994>園𡢿 |
|
||
|
||
**銝𡁜𦛚閫<F0A69B9A><E996AB>嚗?*
|
||
- 瘥譍葵<E8AD8D>冽<EFBFBD><E586BD><EFBFBD>憭𡁜<E686AD>撱旗銝芾扇敶?
|
||
- status摮埈挾<E59F88><E68CBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>潘<EFBFBD>active, inactive, deleted
|
||
- 頧臬<E9A0A7><E887AC>歹<EFBFBD>銝滨<E98A9D><E6BBA8><EFBFBD><EFBFBD><EFBFBD>歹<EFBFBD><E6ADB9>芯耨<E88AAF>零tatus銝榛eleted
|
||
|
||
---
|
||
|
||
### 2. xxx_table_name_2嚗<32>洵鈭䔶葵銵剁<E98AB5>
|
||
|
||
嚗<EFBFBD><EFBFBD>憭滢<EFBFBD><EFBFBD>Y<EFBFBD>蝏𤘪<EFBFBD>嚗?
|
||
|
||
---
|
||
|
||
## <20><> 蝝W<E89D9D>霈曇恣
|
||
|
||
### <20>訫<EFBFBD>蝝W<E89D9D>
|
||
```sql
|
||
-- <20>冽<EFBFBD>ID蝝W<E89D9D>嚗<EFBFBD><E59A97><EFBFBD>桀<EFBFBD>憿餃<E686BF>蝝W<E89D9D>嚗?
|
||
CREATE INDEX idx_xxx_user_id ON xxx_schema.xxx_table_name(user_id);
|
||
|
||
-- <20>嗆<EFBFBD><E59786>揣撘𤏪<E69298>撣貊鍂蝑偦<E89D91>匧<EFBFBD>畾蛛<E795BE>
|
||
CREATE INDEX idx_xxx_status ON xxx_schema.xxx_table_name(status);
|
||
|
||
-- <20>𥕦遣<F0A595A6>園𡢿蝝W<E89D9D>嚗<EFBFBD>虜<EFBFBD>冽<EFBFBD>摨誩<E691A8>畾蛛<E795BE>
|
||
CREATE INDEX idx_xxx_created_at ON xxx_schema.xxx_table_name(created_at DESC);
|
||
```
|
||
|
||
### 憭滚<E686AD>蝝W<E89D9D>
|
||
```sql
|
||
-- <20>冽<EFBFBD>+<2B>嗆<EFBFBD><E59786><EFBFBD><EFBFBD><EFBFBD>䰻霂?
|
||
CREATE INDEX idx_xxx_user_status ON xxx_schema.xxx_table_name(user_id, status);
|
||
```
|
||
|
||
---
|
||
|
||
## <20><> 憭㚚睸蝥行<E89DA5>
|
||
|
||
### 靘肽<E99D98><E882BD>喟頂
|
||
```sql
|
||
-- 靘肽<E99D98><E882BD>冽<EFBFBD>銵?
|
||
ALTER TABLE xxx_schema.xxx_table_name
|
||
ADD CONSTRAINT fk_xxx_users
|
||
FOREIGN KEY (user_id) REFERENCES platform_schema.users(id)
|
||
ON DELETE CASCADE; -- <20>冽<EFBFBD><E586BD>𣳇膄<F0A3B387>嗥漣<E597A5>𥪜<EFBFBD><F0A5AA9C>?
|
||
|
||
-- 璅∪<E79285><E288AA><EFBFBD><EFBFBD><EFBFBD>?
|
||
ALTER TABLE xxx_schema.child_table
|
||
ADD CONSTRAINT fk_child_parent
|
||
FOREIGN KEY (parent_id) REFERENCES xxx_schema.parent_table(id)
|
||
ON DELETE CASCADE;
|
||
```
|
||
|
||
### 憭㚚睸蝑𣇉裦
|
||
- <20>?**ON DELETE CASCADE**嚗𡁶鍂<F0A181B6>瑕<EFBFBD><E79195>斗𧒄嚗諹䌊<E8ABB9>典<EFBFBD><E585B8>斗<EFBFBD><E69697>匧<EFBFBD><E58CA7>娍㺭<E5A88D>?
|
||
- <20>𩤃<EFBFBD> **頝沒chema憭㚚睸**嚗𡁜蘨<F0A1819C>賢<EFBFBD><E8B3A2>?platform_schema嚗䔶<E59A97><E494B6>賢<EFBFBD><E8B3A2>典<EFBFBD>隞碶<E99A9E><E7A2B6>⊥芋<E28AA5>?
|
||
|
||
---
|
||
|
||
## <20><> <20>唳旿餈<E697BF>宏嚗<E5AE8F>虾<EFBFBD>㚁<EFBFBD>
|
||
|
||
### <20>嘥<EFBFBD><E598A5>𡝗㺭<F0A19D97>?
|
||
```sql
|
||
-- 憒<><E68692><EFBFBD><EFBFBD>閬<EFBFBD><E996AC>憪见<E686AA><E8A781>唳旿
|
||
INSERT INTO xxx_schema.xxx_table_name (field_name, status) VALUES
|
||
('蝷箔<EFBFBD>1', 'active'),
|
||
('蝷箔<EFBFBD>2', 'active');
|
||
```
|
||
|
||
### 餈<>宏<EFBFBD>𡁏𧋦
|
||
```sql
|
||
-- 憒<><E68692><EFBFBD><EFBFBD>閬<EFBFBD><E996AC><EFBFBD>扯”餈<E2809D>宏<EFBFBD>唳旿
|
||
-- migrations/xxx_migration.sql
|
||
```
|
||
|
||
---
|
||
|
||
## <20><> <20>唳旿<E594B3>誯<EFBFBD>隡?
|
||
|
||
| 銵典<E98AB5> | 憸<>摯霈啣<E99C88><E595A3>?| 憓鮋鵭<E9AE8B>笔漲 |
|
||
|------|-----------|---------|
|
||
| xxx_table_name | 10銝?撟?| 銝剔<E98A9D> |
|
||
| xxx_table_name_2 | 100銝?撟?| 擃?|
|
||
|
||
---
|
||
|
||
## <20>𩤃<EFBFBD> 瘜冽<E7989C>鈭钅★
|
||
|
||
**<EFBFBD>扯<EFBFBD>隡睃<EFBFBD>嚗?*
|
||
- 憭扯”敹<E2809D>◆瘛餃<E7989B><E9A483><EFBFBD>△<EFBFBD>亥砭
|
||
- <20>剔<EFBFBD>摮埈挾敹<E68CBE>◆瘛餃<E7989B>蝝W<E89D9D>
|
||
- 摰𡁏<E691B0>皜<EFBFBD><E79A9C>頧臬<E9A0A7><E887AC>斤<EFBFBD><E696A4>唳旿
|
||
|
||
**摰匧<E691B0><E58CA7>改<EFBFBD>**
|
||
- <20>𤩺<EFBFBD>摮埈挾<E59F88><E68CBE>閬<EFBFBD><E996AC>撖<EFBFBD><E69296><EFBFBD>?
|
||
- <20><><EFBFBD>匧<EFBFBD><E58CA7>桀<EFBFBD>憿餅<E686BF> ON DELETE 蝑𣇉裦
|
||
- <20>踹<EFBFBD>N+1<>亥砭<E4BAA5>桅<EFBFBD>
|
||
|
||
**蝏湔擪<E6B994>改<EFBFBD>**
|
||
- 銵函<E98AB5><E587BD><EFBFBD><EFBFBD><EFBFBD>湧<EFBFBD>閬<EFBFBD><E996AC>餈<EFBFBD>宏<EFBFBD>𡁏𧋦
|
||
- <20>滩<EFBFBD><E6BBA9>䀹凒<E480B9><E58792>閬<EFBFBD><E996AC>隞賣㺭<E8B3A3>?
|
||
|
||
---
|
||
|
||
## <20><> <20>詨<EFBFBD><E8A9A8><EFBFBD>﹝
|
||
|
||
**閫<><E996AB>嚗?*
|
||
- [<5B>唳旿摨栞挽霈∟<E99C88><E2889F><EFBFBD>(../../04-撘<><E69298>𤏸<EFBFBD><F0A48FB8>?01-<2D>唳旿摨栞挽霈∟<E99C88><E2889F>?md)
|
||
- [<EFBFBD>唳旿摨枏<EFBFBD>撅<EFBFBD>閫<EFBFBD>㦛](../../04-撘<><E69298>𤏸<EFBFBD><F0A48FB8>?03-<2D>唳旿摨枏<E691A8>撅<EFBFBD>閫<EFBFBD>㦛.md)
|
||
|
||
**API霈曇恣嚗?*
|
||
- [<EFBFBD>祆芋<EFBFBD>嫎PI霈曇恣](./02-API霈曇恣.md)
|
||
|
||
---
|
||
|
||
**<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>堆<EFBFBD>** YYYY-MM-DD
|
||
**蝏湔擪鈭綽<E988AD>** <20><><EFBFBD>舀沲<E88880><E6B2B2><EFBFBD>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|