@aalis/plugin-tool-session 0.14.1 → 0.15.0
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/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -511
- package/dist/index.js.map +1 -1
- package/package.json +11 -19
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type SessionManagerService } from '@aalis/api-session-manager';
|
|
1
2
|
/**
|
|
2
3
|
* 把一个时间值解析为毫秒时间戳。接受:
|
|
3
4
|
* - number:直接当毫秒时间戳(有限值)。
|
|
@@ -25,15 +26,15 @@ export declare function resolveTimeRange(args: {
|
|
|
25
26
|
} | null;
|
|
26
27
|
declare const _default: import("@aalis/core").PluginDefinition<{
|
|
27
28
|
tools: import("@aalis/core").OptionalUse<import("@aalis/api-tools").ToolService, import("@aalis/api-tools").BoundTools>;
|
|
28
|
-
events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
|
|
29
|
-
hooks: import("@aalis/core").ServiceDescriptor<import("@aalis/api-hooks").HookRegistry, import("@aalis/api-hooks").Hooks>;
|
|
30
29
|
logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
|
|
31
30
|
config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
|
|
32
31
|
provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
|
|
33
|
-
memory: import("@aalis/core").OptionalUse<import("@aalis/api-memory").MemoryService, import("@aalis/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
memory: import("@aalis/core").OptionalUse<import("@aalis/api-memory").MemoryService, import("@aalis/api-memory").MemoryService>;
|
|
33
|
+
/**
|
|
34
|
+
* 当前会话所在房间的召回范围(会话配置 memoryRecallScope),与当前会话、目标会话的出生平台(子会话取根会话的)。
|
|
35
|
+
* 不在场时不按房间收窄,也没有出生平台:当前平台取入口平台,目标会话不属于任何平台,同平台范围里读不到别的会话
|
|
36
|
+
*/
|
|
37
|
+
sessionManager: import("@aalis/core").OptionalUse<SessionManagerService, import("@aalis/api-session-manager").BoundSessionManager>;
|
|
37
38
|
}>;
|
|
38
39
|
export default _default;
|
|
39
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAiB,KAAK,qBAAqB,EAAkB,MAAM,4BAA4B,CAAC;AAqEvG;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAc5D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EACpE,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmC7D;;;;;;;IAzFC;;;OAGG;;;AAoWL,wBA0BG"}
|
package/dist/index.js
CHANGED
|
@@ -1,83 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { hooks } from '@aalis/api-hooks';
|
|
3
|
-
import { memory } from '@aalis/api-memory';
|
|
4
|
-
import { persona } from '@aalis/api-persona';
|
|
5
|
-
import { platform, resolvePlatformBySession } from '@aalis/api-platform';
|
|
1
|
+
import { MEMORY_RECALL_SCOPE_SETTING, memory } from '@aalis/api-memory';
|
|
6
2
|
import { sessionHistory, } from '@aalis/api-session-history';
|
|
3
|
+
import { rootSessionOf, sessionManager } from '@aalis/api-session-manager';
|
|
7
4
|
import { tools } from '@aalis/api-tools';
|
|
8
|
-
import { config, definePlugin,
|
|
5
|
+
import { config, definePlugin, logger, optional, provide } from '@aalis/core';
|
|
9
6
|
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
10
|
-
// ===== 跨会话委派:回合深度防雪崩 =====
|
|
11
|
-
// 防止 A→B→C→... 无限链。深度随消息走(IncomingMessage.proactiveDepth),不按会话计时:
|
|
12
|
-
// 由委派消息驱动的那一个回合内禁止再委派,回合结束(agent:turn:after)即解除;
|
|
13
|
-
// 该会话之后由下一条不带 proactiveDepth 的入站消息(真人消息、idle/interval 自动触发都算)
|
|
14
|
-
// 驱动的回合不受影响。
|
|
15
|
-
const PROACTIVE_DEPTH_MAX = 1;
|
|
16
|
-
// ===== 跨会话委派:近期派发记录(提醒型,不硬挡) =====
|
|
17
|
-
// 记录每个 (target_session_id, task) 最近一次派发状态。
|
|
18
|
-
// 下一次同目标派发时,在拼装给 target agent 的 task 前注入 META 提醒,
|
|
19
|
-
// 让 target agent 自主判断是否需要重发。不防止派发本身。
|
|
20
|
-
const RECENT_DELEGATION_TTL_MS = 60 * 1000;
|
|
21
|
-
const RECENT_DELEGATION_MAX = 256; // 防止无限增长
|
|
22
|
-
function recentDelegationKey(targetSessionId, taskHash) {
|
|
23
|
-
return `${targetSessionId}::${taskHash}`;
|
|
24
|
-
}
|
|
25
|
-
function hashTask(task) {
|
|
26
|
-
// djb2 (xor variant):非密码学,零依赖,仅用于 60s 内区分 task 文本
|
|
27
|
-
const s = task.trim();
|
|
28
|
-
let h = 5381;
|
|
29
|
-
for (let i = 0; i < s.length; i++) {
|
|
30
|
-
h = (((h << 5) + h) ^ s.charCodeAt(i)) | 0;
|
|
31
|
-
}
|
|
32
|
-
return (h >>> 0).toString(16).padStart(8, '0');
|
|
33
|
-
}
|
|
34
|
-
function pruneRecentDelegations(store, now) {
|
|
35
|
-
for (const [key, entry] of store) {
|
|
36
|
-
if (entry.expiresAt <= now)
|
|
37
|
-
store.delete(key);
|
|
38
|
-
}
|
|
39
|
-
// 超上限时删最早的
|
|
40
|
-
if (store.size > RECENT_DELEGATION_MAX) {
|
|
41
|
-
const oldest = [...store.entries()].sort((a, b) => a[1].firedAt - b[1].firedAt);
|
|
42
|
-
for (let i = 0; i < oldest.length - RECENT_DELEGATION_MAX; i++) {
|
|
43
|
-
store.delete(oldest[i][0]);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function findRecentDelegationsForTarget(store, targetSessionId, now) {
|
|
48
|
-
const prefix = `${targetSessionId}::`;
|
|
49
|
-
const list = [];
|
|
50
|
-
for (const [key, entry] of store) {
|
|
51
|
-
if (entry.expiresAt <= now)
|
|
52
|
-
continue;
|
|
53
|
-
if (!key.startsWith(prefix))
|
|
54
|
-
continue;
|
|
55
|
-
list.push(entry);
|
|
56
|
-
}
|
|
57
|
-
list.sort((a, b) => b.firedAt - a.firedAt);
|
|
58
|
-
return list;
|
|
59
|
-
}
|
|
60
|
-
function buildDelegationMetaBlock(sourceSessionId, task, recents, now) {
|
|
61
|
-
const lines = [];
|
|
62
|
-
lines.push('[跨会话委派 META]');
|
|
63
|
-
lines.push(`· 来源会话:${sourceSessionId}`);
|
|
64
|
-
lines.push('· 提醒:你本轮的对外回复内容会原样发送到当前会话所在平台(群/私聊/...)。');
|
|
65
|
-
lines.push('· 生成回复前请先回看你最近 history:若你认为本任务已经完成、或本轮要写的内容与上一条对外回复实质重复,');
|
|
66
|
-
lines.push(' 请输出空回复(不再对外发送),按你所属 persona / output 约定填写必要的内部状态字段即可。');
|
|
67
|
-
if (recents.length > 0) {
|
|
68
|
-
lines.push(`· 检测:60s 内本目标会话 已收到 ${recents.length} 次同/近期任务。最近的:`);
|
|
69
|
-
for (let i = 0; i < Math.min(recents.length, 3); i++) {
|
|
70
|
-
const r = recents[i];
|
|
71
|
-
const ageSec = Math.round((now - r.firedAt) / 1000);
|
|
72
|
-
const reply = r.lastReplyPreview ? ` reply="${r.lastReplyPreview}"` : '';
|
|
73
|
-
lines.push(` - ${ageSec}s 前 · from=${r.sourceSessionId} · status=${r.status}${reply} · task="${r.taskPreview}"`);
|
|
74
|
-
}
|
|
75
|
-
lines.push(' 若确认重复,请依上面提醒处理。');
|
|
76
|
-
}
|
|
77
|
-
lines.push('[任务正文]');
|
|
78
|
-
lines.push(task);
|
|
79
|
-
return lines.join('\n');
|
|
80
|
-
}
|
|
81
7
|
// ===== 插件元数据与能力声明 =====
|
|
82
8
|
const configSchema = defineConfig({
|
|
83
9
|
enabled: { type: 'boolean', label: '启用会话历史读取工具', default: true, onInvalid: 'error' },
|
|
@@ -111,32 +37,18 @@ const configSchema = defineConfig({
|
|
|
111
37
|
default: 0,
|
|
112
38
|
description: '返给 LLM 的每条历史消息的字符上限;0 = 不截断(推荐)。超出会以「剩余 N 字符未展示」明示。',
|
|
113
39
|
},
|
|
114
|
-
crossSessionEnabled: {
|
|
115
|
-
type: 'boolean',
|
|
116
|
-
label: '启用跨会话委派 (delegate_to_session / list_known_sessions)',
|
|
117
|
-
default: true,
|
|
118
|
-
onInvalid: 'error',
|
|
119
|
-
description: '允许 agent 列出其他活跃会话并向其派发任务(如私聊→群聊、跨平台委派)。受 proactive-depth 与流控禁言/限速保护;限速只对 flow-control 作用域内的会话生效(默认 *:group)。',
|
|
120
|
-
},
|
|
121
|
-
crossSessionDefaultTimeoutSec: {
|
|
122
|
-
type: 'number',
|
|
123
|
-
label: '跨会话委派默认等待秒数',
|
|
124
|
-
default: 60,
|
|
125
|
-
description: 'delegate_to_session 在未显式指定 timeout_seconds 时使用的等待上限。',
|
|
126
|
-
},
|
|
127
40
|
});
|
|
128
41
|
const uses = {
|
|
129
42
|
tools: optional(tools),
|
|
130
|
-
events,
|
|
131
|
-
hooks,
|
|
132
43
|
logger,
|
|
133
44
|
config,
|
|
134
45
|
provide,
|
|
135
46
|
memory: optional(memory),
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
47
|
+
/**
|
|
48
|
+
* 当前会话所在房间的召回范围(会话配置 memoryRecallScope),与当前会话、目标会话的出生平台(子会话取根会话的)。
|
|
49
|
+
* 不在场时不按房间收窄,也没有出生平台:当前平台取入口平台,目标会话不属于任何平台,同平台范围里读不到别的会话
|
|
50
|
+
*/
|
|
51
|
+
sessionManager: optional(sessionManager),
|
|
140
52
|
};
|
|
141
53
|
/** 无原生区间查询的后端:区间检索退回扫描历史的最大条数(best-effort 上界,防 OOM) */
|
|
142
54
|
const RANGE_FALLBACK_SCAN = 5000;
|
|
@@ -207,8 +119,9 @@ export function resolveTimeRange(args, now) {
|
|
|
207
119
|
}
|
|
208
120
|
return null;
|
|
209
121
|
}
|
|
210
|
-
|
|
211
|
-
|
|
122
|
+
/** 会话管理记下的出生平台(子会话取根会话的);会话管理不在或会话没有出生平台时为 undefined */
|
|
123
|
+
function originPlatformOf(sm, sessionId) {
|
|
124
|
+
return sm && rootSessionOf(sm.getSession(sessionId), id => sm.getSession(id))?.originPlatform;
|
|
212
125
|
}
|
|
213
126
|
function formatHistoryMessage(message, index, perMessageMaxChars) {
|
|
214
127
|
const text = typeof message.content === 'string'
|
|
@@ -228,37 +141,45 @@ function formatHistoryMessage(message, index, perMessageMaxChars) {
|
|
|
228
141
|
metadata: message.metadata ?? undefined,
|
|
229
142
|
};
|
|
230
143
|
}
|
|
231
|
-
|
|
232
|
-
|
|
144
|
+
const SCOPE_RANK = { current: 0, platform: 1, all: 2 };
|
|
145
|
+
/**
|
|
146
|
+
* 当前会话能否读目标会话的历史。平台都按会话管理记下的出生平台:当前会话没有出生平台的取入口平台,目标会话没有出生平台的
|
|
147
|
+
* 不属于任何平台(同平台范围里读不到)
|
|
148
|
+
*/
|
|
149
|
+
function canReadSessionHistory(currentSessionId, targetSessionId, currentPlatform, targetPlatform, scope, roomScope, checkers, callCtx) {
|
|
150
|
+
// 1. 范围粗筛:插件 scope 与房间的召回范围(会话配置 memoryRecallScope,session 即 current)取较窄的一个,
|
|
151
|
+
// 先于平台规则裁决,平台规则只能在它放行之后再收窄;拒绝原因按是谁收窄的写
|
|
152
|
+
const fromRoom = roomScope === 'session' ? 'current' : roomScope;
|
|
153
|
+
const byRoom = fromRoom !== undefined && SCOPE_RANK[fromRoom] < SCOPE_RANK[scope];
|
|
154
|
+
const effective = byRoom ? fromRoom : scope;
|
|
233
155
|
if (targetSessionId === currentSessionId) {
|
|
234
156
|
// 同会话仍允许平台 checker 表态(防御性)
|
|
235
157
|
}
|
|
236
|
-
else if (
|
|
237
|
-
return { ok: false, reason: '当前配置仅允许读取当前会话历史' };
|
|
158
|
+
else if (effective === 'current') {
|
|
159
|
+
return { ok: false, reason: byRoom ? '本房间的召回范围限于本会话' : '当前配置仅允许读取当前会话历史' };
|
|
238
160
|
}
|
|
239
|
-
else if (
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
if (!current || !target || current !== target) {
|
|
161
|
+
else if (effective === 'platform') {
|
|
162
|
+
if (!currentPlatform || !targetPlatform || currentPlatform !== targetPlatform) {
|
|
163
|
+
const detail = `(当前=${currentPlatform || 'unknown'}, 目标=${targetPlatform || 'unknown'})`;
|
|
243
164
|
return {
|
|
244
165
|
ok: false,
|
|
245
|
-
reason:
|
|
166
|
+
reason: byRoom ? `本房间的召回范围限于同平台会话${detail}` : `当前配置仅允许读取同平台会话历史${detail}`,
|
|
246
167
|
};
|
|
247
168
|
}
|
|
248
169
|
}
|
|
249
|
-
//
|
|
250
|
-
//
|
|
251
|
-
|
|
252
|
-
const matched = checkers.filter(c => c.platform
|
|
170
|
+
// effective === 'all' 直接走 checker 链
|
|
171
|
+
// 2. 问管目标会话 id 的 checker(契约:目标 id 以 `<checker.platform>:` 开头,id 的写法归那个平台),any-deny 短路;
|
|
172
|
+
// 无匹配 checker 默认通过
|
|
173
|
+
const matched = checkers.filter(c => targetSessionId.startsWith(`${c.platform}:`));
|
|
253
174
|
for (const checker of matched) {
|
|
254
175
|
const verdict = checker.check({ currentSessionId, targetSessionId, callCtx });
|
|
255
176
|
if (verdict?.decision === 'deny') {
|
|
256
|
-
return { ok: false, reason: verdict.reason || `平台 ${
|
|
177
|
+
return { ok: false, reason: verdict.reason || `平台 ${checker.platform} 拒绝此次跨会话访问` };
|
|
257
178
|
}
|
|
258
179
|
}
|
|
259
180
|
return { ok: true };
|
|
260
181
|
}
|
|
261
|
-
function createSessionHistoryService({ memory, logger }, cfg) {
|
|
182
|
+
function createSessionHistoryService({ memory, logger, sessionManager }, cfg) {
|
|
262
183
|
const checkers = [];
|
|
263
184
|
return {
|
|
264
185
|
registerAccessChecker(checker) {
|
|
@@ -270,13 +191,18 @@ function createSessionHistoryService({ memory, logger }, cfg) {
|
|
|
270
191
|
};
|
|
271
192
|
},
|
|
272
193
|
async getHistory(options, callCtx) {
|
|
273
|
-
|
|
274
|
-
if (!store)
|
|
194
|
+
if (!memory.present)
|
|
275
195
|
return { error: 'memory 服务不可用' };
|
|
196
|
+
const store = memory.use;
|
|
276
197
|
const targetSessionId = String(options.sessionId ?? '').trim();
|
|
277
198
|
if (!targetSessionId)
|
|
278
199
|
return { error: 'sessionId 不能为空' };
|
|
279
|
-
const
|
|
200
|
+
const sm = sessionManager.present ? sessionManager.use : undefined;
|
|
201
|
+
// 当前平台:房间会话按出生平台,不论从哪个入口驱动;没有出生平台的会话(WebUI、CLI 等)按入口平台
|
|
202
|
+
const currentPlatform = originPlatformOf(sm, callCtx.sessionId) ?? callCtx.platform;
|
|
203
|
+
// 房间的召回范围每次现算:房间或平台档改了下一次读取即生效
|
|
204
|
+
const roomScope = sm?.resolveConfig(callCtx.sessionId, currentPlatform).memoryRecallScope;
|
|
205
|
+
const verdict = canReadSessionHistory(callCtx.sessionId, targetSessionId, currentPlatform, originPlatformOf(sm, targetSessionId), cfg.scope, roomScope, checkers, callCtx);
|
|
280
206
|
if (!verdict.ok)
|
|
281
207
|
return { error: verdict.reason };
|
|
282
208
|
const limit = Math.max(1, Math.min(cfg.maxLimit, Math.floor(Number(options.limit) || cfg.defaultLimit)));
|
|
@@ -341,19 +267,19 @@ function createSessionHistoryService({ memory, logger }, cfg) {
|
|
|
341
267
|
}
|
|
342
268
|
catch (err) {
|
|
343
269
|
const message = err instanceof Error ? err.message : String(err);
|
|
344
|
-
logger.warn(`session-history 读取失败 (${targetSessionId}): ${message}`);
|
|
270
|
+
logger.use.warn(`session-history 读取失败 (${targetSessionId}): ${message}`);
|
|
345
271
|
return { error: `读取会话历史失败: ${message}` };
|
|
346
272
|
}
|
|
347
273
|
},
|
|
348
274
|
};
|
|
349
275
|
}
|
|
350
276
|
function registerSessionHistoryTools({ tools, logger }, historyService, cfg) {
|
|
351
|
-
tools.registerGroup({
|
|
277
|
+
tools.use.registerGroup({
|
|
352
278
|
name: 'session-history',
|
|
353
279
|
label: '会话历史读取',
|
|
354
280
|
description: '按 Aalis sessionId 读取近期会话历史,用于核实跨会话上下文',
|
|
355
281
|
});
|
|
356
|
-
tools.register({
|
|
282
|
+
tools.use.register({
|
|
357
283
|
groups: ['session-history'],
|
|
358
284
|
definition: {
|
|
359
285
|
type: 'function',
|
|
@@ -418,392 +344,7 @@ function registerSessionHistoryTools({ tools, logger }, historyService, cfg) {
|
|
|
418
344
|
return JSON.stringify(result);
|
|
419
345
|
},
|
|
420
346
|
});
|
|
421
|
-
logger.info('会话历史读取工具已注册');
|
|
422
|
-
}
|
|
423
|
-
/**
|
|
424
|
-
* 登记「当前回合由深度 N 的委派消息驱动」。
|
|
425
|
-
*
|
|
426
|
-
* 登记点在 `agent:input:before`——回合真正开始的那一刻,且是所有投递方式的汇合处:
|
|
427
|
-
* 经 `inbound:message` 事件进来的和直接调 `gateway.ingressMessage()` 的都要过这道钩子,
|
|
428
|
-
* 登记因而必然早于本回合的任何工具调用。
|
|
429
|
-
*
|
|
430
|
-
* 入站即写、回合结束(`agent:turn:after`)即清;下一条不带 proactiveDepth 的入站消息
|
|
431
|
-
* (真人消息、idle/interval 自动触发都算)会覆盖清除该会话的登记,所以即使某轮没等到
|
|
432
|
-
* turn:after(被中间件吞、进程重启前残留),这样的下一条消息也能立刻解锁——无需任何超时兜底。
|
|
433
|
-
*
|
|
434
|
-
* 锁按 sessionId 记,是「会话近似回合」:同会话不同 source 的并行回合共用同一把锁,
|
|
435
|
-
* 后开始的那个会覆盖前一个的登记、先结束的那个会替所有人解锁。
|
|
436
|
-
*/
|
|
437
|
-
function trackProactiveTurnDepth(hooks, turnProactiveDepth) {
|
|
438
|
-
hooks.middleware('agent:input:before', async (data, next) => {
|
|
439
|
-
const depth = typeof data.message.proactiveDepth === 'number' ? data.message.proactiveDepth : 0;
|
|
440
|
-
if (depth > 0)
|
|
441
|
-
turnProactiveDepth.set(data.message.sessionId, depth);
|
|
442
|
-
else
|
|
443
|
-
turnProactiveDepth.delete(data.message.sessionId);
|
|
444
|
-
await next();
|
|
445
|
-
});
|
|
446
|
-
hooks.middleware('agent:turn:after', async (data, next) => {
|
|
447
|
-
await next();
|
|
448
|
-
turnProactiveDepth.delete(data.sessionId);
|
|
449
|
-
});
|
|
450
|
-
}
|
|
451
|
-
function registerCrossSessionTools(caps, cfg) {
|
|
452
|
-
const { tools, logger, events, hooks, memory, platform, persona, flowControl } = caps;
|
|
453
|
-
/**
|
|
454
|
-
* sessionId → 该会话当前回合的入站消息所带 proactiveDepth(非委派回合不在表内)。
|
|
455
|
-
* 随这次激活存亡:锁由本次激活的 `agent:input:before` 中间件写入、由本次激活注册的工具读取,
|
|
456
|
-
* 插件重载后旧锁必须一并消失,否则新激活会拿着没有对应回合的残留锁拒绝委派。
|
|
457
|
-
*/
|
|
458
|
-
const turnProactiveDepth = new Map();
|
|
459
|
-
/** (目标会话, task) → 最近一次派发状态;同样随激活存亡(60s 提醒窗,跨重载无保留价值) */
|
|
460
|
-
const recentDelegations = new Map();
|
|
461
|
-
trackProactiveTurnDepth(hooks, turnProactiveDepth);
|
|
462
|
-
tools.registerGroup({
|
|
463
|
-
name: 'session-delegate',
|
|
464
|
-
label: '跨会话派发',
|
|
465
|
-
description: '向已存在的其他会话(如另一个群、另一个 QQ 好友、另一个平台)派发任务并可选等待结果。',
|
|
466
|
-
});
|
|
467
|
-
// ---- list_known_sessions ----
|
|
468
|
-
// 列出最近活跃的会话(按平台/最近活跃时间),供 agent 在 delegate 前发现可派发目标,
|
|
469
|
-
// 避免凭空拼接 sessionId 出错。基于 memory 的 getRecentMessagesAcrossSessions 能力。
|
|
470
|
-
tools.register({
|
|
471
|
-
groups: ['session-delegate'],
|
|
472
|
-
definition: {
|
|
473
|
-
type: 'function',
|
|
474
|
-
function: {
|
|
475
|
-
name: 'list_known_sessions',
|
|
476
|
-
description: [
|
|
477
|
-
'列出 agent 最近活跃过的会话,按最近活动时间倒序返回,用于 delegate_to_session 之前发现目标 sessionId。',
|
|
478
|
-
'',
|
|
479
|
-
'【返回字段】',
|
|
480
|
-
'- session_id:完整 sessionId(可直接用于 delegate_to_session 的 target_session_id)',
|
|
481
|
-
'- platform:所属平台(如 onebot / webui / scheduler)',
|
|
482
|
-
'- last_activity_ts:最近一条消息的时间戳(毫秒)',
|
|
483
|
-
'- preview:最近一条消息的内容预览(截断到 80 字)',
|
|
484
|
-
'',
|
|
485
|
-
'【注意】',
|
|
486
|
-
'- 仅返回 memory 中存在历史的会话;从未对话过的群/好友需要用平台专属工具(如 onebot_get_group_list)查询。',
|
|
487
|
-
'- 默认排除当前会话本身。',
|
|
488
|
-
].join('\n'),
|
|
489
|
-
parameters: {
|
|
490
|
-
type: 'object',
|
|
491
|
-
properties: {
|
|
492
|
-
limit: {
|
|
493
|
-
type: 'number',
|
|
494
|
-
description: '最大返回会话数(默认 20,最大 100)',
|
|
495
|
-
},
|
|
496
|
-
platform: {
|
|
497
|
-
type: 'string',
|
|
498
|
-
description: '仅返回指定平台的会话(如 "onebot");省略则不限平台',
|
|
499
|
-
},
|
|
500
|
-
since_hours: {
|
|
501
|
-
type: 'number',
|
|
502
|
-
description: '仅返回最近 N 小时内有活动的会话(默认 168 小时 = 7 天)',
|
|
503
|
-
},
|
|
504
|
-
},
|
|
505
|
-
required: [],
|
|
506
|
-
additionalProperties: false,
|
|
507
|
-
},
|
|
508
|
-
},
|
|
509
|
-
},
|
|
510
|
-
handler: async (args, callCtx) => {
|
|
511
|
-
const store = memory.current;
|
|
512
|
-
if (!store?.getRecentMessagesAcrossSessions) {
|
|
513
|
-
return JSON.stringify({
|
|
514
|
-
error: '当前 memory 服务不支持 getRecentMessagesAcrossSessions 能力',
|
|
515
|
-
});
|
|
516
|
-
}
|
|
517
|
-
const limit = Math.min(100, Math.max(1, Number(args.limit) || 20));
|
|
518
|
-
const sinceHours = Number.isFinite(Number(args.since_hours)) && Number(args.since_hours) > 0 ? Number(args.since_hours) : 168;
|
|
519
|
-
const platformFilter = typeof args.platform === 'string' && args.platform.trim().length > 0 ? args.platform.trim() : undefined;
|
|
520
|
-
const sinceTs = Date.now() - sinceHours * 3600 * 1000;
|
|
521
|
-
// 多取一些消息再按 session 聚合,确保 limit 个会话能凑齐
|
|
522
|
-
const records = await store.getRecentMessagesAcrossSessions({
|
|
523
|
-
limit: Math.max(limit * 10, 200),
|
|
524
|
-
sinceTs,
|
|
525
|
-
platform: platformFilter,
|
|
526
|
-
excludeSessionIds: callCtx.sessionId ? [callCtx.sessionId] : undefined,
|
|
527
|
-
roles: ['user', 'assistant'],
|
|
528
|
-
});
|
|
529
|
-
const bySession = new Map();
|
|
530
|
-
for (const rec of records) {
|
|
531
|
-
const ts = rec.message.timestamp ?? 0;
|
|
532
|
-
const existing = bySession.get(rec.sessionId);
|
|
533
|
-
if (!existing || ts > existing.lastTs) {
|
|
534
|
-
const content = typeof rec.message.content === 'string' ? rec.message.content : '';
|
|
535
|
-
const preview = content.length > 80 ? `${content.slice(0, 80)}...` : content;
|
|
536
|
-
const platformName = rec.message.metadata?.platform != null
|
|
537
|
-
? String(rec.message.metadata.platform)
|
|
538
|
-
: rec.sessionId.split(':')[0] || undefined;
|
|
539
|
-
bySession.set(rec.sessionId, {
|
|
540
|
-
sessionId: rec.sessionId,
|
|
541
|
-
platform: platformName,
|
|
542
|
-
lastTs: ts,
|
|
543
|
-
preview,
|
|
544
|
-
});
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
const items = [...bySession.values()]
|
|
548
|
-
.sort((a, b) => b.lastTs - a.lastTs)
|
|
549
|
-
.slice(0, limit)
|
|
550
|
-
.map(s => ({
|
|
551
|
-
session_id: s.sessionId,
|
|
552
|
-
platform: s.platform,
|
|
553
|
-
last_activity_ts: s.lastTs,
|
|
554
|
-
preview: s.preview,
|
|
555
|
-
}));
|
|
556
|
-
return JSON.stringify({
|
|
557
|
-
count: items.length,
|
|
558
|
-
since_hours: sinceHours,
|
|
559
|
-
sessions: items,
|
|
560
|
-
});
|
|
561
|
-
},
|
|
562
|
-
});
|
|
563
|
-
// ---- delegate_to_session ----
|
|
564
|
-
// 向已存在的目标会话派发一次任务,目标会话的 agent 在自己原本的人设/记忆/工具集下完整推理;
|
|
565
|
-
// 与 create_subtask 不同:目标不是新建的"子会话",而是任意已知 sessionId(如群聊、私聊、跨平台)。
|
|
566
|
-
tools.register({
|
|
567
|
-
groups: ['session-delegate'],
|
|
568
|
-
definition: {
|
|
569
|
-
type: 'function',
|
|
570
|
-
function: {
|
|
571
|
-
name: 'delegate_to_session',
|
|
572
|
-
description: [
|
|
573
|
-
'向指定的目标会话(target_session_id)派发一次任务,目标会话的 agent 会在它自己的人设、记忆、工具集、',
|
|
574
|
-
'平台环境下自主完成一次完整推理(可能调用工具、分多段回复等)。',
|
|
575
|
-
'',
|
|
576
|
-
'【典型使用场景】',
|
|
577
|
-
'- 你在私聊里被要求"去 xx 群禁言 yyy":群管理类工具只能在群聊会话内调用,',
|
|
578
|
-
' 此时应 delegate 到该群 sessionId,让群里的 agent 执行 onebot_group_ban。',
|
|
579
|
-
'- 跨平台转告:把消息从 webui 转告到某个 QQ 群。',
|
|
580
|
-
'- 主动联系某位好友 / 在某个群发布公告。',
|
|
581
|
-
'',
|
|
582
|
-
'【与 create_subtask 区别】',
|
|
583
|
-
'- create_subtask:新建一个"子会话"分支,状态独立、有 parent/child 关系,用于把当前任务拆分成并行子任务。',
|
|
584
|
-
'- delegate_to_session:目标是已经存在(或将以平台身份存在)的会话,没有 parent/child 关系,',
|
|
585
|
-
' 对目标会话来说就像收到一条"主动消息"。',
|
|
586
|
-
'',
|
|
587
|
-
'【sessionId 怎么拿】',
|
|
588
|
-
'- OneBot 群/私聊:onebot:<selfId>:group:<群号> 或 onebot:<selfId>:private:<QQ号>,',
|
|
589
|
-
' 也可先调用 onebot_resolve_session_id 转换。',
|
|
590
|
-
'- 其他平台:参考各平台 adapter 的 sessionId 约定。',
|
|
591
|
-
'',
|
|
592
|
-
'【安全限制】',
|
|
593
|
-
'- 防雪崩:委派消息驱动的那一个回合内禁止再委派(A→B 允许,B 处理这条委派时不能再 delegate);',
|
|
594
|
-
' 回合结束即解除,该会话之后由下一条不带 proactiveDepth 的入站消息',
|
|
595
|
-
' (真人消息、idle/interval 自动触发都算)驱动的回合不受影响。',
|
|
596
|
-
'- 流控约束:目标会话受流控禁言与限速约束,禁言期内或限速窗口已满时委派会被拒绝。',
|
|
597
|
-
'- 自委派被禁止:target_session_id 不能等于当前 sessionId。',
|
|
598
|
-
'',
|
|
599
|
-
'【wait_for_result】',
|
|
600
|
-
'- true(默认):同步等待目标 agent 完成一轮回复,把对方 reply 文本返回给你,最长等 timeout_seconds 秒。',
|
|
601
|
-
'- false:fire-and-forget,立刻返回"已派发",不阻塞当前会话。',
|
|
602
|
-
'',
|
|
603
|
-
'【fire-and-forget 时延 / 重复派发提醒】',
|
|
604
|
-
'- fire-and-forget 模式下,目标会话从被派发到真正对外发送通常需要 5~30 秒(大群历史多、目标 agent 多轮工具迭代会更慢)。',
|
|
605
|
-
'- 用户口头说"没收到"不等于目标真的没发;先用 onebot_get_session_history(或对应平台的 history 工具)',
|
|
606
|
-
' 查目标 sessionId 最近一条 role=assistant 输出,结合该会话所用 persona/output 约定判断是否已发出。',
|
|
607
|
-
'- 系统会在 60 秒内追踪同一 target_session_id 的多次派发,并在派发给目标 agent 的 task 前注入 META 块;',
|
|
608
|
-
' 目标 agent 可识别 META 后选择不重发(输出空回复)。但 META 是"提醒"非硬性拦截:',
|
|
609
|
-
' 调用方仍应避免短时间内对同一目标重复派发同一任务。',
|
|
610
|
-
'',
|
|
611
|
-
'【返回值字段】',
|
|
612
|
-
'- outcome: replied / silent / aborted。silent 表示目标 agent 本轮 reply 为空(可能在执行工具未发文本、',
|
|
613
|
-
' 或被中间件吞掉、或目标策略层主动静默);reply="" 不代表任务一定已完成。',
|
|
614
|
-
'- reply: 目标 agent 真正对外发出的可见文本(可能为空)。',
|
|
615
|
-
'- personaState: 可选字段。若目标会话挂载了 persona 且本轮产出结构化状态,则附带,用于辅助判断;',
|
|
616
|
-
' 不挂载或未产出时不出现,不要假设它一定存在。',
|
|
617
|
-
].join('\n'),
|
|
618
|
-
parameters: {
|
|
619
|
-
type: 'object',
|
|
620
|
-
properties: {
|
|
621
|
-
target_session_id: {
|
|
622
|
-
type: 'string',
|
|
623
|
-
description: '目标会话完整 sessionId(如 "onebot:10000:group:20002")',
|
|
624
|
-
},
|
|
625
|
-
task: {
|
|
626
|
-
type: 'string',
|
|
627
|
-
description: '给目标会话 agent 的任务说明。注意这不是要原样发出的文本,而是"该做什么/该说什么"的指令,' +
|
|
628
|
-
'目标 agent 会按自己的风格、记忆、工具集组织措辞和动作。',
|
|
629
|
-
},
|
|
630
|
-
wait_for_result: {
|
|
631
|
-
type: 'boolean',
|
|
632
|
-
description: '是否同步等待目标 agent 完成本轮回复并把内容返回。默认 true。',
|
|
633
|
-
},
|
|
634
|
-
timeout_seconds: {
|
|
635
|
-
type: 'number',
|
|
636
|
-
description: `wait_for_result=true 时的等待上限,默认 ${cfg.crossSessionDefaultTimeoutSec} 秒,最大 300 秒。`,
|
|
637
|
-
},
|
|
638
|
-
},
|
|
639
|
-
required: ['target_session_id', 'task'],
|
|
640
|
-
additionalProperties: false,
|
|
641
|
-
},
|
|
642
|
-
},
|
|
643
|
-
},
|
|
644
|
-
handler: async (args, callCtx) => {
|
|
645
|
-
const targetSessionId = String(args.target_session_id ?? '').trim();
|
|
646
|
-
const task = String(args.task ?? '');
|
|
647
|
-
const waitForResult = args.wait_for_result === undefined ? true : args.wait_for_result === true;
|
|
648
|
-
const requestedTimeoutSec = Number(args.timeout_seconds);
|
|
649
|
-
const timeoutSec = Number.isFinite(requestedTimeoutSec) && requestedTimeoutSec > 0
|
|
650
|
-
? Math.min(300, requestedTimeoutSec)
|
|
651
|
-
: cfg.crossSessionDefaultTimeoutSec;
|
|
652
|
-
const timeoutMs = Math.max(1000, timeoutSec * 1000);
|
|
653
|
-
if (!targetSessionId)
|
|
654
|
-
return JSON.stringify({ error: 'target_session_id 不能为空' });
|
|
655
|
-
if (!task.trim())
|
|
656
|
-
return JSON.stringify({ error: 'task 不能为空' });
|
|
657
|
-
if (targetSessionId === callCtx.sessionId) {
|
|
658
|
-
return JSON.stringify({ error: 'target_session_id 不能等于当前会话;如需自我追问请直接生成下一轮回复。' });
|
|
659
|
-
}
|
|
660
|
-
// 防雪崩:只看「本回合是不是委派消息驱动的」。深度随消息走,回合结束即解除。
|
|
661
|
-
const currentDepth = turnProactiveDepth.get(callCtx.sessionId) ?? 0;
|
|
662
|
-
if (currentDepth >= PROACTIVE_DEPTH_MAX) {
|
|
663
|
-
return JSON.stringify({ error: '本回合由委派消息驱动,不能再委派' });
|
|
664
|
-
}
|
|
665
|
-
const targetDepth = currentDepth + 1;
|
|
666
|
-
// 流控硬闸:只检不记。限速按目标会话的真实回复计(flow-control 监听 outbound:message),
|
|
667
|
-
// 派发到回复落地之间对同一目标的突发委派不占槽,可能越过限速。
|
|
668
|
-
const flow = flowControl.current;
|
|
669
|
-
if (flow?.isMuted(targetSessionId)) {
|
|
670
|
-
return JSON.stringify({ error: '委派被拒:目标会话处于禁言期' });
|
|
671
|
-
}
|
|
672
|
-
if (flow?.isRateLimited(targetSessionId)) {
|
|
673
|
-
return JSON.stringify({ error: '委派被拒:目标会话已达流控限速上限' });
|
|
674
|
-
}
|
|
675
|
-
const platformName = (await resolvePlatformBySession(platform, targetSessionId, logger))?.platform;
|
|
676
|
-
// ===== 注入 META 提示(提醒型,不挡派发) =====
|
|
677
|
-
const now = Date.now();
|
|
678
|
-
pruneRecentDelegations(recentDelegations, now);
|
|
679
|
-
const taskHash = hashTask(task);
|
|
680
|
-
const dedupKey = recentDelegationKey(targetSessionId, taskHash);
|
|
681
|
-
const recents = findRecentDelegationsForTarget(recentDelegations, targetSessionId, now);
|
|
682
|
-
const taskWithMeta = buildDelegationMetaBlock(callCtx.sessionId, task, recents, now);
|
|
683
|
-
const entry = {
|
|
684
|
-
firedAt: now,
|
|
685
|
-
expiresAt: now + RECENT_DELEGATION_TTL_MS,
|
|
686
|
-
sourceSessionId: callCtx.sessionId,
|
|
687
|
-
taskPreview: task.length > 80 ? `${task.slice(0, 80)}...` : task,
|
|
688
|
-
status: waitForResult ? 'pending' : 'fired-no-wait',
|
|
689
|
-
};
|
|
690
|
-
recentDelegations.set(dedupKey, entry);
|
|
691
|
-
if (recents.length > 0) {
|
|
692
|
-
logger.info(`[delegate] META 提醒已注入:${targetSessionId} 在 60s 内已收到 ${recents.length} 次同/近期任务`);
|
|
693
|
-
}
|
|
694
|
-
const incoming = {
|
|
695
|
-
content: taskWithMeta,
|
|
696
|
-
sessionId: targetSessionId,
|
|
697
|
-
platform: platformName ?? callCtx.platform ?? 'internal',
|
|
698
|
-
source: `proactive:from:${callCtx.sessionId}`,
|
|
699
|
-
triggerType: 'proactive',
|
|
700
|
-
// 深度随消息走:目标会话处理这条消息的那一个回合内不能再委派
|
|
701
|
-
proactiveDepth: targetDepth,
|
|
702
|
-
};
|
|
703
|
-
// 授权身份透传(schema-message 的 actor 契约):authority 按发起者 (platform, userId)
|
|
704
|
-
// 实时查等级——权限跟人走。优先 callCtx.actor(本回合已在代人执行时链式传递),
|
|
705
|
-
// 否则用物理身份。只透传不发明:强制从 callCtx snapshot、绝不从 args 读
|
|
706
|
-
// (防 LLM 指定身份提权,同 scheduler 范式);callCtx 匿名则目标同样匿名。
|
|
707
|
-
const delegateActor = callCtx.actor ??
|
|
708
|
-
(callCtx.platform && callCtx.userId ? { platform: callCtx.platform, userId: callCtx.userId } : undefined);
|
|
709
|
-
if (delegateActor)
|
|
710
|
-
incoming.actor = delegateActor;
|
|
711
|
-
const taskPreview = task.length > 80 ? `${task.slice(0, 80)}... (+${task.length - 80}字,全文已完整传递给目标会话)` : task;
|
|
712
|
-
logger.info(`[delegate] from=${callCtx.sessionId} -> ${targetSessionId} depth=${targetDepth} wait=${waitForResult} task="${taskPreview}"`);
|
|
713
|
-
if (!waitForResult) {
|
|
714
|
-
events.emit('inbound:message', incoming).catch(err => {
|
|
715
|
-
logger.warn(`[delegate] 派发失败 (${targetSessionId}): ${err}`);
|
|
716
|
-
});
|
|
717
|
-
logger.info(`[delegate] return -> ${callCtx.sessionId} wait=false (fire-and-forget)`);
|
|
718
|
-
return JSON.stringify({
|
|
719
|
-
delegated: true,
|
|
720
|
-
targetSessionId,
|
|
721
|
-
wait: false,
|
|
722
|
-
depth: `${targetDepth}/${PROACTIVE_DEPTH_MAX}`,
|
|
723
|
-
message: '已派发,不等待目标会话结果',
|
|
724
|
-
});
|
|
725
|
-
}
|
|
726
|
-
// wait_for_result=true:在派发前注册 agent:turn:after 监听,捕获目标 sessionId 的首条 reply
|
|
727
|
-
let captured;
|
|
728
|
-
let resolveWait;
|
|
729
|
-
const waitPromise = new Promise(resolve => {
|
|
730
|
-
resolveWait = resolve;
|
|
731
|
-
});
|
|
732
|
-
const dispose = hooks.middleware('agent:turn:after', async (data, next) => {
|
|
733
|
-
await next();
|
|
734
|
-
if (captured)
|
|
735
|
-
return;
|
|
736
|
-
// 只认本次委派那条 incoming:同一目标会话上并发的真实用户消息 source 不同,不会被误当委派结果。
|
|
737
|
-
// 残留边角——同一源会话对同一目标并发多次委派会共享 source,此处不细分(需关联 id,超出当前范围)。
|
|
738
|
-
if (data.sessionId !== targetSessionId || data.message?.source !== incoming.source)
|
|
739
|
-
return;
|
|
740
|
-
captured = { reply: data.reply ?? '', outcome: data.outcome };
|
|
741
|
-
resolveWait?.();
|
|
742
|
-
});
|
|
743
|
-
const timeoutHandle = setTimeout(() => resolveWait?.(), timeoutMs);
|
|
744
|
-
try {
|
|
745
|
-
await events.emit('inbound:message', incoming);
|
|
746
|
-
await waitPromise;
|
|
747
|
-
}
|
|
748
|
-
finally {
|
|
749
|
-
clearTimeout(timeoutHandle);
|
|
750
|
-
dispose();
|
|
751
|
-
}
|
|
752
|
-
if (!captured) {
|
|
753
|
-
logger.warn(`[delegate] return -> ${callCtx.sessionId} timedOut=true wait=${timeoutSec}s (未捕获 agent:turn:after)`);
|
|
754
|
-
return JSON.stringify({
|
|
755
|
-
delegated: true,
|
|
756
|
-
targetSessionId,
|
|
757
|
-
wait: true,
|
|
758
|
-
timedOut: true,
|
|
759
|
-
depth: `${targetDepth}/${PROACTIVE_DEPTH_MAX}`,
|
|
760
|
-
message: `已派发但在 ${timeoutSec}s 内未捕获 agent:turn:after(目标可能仍在执行或被中间件 swallow)`,
|
|
761
|
-
});
|
|
762
|
-
}
|
|
763
|
-
// 更新 recentDelegations entry:写入回复结果,供后续重复派发提醒展示
|
|
764
|
-
const entryAfter = recentDelegations.get(dedupKey);
|
|
765
|
-
if (entryAfter) {
|
|
766
|
-
entryAfter.status = 'replied';
|
|
767
|
-
const r = captured.reply ?? '';
|
|
768
|
-
entryAfter.lastReplyPreview =
|
|
769
|
-
r.length > 60 ? `${r.slice(0, 60).replace(/\n/g, ' ')}...` : r.replace(/\n/g, ' ');
|
|
770
|
-
}
|
|
771
|
-
const replyTruncated = captured.reply.length > 2000
|
|
772
|
-
? `${captured.reply.slice(0, 2000)}\n...[已截断, 原长 ${captured.reply.length} 字]`
|
|
773
|
-
: captured.reply;
|
|
774
|
-
// 可选附加:若目标会话挂载了 persona service 且本轮产出结构化状态,附带返回;
|
|
775
|
-
// 不挂载或未产出时不放该字段,避免上游对「persona 一定存在」做假设。
|
|
776
|
-
let personaState;
|
|
777
|
-
try {
|
|
778
|
-
const state = persona.current?.getSessionState?.(targetSessionId);
|
|
779
|
-
if (state && Object.keys(state).length > 0) {
|
|
780
|
-
personaState = state;
|
|
781
|
-
}
|
|
782
|
-
}
|
|
783
|
-
catch {
|
|
784
|
-
// service 未启用 / 未提供接口,静默忽略
|
|
785
|
-
}
|
|
786
|
-
const payload = {
|
|
787
|
-
delegated: true,
|
|
788
|
-
targetSessionId,
|
|
789
|
-
wait: true,
|
|
790
|
-
timedOut: false,
|
|
791
|
-
outcome: captured.outcome,
|
|
792
|
-
reply: replyTruncated,
|
|
793
|
-
depth: `${targetDepth}/${PROACTIVE_DEPTH_MAX}`,
|
|
794
|
-
};
|
|
795
|
-
if (personaState)
|
|
796
|
-
payload.personaState = personaState;
|
|
797
|
-
const replyPreview = captured.reply.length === 0
|
|
798
|
-
? '<空>'
|
|
799
|
-
: captured.reply.length > 60
|
|
800
|
-
? `"${captured.reply.slice(0, 60).replace(/\n/g, ' ')}..." (+${captured.reply.length - 60}字)`
|
|
801
|
-
: `"${captured.reply.replace(/\n/g, ' ')}"`;
|
|
802
|
-
logger.info(`[delegate] return -> ${callCtx.sessionId} outcome=${captured.outcome} reply=${replyPreview}${personaState ? ' personaState=yes' : ''}`);
|
|
803
|
-
return JSON.stringify(payload);
|
|
804
|
-
},
|
|
805
|
-
});
|
|
806
|
-
logger.info('跨会话协作工具已注册');
|
|
347
|
+
logger.use.info('会话历史读取工具已注册');
|
|
807
348
|
}
|
|
808
349
|
// ===== 插件入口 =====
|
|
809
350
|
export default definePlugin({
|
|
@@ -814,23 +355,20 @@ export default definePlugin({
|
|
|
814
355
|
provides: [sessionHistory],
|
|
815
356
|
uses,
|
|
816
357
|
apply(caps) {
|
|
817
|
-
const parsed = parseConfig(configSchema, caps.config, caps.logger);
|
|
358
|
+
const parsed = parseConfig(configSchema, caps.config.use, caps.logger.use);
|
|
818
359
|
const maxLimit = Math.max(1, Math.min(1000, parsed.maxLimit || configSchema.maxLimit.default));
|
|
819
360
|
const cfg = {
|
|
820
361
|
...parsed,
|
|
821
362
|
maxLimit,
|
|
822
363
|
defaultLimit: Math.min(Math.max(1, Math.floor(parsed.defaultLimit || configSchema.defaultLimit.default)), maxLimit),
|
|
823
364
|
perMessageMaxChars: Math.max(0, parsed.perMessageMaxChars),
|
|
824
|
-
crossSessionDefaultTimeoutSec: parsed.crossSessionDefaultTimeoutSec || configSchema.crossSessionDefaultTimeoutSec.default,
|
|
825
365
|
};
|
|
826
366
|
if (!cfg.enabled)
|
|
827
367
|
return;
|
|
368
|
+
caps.sessionManager.use.registerSetting(MEMORY_RECALL_SCOPE_SETTING);
|
|
828
369
|
const historyService = createSessionHistoryService(caps, cfg);
|
|
829
|
-
caps.provide(sessionHistory, historyService, { label: '会话历史读取' });
|
|
370
|
+
caps.provide.use(sessionHistory, historyService, { label: '会话历史读取' });
|
|
830
371
|
registerSessionHistoryTools(caps, historyService, cfg);
|
|
831
|
-
if (cfg.crossSessionEnabled) {
|
|
832
|
-
registerCrossSessionTools(caps, cfg);
|
|
833
|
-
}
|
|
834
372
|
},
|
|
835
373
|
});
|
|
836
374
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-tool-session",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"url": "https://github.com/AalisLabs/Aalis/issues"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://github.com/AalisLabs/Aalis#readme",
|
|
15
|
-
"description": "
|
|
15
|
+
"description": "会话工具:按 sessionId 读取会话历史,提供 session_get_history 工具与 session-history 服务",
|
|
16
16
|
"type": "module",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"aalis",
|
|
@@ -24,41 +24,33 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
28
|
-
"@aalis/api-
|
|
29
|
-
"@aalis/api-
|
|
30
|
-
"@aalis/api-
|
|
31
|
-
"@aalis/api-
|
|
32
|
-
"@aalis/api-session-history": ">=0.1.0 <1.0.0",
|
|
33
|
-
"@aalis/api-tools": ">=0.10.0 <1.0.0",
|
|
34
|
-
"@aalis/api-hooks": ">=0.1.0 <1.0.0"
|
|
27
|
+
"@aalis/schema-config": ">=0.15.0 <1.0.0",
|
|
28
|
+
"@aalis/api-memory": ">=0.8.0 <1.0.0",
|
|
29
|
+
"@aalis/api-session-history": ">=0.2.0 <1.0.0",
|
|
30
|
+
"@aalis/api-session-manager": ">=0.11.0 <1.0.0",
|
|
31
|
+
"@aalis/api-tools": ">=0.11.0 <1.0.0"
|
|
35
32
|
},
|
|
36
33
|
"devDependencies": {
|
|
37
34
|
"@types/node": "^22.0.0",
|
|
38
35
|
"typescript": "^5.7.0",
|
|
39
|
-
"@aalis/core": "0.
|
|
40
|
-
"@aalis/schema-message": "0.
|
|
41
|
-
"@aalis/api-agent": "0.9.1"
|
|
36
|
+
"@aalis/core": "0.20.0",
|
|
37
|
+
"@aalis/schema-message": "0.10.0"
|
|
42
38
|
},
|
|
43
39
|
"peerDependencies": {
|
|
44
|
-
"@aalis/core": ">=0.
|
|
40
|
+
"@aalis/core": ">=0.20.0 <1.0.0"
|
|
45
41
|
},
|
|
46
42
|
"aalis": {
|
|
47
43
|
"service": {
|
|
48
44
|
"optional": [
|
|
49
45
|
"tools",
|
|
50
46
|
"memory",
|
|
51
|
-
"
|
|
52
|
-
"persona",
|
|
53
|
-
"flow-control"
|
|
47
|
+
"session-manager"
|
|
54
48
|
],
|
|
55
49
|
"provides": [
|
|
56
50
|
"session-history"
|
|
57
51
|
],
|
|
58
52
|
"required": [
|
|
59
53
|
"config",
|
|
60
|
-
"events",
|
|
61
|
-
"hooks",
|
|
62
54
|
"logger",
|
|
63
55
|
"provide"
|
|
64
56
|
]
|