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%)
This commit is contained in:
2026-01-14 19:15:01 +08:00
parent 3d35e9c58b
commit 1b53ab9d52
386 changed files with 52096 additions and 65238 deletions

View File

@@ -1,9 +1,9 @@
# AIA - AI<41><EFBFBD><E7AE84><EFBFBD><E79285>嚗𡁏㺭<F0A1818F><EFBFBD>霈曇恣
> **版本:** v1.0
> **更新时间:** 2025-11-12
> **数据库Schema** `aia_schema`
> **状态:** ✅ 已实施并迁移
> **<EFBFBD><EFBFBD>𧋦嚗?* v1.0
> **<EFBFBD>湔鰵<EFBFBD>園𡢿嚗?* 2025-11-12
> **<EFBFBD>唳旿摨廍chema嚗?* `aia_schema`
> **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>** <20>?撌脣<E6928C><E884A3>賢僎餈<E5838E>
---
@@ -23,19 +23,19 @@
### <20><EFBFBD>摰帋<E691B0>
**AIAAI Intelligent Assistant- AI智能问答模块**是平台的核心对话引擎,提供:
**AIA嚗㇁I Intelligent Assistant嚗? AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**<EFBFBD>臬像<EFBFBD><EFBFBD><EFBFBD><EFBFBD>撖寡<EFBFBD>撘閙<EFBFBD>嚗峕<EFBFBD>靘𨥈<EFBFBD>
1. **憿寧𤌍蝞∠<E89D9E>** - <20>𠉛弦憿寧𤌍<E5AFA7><F0A48C8D><EFBFBD>撱箏<E692B1>蝞∠<E89D9E>
2. **智能对话** - 基于LLM的专业领域对话
2. **<EFBFBD><EFBFBD>撖寡<EFBFBD>** - <EFBFBD><EFBFBD>LLM<EFBFBD><EFBFBD><EFBFBD>銝𡁻<EFBFBD><EFBFBD>笔笆霂?
3. **<EFBFBD>𡁶鍂<EFBFBD><EFBFBD>** - 銝滨<E98A9D>摰𡁻★<F0A181BB><EFBFBD><E6A183>𡁶鍂AI撖寡<E69296>
4. **消息管理** - 对话历史记录和检索
4. **<EFBFBD><EFBFBD>蝞∠<EFBFBD>** - 撖寡<EFBFBD><EFBFBD><EFBFBD>蟮霈啣<EFBFBD><EFBFBD><EFBFBD>蝝?
### <20><EFBFBD>銝𡁜𦛚<F0A1819C>箸艶
- <20><EFBFBD><E586BD>𥕦遣銝游<E98A9D><E6B8B8>𠉛弦憿寧𤌍
- <20>券★<E588B8><EFBFBD>銝垾I餈𥡝<E9A488>銝㮖<E98A9D>撖寡<E69296>
- 使用通用对话功能快速咨询
- 查看和管理对话历史
- 雿輻鍂<EFBFBD>𡁶鍂撖寡<EFBFBD><EFBFBD><EFBFBD>敹恍<EFBFBD>笔倮霂?
- <EFBFBD><EFBFBD><EFBFBD>𣬚恣<EFBFBD><EFBFBD>笆霂嘥<EFBFBD><EFBFBD>?
---
@@ -53,45 +53,45 @@ GRANT ALL ON SCHEMA aia_schema TO aiclinical_admin;
```
### <20>唳旿餈<E697BF>
- **迁移时间:** 2025-11-12
- **源Schema** public
- **迁移脚本:** `docs/09-架构实施/migration-scripts/003-migrate-aia.sql`
- **数据完整性:** 100%迁移成功
- **<EFBFBD><EFBFBD>園𡢿嚗?* 2025-11-12
- **皞𠩐chema嚗?* public
- **<EFBFBD><EFBFBD>𡁏𧋦嚗?* `docs/09-<EFBFBD><EFBFBD>摰墧鴌/migration-scripts/003-migrate-aia.sql`
- **<EFBFBD>唳旿摰峕㟲<EFBFBD><EFBFBD>** <EFBFBD>?100%<EFBFBD><EFBFBD>𣂼<EFBFBD>
---
## <20>唳旿摨栞”霈曇恣
### 表列表
### 銵典<EFBFBD>銵?
| 表名 | 用途 | 行数(估计) | 状态 |
| 銵典<EFBFBD> | <20><EFBFBD>?| 銵峕㺭嚗<E3BAAD>摯霈∴<E99C88> | <20><EFBFBD>?|
|------|------|------------|------|
| `projects` | 研究项目 | 1-100/用户 | ✅ 已部署 |
| `conversations` | 项目对话 | 10-500/项目 | ✅ 已部署 |
| `messages` | 对话消息 | 10-1000/对话 | ✅ 已部署 |
| `general_conversations` | 通用对话 | 10-100/用户 | ✅ 已部署 |
| `general_messages` | 通用对话消息 | 10-1000/对话 | ✅ 已部署 |
| `projects` | <EFBFBD>𠉛弦憿寧𤌍 | 1-100/<EFBFBD><EFBFBD> | <20>?撌脤<E6928C>蝵?|
| `conversations` | 憿寧𤌍撖寡<EFBFBD> | 10-500/憿寧𤌍 | <20>?撌脤<E6928C>蝵?|
| `messages` | 撖寡<EFBFBD><EFBFBD><EFBFBD> | 10-1000/撖寡<EFBFBD> | <20>?撌脤<E6928C>蝵?|
| `general_conversations` | <EFBFBD>𡁶鍂撖寡<EFBFBD> | 10-100/<EFBFBD><EFBFBD> | <20>?撌脤<E6928C>蝵?|
| `general_messages` | <EFBFBD>𡁶鍂撖寡<EFBFBD><EFBFBD><EFBFBD> | 10-1000/撖寡<EFBFBD> | <20>?撌脤<E6928C>蝵?|
**总计:** 5个表
**<EFBFBD>餉恣嚗?* 5銝芾”
---
### 1. projects - 研究项目表
### 1. projects - <EFBFBD>𠉛弦憿寧𤌍銵?
**用途:** 存储用户创建的临床研究项目
**<EFBFBD><EFBFBD><EFBFBD>** 摮睃<E691AE><E79D83><EFBFBD><E586BD>𥕦遣<F0A595A6><E981A3>葩摨羓<E691A8>蝛園★<E59C92>?
#### 表结构
#### 銵函<EFBFBD><EFBFBD>?
| 字段名 | 数据类型 | 约束 | 说明 |
| 摮埈挾<EFBFBD>?| <20>唳旿蝐餃<E89D90> | 蝥行<E89DA5> | 霂湔<E99C82> |
|--------|---------|------|------|
| id | TEXT | PRIMARY KEY | 项目唯一标识UUID |
| id | TEXT | PRIMARY KEY | 憿寧𤌍<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗㇎UID嚗?|
| user_id | TEXT | NOT NULL, FK | <20><>撅䂿鍂<E482BF>弒D |
| name | TEXT | NOT NULL | 憿寧𤌍<E5AFA7>滨妍 |
| background | TEXT | NULL | <20>𠉛弦<F0A0899B>峕艶 |
| research_type | TEXT | NULL | <20>𠉛弦蝐餃<E89D90>嚗èbservational/experimental蝑㚁<E89D91> |
| created_at | TIMESTAMPTZ | NOT NULL, DEFAULT now() | <20>𥕦遣<F0A595A6>園𡢿 |
| updated_at | TIMESTAMPTZ | NOT NULL | <20>湔鰵<E6B994>園𡢿 |
| deleted_at | TIMESTAMPTZ | NULL | 软删除时间 |
| deleted_at | TIMESTAMPTZ | NULL | 頧臬<EFBFBD><EFBFBD>斗𧒄<EFBFBD>?|
#### Prisma Model
@@ -120,32 +120,32 @@ model Project {
#### 銝𡁜𦛚閫<F0A69B9A><E996AB>
1. **软删除机制** - 使用`deleted_at`标记删除,不物理删除
1. **頧臬<EFBFBD><EFBFBD>斗㦤<EFBFBD>?* - 雿輻鍂`deleted_at`<EFBFBD><EFBFBD><EFBFBD>𣳇膄嚗䔶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣳇膄
2. **蝥扯<E89DA5><E689AF>𣳇膄** - <20>𣳇膄憿寧𤌍<E5AFA7><EFBFBD><E5A19A><EFBFBD><E594BE><EFBFBD>笆霂苷<E99C82>鋡怨蔓<E680A8>𣳇膄
3. **<EFBFBD><EFBFBD><EFBFBD>𠉛氖** - <20><EFBFBD>`user_id`摰䂿緵<EFBFBD>唳旿<EFBFBD>𠉛氖
---
### 2. conversations - 项目对话表
### 2. conversations - 憿寧𤌍撖寡<EFBFBD>銵?
**<EFBFBD><EFBFBD><EFBFBD>** 摮睃<E691AE>憿寧𤌍<E5AFA7><F0A48C8D><EFBFBD>AI撖寡<E69296>隡朞<E99AA1>
#### 表结构
#### 銵函<EFBFBD><EFBFBD>?
| 字段名 | 数据类型 | 约束 | 说明 |
| 摮埈挾<EFBFBD>?| <20>唳旿蝐餃<E89D90> | 蝥行<E89DA5> | 霂湔<E99C82> |
|--------|---------|------|------|
| id | TEXT | PRIMARY KEY | 对话唯一标识UUID |
| id | TEXT | PRIMARY KEY | 撖寡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗㇎UID嚗?|
| user_id | TEXT | NOT NULL, FK | <20><>撅䂿鍂<E482BF>弒D |
| project_id | TEXT | NULL, FK | <20><>撅鮋★<E9AE8B>埋D嚗<44><EFBFBD><EFBFBD> |
| agent_id | TEXT | NOT NULL | <20><EFBFBD>雿𨧻D |
| title | TEXT | NOT NULL | 撖寡<E69296><E5AFA1><EFBFBD><EFBFBD> |
| model_name | TEXT | NOT NULL, DEFAULT 'deepseek-v3' | 雿輻鍂<E8BCBB><E98D82>LM璅<E79285> |
| message_count | INTEGER | NOT NULL, DEFAULT 0 | 瘨<><E798A8><EFBFBD><EFBFBD> |
| total_tokens | INTEGER | NOT NULL, DEFAULT 0 | 累计token|
| metadata | JSONB | NULL | 扩展元数据 |
| total_tokens | INTEGER | NOT NULL, DEFAULT 0 | 蝝航恣token<EFBFBD>?|
| metadata | JSONB | NULL | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?|
| created_at | TIMESTAMPTZ | NOT NULL, DEFAULT now() | <20>𥕦遣<F0A595A6>園𡢿 |
| updated_at | TIMESTAMPTZ | NOT NULL | <20>湔鰵<E6B994>園𡢿 |
| deleted_at | TIMESTAMPTZ | NULL | 软删除时间 |
| deleted_at | TIMESTAMPTZ | NULL | 頧臬<EFBFBD><EFBFBD>斗𧒄<EFBFBD>?|
#### Prisma Model
@@ -181,28 +181,28 @@ model Conversation {
#### 銝𡁜𦛚閫<F0A69B9A><E996AB>
1. **项目关联可选** - `project_id`可为空,支持项目内外对话
2. **计数器字段** - `message_count``total_tokens`用于统计,需要实时更新
1. **憿寧𤌍<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?* - `project_id`<EFBFBD>臭蛹蝛綽<EFBFBD><EFBFBD><EFBFBD>憿寧𤌍<EFBFBD><EFBFBD><EFBFBD>撖寡<EFBFBD>
2. **霈⊥㺭<EFBFBD><EFBFBD>畾?* - `message_count`<EFBFBD>total_tokens`<EFBFBD><EFBFBD>蝏蠘恣嚗屸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嗆凒<EFBFBD>?
3. **璅<E79285><E288AA>㗇𥋘** - <20><EFBFBD>憭𡁶<E686AD>LLM璅<E79285>嚗Ê̌eepseek-v3/gpt-5-pro/claude-4.5蝑㚁<EFBFBD>
4. **扩展元数据** - `metadata`用于存储配置参数、上下文等
4. **<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?* - `metadata`<EFBFBD><EFBFBD>摮睃<EFBFBD><EFBFBD>滨蔭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝𧢲<EFBFBD>蝑?
---
### 3. messages - 对话消息表
### 3. messages - 撖寡<EFBFBD><EFBFBD><EFBFBD>銵?
**<EFBFBD><EFBFBD><EFBFBD>** 摮睃<E691AE>撖寡<E69296>銝剔<E98A9D>瘥𤩺辺瘨<E8BEBA><E798A8>
#### 表结构
#### 銵函<EFBFBD><EFBFBD>?
| 字段名 | 数据类型 | 约束 | 说明 |
| 摮埈挾<EFBFBD>?| <20>唳旿蝐餃<E89D90> | 蝥行<E89DA5> | 霂湔<E99C82> |
|--------|---------|------|------|
| id | TEXT | PRIMARY KEY | 消息唯一标识UUID |
| id | TEXT | PRIMARY KEY | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗㇎UID嚗?|
| conversation_id | TEXT | NOT NULL, FK | <20><>撅𧼮笆霂䣺D |
| role | TEXT | NOT NULL | 角色user/assistant/system |
| role | TEXT | NOT NULL | 閫坿𠧧嚗óser/assistant/system嚗?|
| content | TEXT | NOT NULL | 瘨<><E798A8><EFBFBD><EFBFBD>捆 |
| model | TEXT | NULL | 使用的模型(assistant消息) |
| metadata | JSONB | NULL | 扩展元数据 |
| tokens | INTEGER | NULL | 消息token|
| model | TEXT | NULL | 雿輻鍂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>assistant<EFBFBD><EFBFBD>嚗?|
| metadata | JSONB | NULL | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?|
| tokens | INTEGER | NULL | <EFBFBD><EFBFBD>token<EFBFBD>?|
| is_pinned | BOOLEAN | NOT NULL, DEFAULT false | <20>臬炏蝵桅▲ |
| created_at | TIMESTAMPTZ | NOT NULL, DEFAULT now() | <20>𥕦遣<F0A595A6>園𡢿 |
@@ -234,27 +234,27 @@ model Message {
#### 銝𡁜𦛚閫<F0A69B9A><E996AB>
1. **閫坿𠧧蝐餃<E89D90>** - `role`<EFBFBD><EFBFBD>銝槁user`<60><>assistant`<EFBFBD>飜system`
2. **只读性** - 消息一旦创建不可修改(只有`is_pinned`可修改)
2. **<EFBFBD>芾粉<EFBFBD>?* - 瘨<><E798A8><EFBFBD><E98A9D><EFBFBD>撱箔<E692B1><E7AE94>臭耨<E887AD><EFBFBD><E5B08D><EFBFBD>`is_pinned`<EFBFBD>臭耨<EFBFBD><EFBFBD>
3. **蝥扯<E89DA5><E689AF>𣳇膄** - <20>𣳇膄撖寡<E69296><E5AFA1><EFBFBD><EFBFBD><E798A8><EFBFBD>芸𢆡<E88AB8>𣳇膄
4. **蝵桅▲<E6A185><EFBFBD>** - <20><EFBFBD><EFBFBD><E798A8><EFBFBD><EFBFBD><EFBFBD>`is_pinned`<EFBFBD><EFBFBD>
---
### 4. general_conversations - 通用对话表
### 4. general_conversations - <EFBFBD>𡁶鍂撖寡<EFBFBD>銵?
**<EFBFBD><EFBFBD><EFBFBD>** 摮睃<E691AE>銝滨<E98A9D>摰𡁻★<F0A181BB><EFBFBD><E6A183>𡁶鍂AI撖寡<E69296>
#### 表结构
#### 銵函<EFBFBD><EFBFBD>?
| 字段名 | 数据类型 | 约束 | 说明 |
| 摮埈挾<EFBFBD>?| <20>唳旿蝐餃<E89D90> | 蝥行<E89DA5> | 霂湔<E99C82> |
|--------|---------|------|------|
| id | TEXT | PRIMARY KEY | 对话唯一标识UUID |
| id | TEXT | PRIMARY KEY | 撖寡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗㇎UID嚗?|
| user_id | TEXT | NOT NULL, FK | <20><>撅䂿鍂<E482BF>弒D |
| title | TEXT | NOT NULL | 撖寡<E69296><E5AFA1><EFBFBD><EFBFBD> |
| model_name | TEXT | NOT NULL, DEFAULT 'qwen-long' | 雿輻鍂<E8BCBB><E98D82>LM璅<E79285> |
| created_at | TIMESTAMPTZ | NOT NULL, DEFAULT now() | <20>𥕦遣<F0A595A6>園𡢿 |
| updated_at | TIMESTAMPTZ | NOT NULL | <20>湔鰵<E6B994>園𡢿 |
| deleted_at | TIMESTAMPTZ | NULL | 软删除时间 |
| deleted_at | TIMESTAMPTZ | NULL | 頧臬<EFBFBD><EFBFBD>斗𧒄<EFBFBD>?|
#### Prisma Model
@@ -282,25 +282,25 @@ model GeneralConversation {
#### 銝𡁜𦛚閫<F0A69B9A><E996AB>
1. **轻量级对话** - 不需要项目和智能体关联
2. **快速咨询** - 用于用户的临时问题和快速查询
1. **頧駁<EFBFBD>蝥批笆霂?* - 銝漤<E98A9D><EFBFBD><EFBFBD><EFBFBD><E6A180><EFBFBD>雿枏<E99BBF><E69E8F>?
2. **敹恍<EFBFBD>笔倮霂?* - <20><EFBFBD><E585B6><EFBFBD><E586BD><EFBFBD><EFBFBD>園䔮憸睃<E686B8>敹恍<E695B9><E6818D>䰻霂?
3. **<EFBFBD><EFBFBD>蝞∠<EFBFBD>** - 銝𡡞★<F0A1A19E>桀笆霂嘥<E99C82><EFBFBD>蝞∠<E89D9E>
---
### 5. general_messages - 通用对话消息表
### 5. general_messages - <EFBFBD>𡁶鍂撖寡<EFBFBD><EFBFBD><EFBFBD>銵?
**<EFBFBD><EFBFBD><EFBFBD>** 摮睃<E691AE><E79D83>𡁶鍂撖寡<E69296>銝剔<E98A9D>瘥𤩺辺瘨<E8BEBA><E798A8>
#### 表结构
#### 銵函<EFBFBD><EFBFBD>?
| 字段名 | 数据类型 | 约束 | 说明 |
| 摮埈挾<EFBFBD>?| <20>唳旿蝐餃<E89D90> | 蝥行<E89DA5> | 霂湔<E99C82> |
|--------|---------|------|------|
| id | TEXT | PRIMARY KEY | 消息唯一标识UUID |
| id | TEXT | PRIMARY KEY | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗㇎UID嚗?|
| conversation_id | TEXT | NOT NULL, FK | <20><>撅𧼮笆霂䣺D |
| role | TEXT | NOT NULL | 角色user/assistant/system |
| role | TEXT | NOT NULL | 閫坿𠧧嚗óser/assistant/system嚗?|
| content | TEXT | NOT NULL | 瘨<><E798A8><EFBFBD><EFBFBD>捆 |
| metadata | JSONB | NULL | 扩展元数据 |
| metadata | JSONB | NULL | <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?|
| created_at | TIMESTAMPTZ | NOT NULL, DEFAULT now() | <20>𥕦遣<F0A595A6>園𡢿 |
#### Prisma Model
@@ -326,7 +326,7 @@ model GeneralMessage {
#### 銝𡁜𦛚閫<F0A69B9A><E996AB>
1. **简化设计** - 相比项目消息去掉了token统计和置顶功能
1. **<EFBFBD><EFBFBD>𤥁挽霈?* - <20><EFBFBD>憿寧𤌍瘨<F0A48C8D><E798A8><EFBFBD><EFBFBD><EFBFBD>token蝏蠘恣<E8A098>𣬚蔭憿嗅<E686BF><E59785>?
2. **蝥扯<E89DA5><E689AF>𣳇膄** - <20>𣳇膄撖寡<E69296><E5AFA1><EFBFBD><EFBFBD><E798A8><EFBFBD>芸𢆡<E88AB8>𣳇膄
---
@@ -398,51 +398,51 @@ erDiagram
### 頝沒chema撘閧鍂
**外键关系:**
- `projects.user_id` `platform_schema.users.id`
- `conversations.user_id` `platform_schema.users.id`
- `general_conversations.user_id` `platform_schema.users.id`
**憭㚚睸<EFBFBD>喟頂嚗?*
- `projects.user_id` <EFBFBD>?`platform_schema.users.id`
- `conversations.user_id` <EFBFBD>?`platform_schema.users.id`
- `general_conversations.user_id` <EFBFBD>?`platform_schema.users.id`
**说明:** Prisma自动处理跨Schema外键应用代码无需关心Schema前缀
**霂湔<EFBFBD>嚗?* Prisma<6D>芸𢆡憭<F0A286A1><E686AD>頝沒chema憭㚚睸嚗<E79DB8><E59A97><EFBFBD>其誨<E585B6><E8AAA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Schema<EFBFBD><EFBFBD>
---
## 蝝<E89D9D>霈曇恣
### 銝駁睸蝝<E89D9D>
所有表的`id`字段自动创建B-tree主键索引。
<EFBFBD><EFBFBD><EFBFBD>㕑”<EFBFBD><EFBFBD>id`摮埈挾<E59F88>芸𢆡<E88AB8>𥕦遣B-tree銝駁睸蝝<E89D9D><EFBCB7>?
### 憭㚚睸蝝<E89D9D>
| 表名 | 索引字段 | 用途 |
| 銵典<EFBFBD> | 蝝<E89D9D>摮埈挾 | <20><EFBFBD>?|
|------|---------|------|
| projects | user_id | 查询用户的所有项目 |
| conversations | user_id | 查询用户的所有对话 |
| projects | user_id | <EFBFBD>亥砭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>厰★<EFBFBD>?|
| conversations | user_id | <EFBFBD>亥砭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>匧笆霂?|
| conversations | project_id | <20>亥砭憿寧𤌍<E5AFA7><F0A48C8D><EFBFBD>撖寡<E69296> |
| conversations | agent_id | <20>㗇惣<E39787><EFBFBD><EFBFBD>誘撖寡<E69296> |
| messages | conversation_id | 查询对话的所有消息 |
| messages | conversation_id | <EFBFBD>亥砭撖寡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?|
| general_conversations | user_id | <20>亥砭<E4BAA5><EFBFBD><E586BD><EFBFBD><EFBFBD>𡁶鍂撖寡<E69296> |
| general_messages | conversation_id | 查询对话的所有消息 |
| general_messages | conversation_id | <EFBFBD>亥砭撖寡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?|
### <20>園𡢿蝝<E89D9D>
| 表名 | 索引字段 | 用途 |
| 銵典<EFBFBD> | 蝝<E89D9D>摮埈挾 | <20><EFBFBD>?|
|------|---------|------|
| projects | created_at | 按时间排序项目 |
| projects | deleted_at | 过滤已删除项目 |
| conversations | created_at | 按时间排序对话 |
| conversations | updated_at | 按更新时间排序 |
| conversations | deleted_at | 过滤已删除对话 |
| messages | created_at | 按时间排序消息 |
| general_conversations | created_at | 按时间排序对话 |
| general_conversations | updated_at | 按更新时间排序 |
| general_messages | created_at | 按时间排序消息 |
| projects | created_at | <EFBFBD>㗇𧒄<EFBFBD><EFBFBD>摨誯★<EFBFBD>?|
| projects | deleted_at | <EFBFBD>誘撌脣<EFBFBD><EFBFBD>日★<EFBFBD>?|
| conversations | created_at | <EFBFBD>㗇𧒄<EFBFBD><EFBFBD>摨誩笆霂?|
| conversations | updated_at | <EFBFBD>㗇凒<EFBFBD>唳𧒄<EFBFBD><EFBFBD>摨?|
| conversations | deleted_at | <EFBFBD>誘撌脣<EFBFBD><EFBFBD>文笆霂?|
| messages | created_at | <EFBFBD>㗇𧒄<EFBFBD><EFBFBD>摨𤩺<EFBFBD><EFBFBD>?|
| general_conversations | created_at | <EFBFBD>㗇𧒄<EFBFBD><EFBFBD>摨誩笆霂?|
| general_conversations | updated_at | <EFBFBD>㗇凒<EFBFBD>唳𧒄<EFBFBD><EFBFBD>摨?|
| general_messages | created_at | <EFBFBD>㗇𧒄<EFBFBD><EFBFBD>摨𤩺<EFBFBD><EFBFBD>?|
### <20><EFBFBD><E89D9D>
| 表名 | 索引字段 | 用途 |
| 銵典<EFBFBD> | 蝝<E89D9D>摮埈挾 | <20><EFBFBD>?|
|------|---------|------|
| messages | is_pinned | 快速查询置顶消息 |
| messages | is_pinned | 敹恍<EFBFBD><EFBFBD>䰻霂蔭憿嗆<EFBFBD><EFBFBD>?|
---
@@ -450,18 +450,18 @@ erDiagram
### 銝駁睸蝐餃<E89D90>嚗関EXT vs UUID
**当前实现:** TEXT
**敶枏<E695B6>摰䂿緵嚗?* TEXT
```sql
id TEXT PRIMARY KEY
```
**UUID生成:** Prisma `@default(uuid())`
**UUID<EFBFBD><EFBFBD><EFBFBD>嚗?* Prisma `@default(uuid())`
```prisma
id String @id @default(uuid())
```
**说明:**
- 存储格式字符串形式的UUID`"a6ce8b46-bac6-4284-a9ae-031d636086bc"`
**霂湔<EFBFBD>嚗?*
- 摮睃<E691AE><E79D83><EFBFBD>嚗𡁜<E59A97>蝚虫葡敶<E695B6><EFBCB7><EFBFBD>UID嚗<44><E59A97>`"a6ce8b46-bac6-4284-a9ae-031d636086bc"`嚗?
- 隡条<E99AA1>嚗帋<E59A97><E5B88B><EFBFBD><EFBFBD><E99A9E><EFBFBD>澆捆嚗峕<E59A97><E5B395><EFBFBD><EFBFBD>
- 蝝<E89D9D><EFBCB7><EFBFBD>嚗帋<E59A97><E5B88B><EFBFBD>UUID蝐餃<E89D90><E9A483><EFBFBD>
@@ -479,46 +479,46 @@ id String @id @default(uuid())
- `messages.metadata`
- `general_messages.metadata`
**优点:**
- 灵活的数据结构
- 支持GIN索引按需添加
- 支持JSONB操作符查询
**隡条<EFBFBD>嚗?*
- <EFBFBD>菜暑<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- <EFBFBD><EFBFBD>GIN蝝<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>瘛餃<EFBFBD>嚗?
- <EFBFBD><EFBFBD>JSONB<EFBFBD><EFBFBD>蝚行䰻霂?
---
## <20>䀹凒<E480B9><E58792>
### v1.0 - 2025-11-12 - 初始版本 ✅
### v1.0 - 2025-11-12 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦 <20>?
**变更内容:**
**<EFBFBD>䀹凒<EFBFBD><EFBFBD>捆嚗?*
1. 隞𥳾public` schema餈<61><EFBFBD>躬aia_schema`
2. 5个表全部迁移:
2. 5銝芾”<EFBFBD><EFBFBD><EFBFBD>宏嚗?
- projects
- conversations
- messages
- general_conversations
- general_messages
3. <20>沌risma銝剜溶<E5899C>鮏@@schema("aia_schema")`<60><>
4. 所有数据100%完整迁移
4. <EFBFBD><EFBFBD><EFBFBD>㗇㺭<EFBFBD>?00%摰峕㟲餈<E39FB2>
**迁移脚本:** `docs/09-架构实施/migration-scripts/003-migrate-aia.sql`
**<EFBFBD><EFBFBD>𡁏𧋦嚗?* `docs/09-<EFBFBD><EFBFBD>摰墧鴌/migration-scripts/003-migrate-aia.sql`
**验证状态:** ✅ 已验证,功能正常
**撉諹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>** <20>?撌脤<E6928C><EFBFBD><E99C82><EFBFBD><EFBFBD><EFBFBD>
---
## <20><> <20><EFBFBD><E8A9A8><EFBFBD>
- [Schema隔离架构设计](../../../09-架构实施/01-Schema隔离架构设计10个.md)
- [Schema<EFBFBD>𠉛氖<EFBFBD><EFBFBD>霈曇恣](../../../09-<EFBFBD><EFBFBD>摰墧鴌/01-Schema<EFBFBD>𠉛氖<EFBFBD><EFBFBD>霈曇恣嚗?0銝迎<E98A9D>.md)
- [Schema餈<EFBFBD>宏摰峕<EFBFBD><EFBFBD><EFBFBD>](../../../09-<2D><EFBFBD>摰墧鴌/Schema餈<61>宏摰峕<E691B0><E5B395><EFBFBD>.md)
- [Prisma<EFBFBD>滨蔭摰峕<EFBFBD><EFBFBD><EFBFBD>](../../../09-<2D><EFBFBD>摰墧鴌/Prisma<6D>滨蔭摰峕<E691B0><E5B395><EFBFBD>.md)
- [快速功能测试报告](../../../09-架构实施/快速功能测试报告.md)
- [敹恍<EFBFBD><EFBFBD><EFBFBD><EFBFBD>霂閙𥁒<EFBFBD>𠺖(../../../09-<2D><EFBFBD>摰墧鴌/敹恍<E695B9><EFBFBD><E7AC94><EFBFBD>霂閙𥁒<E99699>?md)
---
**<EFBFBD><EFBFBD>﹝蝏湔擪<EFBFBD><EFBFBD><EFBFBD>** AI<41><EFBFBD>
**<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD><EFBFBD>** 2025-11-12
**文档状态:** ✅ 已完成并验证
**<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>** <20>?撌脣<E6928C><E884A3>𣂼僎撉諹<E69289>