已选择 {{ getSelectedCount(key) }} 个工具
@@ -307,7 +308,8 @@ const {
availableTools,
selectedAgent,
selectedAgentId,
- agentConfig
+ agentConfig,
+ configurableItems
} = storeToRefs(agentStore);
// console.log(availableTools.value)
@@ -318,21 +320,6 @@ const toolsModalOpen = ref(false);
const selectedTools = ref([]);
const toolsSearchText = ref('');
-// 计算属性
-const configSchema = computed(() => selectedAgent.value?.config_schema || {});
-
-const configurableItems = computed(() => {
- const items = configSchema.value.configurable_items || {};
- // 遍历所有的配置项,将所有的 x_oap_ui_config 的层级提升到上一层
- Object.keys(items).forEach(key => {
- const item = items[key];
- if (item.x_oap_ui_config) {
- items[key] = { ...item, ...item.x_oap_ui_config };
- delete items[key].x_oap_ui_config;
- }
- });
- return items;
-});
const isEmptyConfig = computed(() => {
return !selectedAgentId.value || Object.keys(configurableItems.value).length === 0;
diff --git a/web/src/components/DebugComponent.vue b/web/src/components/DebugComponent.vue
index 39e10a72..ff3cfb18 100644
--- a/web/src/components/DebugComponent.vue
+++ b/web/src/components/DebugComponent.vue
@@ -116,7 +116,6 @@ import {
} from '@ant-design/icons-vue';
import dayjs from 'dayjs';
import { configApi } from '@/apis/system_api';
-import { agentApi } from '@/apis/agent';
import { checkAdminPermission } from '@/stores/user';
const configStore = useConfigStore()
@@ -402,7 +401,6 @@ const printAgentConfig = async () => {
console.log('当前选中智能体:', {
agent: toRaw(agentStore.selectedAgent),
isDefault: agentStore.isDefaultAgent,
- configSchema: toRaw(agentStore.configSchema),
configurableItems: Object.keys(agentStore.configurableItems).length
});
@@ -419,7 +417,7 @@ const printAgentConfig = async () => {
// 线程信息
console.log('线程信息:', {
- currentAgentThreads: agentStore.currentAgentThreads.length,
+ currentAgentThreads: agentStore.currentAgentThreads,
currentThread: agentStore.currentThread ? toRaw(agentStore.currentThread) : null,
currentThreadMessages: agentStore.currentThreadMessages.length
});
diff --git a/web/src/components/KnowledgeGraphViewer.vue b/web/src/components/KnowledgeGraphViewer.vue
index 5ab90153..e2e4daad 100644
--- a/web/src/components/KnowledgeGraphViewer.vue
+++ b/web/src/components/KnowledgeGraphViewer.vue
@@ -312,11 +312,11 @@ const selectedEdgeData = computed(() => graphStore.selectedEdgeData)
// 智能边面板位置 - 确保在紧凑模式下也能正确显示
const intelligentEdgePanelPosition = computed(() => {
if (!sigmaContainer.value) return edgePanelPosition.value
-
+
const containerHeight = sigmaContainer.value.clientHeight
const panelHeight = 200 // 估计的面板高度
const nodePanelBottom = selectedNodeData.value ? nodePanelPosition.value.y + 200 : 0
-
+
// 如果有节点面板显示,将边面板放在节点面板下方
if (selectedNodeData.value) {
return {
@@ -324,7 +324,7 @@ const intelligentEdgePanelPosition = computed(() => {
y: Math.min(nodePanelPosition.value.y, containerHeight - panelHeight - 20)
}
}
-
+
// 确保边面板在容器范围内
return {
x: edgePanelPosition.value.x,
@@ -551,10 +551,10 @@ const registerEvents = () => {
// 获取Sigma边的属性,其中包含原始数据
const sigmaEdgeData = graph.getEdgeAttributes(edge)
console.log('Sigma边属性:', sigmaEdgeData)
-
+
// 立即设置选中的边 - 使用Sigma边ID
graphStore.setSelectedEdge(edge)
-
+
// 确保边面板显示
nextTick(() => {
if (selectedEdgeData.value) {
diff --git a/web/src/components/ModelProvidersComponent.vue b/web/src/components/ModelProvidersComponent.vue
index 74424798..006ac4a5 100644
--- a/web/src/components/ModelProvidersComponent.vue
+++ b/web/src/components/ModelProvidersComponent.vue
@@ -202,7 +202,7 @@ import {
} from '@ant-design/icons-vue';
import { useConfigStore } from '@/stores/config';
import { modelIcons } from '@/utils/modelIcon';
-import { agentApi } from '@/apis/agent';
+import { agentApi } from '@/apis/agent_api';
const configStore = useConfigStore();
diff --git a/web/src/stores/agent.js b/web/src/stores/agent.js
index a7e0da9a..258a6b22 100644
--- a/web/src/stores/agent.js
+++ b/web/src/stores/agent.js
@@ -1,5 +1,5 @@
import { defineStore } from 'pinia';
-import { agentApi, threadApi } from '@/apis/agent';
+import { agentApi, threadApi } from '@/apis/agent_api';
import { MessageProcessor } from '@/utils/messageProcessor';
import { handleChatError } from '@/utils/errorHandler';
@@ -46,14 +46,11 @@ export const useAgentStore = defineStore('agent', {
defaultAgent: (state) => state.defaultAgentId ? state.agents[state.defaultAgentId] : state.agents[Object.keys(state.agents)[0]],
agentsList: (state) => Object.values(state.agents),
isDefaultAgent: (state) => state.selectedAgentId === state.defaultAgentId,
- configSchema: (state) => {
- const agent = state.selectedAgentId ? state.agents[state.selectedAgentId] : null;
- return agent?.config_schema || {};
- },
configurableItems: (state) => {
- const schema = state.configSchema || {};
- if (!schema || !schema.configurable_items) return {};
- const items = { ...schema.configurable_items };
+ const agent = state.selectedAgentId ? state.agents[state.selectedAgentId] : null;
+ const agentConfigurableItems = agent.configurable_items || {};
+ if (!agentConfigurableItems) return {};
+ const items = { ...agentConfigurableItems };
Object.keys(items).forEach(key => {
const item = items[key];
if (item && item.x_oap_ui_config) {
@@ -156,7 +153,7 @@ export const useAgentStore = defineStore('agent', {
// 设置默认智能体
async setDefaultAgent(agentId) {
try {
- await agentConfigApi.setDefaultAgent(agentId);
+ await agentApi.setDefaultAgent(agentId);
this.defaultAgentId = agentId;
} catch (error) {
console.error('Failed to set default agent:', error);
@@ -427,7 +424,7 @@ export const useAgentStore = defineStore('agent', {
try {
const response = await agentApi.sendAgentMessage(this.selectedAgentId, requestData);
-
+
const reader = response.body.getReader();
const decoder = new TextDecoder();
let buffer = '';
diff --git a/web/src/stores/info.js b/web/src/stores/info.js
index f647ce9b..536e99a7 100644
--- a/web/src/stores/info.js
+++ b/web/src/stores/info.js
@@ -1,6 +1,6 @@
import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
-import { brandAPi } from '@/apis/system_api'
+import { brandApi } from '@/apis/system_api'
export const useInfoStore = defineStore('info', () => {
// 状态
@@ -49,7 +49,7 @@ export const useInfoStore = defineStore('info', () => {
try {
isLoading.value = true
- const response = await brandAPi.getInfoConfig()
+ const response = await brandApi.getInfoConfig()
if (response.success && response.data) {
setInfoConfig(response.data)
@@ -70,7 +70,7 @@ export const useInfoStore = defineStore('info', () => {
async function reloadInfoConfig() {
try {
isLoading.value = true
- const response = await brandAPi.reloadInfoConfig()
+ const response = await brandApi.reloadInfoConfig()
if (response.success && response.data) {
setInfoConfig(response.data)