feat(pkb): implement complete batch processing workflow and frontend optimization

- Frontend V3 architecture migration to modules/pkb
- Implement three work modes: full-text reading, deep reading, batch processing
- Complete batch processing: template selection, progress display, result export (CSV)
- Integrate Ant Design X Chat component with streaming support
- Add document upload modal with drag-and-drop support
- Optimize UI: multi-line table display, citation formatting, auto-scroll
- Fix 10+ technical issues: API mapping, state sync, form clearing
- Update documentation: development records and module status

Performance: 3 docs batch processing ~17-28s
Status: PKB module now production-ready (90% complete)
This commit is contained in:
2026-01-07 18:23:43 +08:00
parent e59676342a
commit 06028c6952
195 changed files with 1405 additions and 272 deletions

View File

@@ -142,3 +142,4 @@ https://iit.xunzhengyixue.com/api/v1/iit/health

View File

@@ -43,3 +43,4 @@

View File

@@ -303,3 +303,4 @@ npx tsx src/modules/iit-manager/test-patient-wechat-url-verify.ts

View File

@@ -165,3 +165,4 @@ npm run dev

View File

@@ -60,5 +60,6 @@ WHERE table_schema = 'dc_schema'

View File

@@ -98,5 +98,6 @@ ORDER BY ordinal_position;

View File

@@ -111,5 +111,6 @@ runMigration()

View File

@@ -45,5 +45,6 @@ COMMENT ON COLUMN "dc_schema"."dc_tool_c_sessions"."column_mapping" IS '列名

View File

@@ -72,5 +72,6 @@ COMMENT ON COLUMN dc_schema.dc_tool_c_sessions.expires_at IS '过期时间(创

View File

@@ -114,3 +114,4 @@ Write-Host ""

View File

@@ -222,5 +222,6 @@ function extractCodeBlocks(obj, blocks = []) {

View File

@@ -241,5 +241,6 @@ checkDCTables();

View File

@@ -193,5 +193,6 @@ createAiHistoryTable()

View File

@@ -180,5 +180,6 @@ createToolCTable()

View File

@@ -177,5 +177,6 @@ createToolCTable()

View File

@@ -326,3 +326,4 @@ runTests().catch(error => {

View File

@@ -291,3 +291,4 @@ verifySchemas()

View File

@@ -309,5 +309,6 @@ export function getBatchItems<T>(

View File

@@ -345,5 +345,6 @@ runTests().catch((error) => {

View File

@@ -324,5 +324,6 @@ Content-Type: application/json

View File

@@ -260,5 +260,6 @@ export const conflictDetectionService = new ConflictDetectionService();

View File

@@ -210,5 +210,6 @@ curl -X POST http://localhost:3000/api/v1/dc/tool-c/test/execute \

View File

@@ -264,5 +264,6 @@ export const streamAIController = new StreamAIController();

View File

@@ -175,3 +175,4 @@ logger.info('[SessionMemory] 会话记忆管理器已启动', {

View File

@@ -109,3 +109,4 @@ checkTableStructure();

View File

@@ -96,3 +96,4 @@ checkProjectConfig().catch(console.error);

View File

@@ -78,3 +78,4 @@ main();

View File

@@ -535,3 +535,4 @@ URL: https://iit.xunzhengyixue.com/api/v1/iit/patient-wechat/callback

View File

@@ -170,3 +170,4 @@ console.log('');

View File

@@ -487,3 +487,4 @@ export const patientWechatService = new PatientWechatService();

View File

@@ -132,3 +132,4 @@ testDifyIntegration().catch(error => {

View File

@@ -161,3 +161,4 @@ testIitDatabase()

View File

@@ -147,3 +147,4 @@ if (hasError) {

View File

@@ -173,3 +173,4 @@ async function testUrlVerification() {

View File

@@ -254,3 +254,4 @@ main().catch((error) => {

View File

@@ -138,3 +138,4 @@ Write-Host ""

View File

@@ -231,3 +231,4 @@ export interface CachedProtocolRules {

View File

@@ -44,3 +44,4 @@ export default async function healthRoutes(fastify: FastifyInstance) {

View File

@@ -410,5 +410,6 @@ SET session_replication_role = 'origin';

View File

@@ -112,5 +112,6 @@ WHERE key = 'verify_test';

View File

@@ -255,5 +255,6 @@ verifyDatabase()

View File

@@ -45,5 +45,6 @@ export {}

View File

@@ -68,5 +68,6 @@ Write-Host "✅ 完成!" -ForegroundColor Green

View File

@@ -158,3 +158,4 @@ DELETE {{baseUrl}}/api/v2/pkb/knowledge/knowledge-bases/{{testKbId}}

View File

@@ -355,5 +355,6 @@ runAdvancedTests().catch(error => {

View File

@@ -421,5 +421,6 @@ runAllTests()

View File

@@ -379,5 +379,6 @@ runAllTests()