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:
@@ -1,9 +1,9 @@
|
||||
# PKB模块前端V3设计实现 - 开发记录
|
||||
# PKB妯″潡鍓嶇<EFBFBD>V3璁捐<EFBFBD>瀹炵幇 - 寮€鍙戣<E98D99>褰?
|
||||
|
||||
> **日期:** 2026-01-07
|
||||
> **开发者:** PKB开发团队
|
||||
> **版本:** v1.0
|
||||
> **状态:** ✅ 基础框架完成,待细化优化
|
||||
> **鏃ユ湡锛?* 2026-01-07
|
||||
> **寮€鍙戣€咃細** PKB寮€鍙戝洟闃?
|
||||
> **鐗堟湰锛?* v1.0
|
||||
> **鐘舵€侊細** 鉁?鍩虹<E98DA9>妗嗘灦瀹屾垚锛屽緟缁嗗寲浼樺寲
|
||||
|
||||
---
|
||||
|
||||
@@ -13,119 +13,119 @@
|
||||
|
||||
1. **鍚庣<E98D9A>妯″潡杩佺Щ**锛氬皢PKB鍚庣<E98D9A>浠g爜杩佺Щ鍒版柊鐨勬ā鍧楀寲鏋舵瀯
|
||||
2. **鍓嶇<E98D93>V3璁捐<E79281>瀹炵幇**锛氬熀浜庡師鍨嬪浘瀹炵幇Dashboard鍜學orkspace椤甸潰
|
||||
3. **3种工作模式实现**:全文阅读、逐篇精读、批处理
|
||||
3. **3绉嶅伐浣滄ā寮忓疄鐜?*锛氬叏鏂囬槄璇汇€侀€愮瘒绮捐<E7BBAE>銆佹壒澶勭悊
|
||||
4. **Chat缁勪欢闆嗘垚**锛氫娇鐢ˋnt Design X Chat缁勪欢瀹炵幇AI瀵硅瘽
|
||||
|
||||
---
|
||||
|
||||
## ✅ 完成的工作
|
||||
## 鉁?瀹屾垚鐨勫伐浣?
|
||||
|
||||
### 1. 鍚庣<E98D9A>妯″潡杩佺Щ
|
||||
|
||||
**迁移内容**:
|
||||
- 将Controller、Service、Route代码迁移到 `backend/src/modules/pkb/`
|
||||
**杩佺Щ鍐呭<EFBFBD>**锛?
|
||||
- 灏咰ontroller銆丼ervice銆丷oute浠g爜杩佺Щ鍒?`backend/src/modules/pkb/`
|
||||
- 鏇存柊import璺<74>緞
|
||||
- 注册新API路由 `/api/v2/pkb/*`
|
||||
- 娉ㄥ唽鏂癆PI璺<EFBFBD>敱 `/api/v1/pkb/*`
|
||||
- 淇濇寔鏃х増璺<E5A297>敱 `/api/v1/knowledge*` 鍏煎<E98D8F>
|
||||
|
||||
**目录结构**:
|
||||
**鐩<EFBFBD>綍缁撴瀯**锛?
|
||||
```
|
||||
backend/src/modules/pkb/
|
||||
鈹溾攢鈹€ controllers/
|
||||
│ ├── knowledgeBaseController.ts
|
||||
│ ├── documentController.ts
|
||||
│ └── batchController.ts
|
||||
鈹? 鈹溾攢鈹€ knowledgeBaseController.ts
|
||||
鈹? 鈹溾攢鈹€ documentController.ts
|
||||
鈹? 鈹斺攢鈹€ batchController.ts
|
||||
鈹溾攢鈹€ services/
|
||||
│ ├── knowledgeBaseService.ts
|
||||
│ ├── documentService.ts
|
||||
│ └── batchService.ts
|
||||
鈹? 鈹溾攢鈹€ knowledgeBaseService.ts
|
||||
鈹? 鈹溾攢鈹€ documentService.ts
|
||||
鈹? 鈹斺攢鈹€ batchService.ts
|
||||
鈹溾攢鈹€ routes/
|
||||
│ └── index.ts
|
||||
鈹? 鈹斺攢鈹€ index.ts
|
||||
鈹斺攢鈹€ index.ts
|
||||
```
|
||||
|
||||
**路由注册**:
|
||||
- v2路由:`/api/v2/pkb/knowledge`(新架构)
|
||||
**璺<EFBFBD>敱娉ㄥ唽**锛?
|
||||
- v2璺<EFBFBD>敱锛歚/api/v1/pkb/knowledge`锛堟柊鏋舵瀯锛?
|
||||
- v1璺<31>敱锛歚/api/v1/knowledge`銆乣/api/v1/batch-tasks`锛堝吋瀹癸級
|
||||
|
||||
### 2. 鍓嶇<E98D93>V3璁捐<E79281>瀹炵幇
|
||||
|
||||
**基于原型图**:
|
||||
- `知识库仪表盘V5.html` → DashboardPage
|
||||
- `工作台V3.html` → WorkspacePage
|
||||
**鍩轰簬鍘熷瀷鍥?*锛?
|
||||
- `鐭ヨ瘑搴撲华琛ㄧ洏V5.html` 鈫?DashboardPage
|
||||
- `宸ヤ綔鍙癡3.html` 鈫?WorkspacePage
|
||||
|
||||
**前端目录结构**:
|
||||
**鍓嶇<EFBFBD>鐩<EFBFBD>綍缁撴瀯**锛?
|
||||
```
|
||||
frontend-v2/src/modules/pkb/
|
||||
鈹溾攢鈹€ api/
|
||||
│ └── knowledgeBaseApi.ts # API客户端
|
||||
鈹? 鈹斺攢鈹€ knowledgeBaseApi.ts # API瀹㈡埛绔?
|
||||
鈹溾攢鈹€ stores/
|
||||
│ └── useKnowledgeBaseStore.ts # Zustand状态管理
|
||||
鈹? 鈹斺攢鈹€ useKnowledgeBaseStore.ts # Zustand鐘舵€佺<EFBFBD>鐞?
|
||||
鈹溾攢鈹€ pages/
|
||||
│ ├── DashboardPage.tsx # 仪表盘页面
|
||||
│ └── WorkspacePage.tsx # 工作台页面
|
||||
鈹? 鈹溾攢鈹€ DashboardPage.tsx # 浠<EFBFBD>〃鐩橀〉闈?
|
||||
鈹? 鈹斺攢鈹€ WorkspacePage.tsx # 宸ヤ綔鍙伴〉闈?
|
||||
鈹溾攢鈹€ components/
|
||||
│ └── Workspace/
|
||||
│ ├── WorkModeSelector.tsx # 工作模式选择器
|
||||
│ ├── FullTextMode.tsx # 全文阅读模式
|
||||
│ ├── DeepReadMode.tsx # 逐篇精读模式
|
||||
│ ├── BatchMode.tsx # 批处理模式
|
||||
│ └── BatchModeComplete.tsx # 批处理完整实现
|
||||
鈹? 鈹斺攢鈹€ Workspace/
|
||||
鈹? 鈹溾攢鈹€ WorkModeSelector.tsx # 宸ヤ綔妯″紡閫夋嫨鍣?
|
||||
鈹? 鈹溾攢鈹€ FullTextMode.tsx # 鍏ㄦ枃闃呰<EFBFBD>妯″紡
|
||||
鈹? 鈹溾攢鈹€ DeepReadMode.tsx # 閫愮瘒绮捐<EFBFBD>妯″紡
|
||||
鈹? 鈹溾攢鈹€ BatchMode.tsx # 鎵瑰<EFBFBD>鐞嗘ā寮?
|
||||
鈹? 鈹斺攢鈹€ BatchModeComplete.tsx # 鎵瑰<EFBFBD>鐞嗗畬鏁村疄鐜?
|
||||
鈹溾攢鈹€ hooks/
|
||||
│ └── useWorkMode.ts # 工作模式Hook
|
||||
鈹? 鈹斺攢鈹€ useWorkMode.ts # 宸ヤ綔妯″紡Hook
|
||||
鈹溾攢鈹€ types/
|
||||
│ └── index.ts # 类型定义
|
||||
鈹? 鈹斺攢鈹€ index.ts # 绫诲瀷瀹氫箟
|
||||
鈹斺攢鈹€ styles/
|
||||
└── workspace.css # 自定义样式
|
||||
鈹斺攢鈹€ workspace.css # 鑷<EFBFBD>畾涔夋牱寮?
|
||||
```
|
||||
|
||||
### 3. WorkspacePage甯冨眬璁捐<E79281>
|
||||
|
||||
**最终采用的布局**:
|
||||
**鏈€缁堥噰鐢ㄧ殑甯冨眬**锛?
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ [返回] │ 知识库名 │ [问答][资产] │ 设置 头像 │ Header 56px
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ [工作模式▼] [文档▼] 已加载 x/y 篇 │ 工作模式栏 40px
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ 聊天区域(最大化) │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────┘
|
||||
鈹屸攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?
|
||||
鈹?[杩斿洖] 鈹?鐭ヨ瘑搴撳悕 鈹?[闂<>瓟][璧勪骇] 鈹?璁剧疆 澶村儚 鈹?Header 56px
|
||||
鈹溾攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?
|
||||
鈹?[宸ヤ綔妯″紡鈻糫 [鏂囨。鈻糫 宸插姞杞?x/y 绡?鈹?宸ヤ綔妯″紡鏍?40px
|
||||
鈹溾攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?
|
||||
鈹? 鈹?
|
||||
鈹? 鑱婂ぉ鍖哄煙锛堟渶澶у寲锛? 鈹?
|
||||
鈹? 鈹?
|
||||
鈹斺攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?
|
||||
```
|
||||
|
||||
**设计特点**:
|
||||
**璁捐<EFBFBD>鐗圭偣**锛?
|
||||
- 鍗曞眰Header鏁村悎瀵艰埅鍜孴ab鍒囨崲
|
||||
- 紧凑的工作模式选择栏
|
||||
- 最大化的聊天区域
|
||||
- 全屏模式(fixed定位)
|
||||
- 绱у噾鐨勫伐浣滄ā寮忛€夋嫨鏍?
|
||||
- 鏈€澶у寲鐨勮亰澶╁尯鍩?
|
||||
- 鍏ㄥ睆妯″紡锛坒ixed瀹氫綅锛?
|
||||
|
||||
### 4. 3种工作模式
|
||||
### 4. 3绉嶅伐浣滄ā寮?
|
||||
|
||||
| 妯″紡 | 璇存槑 | 鍚庣<E98D9A>API |
|
||||
|------|------|---------|
|
||||
| **鍏ㄦ枃闃呰<E99783>** | 鍔犺浇鍏ㄩ儴鏂囨。锛孉I鍏峰<E98D8F>鍏ㄧ煡瑙嗚<E79199> | `/api/v1/chat/stream` |
|
||||
| **逐篇精读** | 选择1-5篇文档深度解读 | `/api/v1/chat/stream` |
|
||||
| **批处理** | 批量提取信息,生成结构化表格 | `/api/v1/batch-tasks` |
|
||||
| **閫愮瘒绮捐<EFBFBD>** | 閫夋嫨1-5绡囨枃妗f繁搴﹁В璇?| `/api/v1/chat/stream` |
|
||||
| **鎵瑰<EFBFBD>鐞?* | 鎵归噺鎻愬彇淇℃伅锛岀敓鎴愮粨鏋勫寲琛ㄦ牸 | `/api/v1/batch-tasks` |
|
||||
|
||||
### 5. Chat缁勪欢闆嗘垚
|
||||
|
||||
**使用Ant Design X Chat组件**:
|
||||
**浣跨敤Ant Design X Chat缁勪欢**锛?
|
||||
- 澶嶇敤 `frontend-v2/src/shared/components/Chat/`
|
||||
- 鏀<>寔SSE娴佸紡鍝嶅簲
|
||||
- 鑷<>畾涔夋秷鎭<E7A7B7>覆鏌擄紙寮曠敤鏍煎紡鍖栵級
|
||||
- 上下文管理
|
||||
- 涓婁笅鏂囩<EFBFBD>鐞?
|
||||
|
||||
---
|
||||
|
||||
## 🔧 技术细节
|
||||
## 馃敡 鎶€鏈<E282AC>粏鑺?
|
||||
|
||||
### API璋冪敤閰嶇疆
|
||||
|
||||
```typescript
|
||||
// knowledgeBaseApi.ts
|
||||
const api = axios.create({
|
||||
baseURL: `${API_BASE_URL}/api/v2/pkb`,
|
||||
baseURL: `${API_BASE_URL}/api/v1/pkb`,
|
||||
timeout: 30000,
|
||||
});
|
||||
|
||||
@@ -135,20 +135,20 @@ const chatApi = axios.create({
|
||||
});
|
||||
```
|
||||
|
||||
### 状态管理
|
||||
### 鐘舵€佺<EFBFBD>鐞?
|
||||
|
||||
浣跨敤Zustand绠$悊鍏ㄥ眬鐘舵€侊細
|
||||
- 知识库列表
|
||||
- 当前知识库
|
||||
- 鐭ヨ瘑搴撳垪琛?
|
||||
- 褰撳墠鐭ヨ瘑搴?
|
||||
- 鏂囨。鍒楄〃
|
||||
- 宸ヤ綔妯″紡
|
||||
- 选中的文档
|
||||
- 閫変腑鐨勬枃妗?
|
||||
|
||||
### 鏍峰紡鏂规<E98F82>
|
||||
|
||||
- TailwindCSS浣滀负涓昏<E6B693>鏍峰紡鏂规<E98F82>
|
||||
- Ant Design组件库
|
||||
- 自定义CSS处理特殊样式(workspace.css)
|
||||
- Ant Design缁勪欢搴?
|
||||
- 鑷<EFBFBD>畾涔塁SS澶勭悊鐗规畩鏍峰紡锛坵orkspace.css锛?
|
||||
|
||||
---
|
||||
|
||||
@@ -156,32 +156,32 @@ const chatApi = axios.create({
|
||||
|
||||
### 1. 鎵瑰<E98EB5>鐞嗘墽琛屽姛鑳藉緟璋冭瘯
|
||||
- **闂<><E99782>**锛氭壒澶勭悊妯″紡鏃犳硶鎵ц<E98EB5>
|
||||
- **原因**:后端API `/api/v1/batch-tasks` 需要验证
|
||||
- **优先级**:🔴 高
|
||||
- **鍘熷洜**锛氬悗绔疉PI `/api/v1/batch-tasks` 闇€瑕侀獙璇?
|
||||
- **浼樺厛绾?*锛氿煍?楂?
|
||||
|
||||
### 2. 知识资产页面导航条
|
||||
### 2. 鐭ヨ瘑璧勪骇椤甸潰瀵艰埅鏉?
|
||||
- **闂<><E99782>**锛氱煡璇嗚祫浜ч〉闈㈢己灏戝<E7818F>鑸<EFBFBD>潯
|
||||
- **影响**:用户无法在资产页面进行筛选操作
|
||||
- **优先级**:🟡 中
|
||||
- **褰卞搷**锛氱敤鎴锋棤娉曞湪璧勪骇椤甸潰杩涜<E69DA9>绛涢€夋搷浣?
|
||||
- **浼樺厛绾?*锛氿煙?涓?
|
||||
|
||||
### 3. UI精细化
|
||||
- **问题**:与原型图仍有差距,需要进一步优化
|
||||
- **影响**:用户体验
|
||||
- **优先级**:🟡 中
|
||||
### 3. UI绮剧粏鍖?
|
||||
- **闂<EFBFBD><EFBFBD>**锛氫笌鍘熷瀷鍥句粛鏈夊樊璺濓紝闇€瑕佽繘涓€姝ヤ紭鍖?
|
||||
- **褰卞搷**锛氱敤鎴蜂綋楠?
|
||||
- **浼樺厛绾?*锛氿煙?涓?
|
||||
|
||||
---
|
||||
|
||||
## 📝 下一步计划
|
||||
## 馃摑 涓嬩竴姝ヨ<E5A79D>鍒?
|
||||
|
||||
### 楂樹紭鍏堢骇
|
||||
1. 璋冭瘯鎵瑰<E98EB5>鐞咥PI鎵ц<E98EB5>鍔熻兘
|
||||
2. 完善知识资产页面导航条
|
||||
3. 引用格式化优化
|
||||
2. 瀹屽杽鐭ヨ瘑璧勪骇椤甸潰瀵艰埅鏉?
|
||||
3. 寮曠敤鏍煎紡鍖栦紭鍖?
|
||||
|
||||
### 涓<>紭鍏堢骇
|
||||
4. UI精细化(与原型图对比优化)
|
||||
4. UI绮剧粏鍖栵紙涓庡師鍨嬪浘瀵规瘮浼樺寲锛?
|
||||
5. 閿欒<E996BF>澶勭悊瀹屽杽
|
||||
6. 加载状态优化
|
||||
6. 鍔犺浇鐘舵€佷紭鍖?
|
||||
|
||||
### 浣庝紭鍏堢骇
|
||||
7. RAG妫€绱㈡ā寮忓疄鐜帮紙鍚庣<E98D9A>寰呭紑鍙戯級
|
||||
@@ -194,39 +194,40 @@ const chatApi = axios.create({
|
||||
| 鏂囦欢 | 琛屾暟 | 璇存槑 |
|
||||
|------|------|------|
|
||||
| WorkspacePage.tsx | ~513 | 宸ヤ綔鍙颁富椤甸潰 |
|
||||
| DashboardPage.tsx | ~450 | 仪表盘页面 |
|
||||
| BatchModeComplete.tsx | ~511 | 批处理完整实现 |
|
||||
| WorkModeSelector.tsx | ~200 | 工作模式选择器 |
|
||||
| DashboardPage.tsx | ~450 | 浠<EFBFBD>〃鐩橀〉闈?|
|
||||
| BatchModeComplete.tsx | ~511 | 鎵瑰<EFBFBD>鐞嗗畬鏁村疄鐜?|
|
||||
| WorkModeSelector.tsx | ~200 | 宸ヤ綔妯″紡閫夋嫨鍣?|
|
||||
| FullTextMode.tsx | ~150 | 鍏ㄦ枃闃呰<E99783>妯″紡 |
|
||||
| DeepReadMode.tsx | ~150 | 閫愮瘒绮捐<E7BBAE>妯″紡 |
|
||||
| knowledgeBaseApi.ts | ~200 | API客户端 |
|
||||
| useKnowledgeBaseStore.ts | ~150 | 状态管理 |
|
||||
| **总计** | **~2300行** | PKB前端模块 |
|
||||
| knowledgeBaseApi.ts | ~200 | API瀹㈡埛绔?|
|
||||
| useKnowledgeBaseStore.ts | ~150 | 鐘舵€佺<EFBFBD>鐞?|
|
||||
| **鎬昏<EFBFBD>** | **~2300琛?* | PKB鍓嶇<EFBFBD>妯″潡 |
|
||||
|
||||
---
|
||||
|
||||
## 馃幆 鎬荤粨
|
||||
|
||||
浠婂ぉ瀹屾垚浜哖KB妯″潡鐨勬牳蹇冨墠绔<EFBFBD><EFBFBD>鏋舵惌寤猴紝瀹炵幇浜嗭細
|
||||
- ✅ 后端模块迁移和路由注册
|
||||
- ✅ 前端V3设计基础实现
|
||||
- ✅ 3种工作模式框架
|
||||
- ✅ Chat组件集成
|
||||
- ✅ 响应式布局
|
||||
- 鉁?鍚庣<E98D9A>妯″潡杩佺Щ鍜岃矾鐢辨敞鍐?
|
||||
- 鉁?鍓嶇<E98D93>V3璁捐<E79281>鍩虹<E98DA9>瀹炵幇
|
||||
- 鉁?3绉嶅伐浣滄ā寮忔<E5AFAE>鏋?
|
||||
- 鉁?Chat缁勪欢闆嗘垚
|
||||
- 鉁?鍝嶅簲寮忓竷灞€
|
||||
|
||||
虽然还有一些功能需要调试和优化,但整体架构已经搭建完成,可以作为后续开发的基础。
|
||||
铏界劧杩樻湁涓€浜涘姛鑳介渶瑕佽皟璇曞拰浼樺寲锛屼絾鏁翠綋鏋舵瀯宸茬粡鎼<EFBFBD>缓瀹屾垚锛屽彲浠ヤ綔涓哄悗缁<EFBFBD>紑鍙戠殑鍩虹<EFBFBD>銆?
|
||||
|
||||
---
|
||||
|
||||
**Git提交**:
|
||||
**Git鎻愪氦**锛?
|
||||
```
|
||||
5a17d09 feat(pkb): Complete PKB module frontend migration with V3 design
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**文档编写时间**:2026-01-07
|
||||
**下次更新**:批处理功能调试完成后
|
||||
**鏂囨。缂栧啓鏃堕棿**锛?026-01-07
|
||||
**涓嬫<EFBFBD>鏇存柊**锛氭壒澶勭悊鍔熻兘璋冭瘯瀹屾垚鍚?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user