From 30b2cc36fdb3ae177b730f5d49a067d12c7d4285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=AD=90=E9=BB=98?= <925456043@qq.com> Date: Wed, 19 Aug 2026 22:41:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=9D=E7=95=99=20Agent=20=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E5=8E=8B=E7=BC=A9=E9=98=88=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 保存和试用时不再覆盖已配置的 Token 压缩门槛 --- .../app/src/views/ai/agents/AgentDesigner.vue | 19 ------------------- .../composables/useAgentDesignerState.test.ts | 8 ++++---- 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/easyflow-ui-admin/app/src/views/ai/agents/AgentDesigner.vue b/easyflow-ui-admin/app/src/views/ai/agents/AgentDesigner.vue index 4ea441a5..4e710e6e 100644 --- a/easyflow-ui-admin/app/src/views/ai/agents/AgentDesigner.vue +++ b/easyflow-ui-admin/app/src/views/ai/agents/AgentDesigner.vue @@ -45,7 +45,6 @@ import AgentCommandBar from './components/AgentCommandBar.vue'; import AgentInspectorPanel from './components/AgentInspectorPanel.vue'; import AgentSkillSelectorDialog from './components/AgentSkillSelectorDialog.vue'; import { useAgentDesignerState } from './composables/useAgentDesignerState'; -import { resolveAgentCompressionTokenThreshold } from './compression-threshold'; import { createMcpToolLoader } from './mcpToolLoader'; const route = useRoute(); @@ -423,25 +422,8 @@ function runValidation() { return true; } -function syncAgentCompressionThreshold() { - const selectedModel = models.value.find( - (model) => model.value === String(state.agent.modelId ?? ''), - ); - const memoryConfig = (state.agent.memoryConfigJson ||= {}); - const compressionParameter = (memoryConfig.compressionParameter ||= {}); - compressionParameter.minCompressionTokenThreshold = - resolveAgentCompressionTokenThreshold({ - contextWindowTokens: selectedModel?.raw?.contextWindowTokens, - generationConfig: state.agent.generationConfigJson, - maxOutputTokens: selectedModel?.raw?.maxOutputTokens, - systemPrompt: state.agent.promptConfigJson?.systemPrompt, - toolBindings: state.toolBindings, - }); -} - async function handleSave(showMessage = true) { if (!runValidation()) return false; - syncAgentCompressionThreshold(); saveLoading.value = true; try { const agentPayload = buildPayloadAgent({ @@ -556,7 +538,6 @@ async function handleOffline() { function handleTryout() { if (!runValidation()) return; - syncAgentCompressionThreshold(); openTryout(); } diff --git a/easyflow-ui-admin/app/src/views/ai/agents/composables/useAgentDesignerState.test.ts b/easyflow-ui-admin/app/src/views/ai/agents/composables/useAgentDesignerState.test.ts index 6007b4ba..421fbb1f 100644 --- a/easyflow-ui-admin/app/src/views/ai/agents/composables/useAgentDesignerState.test.ts +++ b/easyflow-ui-admin/app/src/views/ai/agents/composables/useAgentDesignerState.test.ts @@ -84,7 +84,7 @@ describe('useAgentDesignerState document context budget', () => { }); describe('useAgentDesignerState memory compression', () => { - it('keeps only token-based compression settings in state and payload', () => { + it('keeps the manually configured token threshold in state and payload', () => { expect( createEmptyAgent().memoryConfigJson?.compressionParameter, ).not.toHaveProperty('msgThreshold'); @@ -98,7 +98,7 @@ describe('useAgentDesignerState memory compression', () => { enabled: true, msgThreshold: 12, lastKeep: 6, - minCompressionTokenThreshold: 128_000, + minCompressionTokenThreshold: 800_000, }, }, }); @@ -108,7 +108,7 @@ describe('useAgentDesignerState memory compression', () => { expect(stateCompressionParameter).not.toHaveProperty('msgThreshold'); expect(stateCompressionParameter?.lastKeep).toBe(6); expect(stateCompressionParameter?.minCompressionTokenThreshold).toBe( - 128_000, + 800_000, ); const payloadMemoryConfig = designer.buildPayloadAgent().memoryConfigJson; @@ -118,7 +118,7 @@ describe('useAgentDesignerState memory compression', () => { ); expect( payloadMemoryConfig?.compressionParameter.minCompressionTokenThreshold, - ).toBe(128_000); + ).toBe(800_000); }); });