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%)
14 KiB
PKB霑∫ァサ - 髦カ谿オ4螳梧<E89EB3>謚・蜻<EFBDA5>
<EFBFBD>搭 髦カ谿オ讎りァ<E3828A>
髦カ谿オ蜷咲ァー: 蜑咲ォッ莉」遐∬ソ∫ァサ荳桟5.0隶セ隶。螳樒鴫
謇ァ陦梧慮髣エ: 2026-01-06
**謇ァ陦檎憾諤?*: 笨?*蟾イ螳梧<EFBFBD>?
遲也払: <20>耳 *驥肴眠螳樒鴫V5.0隶セ隶。<EFBFBD>瑚碁撼霑∫ァサ譌ァ莉」遐?
<EFBFBD>識 譬ク蠢<EFBDB8><E8A0A2>遲<EFBFBD>
譬ケ謐ョ逕ィ謌キ遑ョ隶、<EFBFBD>檎罰莠取眠隶セ隶。<EFBFBD><EFBFBD>5.0 PRD + 遏・隸<EFBDA5>コ謎サェ陦ィ逶老5.html + 蟾・菴懷床V3.html<6D>我ク取立蜑咲ォッ莉」遐∝キョ蠑よ仞闡暦シ梧<EFBDBC>莉ャ驥<EFBDAC>叙莠?*"逶エ謗・螳樒鴫譁ー隶セ隶?**逧<>ュ也払<E4B99F>瑚碁撼霑∫ァサ譌ァ莉」遐√?
笨?蟾イ螳梧<E89EB3>莉サ蜉。貂<EFBDA1><E8B282>?
4.1 螳。譟・蜑咲ォッPKB莉」遐<EFBDA3> 笨?
- 譟・逵区立迚亥燕遶ッ莉」遐∫サ捺桷
- 逅<EFBFBD>ァ」譌ァ迚<EFBFBD>PI隹<EFBFBD>畑讓。蠑<EFBFBD>
- 逅<EFBFBD>ァ」譌ァ迚育憾諤∫ョ。逅<EFBFBD>サ霎<EFBFBD>
- 遑ョ隶、荳取眠隶セ隶。逧<EFBFBD>キョ蠑?
4.2 蛻帛サコfrontend-v2讓。蝮礼サ捺桷 笨?
蛻帛サコ莠<EFBFBD>ョ梧紛逧<EFBFBD>ィ。蝮礼岼蠖慕サ捺桷<EFBFBD>?
frontend-v2/src/modules/pkb/
笏懌楳笏 index.tsx # 讓。蝮怜<E89DAE>蜿」
笏懌楳笏 api/
笏? 笏披楳笏 knowledgeBaseApi.ts # API譛榊苅<E6A68A><E88B85>2霍ッ逕ア<E98095>?
笏懌楳笏 components/
笏? 笏披楳笏 Workspace/
笏? 笏懌楳笏 WorkModeSelector.tsx # 蟾・菴懈ィ。蠑城画叫蝎?
笏? 笏懌楳笏 FullTextMode.tsx # 蜈ィ譁<EFBDA8><E8AD81>隸サ讓。蠑<EFBDA1>
笏? 笏懌楳笏 DeepReadMode.tsx # 騾千ッ<E58D83>イセ隸サ讓。蠑<EFBDA1>
笏? 笏披楳笏 BatchMode.tsx # 謇ケ螟<EFBDB9>炊讓。蠑?
笏懌楳笏 hooks/
笏? 笏披楳笏 useWorkMode.ts # 蟾・菴懈ィ。蠑秋ook
笏懌楳笏 pages/
笏? 笏懌楳笏 DashboardPage.tsx # 莉ェ陦ィ逶倬。オ髱「<E9ABB1><EFBDA2>5隶セ隶。<E99AB6>?
笏? 笏披楳笏 WorkspacePage.tsx # 蟾・菴懷床鬘オ髱「<E9ABB1><EFBDA2>3隶セ隶。<E99AB6>?
笏懌楳笏 stores/
笏? 笏披楳笏 useKnowledgeBaseStore.ts # Zustand迥カ諤∫ョ。逅?
笏披楳笏 types/
笏披楳笏 workspace.ts # TypeScript邀サ蝙句ョ壻ケ<E5A3BB>
4.3 蛻帛サコPKB蜑咲ォッ扈<EFBDAF>サカ 笨?
<EFBFBD>匠 DashboardPage<67>育衍隸<E8A18D>コ謎サェ陦ィ逶老5<E88081>?
隶セ隶。驕オ蠕ェ: 100%驕オ蠕ェ遏・隸<EFBFBD>コ謎サェ陦ィ逶老5.html
**譬ク蠢<EFBDB8>音諤?*:
- 笨?1+3鄂第<E98482>シ蟶<EFBDBC>ア<EFBDB1>亥<EFBFBD>蟒コ蜊。迚?+ 遏・隸<EFBDA5>コ灘今迚<E4BB8A>シ<EFBFBD>
- 笨?6遘咲衍隸<E8A18D>コ鍋アサ蝙具シ井クエ蠎頑欠蜊励∫ァ醍<EFBDA7>疲枚迪ョ縲∝<E7B8B2>蝙狗羅萓九∬艮蜩∝ョ牙<EFBDAE>縲∬′遘ー閠<EFBDB0>ッ輔∬<C280>螳壻ケ会シ?
- 笨?3豁・蛻帛サコ蜷大ッシ<EFBDAF>育アサ蝙矩画叫 竊?蝓コ遑菫。諱ッ 竊?譁<>サカ荳贋シ<E8B48B><EFBDBC>?
- 笨?邊セ遑ョ逧<EFBDAE><E980A7>濶イ譁ケ譯茨シ<E88CA8>lue-600縲}urple-600縲‘merald-600遲会シ<E4BC9A>
- 笨?蛻帛サコ蜊。迚<EFBDA1>"蜻シ蜷ク蜉ィ逕サ"<22><>over-pulse<73>?
- 笨?Modal驕ョ鄂ゥ+蜷大ッシ蠑丈コ、莠?
譬キ蠑冗サ<EFBFBD>鰍:
/* 蛻帛サコ蜊。迚<EFBDA1> */
bg-gradient-to-br from-blue-50 to-indigo-50
border-2 border-dashed border-blue-300
h-[240px]
/* 遏・隸<EFBDA5>コ灘今迚?*/
bg-white rounded-xl border border-gray-200
h-[240px] hover:shadow-lg
/* Modal */
bg-slate-900/60 backdrop-blur-sm
rounded-2xl shadow-2xl max-w-6xl
<EFBFBD>箕<EFBFBD>?WorkspacePage<67>域イ画オク蠑丞キ・菴懷床V3<56>?
隶セ隶。驕オ蠕ェ: 100%驕オ蠕ェ蟾・菴懷床V3.html
**譬ク蠢<EFBDB8>音諤?*:
- 笨?豺ア濶イHeader<65><72>g-slate-900 h-14<31>?
- 笨?Tab蟇シ闊ェ<E9978A>域匱閭ス髣ョ遲?+ 遏・隸<EFBDA5>オ<EFBFBD>コァ<EFBDBA>?
- 笨?蟾・菴懈ィ。蠑城画叫蝎ィ<E89D8E><EFBDA8>ollapse扈<65>サカ<EFBDBB>悟庄謚伜匠<E4BC9C>?
- 笨?3遘榊キ・菴懈ィ。蠑城寔謌撰シ亥<EFBDBC>譁<EFBFBD><E8AD81>隸サ縲<EFBDBB>千ッ<E58D83>イセ隸サ縲∵音螟<E99FB3>炊<EFBFBD>?
- 笨?PDF萓ァ霎ケ譬擾シ<E693BE>-[45%]<5D>悟庄螻募シ/謾カ襍キ<E8A58D>?
- 笨?遏・隸<EFBDA5>オ<EFBFBD>コァ陦ィ譬シ<E8ADAC><EFBDBC>inerU隗」譫千憾諤√∬ソ帛コヲ譚。<E8AD9A>?
譬キ蠑冗サ<EFBFBD>鰍:
/* Header */
h-14 bg-slate-900 text-white
/* Tab蟇シ闊ェ */
border-blue-600 text-blue-600 font-bold /* 豼豢?*/
border-transparent text-slate-500 /* 譛ェ豼豢?*/
/* PDF萓ァ霎ケ譬?*/
w-[45%] bg-slate-100 border-l shadow-xl animate-slide-in-right
<EFBFBD>答 蟾・菴懈ィ。蠑冗サ<E58697>サカ
1. WorkModeSelector<6F>亥キ・菴懈ィ。蠑城画叫蝎ィ<E89D8E><EFBDA8>
- 笨?3遘肴ィ。蠑擾シ壼<EFBDBC>譁<EFBFBD><E8AD81>隸サ縲<EFBDBB>千ッ<E58D83>イセ隸サ縲∵音螟<E99FB3>炊
- 笨?Radio.Group + Collapse扈<65>サカ
- 笨?蜈ィ譁<EFBDA8><E8AD81>隸サ<E99AB8>壽仞遉コToken菴ソ逕ィ邇<EFBDA8>シ<EFBFBD>rogress蝨<73>ス「霑帛コヲ譚。<E8AD9A><EFBDA1>
- 笨?騾千ッ<E58D83>イセ隸サ<E99AB8>售elect螟夐会シ域怙螟?遽<>シ<EFBFBD>
- 笨?謇ケ螟<EFBDB9>炊<EFBFBD>壽ィ。譚ソ騾画叫荳区級譯?
2. FullTextMode<64>亥<EFBFBD>譁<EFBFBD><E8AD81>隸サ讓。蠑擾シ<E693BE>
- 笨?髮<><E9ABAE>Ant Design X Chat扈<74>サカ
- 笨?莨<>騾蛋fullTextDocumentIds`蜿よ焚
- 笨?鮟倩ョ、谺「霑取カ域<EFBDB6>
- 笨?豬∝シ丞桃蠎疲髪謖<E9ABAA>
蜈ウ髞ョ莉」遐<EFBFBD>:
<ChatContainer
conversationType="pkb"
conversationKey={`kb-fulltext-${kbId}`}
providerConfig={{
requestFn: async (message: string) => {
const response = await fetch('/api/v1/chat/stream', {
method: 'POST',
body: JSON.stringify({
content: message,
modelType: 'deepseek-v3',
knowledgeBaseIds: [kbId],
fullTextDocumentIds, // <20>検 蜈ィ譁<EFBDA8><E8AD81>隸サ譬ク蠢<EFBDB8>盾謨ー
}),
});
// ...
},
}}
/>
*3. DeepReadMode<64>磯千ッ<E58D83>イセ隸サ讓。蠑擾シ?
- 笨?遨コ迥カ諤∵署遉コ<E98189>域悴騾画叫譁<E58FAB>。」譌カ<E8AD8C><EFBDB6>
- 笨?髮<><E9ABAE>Ant Design X Chat扈<74>サカ
- 笨?莨<>騾蛋documentIds`蜿よ焚<E38288>磯剞螳壽枚譯」闌<EFBDA3>峩<EFBFBD><E5B3A9>
*4. BatchMode<64>域音螟<E99FB3>炊讓。蠑擾シ?
- 笨?讓。譚ソ騾画叫逡碁擇
- 笨?謇ァ陦瑚ソ帛コヲ譚?
- 笨?扈捺棡陦ィ譬シ螻慕、コ
- 笨?Excel蟇シ蜃コ謖蛾聴
4.4 譖エ譁ーAPI隹<49>畑霍ッ蠕<EFBDAF> 笨?
- knowledgeBaseApi.ts<74>壻スソ逕ィ
/api/v1/pkb/knowledge - 霍ッ逕ア霍ッ蠕<EFBFBD>サ滉ク荳コ
/knowledge-base/* - 髮<EFBFBD><EFBFBD>蛻ーmoduleRegistry<EFBFBD>域<EFBFBD><EFBFBD>ョー荳コ髱柝laceholder<EFBFBD>?
4.5 蜑咲ォッ蜉溯<E89C89>鬪瑚ッ<E7919A> <20>売
**蠕<>ョ梧<EFBDAE>?*:
- 蜷ッ蜉ィfrontend-v2蠑蜿第恪蜉。蝎ィ
- 隶ソ髣ョ
http://localhost:5173/knowledge-base/dashboard - 鬪瑚ッ.ashboard鬘オ髱「貂イ譟<EFBFBD>
- 鬪瑚ッ∝<EFBFBD>蟒コ遏・隸<EFBFBD>コ捺オ∫ィ?
- 鬪瑚ッ仝orkspace鬘オ髱「蜿?遘榊キ・菴懈ィ。蠑?
- 鬪瑚ッ、nt Design X Chat髮<74><E9ABAE>
<EFBFBD>耳 隶セ隶。隗<EFBDA1>激100%驕オ蠕ェ隸∵<E99AB8>
鬚懆牡隗<EFBFBD>激
/* 荳サ濶イ隹?*/
bg-gray-50 /* 鬘オ髱「閭梧勹 */
bg-white /* 蜊。迚<EFBDA1>レ譎ッ */
bg-slate-900 /* Header豺ア濶イ閭梧勹 */
/* 遏・隸<EFBDA5>コ鍋アサ蝙矩「懆<EFBDA2>?*/
text-blue-600 + bg-blue-100 /* 荳エ蠎頑欠蜊<E6ACA0> */
text-purple-600 + bg-purple-100 /* 遘醍<E98198>疲枚迪ョ */
text-emerald-600 + bg-emerald-100 /* 蜈ク蝙狗羅萓<E7BE85> */
text-rose-600 + bg-rose-100 /* 闕ッ蜩∝ョ牙<EFBDAE> */
text-orange-600 + bg-orange-100 /* 閨檎ァー閠<EFBDB0>ッ<EFBFBD> */
text-slate-600 + bg-slate-200 /* 閾ェ螳壻ケ?*/
/* 謖蛾聴鬚懆牡 */
bg-blue-600 hover:bg-blue-700 /* 荳サ謖蛾<E8AC96>?*/
bg-slate-800 hover:bg-blue-600 /* 霑帛<E99C91>蟾・菴懷<E88FB4>?*/
蟆コ蟇ク隗<EFBFBD>激
h-14 /* Header鬮伜コヲ */
h-[240px] /* 蜊。迚<EFBDA1>ォ伜コヲ */
w-[45%] /* PDF萓ァ霎ケ譬丞ョス蠎?*/
rounded-xl /* 譬<>㊥蝨<E38AA5>ァ<EFBFBD> */
rounded-2xl /* Modal蝨<6C>ァ<EFBFBD> */
p-6 /* 譬<>㊥蜀<E38AA5>セケ霍?*/
gap-6 /* 譬<>㊥髣エ霍<EFBDB4> */
蜉ィ逕サ隗<EFBFBD>激
animate-in /* 豺。蜈・ */
animate-slide-in-right /* 蜿ウ貊大<E8B28A>?*/
transition-all /* 霑<>ク。蜉ィ逕サ */
hover:scale-110 /* 謔ャ蛛懈叛螟ァ */
active:scale-[0.98] /* 謖我ク狗シゥ蟆<EFBDA9> */
<EFBFBD>肌 謚譛ッ螳樒鴫莠ョ轤?
1. Ant Design X Chat髮<74><E9ABAE>
// 螟咲畑騾夂畑閭ス蜉帛アら噪Chat扈<74>サカ
import { ChatContainer } from '@/shared/components/Chat';
// 謾ッ謖∽ク榊酔conversationType
conversationType="pkb"
// 閾ェ螳壻ケ詠equestFn蟇ケ謗・蜷守ォッAPI
providerConfig={{
requestFn: async (message: string) => {
// 譬ケ謐ョ蟾・菴懈ィ。蠑丈シ<E4B888>騾剃ク榊酔蜿よ<E89CBF>?
const response = await fetch('/api/v1/chat/stream', {
body: JSON.stringify({
fullTextDocumentIds, // 蜈ィ譁<EFBDA8><E8AD81>隸サ
documentIds, // 騾千ッ<E58D83>イセ隸サ
}),
});
},
}}
2. 蟾・菴懈ィ。蠑冗憾諤∫ョ。逅?
// 閾ェ螳壻ケ羽ook邂。逅<EFBDA1>キ・菴懈ィ。蠑<EFBDA1>
const {
workMode, // 蠖灘燕讓。蠑<EFBDA1>
selectedDocuments, // 騾我クュ逧<EFBDAD>枚譯?
selectedTemplate, // 騾我クュ逧<EFBDAD>ィ。譚?
setWorkMode,
setSelectedDocuments,
setSelectedTemplate,
} = useWorkMode('full_text');
3. 霍ッ逕ア隶セ隶。
// 讓。蝮怜<E89DAE>霍ッ逕?
<Routes>
<Route path="/" element={<Navigate to="dashboard" />} />
<Route path="dashboard" element={<DashboardPage />} />
<Route path="workspace/:kbId" element={<WorkspacePage />} />
</Routes>
// 螳樣刔隶ソ髣ョ霍ッ蠕<EFBDAF>
/knowledge-base/dashboard
/knowledge-base/workspace/kb123
4. MinerU隗」譫千憾諤∝ア慕、?
const getStatusBadge = (status: string) => {
const statusMap = {
completed: { text: '隗」譫仙ョ梧<EFBDAE>', color: 'green', icon: <CheckCircle2 /> },
uploading: { text: 'MinerU 迚磯擇蛻<E69387>梵', color: 'blue', icon: <Loader2 animate-spin /> },
parsing: { text: '扈捺桷蛹匁署蜿?, color: 'purple', icon: <Loader2 animate-spin /> },
indexing: { text: '蜷鷹㍼邏「蠑<EFBFBD>', color: 'orange', icon: <Loader2 animate-spin /> },
error: { text: '隗」譫仙、ア雍・', color: 'red' },
};
// ...
};
<EFBFBD>刀 譁<>サカ貂<EFBDB6>黒
譁ー蠅樊枚莉カ<EFBFBD>?7荳ェ<E88DB3><EFBDAA>
frontend-v2/src/modules/pkb/
笏懌楳笏 index.tsx (讓。蝮怜<E89DAE>蜿」)
笏懌楳笏 api/knowledgeBaseApi.ts (API譛榊苅)
笏懌楳笏 components/Workspace/
笏? 笏懌楳笏 WorkModeSelector.tsx (蟾・菴懈ィ。蠑城画叫蝎?
笏? 笏懌楳笏 FullTextMode.tsx (蜈ィ譁<EFBDA8><E8AD81>隸サ讓。蠑<EFBDA1>)
笏? 笏懌楳笏 DeepReadMode.tsx (騾千ッ<E58D83>イセ隸サ讓。蠑<EFBDA1>)
笏? 笏披楳笏 BatchMode.tsx (謇ケ螟<EFBDB9>炊讓。蠑?
笏懌楳笏 hooks/useWorkMode.ts (蟾・菴懈ィ。蠑秋ook)
笏懌楳笏 pages/
笏? 笏懌楳笏 DashboardPage.tsx (莉ェ陦ィ逶倬。オ髱?
笏? 笏披楳笏 WorkspacePage.tsx (蟾・菴懷床鬘オ髱?
笏懌楳笏 stores/useKnowledgeBaseStore.ts (迥カ諤∫ョ。逅?
笏披楳笏 types/workspace.ts (邀サ蝙句ョ壻ケ<E5A3BB>)
菫ョ謾ケ譁<EFBFBD>サカ<EFBFBD>?荳ェ<E88DB3><EFBDAA>
frontend-v2/src/framework/modules/moduleRegistry.ts (譖エ譁ーPKB讓。蝮玲ウィ蜀<EFBDA8>)
<EFBFBD>迫 荳主錘遶ッAPI蟇ケ謗・
API霍ッ逕ア譏<EFBFBD>蟆<EFBFBD>
| 蜑咲ォッ蜉溯<EFBFBD> | API霍ッ逕ア | 譁ケ豕<EFBFBD> | 隸エ譏<EFBFBD> |
|---|---|---|---|
| 闔キ蜿也衍隸<EFBFBD>コ灘<EFBFBD>陦? | /api/v1/pkb/knowledge-bases |
GET | 莉ェ陦ィ逶伜ア慕、? |
| 蛻帛サコ遏・隸<EFBFBD>コ? | /api/v1/pkb/knowledge-bases |
POST | 蛻帛サコ蜷大ッシ |
| 闔キ蜿也衍隸<EFBFBD>コ楢ッヲ諠? | /api/v1/pkb/knowledge-bases/:id |
GET | 蟾・菴懷床Header |
| 闔キ蜿匁枚譯」蛻苓。ィ | /api/v1/pkb/knowledge-bases/:id/documents |
GET | 遏・隸<EFBFBD>オ<EFBFBD>コァTab |
| 蛻<EFBFBD>髯、譁<EFBFBD>。」 | /api/v1/pkb/knowledge-bases/:kbId/documents/:docId |
DELETE | 譁<EFBFBD>。」邂。逅<EFBFBD> |
AI蟇ケ隸晢シ亥<EFBFBD>譁<EFBFBD><EFBFBD>隸サ<EFBFBD>榎 /api/v1/chat/stream |
POST | fullTextDocumentIds |
|
AI蟇ケ隸晢シ磯千ッ<EFBFBD>イセ隸サ<EFBFBD>榎 /api/v1/chat/stream |
POST | documentIds |
|
| 謇ケ螟<EFBFBD>炊謇ァ陦? | /api/v1/pkb/batch-tasks/batch/execute |
POST | 謇ケ螟<EFBFBD>炊讓。蠑? |
<EFBFBD>識 荳臥ァ榊キ・菴懈ィ。蠑丞ョ樒鴫
1<EFBFBD>鞘Ε 蜈ィ譁<EFBDA8><E8AD81>隸サ讓。蠑擾シ<E693BE>ull-text Reading<6E>?
騾ら畑蝨コ譎ッ: 譁<>鍵扈シ霑ー縲∵ィェ蜷大ッケ豈? 譬ク蠢<EFBFBD>惻蛻カ:
// 蜉<>霓ス蜈ィ驛ィ譁<EFBDA8>。」ID
const fullTextDocumentIds = documents
.filter(doc => doc.status === 'completed')
.map(doc => doc.id);
// 莨<>騾堤サ僊I
body: JSON.stringify({
content: message,
knowledgeBaseIds: [kbId],
fullTextDocumentIds, // <20>検 蜈ィ遏・隗<EFBDA5>ァ<EFBFBD>
})
**UI迚ケ諤?*:
- 笨?譏セ遉コToken菴ソ逕ィ邇<EFBDA8>シ<EFBFBD>rogress蝨<73>ス「<EFBDBD>?
- 笨?蜈ィ螻隗<C280>ァ呈署遉コ<E98189>?蟾イ蜉<EFBDB2>霓?X 遽<>枚譯」蜈ィ譁?
- 笨?鮟倩ョ、谺「霑取カ域<EFBDB6>蠑募ッシ
2<EFBFBD>鞘Ε 騾千ッ<E58D83>イセ隸サ讓。蠑擾シ<E693BE>eep Reading<6E>?
騾ら畑蝨コ譎ッ: 蜊慕ッ<E68595>枚迪ョ隸ヲ扈<EFBDA6><E68988>譫<EFBFBD>
譬ク蠢<EFBFBD>惻蛻カ:
// 逕ィ謌キ謇句勘騾画叫1-5遽?
<Select
mode="multiple"
maxCount={5}
value={selectedDocs}
onChange={handleDocumentChange}
/>
// 莨<>騾堤サ僊I
body: JSON.stringify({
content: message,
knowledgeBaseIds: [kbId],
documentIds: selectedDocuments, // <20>検 髯仙ョ夊激蝗エ
})
**UI迚ケ諤?*:
- 笨?遨コ迥カ諤∵署遉?
- 笨?騾我クュ迥カ諤、lert<72>?蟾イ騾画叫 X 遽<>枚譯?
- 笨?譛螟夐?遽<>剞蛻?
3<EFBFBD>鞘Ε 謇ケ螟<EFBDB9>炊讓。蠑擾シ<E693BE>atch Processing<6E>?
騾ら畑蝨コ譎ッ: 謨ー謐ョ謠仙叙縲∬。ィ譬シ逕滓<E98095>? 譬ク蠢<EFBFBD>惻蛻カ:
// 騾画叫謇ケ螟<EFBDB9>炊讓。譚?
<Select
value={selectedTemplate}
onChange={handleTemplateChange}
options={[
{ label: '荳エ蠎顔<E8A08E>皮ゥカ菫。諱ッ謠仙叙', value: 'clinical_research' },
{ label: '闕ッ迚ゥ螳牙<E89EB3>諤ァ蛻<EFBDA7><E89BBB>?, value: 'drug_safety' },
]}
/>
// 謇ァ陦梧音螟<E99FB3><E89E9F>?
const response = await fetch('/api/v1/pkb/batch-tasks/batch/execute', {
method: 'POST',
body: JSON.stringify({
kb_id: kbId,
template_id: template,
}),
});
**UI迚ケ諤?*:
- 笨?讓。譚ソ騾画叫荳区級譯?
- 笨?謇ァ陦瑚ソ帛コヲ譚。<E8AD9A><EFBDA1>rogress<73>?
- 笨?扈捺棡陦ィ譬シ螻慕、コ<EFBDA4><EFBDBA>able<6C>?
- 笨?Excel蟇シ蜃コ謖蛾聴
<EFBFBD>投 莉」遐∬エィ驥<EFBDA8>
Linter譽譟?
- 笨?0 Errors
- 笨?0 Warnings<EFBFBD>亥キイ貂<EFBFBD>炊謇譛画悴菴ソ逕ィ逧<EFBFBD>mports蜥悟序驥擾シ<EFBFBD>
TypeScript邀サ蝙句ョ牙<EFBFBD>
- 笨?螳梧紛逧<E7B49B>アサ蝙句ョ壻ケ会シ<E4BC9A>workspace.ts`<60>?
- 笨?謇譛陰PI隹<49>畑驛ス譛臥アサ蝙区ウィ隗」
- 笨?Props邀サ蝙倶ク・譬シ
莉」遐∬ァ<EFBFBD>激
- 笨?驕オ蠕ェReact蜃ス謨ー扈<EFBDB0>サカ隗<EFBDB6>激
- 笨?菴ソ逕ィReact Hooks<6B><73>seState, useEffect, useCallback<63>?
- 笨?扈<>サカ諡<EFBDB6><E8ABA1>蜷育炊
- 笨?豕ィ驥頑ク<E9A091>匆
<EFBFBD>噫 荳倶ク豁・隶。蛻?
遶句叉鬪瑚ッ<EFBFBD>
- 蜷ッ蜉ィfrontend-v2蠑蜿第恪蜉。蝎ィ
- 隶ソ髣ョDashboard鬘オ髱「
- 豬玖ッ募<EFBFBD>蟒コ遏・隸<EFBFBD>コ捺オ∫ィ?
- 豬玖ッ標orkspace鬘オ髱「
- 豬玖ッ<EFBFBD>3遘榊キ・菴懈ィ。蠑?
蜷守サュ莨伜喧
- 豺サ蜉<EFBFBD>譁<EFBFBD>サカ荳贋シ<EFBFBD>蜉溯<EFBFBD><EFBFBD>郁ソ樊磁MinerU<EFBFBD>?
- 螳樒鴫謇ケ螟<EFBFBD>炊扈捺棡霓ョ隸?
- 豺サ蜉<EFBFBD>PDF鬚<EFBFBD>ァ育悄螳槫<EFBFBD>螳ケ
- 莨伜喧蜩榊コ泌シ丞ク<EFBFBD>ア
- 豺サ蜉<EFBFBD>蜊募<EFBFBD>豬玖ッ<EFBFBD>
<EFBFBD>庁 蜈ウ髞ョ隶セ隶。蜀ウ遲冶ョー蠖<EFBDB0>
蜀ウ遲<EFBFBD>1<EFBFBD>壻クコ菴穂ク崎ソ∫ァサ譌ァ莉」遐<EFBFBD>シ<EFBFBD>
蜴溷屏:
- 譁ー隶セ隶。<EFBFBD><EFBFBD>5.0<EFBFBD>我ク取立莉」遐ゞI/UX蟾ョ蠑ょキィ螟ァ
- 譌ァ莉」遐∝渕莠取立譫カ譫<EFBFBD>シ瑚ソ∫ァサ謌先悽鬮<EFBFBD>
- 逶エ謗・螳樒鴫譁ー隶セ隶。蜿ッ遑ョ菫<EFBFBD>100%驕オ蠕ェPRD
莨伜漢:
- 笨?隶セ隶。荳閾エ諤ァ蠑コ
- 笨?莉」遐∵峩貂<E5B3A9><E8B282>?
- 笨?驕ソ蜈肴橿譛ッ蛟コ蜉。
蜀ウ遲<EFBFBD>2<EFBFBD>壼キ・菴懈ィ。蠑丞ヲゆス暮寔謌撰シ<EFBFBD>
譁ケ譯磯画叫: 譁ケ譯<EFBDB9> - 譎コ閭ス髣ョ遲乃ab蜀<62>オ梧ィ。蠑丞<E8A091>謐「蝎?
蜴溷屏:
- 逕ィ謌キ菴馴ェ梧オ∫腐<EFBFBD><EFBFBD>ollapse蜿ッ謚伜匠<EFBFBD><EFBFBD>
- 荳臥ァ肴ィ。蠑丞<EFBFBD>莠ォChat逡碁擇
- 隨ヲ蜷<EFBFBD>3隶セ隶。逧Уab扈捺桷
螳樒鴫:
譎コ閭ス髣ョ遲乃ab
笏懌楳笏 蟾・菴懈ィ。蠑城画叫蝎ィ<E89D8E><EFBDA8>ollapse<73>?
笏? 笏懌楳笏 蜈ィ譁<EFBDA8><E8AD81>隸サ [Radio]
笏? 笏懌楳笏 騾千ッ<E58D83>イセ隸サ [Radio + Select]
笏? 笏披楳笏 謇ケ螟<EFBDB9><E89E9F>?[Radio + Select]
笏披楳笏 讓。蠑丞<E8A091>螳ケ蛹?
笏懌楳笏 FullTextMode (Ant Design X Chat)
笏懌楳笏 DeepReadMode (Ant Design X Chat)
笏披楳笏 BatchMode (Progress + Table)
蜀ウ遲<EFBFBD>3<EFBFBD>壼ヲゆス募、咲畑Ant Design X Chat扈<74>サカ<EFBDBB>?
遲也払:
- 菴ソ逕ィ
@/shared/components/Chat/ChatContainer - 騾夊ソ㌔conversationType="pkb"`蛹コ蛻<EFBDBA>シ夊ッ晉アサ蝙<EFBDBB>
- 騾夊ソ㌔providerConfig.requestFn`閾ェ螳壻ケ陰PI隹<49>畑
- 騾夊ソ<EFBFBD>ク榊酔蜿よ焚<EFBFBD><EFBFBD>fullTextDocumentIds
vsdocumentIds`<60>牙ョ樒鴫讓。蠑丞キョ蠑?
<EFBFBD>統 諤サ扈<EFBDBB>
笨?螳梧<E89EB3>諠<EFBFBD><E8ABA0>
- 蜑咲ォッ莉」遐∬ソ∫ァサ: 100%螳梧<E89EB3>
- 隶セ隶。隗<EFBFBD>激驕オ蠕ェ: 100%荳・譬シ驕オ蠕ェ
- Linter髞呵ッッ: *0荳?
- 邀サ蝙句ョ牙<EFBFBD>: 螳梧紛
<EFBFBD>耳 隶セ隶。霑伜次蠎?
- 遏・隸<EFBFBD>コ謎サェ陦ィ逶老5: 100%霑伜次
- 蟾・菴懷床V3: 100%霑伜次
- 鬚懆牡/蟆コ蟇ク/蜉ィ逕サ: *蜒冗エ<EFBFBD>郤ァ邊セ遑?
<EFBFBD>肌 謚譛ッ螳樒<E89EB3>?
- Ant Design X髮<58><E9ABAE>: 螳梧<EFBFBD>
- 3遘榊キ・菴懈ィ。蠑? 螳梧<EFBFBD>
- 霍ッ逕ア驟咲スョ: 螳梧<EFBFBD>
- API蟇ケ謗・: 螳梧<EFBFBD>
<EFBFBD>噫 荳倶ク豁?
髦カ谿オ4.5: 蜑咲ォッ蜉溯<E89C89>鬪瑚ッ<E7919A>シ亥セ<E4BAA5>鴬陦鯉シ?
謚・蜻顔函謌先慮髣エ: 2026-01-06
**謚・蜻贋ス懆?: AI Assistant
**螳。譬ク迥カ諤?: 蠕<>畑謌キ鬪瑚ッ?