feat: 增强知识库索引与设置页面模块化拆分

扩展知识库索引任务和 RAG 检索支持增量入库和文档去重,优
化本体检测和规则匹配精度,前端设置页面拆分为 LLM、邮件
和 Hermes 员工同步子面板并重构样式,新增日志详情组件和
知识入库日志模型,补充单元测试覆盖。
This commit is contained in:
caoxiaozhu
2026-05-22 23:47:28 +08:00
parent 88ff04bef8
commit 5b388d08c0
84 changed files with 10170 additions and 2599 deletions

View File

@@ -43,6 +43,11 @@
{{ hermesRunAlert.message }}
</article>
<KnowledgeIngestRunPanel
v-if="isKnowledgeIngestRunDetail"
:run="hermesRun"
/>
<div class="detail-grid">
<article class="panel detail-card wide">
<div class="card-head">
@@ -63,9 +68,9 @@
</div>
</article>
<article class="panel detail-card">
<article v-if="!isKnowledgeIngestRunDetail" class="panel detail-card">
<div class="card-head">
<h3>处理链路</h3>
<h3>处理链路</h3>
<p>按工具调用顺序查看执行链</p>
</div>
<div v-if="(hermesRun.tool_calls || []).length" class="trace-steps">
@@ -92,7 +97,7 @@
</div>
</article>
<article v-if="selectedToolCall" class="panel detail-card">
<article v-if="selectedToolCall && !isKnowledgeIngestRunDetail" class="panel detail-card">
<div class="card-head">
<h3>当前 ToolCall</h3>
<p>查看当前工具调用的请求与返回</p>
@@ -194,6 +199,7 @@
import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import KnowledgeIngestRunPanel from '../components/logs/KnowledgeIngestRunPanel.vue'
import { fetchAgentRunDetail } from '../services/agentAssets.js'
import { fetchSystemLogEntry } from '../services/systemLogs.js'
import {
@@ -204,6 +210,7 @@ import {
resolveAgentRunHeartbeat,
resolveAgentRunStatus
} from '../utils/agentRunMonitor.js'
import { isKnowledgeIngestRun } from '../utils/knowledgeIngestLogModel.js'
const SOURCE_LABELS = {
schedule: '定时任务',
@@ -223,6 +230,7 @@ let pollTimer = 0
const isHermes = computed(() => route.params.logKind === 'hermes')
const isSystem = computed(() => route.params.logKind === 'system')
const isKnowledgeIngestRunDetail = computed(() => isKnowledgeIngestRun(hermesRun.value))
const selectedToolCall = computed(() =>
(hermesRun.value?.tool_calls || []).find((item) => item.id === selectedToolCallId.value) || null
)