feat(admin): Implement System Knowledge Base management module

Features:

- Backend: SystemKbService with full CRUD (knowledge bases + documents)

- Backend: 8 RESTful API endpoints (list/detail/create/update/delete/upload/download)

- Backend: OSS storage integration (system/knowledge-bases/{kbId}/{docId})

- Backend: RAG engine integration (document parsing, chunking, vectorization)

- Frontend: SystemKbListPage with card-based layout

- Frontend: SystemKbDetailPage with document management table

- Frontend: Master-Detail UX pattern for better user experience

- Document upload (single/batch), download (preserving original filename), delete

Technical:

- Database migration for system_knowledge_bases and system_kb_documents tables

- OSSAdapter.getSignedUrl with Content-Disposition for original filename

- Reuse RAG engine from common/rag for document processing

Tested: Local environment verified, all features working
This commit is contained in:
2026-01-28 21:57:44 +08:00
parent 3a4aa9123c
commit 0d9e6b9922
28 changed files with 2827 additions and 247 deletions

View File

@@ -6,6 +6,7 @@
* - 用户管理
* - 租户管理(已有)
* - Prompt管理已有
* - 系统知识库管理
*/
import React from 'react';
@@ -14,6 +15,8 @@ import UserListPage from './pages/UserListPage';
import UserFormPage from './pages/UserFormPage';
import UserDetailPage from './pages/UserDetailPage';
import StatsDashboardPage from './pages/StatsDashboardPage';
import SystemKbListPage from './pages/SystemKbListPage';
import SystemKbDetailPage from './pages/SystemKbDetailPage';
const AdminModule: React.FC = () => {
return (
@@ -28,6 +31,10 @@ const AdminModule: React.FC = () => {
<Route path="users/create" element={<UserFormPage mode="create" />} />
<Route path="users/:id" element={<UserDetailPage />} />
<Route path="users/:id/edit" element={<UserFormPage mode="edit" />} />
{/* 系统知识库管理 */}
<Route path="system-kb" element={<SystemKbListPage />} />
<Route path="system-kb/:id" element={<SystemKbDetailPage />} />
</Routes>
);
};