fix(agent): preserve broadcast consultation context

This commit is contained in:
2026-07-25 00:12:53 +08:00
parent a67444645e
commit 5f8d8f96f0
10 changed files with 48 additions and 22 deletions
+6 -4
View File
@@ -81,17 +81,19 @@ test('问师傅在真正开始会话后收起首次使用引导,保留对话
test('消息咨询只以消息 ID 作为受控上下文,并让每轮文字或语音请求携带它', async () => {
const [page, service, types] = await Promise.all([
read('../src/pages/user/sop/index.vue'),
read('../src/services/knowledge.ts'),
read('../src/services/agent.ts'),
read('../src/types/api.ts')
]);
assert.match(page, /getBroadcastMessage\(pending\.messageId\)/);
assert.match(page, /messageId: message\.id,\s*title: message\.title,\s*publishedAt: message\.publishedAt/);
assert.match(page, /broadcastMessageId \? undefined : currentProject\.value\?\.projectCode/);
assert.match(page, /options\.voice \? 'mobile_uni_voice' : 'mobile_uni_sop',\s*broadcastMessageId/);
assert.match(page, /const agentOptions = \{[\s\S]*?broadcastMessageId,[\s\S]*?\}/);
assert.match(page, /askAgent\(text, agentOptions\)/);
assert.match(service, /broadcastMessageId\?: number/);
assert.match(service, /\? \{ broadcastMessageId \}/);
assert.match(service, /broadcastContext: response\.broadcastContext \|\| legacy\.broadcastContext \|\| null/);
assert.match(service, /broadcastMessageId: options\.broadcastMessageId/);
assert.match(service, /\/api\/aihr\/agent\/messages/);
assert.match(service, /broadcastContext: response\.broadcastContext \|\| null/);
assert.match(types, /export interface BroadcastKnowledgeContext/);
assert.match(types, /broadcastContext\?: BroadcastKnowledgeContext \| null/);
});