@zhin.js/agent 0.1.28 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ai-event-bus.d.ts.map +1 -1
- package/lib/ai-event-bus.js +19 -12
- package/lib/ai-event-bus.js.map +1 -1
- package/lib/bootstrap.d.ts +1 -1
- package/lib/bootstrap.d.ts.map +1 -1
- package/lib/bootstrap.js +4 -4
- package/lib/bootstrap.js.map +1 -1
- package/lib/builtin/ask-user-tool.js +8 -8
- package/lib/builtin/ask-user-tool.js.map +1 -1
- package/lib/common-adapter-tools.d.ts.map +1 -1
- package/lib/common-adapter-tools.js +1 -1
- package/lib/common-adapter-tools.js.map +1 -1
- package/lib/discovery/tools.d.ts +1 -1
- package/lib/discovery/tools.d.ts.map +1 -1
- package/lib/discovery/tools.js +7 -7
- package/lib/discovery/tools.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/init/activate-ai-database-storage.d.ts +7 -0
- package/lib/init/activate-ai-database-storage.d.ts.map +1 -0
- package/lib/init/activate-ai-database-storage.js +28 -0
- package/lib/init/activate-ai-database-storage.js.map +1 -0
- package/lib/init/create-zhin-agent.d.ts.map +1 -1
- package/lib/init/create-zhin-agent.js +16 -0
- package/lib/init/create-zhin-agent.js.map +1 -1
- package/lib/init/register-ai-trigger.d.ts.map +1 -1
- package/lib/init/register-ai-trigger.js +11 -17
- package/lib/init/register-ai-trigger.js.map +1 -1
- package/lib/init/register-db-models.d.ts.map +1 -1
- package/lib/init/register-db-models.js +3 -5
- package/lib/init/register-db-models.js.map +1 -1
- package/lib/init/register-db-upgrade.d.ts +1 -4
- package/lib/init/register-db-upgrade.d.ts.map +1 -1
- package/lib/init/register-db-upgrade.js +25 -41
- package/lib/init/register-db-upgrade.js.map +1 -1
- package/lib/init/register-management-tools.d.ts +2 -1
- package/lib/init/register-management-tools.d.ts.map +1 -1
- package/lib/init/register-management-tools.js +41 -12
- package/lib/init/register-management-tools.js.map +1 -1
- package/lib/init.d.ts +0 -1
- package/lib/init.d.ts.map +1 -1
- package/lib/init.js +1 -4
- package/lib/init.js.map +1 -1
- package/lib/monitoring/metrics.d.ts +4 -0
- package/lib/monitoring/metrics.d.ts.map +1 -1
- package/lib/monitoring/metrics.js +20 -0
- package/lib/monitoring/metrics.js.map +1 -1
- package/lib/orchestrator/agent-dispatcher.d.ts +14 -2
- package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -1
- package/lib/orchestrator/agent-dispatcher.js +56 -3
- package/lib/orchestrator/agent-dispatcher.js.map +1 -1
- package/lib/orchestrator/index.d.ts +1 -1
- package/lib/orchestrator/index.d.ts.map +1 -1
- package/lib/orchestrator/index.js +1 -1
- package/lib/orchestrator/index.js.map +1 -1
- package/lib/orchestrator/tool-registry.d.ts +3 -3
- package/lib/orchestrator/tool-registry.d.ts.map +1 -1
- package/lib/orchestrator/tool-registry.js +9 -9
- package/lib/orchestrator/tool-registry.js.map +1 -1
- package/lib/orchestrator/tool-selection.d.ts +1 -6
- package/lib/orchestrator/tool-selection.d.ts.map +1 -1
- package/lib/orchestrator/tool-selection.js +6 -44
- package/lib/orchestrator/tool-selection.js.map +1 -1
- package/lib/orchestrator/types.d.ts +4 -24
- package/lib/orchestrator/types.d.ts.map +1 -1
- package/lib/security/anomaly-detection.d.ts +2 -0
- package/lib/security/anomaly-detection.d.ts.map +1 -1
- package/lib/security/anomaly-detection.js +10 -4
- package/lib/security/anomaly-detection.js.map +1 -1
- package/lib/security/budget-limiter.d.ts +2 -0
- package/lib/security/budget-limiter.d.ts.map +1 -1
- package/lib/security/budget-limiter.js +13 -1
- package/lib/security/budget-limiter.js.map +1 -1
- package/lib/security/dangerous-tool-policy.d.ts.map +1 -1
- package/lib/security/dangerous-tool-policy.js +56 -19
- package/lib/security/dangerous-tool-policy.js.map +1 -1
- package/lib/security/exec-policy.js +4 -4
- package/lib/security/exec-policy.js.map +1 -1
- package/lib/security/file-role-policy.d.ts +11 -20
- package/lib/security/file-role-policy.d.ts.map +1 -1
- package/lib/security/file-role-policy.js +24 -26
- package/lib/security/file-role-policy.js.map +1 -1
- package/lib/security/network-policy.d.ts +2 -0
- package/lib/security/network-policy.d.ts.map +1 -1
- package/lib/security/network-policy.js +11 -1
- package/lib/security/network-policy.js.map +1 -1
- package/lib/security/owner-approve-always-store.d.ts +2 -1
- package/lib/security/owner-approve-always-store.d.ts.map +1 -1
- package/lib/security/owner-approve-always-store.js +32 -30
- package/lib/security/owner-approve-always-store.js.map +1 -1
- package/lib/subagent.d.ts.map +1 -1
- package/lib/subagent.js +7 -0
- package/lib/subagent.js.map +1 -1
- package/lib/zhin-agent/builtin-tools.d.ts +2 -2
- package/lib/zhin-agent/builtin-tools.d.ts.map +1 -1
- package/lib/zhin-agent/builtin-tools.js +33 -46
- package/lib/zhin-agent/builtin-tools.js.map +1 -1
- package/lib/zhin-agent/config.d.ts +0 -1
- package/lib/zhin-agent/config.d.ts.map +1 -1
- package/lib/zhin-agent/config.js +0 -2
- package/lib/zhin-agent/config.js.map +1 -1
- package/lib/zhin-agent/index.d.ts +19 -5
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +68 -9
- package/lib/zhin-agent/index.js.map +1 -1
- package/lib/zhin-agent/prompt-assembly.d.ts.map +1 -1
- package/lib/zhin-agent/prompt-assembly.js +4 -7
- package/lib/zhin-agent/prompt-assembly.js.map +1 -1
- package/lib/zhin-agent/prompt.d.ts +8 -3
- package/lib/zhin-agent/prompt.d.ts.map +1 -1
- package/lib/zhin-agent/prompt.js +191 -135
- package/lib/zhin-agent/prompt.js.map +1 -1
- package/lib/zhin-agent/session-io.d.ts +17 -7
- package/lib/zhin-agent/session-io.d.ts.map +1 -1
- package/lib/zhin-agent/session-io.js +62 -11
- package/lib/zhin-agent/session-io.js.map +1 -1
- package/lib/zhin-agent/task-continuation.d.ts.map +1 -1
- package/lib/zhin-agent/task-continuation.js +8 -2
- package/lib/zhin-agent/task-continuation.js.map +1 -1
- package/lib/zhin-agent/tool-orchestration.d.ts.map +1 -1
- package/lib/zhin-agent/tool-orchestration.js +8 -2
- package/lib/zhin-agent/tool-orchestration.js.map +1 -1
- package/lib/zhin-agent/tool-runtime.d.ts +2 -2
- package/lib/zhin-agent/tool-runtime.d.ts.map +1 -1
- package/lib/zhin-agent/tool-runtime.js +3 -2
- package/lib/zhin-agent/tool-runtime.js.map +1 -1
- package/lib/zhin-agent/turn-pipeline.d.ts.map +1 -1
- package/lib/zhin-agent/turn-pipeline.js +59 -21
- package/lib/zhin-agent/turn-pipeline.js.map +1 -1
- package/lib/zhin-agent/zhin-agent-private.d.ts +5 -2
- package/lib/zhin-agent/zhin-agent-private.d.ts.map +1 -1
- package/lib/zhin-agent/zhin-agent-private.js.map +1 -1
- package/package.json +4 -4
- package/lib/init/register-message-recorder.d.ts +0 -3
- package/lib/init/register-message-recorder.d.ts.map +0 -1
- package/lib/init/register-message-recorder.js +0 -27
- package/lib/init/register-message-recorder.js.map +0 -1
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* 由 ZhinAgent.process() 按需创建并注入到工具列表中。
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentTool } from '@zhin.js/core';
|
|
8
|
-
import type {
|
|
8
|
+
import type { ChatHistoryContext, ChatHistoryQuery } from '@zhin.js/ai';
|
|
9
9
|
import type { UserProfileStore } from '../user-profile.js';
|
|
10
10
|
export { createSpawnTaskTool } from '../builtin/spawn-task-tool.js';
|
|
11
|
-
export declare function createChatHistoryTool(
|
|
11
|
+
export declare function createChatHistoryTool(chatHistory: ChatHistoryContext, query: ChatHistoryQuery): AgentTool;
|
|
12
12
|
export declare function createUserProfileTool(userId: string, profiles: UserProfileStore): AgentTool;
|
|
13
13
|
//# sourceMappingURL=builtin-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAwB,MAAM,aAAa,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAyBpE,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,kBAAkB,EAC/B,KAAK,EAAE,gBAAgB,GACtB,SAAS,CAwCX;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAmD3F"}
|
|
@@ -5,69 +5,56 @@
|
|
|
5
5
|
* 由 ZhinAgent.process() 按需创建并注入到工具列表中。
|
|
6
6
|
*/
|
|
7
7
|
export { createSpawnTaskTool } from '../builtin/spawn-task-tool.js';
|
|
8
|
-
|
|
8
|
+
function formatHitLine(hit) {
|
|
9
|
+
const role = hit.role === 'user' ? '用户' : '助手';
|
|
10
|
+
const time = new Date(hit.time).toLocaleString('zh-CN');
|
|
11
|
+
const who = hit.senderName && hit.role === 'user' ? ` (${hit.senderName})` : '';
|
|
12
|
+
return `[${time}] ${role}${who}: ${hit.content}`;
|
|
13
|
+
}
|
|
14
|
+
function formatToolResult(result, header) {
|
|
15
|
+
let output = header;
|
|
16
|
+
if (result.summary) {
|
|
17
|
+
output += `\n\n📋 对话摘要:\n${result.summary}`;
|
|
18
|
+
}
|
|
19
|
+
if (result.messages.length > 0) {
|
|
20
|
+
output += `\n\n💬 聊天记录:\n${result.messages.map(formatHitLine).join('\n')}`;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
output += '\n\n未找到相关聊天记录。';
|
|
24
|
+
}
|
|
25
|
+
return output;
|
|
26
|
+
}
|
|
27
|
+
export function createChatHistoryTool(chatHistory, query) {
|
|
9
28
|
return {
|
|
10
29
|
name: 'chat_history',
|
|
11
30
|
source: 'builtin:context',
|
|
12
|
-
description: '
|
|
31
|
+
description: '从数据库按需查询本场景历史聊天(platform+bot+群/私聊)。支持关键词模糊搜索;keyword 留空则返回最近若干条。当用户问「之前聊过什么」「我们讨论过什么」时使用。',
|
|
13
32
|
parameters: {
|
|
14
33
|
type: 'object',
|
|
15
34
|
properties: {
|
|
16
35
|
keyword: {
|
|
17
36
|
type: 'string',
|
|
18
|
-
description: '
|
|
19
|
-
},
|
|
20
|
-
from_round: {
|
|
21
|
-
type: 'number',
|
|
22
|
-
description: '起始轮次(与 to_round 配合使用,精确查询某段对话)',
|
|
37
|
+
description: '搜索关键词(匹配消息正文)。留空则返回最近记录',
|
|
23
38
|
},
|
|
24
|
-
|
|
39
|
+
limit: {
|
|
25
40
|
type: 'number',
|
|
26
|
-
description: '
|
|
41
|
+
description: '最多返回条数(默认 10,最大 100)',
|
|
27
42
|
},
|
|
28
43
|
},
|
|
29
|
-
required: ['keyword'],
|
|
30
44
|
},
|
|
31
45
|
tags: ['memory', 'history', '聊天记录', '回忆', '之前'],
|
|
32
46
|
keywords: ['之前', '历史', '聊过', '讨论过', '记得', '上次', '以前', '回忆'],
|
|
33
47
|
async execute(args) {
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return `[第${m.round}轮 ${time}] ${role}: ${m.content}`;
|
|
42
|
-
}).join('\n');
|
|
43
|
-
let output = `当前是第 ${currentRound} 轮对话。\n\n`;
|
|
44
|
-
if (result.summary) {
|
|
45
|
-
output += `📋 找到相关摘要(覆盖第${result.summary.fromRound}-${result.summary.toRound}轮):\n${result.summary.summary}\n\n`;
|
|
46
|
-
}
|
|
47
|
-
output += msgs ? `💬 相关聊天记录:\n${msgs}` : '未找到包含该关键词的聊天记录。';
|
|
48
|
-
return output;
|
|
49
|
-
}
|
|
50
|
-
if (from_round != null && to_round != null) {
|
|
51
|
-
const messages = await memory.getMessagesByRound(sessionId, from_round, to_round);
|
|
52
|
-
if (messages.length === 0) {
|
|
53
|
-
return `第 ${from_round}-${to_round} 轮没有聊天记录。当前是第 ${currentRound} 轮。`;
|
|
54
|
-
}
|
|
55
|
-
const msgs = messages.map(m => {
|
|
56
|
-
const role = m.role === 'user' ? '用户' : '助手';
|
|
57
|
-
const time = new Date(m.time).toLocaleString('zh-CN');
|
|
58
|
-
return `[第${m.round}轮 ${time}] ${role}: ${m.content}`;
|
|
59
|
-
}).join('\n');
|
|
60
|
-
return `第 ${from_round}-${to_round} 轮聊天记录(当前第 ${currentRound} 轮):\n${msgs}`;
|
|
61
|
-
}
|
|
62
|
-
const messages = await memory.getMessagesByRound(sessionId, Math.max(1, currentRound - 4), currentRound);
|
|
63
|
-
if (messages.length === 0) {
|
|
64
|
-
return '暂无聊天记录。';
|
|
48
|
+
const keyword = typeof args.keyword === 'string' ? args.keyword : '';
|
|
49
|
+
const limit = typeof args.limit === 'number' && Number.isFinite(args.limit)
|
|
50
|
+
? Math.floor(args.limit)
|
|
51
|
+
: 10;
|
|
52
|
+
if (keyword.trim()) {
|
|
53
|
+
const result = await chatHistory.searchMessages(query, keyword, limit);
|
|
54
|
+
return formatToolResult(result, `关键词「${keyword.trim()}」的搜索结果(最多 ${limit} 条):`);
|
|
65
55
|
}
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
return `[第${m.round}轮] ${role}: ${m.content}`;
|
|
69
|
-
}).join('\n');
|
|
70
|
-
return `最近的聊天记录(当前第 ${currentRound} 轮):\n${msgs}`;
|
|
56
|
+
const result = await chatHistory.listRecentMessages(query, limit);
|
|
57
|
+
return formatToolResult(result, `最近 ${limit} 条聊天记录:`);
|
|
71
58
|
},
|
|
72
59
|
};
|
|
73
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,
|
|
1
|
+
{"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,SAAS,aAAa,CAAC,GAAyB;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,OAAO,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAoE,EACpE,MAAc;IAEd,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,iBAAiB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,gBAAgB,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAA+B,EAC/B,KAAuB;IAEvB,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iBAAiB;QACzB,WAAW,EACT,2FAA2F;QAC7F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sBAAsB;iBACpC;aACF;SACF;QACD,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;QAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,IAA6B;YACzC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxB,CAAC,CAAC,EAAE,CAAC;YAET,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACvE,OAAO,gBAAgB,CACrB,MAAM,EACN,OAAO,OAAO,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAC9C,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,QAA0B;IAC9E,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iBAAiB;QACzB,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;oBACzD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;iBAC/B;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sDAAsD;iBACpE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8EAA8E;iBAC5F;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;QACD,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;QAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QAChE,KAAK,CAAC,OAAO,CAAC,IAAyB;YACrC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAEpC,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,YAAY,CAAC;oBAC9C,OAAO,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxE,CAAC;gBACD,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;wBAAE,OAAO,kBAAkB,CAAC;oBAC9C,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBACvC,OAAO,QAAQ,GAAG,MAAM,KAAK,EAAE,CAAC;gBAClC,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,IAAI,CAAC,GAAG;wBAAE,OAAO,UAAU,CAAC;oBAC5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACnD,OAAO,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC;gBACnD,CAAC;gBACD;oBACE,OAAO,2BAA2B,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -23,7 +23,6 @@ export declare const SECTION_SEP = "\n\n---\n\n";
|
|
|
23
23
|
export declare const HISTORY_CONTEXT_MARKER = "[Chat messages since your last reply - for context]";
|
|
24
24
|
/** 与 @zhin.js/core `CURRENT_USER_MESSAGE_MARKER` 保持一致 */
|
|
25
25
|
export declare const CURRENT_MESSAGE_MARKER = "[Current message - respond to this]";
|
|
26
|
-
export declare const PERM_MAP: Record<string, number>;
|
|
27
26
|
export type OnChunkCallback = (chunk: string, full: string) => void;
|
|
28
27
|
/** 上下文感知内置工具的关键词触发正则 */
|
|
29
28
|
export declare const KEYWORD_TRIGGERS: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/config.ts"],"names":[],"mappings":"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"}
|
package/lib/zhin-agent/config.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* ZhinAgent 配置、常量、类型定义
|
|
3
3
|
*/
|
|
4
4
|
import { DEFAULT_CONTEXT_TOKENS } from '@zhin.js/ai';
|
|
5
|
-
import { PERMISSION_LEVEL_PRIORITY } from '../orchestrator/tool-selection.js';
|
|
6
5
|
const SMALL_MODEL_RE = /[:\-_](0\.5|1\.?[58]?|[3-8])b\b/i;
|
|
7
6
|
const MEDIUM_MODEL_RE = /[:\-_](14|[12][0-9]|32)b\b/i;
|
|
8
7
|
/**
|
|
@@ -42,7 +41,6 @@ export const SECTION_SEP = '\n\n---\n\n';
|
|
|
42
41
|
export const HISTORY_CONTEXT_MARKER = '[Chat messages since your last reply - for context]';
|
|
43
42
|
/** 与 @zhin.js/core `CURRENT_USER_MESSAGE_MARKER` 保持一致 */
|
|
44
43
|
export const CURRENT_MESSAGE_MARKER = '[Current message - respond to this]';
|
|
45
|
-
export const PERM_MAP = PERMISSION_LEVEL_PRIORITY;
|
|
46
44
|
const TRUE_VALUES = new Set(['1', 'true', 'yes', 'on']);
|
|
47
45
|
/** 上下文感知内置工具的关键词触发正则 */
|
|
48
46
|
export const KEYWORD_TRIGGERS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/zhin-agent/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/zhin-agent/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,8 +20,9 @@ import type { AIProvider, AgentTool, ContentPart } from '@zhin.js/ai';
|
|
|
20
20
|
import type { Tool, ToolContext } from '../orchestrator/types.js';
|
|
21
21
|
import type { SkillRegistry } from '../orchestrator/skill-registry.js';
|
|
22
22
|
import type { AgentOrchestrator } from '../orchestrator/index.js';
|
|
23
|
-
import { SessionManager } from '@zhin.js/ai';
|
|
24
|
-
import type {
|
|
23
|
+
import { type SessionManager } from '@zhin.js/ai';
|
|
24
|
+
import type { ChatHistoryContext } from '@zhin.js/ai';
|
|
25
|
+
import { type IMSessionStore } from '@zhin.js/ai';
|
|
25
26
|
import type { OutputElement } from '@zhin.js/ai';
|
|
26
27
|
import { type ZhinAgentTurnMetrics } from './turn-metrics.js';
|
|
27
28
|
import type { ModelRegistry } from '@zhin.js/ai';
|
|
@@ -40,7 +41,8 @@ export declare class ZhinAgent {
|
|
|
40
41
|
private skillRegistry;
|
|
41
42
|
private orchestrator;
|
|
42
43
|
private sessions;
|
|
43
|
-
private
|
|
44
|
+
private chatHistory;
|
|
45
|
+
private imSessionStore;
|
|
44
46
|
private memory;
|
|
45
47
|
private externalTools;
|
|
46
48
|
private userProfiles;
|
|
@@ -56,15 +58,23 @@ export declare class ZhinAgent {
|
|
|
56
58
|
private readonly deferredWorkerRunner;
|
|
57
59
|
private lastToolSearchDeferredStats?;
|
|
58
60
|
private readonly turnTracker;
|
|
61
|
+
private memoryPersistenceReady;
|
|
62
|
+
private resolveMemoryPersistenceReady;
|
|
63
|
+
private memoryPersistenceDone;
|
|
59
64
|
private get phaseConfig();
|
|
60
65
|
constructor(provider: AIProvider, config?: ZhinAgentConfig);
|
|
61
66
|
setSkillRegistry(registry: SkillRegistry): void;
|
|
62
67
|
setOrchestrator(orchestrator: AgentOrchestrator): void;
|
|
63
68
|
setSessionManager(manager: SessionManager): void;
|
|
64
|
-
|
|
69
|
+
setChatHistory(history: ChatHistoryContext): void;
|
|
70
|
+
setIMSessionStore(store: IMSessionStore): void;
|
|
65
71
|
setModelRegistry(registry: ModelRegistry): void;
|
|
66
72
|
setHostPlugin(plugin: Plugin): void;
|
|
67
|
-
|
|
73
|
+
/** @deprecated 消息事实源已迁至 chat_messages,保留空实现以兼容旧 bootstrap */
|
|
74
|
+
upgradeMemoryToDatabase(_msgModel: unknown, _sumModel: unknown): Promise<void>;
|
|
75
|
+
/** 等待 DB store 注入(bootstrap 会 mark;已 mark 时立即返回) */
|
|
76
|
+
waitForMemoryPersistence(): Promise<void>;
|
|
77
|
+
markMemoryPersistenceReady(): void;
|
|
68
78
|
upgradeProfilesToDatabase(model: any): void;
|
|
69
79
|
initSubagentManager(createTools: () => AgentTool[]): void;
|
|
70
80
|
setSubagentSender(sender: SubagentResultSender): void;
|
|
@@ -79,6 +89,10 @@ export declare class ZhinAgent {
|
|
|
79
89
|
private finalizeActiveTurn;
|
|
80
90
|
private emitSessionNewEvent;
|
|
81
91
|
private emitSessionCompactEvent;
|
|
92
|
+
/** 旁听由 zhin `message.receive` 写入 chat_messages,此处保留空实现 */
|
|
93
|
+
appendPassiveGroupChatter(_context: ToolContext, _rawContent: string): Promise<void>;
|
|
94
|
+
/** 归档当前场景 active 会话(/new、ai.clear);下次 @ 将创建新 session 纪元 */
|
|
95
|
+
archiveSessionForContext(context: ToolContext): Promise<boolean>;
|
|
82
96
|
process(content: string, context: ToolContext, externalTools?: Tool[], onChunk?: OnChunkCallback): Promise<OutputElement[]>;
|
|
83
97
|
private resolveAgentToolsForTurn;
|
|
84
98
|
private runDeferredWorker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAS,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAS,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAK9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AAWrB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACzF,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAQvC,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,cAAc,CAAqE;IAC3F,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IACnE,OAAO,CAAC,2BAA2B,CAAC,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,sBAAsB,CAAgB;IAC9C,OAAO,CAAC,6BAA6B,CAAc;IACnD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,KAAK,WAAW,GAEtB;gBAEW,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,eAAe;IAwB1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK/C,eAAe,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI;IAKtD,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKhD,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAIjD,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAI9C,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK/C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAInC,6DAA6D;IACvD,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,oDAAoD;IAC9C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/C,0BAA0B,IAAI,IAAI;IAMlC,yBAAyB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAI3C,mBAAmB,CAAC,WAAW,EAAE,MAAM,SAAS,EAAE,GAAG,IAAI;IAgDzD,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAMrD,kBAAkB,IAAI,eAAe,GAAG,IAAI;IAI5C,eAAe,IAAI,gBAAgB;IAInC,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI;IAKzC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK1C,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7C,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItC,kBAAkB,IAAI,oBAAoB,GAAG,IAAI;IAIjD,OAAO,CAAC,eAAe;YAIT,kBAAkB;IAMhC,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,uBAAuB;IAuB/B,0DAA0D;IACpD,yBAAyB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1F,2DAA2D;IACrD,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,OAAO,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,aAAa,GAAE,IAAI,EAAO,EAC1B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC;IAG3B,OAAO,CAAC,wBAAwB;YAOlB,iBAAiB;IAS/B,OAAO,CAAC,sBAAsB;IAIxB,iBAAiB,CACrB,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC;IAQ3B,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,IAAI;CAWhB"}
|
package/lib/zhin-agent/index.js
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* 12. 多模态输入:图片/音频直接传给视觉模型
|
|
17
17
|
*/
|
|
18
18
|
import { Logger } from '@zhin.js/logger';
|
|
19
|
-
import {
|
|
20
|
-
import { ConversationMemory } from '@zhin.js/ai';
|
|
19
|
+
import { createMemorySessionManager, resolveIMSessionIdFromToolContext, } from '@zhin.js/ai';
|
|
20
|
+
import { ConversationMemory, MemoryIMSessionStore, } from '@zhin.js/ai';
|
|
21
21
|
import { TurnTracker } from './turn-tracker.js';
|
|
22
22
|
import { ZhinAgentEventEmitter } from './event-emitter.js';
|
|
23
23
|
import { UserProfileStore } from '../user-profile.js';
|
|
@@ -43,7 +43,8 @@ export class ZhinAgent {
|
|
|
43
43
|
skillRegistry = null;
|
|
44
44
|
orchestrator = null;
|
|
45
45
|
sessions;
|
|
46
|
-
|
|
46
|
+
chatHistory = null;
|
|
47
|
+
imSessionStore = new MemoryIMSessionStore();
|
|
47
48
|
memory;
|
|
48
49
|
externalTools = new Map();
|
|
49
50
|
userProfiles;
|
|
@@ -59,6 +60,9 @@ export class ZhinAgent {
|
|
|
59
60
|
deferredWorkerRunner = new DeferredWorkerRunner();
|
|
60
61
|
lastToolSearchDeferredStats;
|
|
61
62
|
turnTracker;
|
|
63
|
+
memoryPersistenceReady;
|
|
64
|
+
resolveMemoryPersistenceReady;
|
|
65
|
+
memoryPersistenceDone = false;
|
|
62
66
|
get phaseConfig() {
|
|
63
67
|
return { phaseTraceEnabled: this.phaseTraceEnabled, onPhaseTrace: this.config.onPhaseTrace };
|
|
64
68
|
}
|
|
@@ -66,6 +70,9 @@ export class ZhinAgent {
|
|
|
66
70
|
this.provider = provider;
|
|
67
71
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
68
72
|
this.phaseTraceEnabled = isPhaseTraceEnabled(this.config);
|
|
73
|
+
this.memoryPersistenceReady = new Promise((resolve) => {
|
|
74
|
+
this.resolveMemoryPersistenceReady = resolve;
|
|
75
|
+
});
|
|
69
76
|
this.sessions = createMemorySessionManager();
|
|
70
77
|
this.memory = new ConversationMemory({
|
|
71
78
|
minTopicRounds: this.config.minTopicRounds,
|
|
@@ -77,6 +84,8 @@ export class ZhinAgent {
|
|
|
77
84
|
this.userProfiles = new UserProfileStore();
|
|
78
85
|
this.rateLimiter = new RateLimiter(this.config.rateLimit);
|
|
79
86
|
this.turnTracker = new TurnTracker(this.config.subagentTurnWaitMs);
|
|
87
|
+
// 默认可用内存会话;DB 注入后由 bootstrap 覆盖 store,不阻塞单测与首条消息
|
|
88
|
+
this.markMemoryPersistenceReady();
|
|
80
89
|
}
|
|
81
90
|
// ── DI setters ──────────────────────────────────────────────────────
|
|
82
91
|
setSkillRegistry(registry) {
|
|
@@ -91,9 +100,11 @@ export class ZhinAgent {
|
|
|
91
100
|
this.sessions.dispose();
|
|
92
101
|
this.sessions = manager;
|
|
93
102
|
}
|
|
94
|
-
|
|
95
|
-
this.
|
|
96
|
-
|
|
103
|
+
setChatHistory(history) {
|
|
104
|
+
this.chatHistory = history;
|
|
105
|
+
}
|
|
106
|
+
setIMSessionStore(store) {
|
|
107
|
+
this.imSessionStore = store;
|
|
97
108
|
}
|
|
98
109
|
setModelRegistry(registry) {
|
|
99
110
|
this.modelRegistry = registry;
|
|
@@ -102,8 +113,33 @@ export class ZhinAgent {
|
|
|
102
113
|
setHostPlugin(plugin) {
|
|
103
114
|
this.emitter.setHostPlugin(plugin);
|
|
104
115
|
}
|
|
105
|
-
|
|
106
|
-
|
|
116
|
+
/** @deprecated 消息事实源已迁至 chat_messages,保留空实现以兼容旧 bootstrap */
|
|
117
|
+
async upgradeMemoryToDatabase(_msgModel, _sumModel) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
/** 等待 DB store 注入(bootstrap 会 mark;已 mark 时立即返回) */
|
|
121
|
+
async waitForMemoryPersistence() {
|
|
122
|
+
if (this.memoryPersistenceDone)
|
|
123
|
+
return;
|
|
124
|
+
const timeoutMs = process.env.NODE_ENV === 'test' ? 50 : 5_000;
|
|
125
|
+
await Promise.race([
|
|
126
|
+
this.memoryPersistenceReady,
|
|
127
|
+
new Promise((resolve) => {
|
|
128
|
+
setTimeout(() => {
|
|
129
|
+
if (!this.memoryPersistenceDone) {
|
|
130
|
+
logger.warn('waitForMemoryPersistence: timeout, proceeding with in-memory session/history');
|
|
131
|
+
this.markMemoryPersistenceReady();
|
|
132
|
+
}
|
|
133
|
+
resolve();
|
|
134
|
+
}, timeoutMs);
|
|
135
|
+
}),
|
|
136
|
+
]);
|
|
137
|
+
}
|
|
138
|
+
markMemoryPersistenceReady() {
|
|
139
|
+
if (this.memoryPersistenceDone)
|
|
140
|
+
return;
|
|
141
|
+
this.memoryPersistenceDone = true;
|
|
142
|
+
this.resolveMemoryPersistenceReady?.();
|
|
107
143
|
}
|
|
108
144
|
upgradeProfilesToDatabase(model) {
|
|
109
145
|
this.userProfiles.upgradeToDatabase(model);
|
|
@@ -120,7 +156,15 @@ export class ZhinAgent {
|
|
|
120
156
|
onSubagentUsage: (usage) => this.turnTracker.addSubagentUsage(usage),
|
|
121
157
|
registerSubagentTask: (done) => this.turnTracker.trackSubagent(done),
|
|
122
158
|
onEvent: (event) => {
|
|
123
|
-
const sessionId =
|
|
159
|
+
const sessionId = resolveIMSessionIdFromToolContext({
|
|
160
|
+
platform: event.origin.platform,
|
|
161
|
+
botId: event.origin.botId,
|
|
162
|
+
scope: event.origin.sceneType === 'group' || event.origin.sceneType === 'channel'
|
|
163
|
+
? event.origin.sceneType
|
|
164
|
+
: 'private',
|
|
165
|
+
sceneId: event.origin.sceneId,
|
|
166
|
+
senderId: event.origin.senderId,
|
|
167
|
+
});
|
|
124
168
|
const payload = this.emitter.createPayload(sessionId, {
|
|
125
169
|
platform: event.origin.platform,
|
|
126
170
|
botId: event.origin.botId,
|
|
@@ -201,6 +245,21 @@ export class ZhinAgent {
|
|
|
201
245
|
}));
|
|
202
246
|
}
|
|
203
247
|
// ── Core processing ─────────────────────────────────────────────────
|
|
248
|
+
/** 旁听由 zhin `message.receive` 写入 chat_messages,此处保留空实现 */
|
|
249
|
+
async appendPassiveGroupChatter(_context, _rawContent) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
/** 归档当前场景 active 会话(/new、ai.clear);下次 @ 将创建新 session 纪元 */
|
|
253
|
+
async archiveSessionForContext(context) {
|
|
254
|
+
const sessionKey = resolveIMSessionIdFromToolContext({
|
|
255
|
+
platform: context.platform,
|
|
256
|
+
botId: context.botId,
|
|
257
|
+
scope: context.scope,
|
|
258
|
+
sceneId: context.sceneId,
|
|
259
|
+
senderId: context.senderId,
|
|
260
|
+
});
|
|
261
|
+
return this.imSessionStore.archiveByKey(sessionKey);
|
|
262
|
+
}
|
|
204
263
|
async process(content, context, externalTools = [], onChunk) {
|
|
205
264
|
return processTextTurn(asPrivate(this), content, context, externalTools, onChunk);
|
|
206
265
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zhin-agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAKzC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zhin-agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembly.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/prompt-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAY5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAU3F;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"prompt-assembly.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/prompt-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAY5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAU3F;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,MAAM,CAAC,CA8BjB;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,WAAW,GACnB,MAAM,CAKR;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,WAAW,GACnB,MAAM,CAKR;AAED,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE;IACP,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,WAAW,EAAE,EAC9B,OAAO,EAAE,MAAM,GACd,MAAM,CAER"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveAgentPromptMarkdown } from '../agent-prompt/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { formatSessionContextLine, appendQuoteContextSystemHint, buildRichSystemPrompt, buildLiteSystemPromptWithPlatform, buildUserMessageWithHistory, FIXED_DISCIPLINE_RULES, } from './prompt.js';
|
|
3
3
|
import { buildPreExecFastPathPrompt } from './tool-runtime.js';
|
|
4
4
|
export function buildDisciplinedPrompt(_agent, basePrompt) {
|
|
5
5
|
const guidance = [
|
|
@@ -14,7 +14,6 @@ export function buildDisciplinedPrompt(_agent, basePrompt) {
|
|
|
14
14
|
}
|
|
15
15
|
export async function buildAgentPathSystemPrompt(agent, options) {
|
|
16
16
|
const { content, context, sessionId, personaEnhanced, preData, deferredStats } = options;
|
|
17
|
-
const contextHint = buildContextHint(context, content);
|
|
18
17
|
const platformMarkdown = await resolveAgentPromptMarkdown({
|
|
19
18
|
ctx: {
|
|
20
19
|
slot: 'orchestrator',
|
|
@@ -32,13 +31,11 @@ export async function buildAgentPathSystemPrompt(agent, options) {
|
|
|
32
31
|
skillsSummaryXML: agent.skillsSummaryXML,
|
|
33
32
|
activeSkillsContext: agent.activeSkillsContext,
|
|
34
33
|
bootstrapContext: agent.bootstrapContext,
|
|
34
|
+
toolContext: context,
|
|
35
35
|
toolSearchDeferredStats: deferredStats,
|
|
36
36
|
platformSections: platformMarkdown,
|
|
37
|
-
fileRole: context.fileRole,
|
|
38
37
|
});
|
|
39
|
-
return appendQuoteContextSystemHint(`${richPrompt}
|
|
40
|
-
${contextHint}
|
|
41
|
-
${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`, context);
|
|
38
|
+
return appendQuoteContextSystemHint(`${richPrompt}${preData ? `\n\nPre-fetched data:\n${preData}` : ''}`, context);
|
|
42
39
|
}
|
|
43
40
|
export function buildFastPathSystemPrompt(agent, personaEnhanced, preData, context) {
|
|
44
41
|
return appendQuoteContextSystemHint(buildDisciplinedPrompt(agent, buildPreExecFastPathPrompt(personaEnhanced, preData ?? '')), context);
|
|
@@ -58,7 +55,7 @@ export async function buildMultimodalVisionSystemPrompt(agent, options) {
|
|
|
58
55
|
config: agent.config,
|
|
59
56
|
sessionId,
|
|
60
57
|
});
|
|
61
|
-
return appendQuoteContextSystemHint(buildLiteSystemPromptWithPlatform(personaEnhanced, platformMarkdown,
|
|
58
|
+
return appendQuoteContextSystemHint(buildLiteSystemPromptWithPlatform(personaEnhanced, platformMarkdown, formatSessionContextLine(context) ?? undefined), context);
|
|
62
59
|
}
|
|
63
60
|
export function buildAgentUserMessage(historyMessages, content) {
|
|
64
61
|
return buildUserMessageWithHistory(historyMessages, content);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembly.js","sourceRoot":"","sources":["../../src/zhin-agent/prompt-assembly.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"prompt-assembly.js","sourceRoot":"","sources":["../../src/zhin-agent/prompt-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,12 @@ export declare const FIXED_DISCIPLINE_RULES: readonly ["Never claim actions, res
|
|
|
14
14
|
export declare function contentToText(c: string | ContentPart[] | ContentPart | null | undefined): string;
|
|
15
15
|
export declare function buildUserMessageWithHistory(history: ChatMessage[], currentContent: string): string;
|
|
16
16
|
export declare function buildEnhancedPersona(config: Required<ZhinAgentConfig>, profileSummary: string, toneHint: string): string;
|
|
17
|
-
|
|
17
|
+
/** 从 SenderRole 推导文件策略档位(提示词 §3b,不再单独暴露 file_role) */
|
|
18
|
+
export declare function resolvePromptFileRole(context: Pick<ToolContext, 'roles'>): FileRole | undefined;
|
|
19
|
+
/** 会话级 IM 锚点(同 session 内稳定);写入 # Runtime 段,不再单独追加 Context: 行 */
|
|
20
|
+
export declare function formatSessionContextLine(context: Pick<ToolContext, 'platform' | 'botId' | 'scope' | 'sceneId'>): string | null;
|
|
21
|
+
/** @deprecated 已并入 {@link buildContextSection};保留空实现避免重复 Context 行 */
|
|
22
|
+
export declare function buildContextHint(_context: ToolContext, _content: string): string;
|
|
18
23
|
export interface RichSystemPromptContext {
|
|
19
24
|
config: Required<ZhinAgentConfig>;
|
|
20
25
|
skillRegistry: SkillRegistry | null;
|
|
@@ -25,8 +30,8 @@ export interface RichSystemPromptContext {
|
|
|
25
30
|
toolSearchDeferredStats?: string;
|
|
26
31
|
/** Per-platform markdown from AgentPromptContributor (§6c). */
|
|
27
32
|
platformSections?: string;
|
|
28
|
-
/**
|
|
29
|
-
|
|
33
|
+
/** 当前会话 ToolContext(仅用于 # Runtime 中的 Session 行) */
|
|
34
|
+
toolContext?: ToolContext;
|
|
30
35
|
}
|
|
31
36
|
/** 单段字符数统计(日志 / Harness debug;与 buildRichSystemPrompt 分段一致) */
|
|
32
37
|
export interface PromptSectionDebugInfo {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,sBAAsB,wQAIzB,CAAC;AAEX,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAehG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAQlG;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,MAAM,CAaR;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,QAAQ,GAAG,SAAS,CAI/F;AAED,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAS9H;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AA+ND,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,uBAAuB,GAAG,sBAAsB,EAAE,CAqBrG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,uBAAuB,GAAG,MAAM,CAsB1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,uBAAuB,GAAG,MAAM,CA8HrF;AAED,uEAAuE;AACvE,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAOR;AAED,8CAA8C;AAC9C,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAI1F"}
|