From c38782e608232e4c01c3469c44ca029956f56b58 Mon Sep 17 00:00:00 2001 From: Xin Wang Date: Tue, 10 Feb 2026 11:20:43 +0800 Subject: [PATCH] Show kb id --- web/pages/KnowledgeBase.tsx | 44 +++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/web/pages/KnowledgeBase.tsx b/web/pages/KnowledgeBase.tsx index 3ff4acf..d35821f 100644 --- a/web/pages/KnowledgeBase.tsx +++ b/web/pages/KnowledgeBase.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useState, useRef } from 'react'; -import { Search, Plus, FileText, Upload, ArrowLeft, CloudUpload, File as FileIcon, X, Pencil, Trash2, Settings2, MoreHorizontal } from 'lucide-react'; +import { Search, Plus, FileText, Upload, ArrowLeft, CloudUpload, File as FileIcon, X, Pencil, Trash2, Settings2, MoreHorizontal, Copy } from 'lucide-react'; import { Button, Input, TableHeader, TableRow, TableHead, TableCell, Card, Dialog, Badge } from '../components/UI'; import { KnowledgeBase, KnowledgeDocument } from '../types'; import { createKnowledgeBase, deleteKnowledgeBase, deleteKnowledgeDocument, fetchKnowledgeBaseById, fetchKnowledgeBases, fetchLLMModels, indexKnowledgeDocument, searchKnowledgeBase, updateKnowledgeBase, uploadKnowledgeDocument, type KnowledgeSearchResultItem } from '../services/backendApi'; @@ -31,6 +31,16 @@ export const KnowledgeBasePage: React.FC = () => { const [kbChunkOverlap, setKbChunkOverlap] = useState(50); const [isSavingKb, setIsSavingKb] = useState(false); + const copyKbId = async (id: string) => { + try { + await navigator.clipboard.writeText(id); + alert(`已复制 KB ID: ${id}`); + } catch (error) { + console.error(error); + alert('复制失败,请手动复制。'); + } + }; + const filteredKbs = kbs.filter((kb) => kb.name.toLowerCase().includes(searchTerm.toLowerCase())); const refreshKnowledgeBases = async () => { @@ -299,6 +309,19 @@ export const KnowledgeBasePage: React.FC = () => {

{kb.name}

+
+ KB ID: {kb.id} + +
{kb.embeddingModel || 'embedding'}
@@ -531,7 +554,24 @@ const KnowledgeBaseDetail: React.FC<{
-

{kb.name}

+
+

{kb.name}

+ KB ID: {kb.id} + +

创建于 {kb.createdAt} · {kb.embeddingModel} · by {kb.creator}