refactor: remove knowledge base references from AI agent model and related services

- Removed KnowledgeIDs from CreateAIAgentRequest and AIAgentResponse.
- Updated buildAIAgentResponseWithLocale to eliminate knowledge base name retrieval.
- Refactored AI agent repository and service to remove knowledge base handling.
- Adjusted dashboard service to no longer track AI agents without knowledge bases.
- Modified knowledge base service to check for workflow references instead of AI agent references.
- Updated frontend components to remove knowledge base selection and display.
- Enhanced workflow validation to ensure knowledge retrieve nodes have associated knowledge bases.
This commit is contained in:
mlogclub
2026-06-30 19:47:29 +08:00
parent fa0010e8be
commit 805ef87278
23 changed files with 575 additions and 243 deletions
@@ -140,6 +140,27 @@ describe("validateWorkflowDefinition", () => {
assert.deepEqual(plain(result), { valid: true, errors: [] })
})
it("rejects knowledge retrieve nodes without node knowledge bases", async () => {
const { createRefValue, validateWorkflowDefinition } = await loadModule()
const result = validateWorkflowDefinition({
schemaVersion: 2,
nodes: [
workflowNode("start_1", "start"),
workflowNode("retrieve_1", "knowledge_retrieve", { x: 240, y: 0 }, {
title: "知识检索",
inputsValues: { query: createRefValue("start_1", "userMessage") },
config: { knowledgeBaseIds: [] },
}),
workflowNode("end_1", "end", { x: 480, y: 0 }),
],
edges: [workflowEdge("start_1", "retrieve_1"), workflowEdge("retrieve_1", "end_1")],
})
assert.equal(result.valid, false)
assert.match(result.errors.join("\n"), /需要选择至少一个知识库/)
})
})
describe("createWorkflowNodeFromSpec", () => {