@aalis/plugin-tool-session 0.15.0 → 0.16.1

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @aalis/plugin-tool-session
2
2
 
3
- 会话历史读取工具。提供 `session_get_history` 工具与 `session-history` 服务,按 Aalis sessionId 读取指定会话最近若干条消息(默认仅同平台范围内)。
3
+ 会话历史读取工具。提供 `session_get_history` 工具与 `session-history` 服务,按 Aalis sessionId 读取指定会话最近若干条消息,能读哪些会话按会话管理的跨会话规则。
4
4
 
5
5
  详见 [docs/plugins/plugin-tool-session.md](../../docs/plugins/plugin-tool-session.md)。
6
6
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { type SessionManagerService } from '@aalis/api-session-manager';
2
1
  /**
3
2
  * 把一个时间值解析为毫秒时间戳。接受:
4
3
  * - number:直接当毫秒时间戳(有限值)。
@@ -30,11 +29,8 @@ declare const _default: import("@aalis/core").PluginDefinition<{
30
29
  config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
31
30
  provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
32
31
  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>;
32
+ /** 能不能读目标会话按它的规则判(takeFrom);不在时只能读当前会话 */
33
+ sessionManager: import("@aalis/core").OptionalUse<import("@aalis/api-session-manager").SessionManagerService, import("@aalis/api-session-manager").SessionManagerService>;
38
34
  }>;
39
35
  export default _default;
40
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyDA;;;;;;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;;;;;;;IApFC,0CAA0C;;;AAmS5C,wBAyBG"}
package/dist/index.js CHANGED
@@ -1,41 +1,33 @@
1
- import { MEMORY_RECALL_SCOPE_SETTING, memory } from '@aalis/api-memory';
2
- import { sessionHistory, } from '@aalis/api-session-history';
3
- import { rootSessionOf, sessionManager } from '@aalis/api-session-manager';
1
+ import { memory } from '@aalis/api-memory';
2
+ import { sessionHistory } from '@aalis/api-session-history';
3
+ import { sessionManager, takeFrom } from '@aalis/api-session-manager';
4
4
  import { tools } from '@aalis/api-tools';
5
5
  import { config, definePlugin, logger, optional, provide } from '@aalis/core';
6
6
  import { defineConfig, parseConfig } from '@aalis/schema-config';
7
+ import { toSource } from '@aalis/schema-i18n';
8
+ import { CONTROL_KINDS } from '@aalis/schema-message';
9
+ import { t } from './texts.js';
7
10
  // ===== 插件元数据与能力声明 =====
8
11
  const configSchema = defineConfig({
9
- enabled: { type: 'boolean', label: '启用会话历史读取工具', default: true, onInvalid: 'error' },
12
+ enabled: { type: 'boolean', label: t('enabledLabel'), default: true, onInvalid: 'error' },
10
13
  maxLimit: {
11
14
  type: 'number',
12
- label: '单次最多读取条数',
15
+ label: t('maxLimitLabel'),
13
16
  default: 100,
14
- description: 'session_get_history 一次能返回的硬上限;LLM 传入 limit 超过此值会被 cap。建议 50~200。',
17
+ description: t('maxLimitDescription'),
15
18
  },
16
19
  defaultLimit: {
17
20
  type: 'number',
18
- label: '默认读取条数(LLM 不传 limit 时)',
21
+ label: t('defaultLimitLabel'),
19
22
  default: 20,
20
- description: '不能超过 maxLimit。调高可让 agent 被动获取更多上下文,代价是 token 预算。',
23
+ description: t('defaultLimitDescription'),
21
24
  },
22
- scope: {
23
- type: 'select',
24
- label: '允许读取范围',
25
- default: 'platform',
26
- onInvalid: 'error',
27
- options: [
28
- { label: '仅当前会话', value: 'current' },
29
- { label: '同平台会话', value: 'platform' },
30
- { label: '全部会话', value: 'all' },
31
- ],
32
- },
33
- includeArchivedDefault: { type: 'boolean', label: '默认包含已归档消息', default: false },
25
+ includeArchivedDefault: { type: 'boolean', label: t('includeArchivedDefaultLabel'), default: false },
34
26
  perMessageMaxChars: {
35
27
  type: 'number',
36
- label: '每条消息截断字数',
28
+ label: t('perMessageMaxCharsLabel'),
37
29
  default: 0,
38
- description: '返给 LLM 的每条历史消息的字符上限;0 = 不截断(推荐)。超出会以「剩余 N 字符未展示」明示。',
30
+ description: t('perMessageMaxCharsDescription'),
39
31
  },
40
32
  });
41
33
  const uses = {
@@ -44,10 +36,7 @@ const uses = {
44
36
  config,
45
37
  provide,
46
38
  memory: optional(memory),
47
- /**
48
- * 当前会话所在房间的召回范围(会话配置 memoryRecallScope),与当前会话、目标会话的出生平台(子会话取根会话的)。
49
- * 不在场时不按房间收窄,也没有出生平台:当前平台取入口平台,目标会话不属于任何平台,同平台范围里读不到别的会话
50
- */
39
+ /** 能不能读目标会话按它的规则判(takeFrom);不在时只能读当前会话 */
51
40
  sessionManager: optional(sessionManager),
52
41
  };
53
42
  /** 无原生区间查询的后端:区间检索退回扫描历史的最大条数(best-effort 上界,防 OOM) */
@@ -119,10 +108,8 @@ export function resolveTimeRange(args, now) {
119
108
  }
120
109
  return null;
121
110
  }
122
- /** 会话管理记下的出生平台(子会话取根会话的);会话管理不在或会话没有出生平台时为 undefined */
123
- function originPlatformOf(sm, sessionId) {
124
- return sm && rootSessionOf(sm.getSession(sessionId), id => sm.getSession(id))?.originPlatform;
125
- }
111
+ /** 交给模型的历史不含事件标记(CONTROL_KINDS,如压缩分隔线、指令的回复):它们不是对话内容 */
112
+ const isSaid = (message) => !CONTROL_KINDS.includes(message.kind ?? '');
126
113
  function formatHistoryMessage(message, index, perMessageMaxChars) {
127
114
  const text = typeof message.content === 'string'
128
115
  ? message.content
@@ -141,55 +128,8 @@ function formatHistoryMessage(message, index, perMessageMaxChars) {
141
128
  metadata: message.metadata ?? undefined,
142
129
  };
143
130
  }
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;
155
- if (targetSessionId === currentSessionId) {
156
- // 同会话仍允许平台 checker 表态(防御性)
157
- }
158
- else if (effective === 'current') {
159
- return { ok: false, reason: byRoom ? '本房间的召回范围限于本会话' : '当前配置仅允许读取当前会话历史' };
160
- }
161
- else if (effective === 'platform') {
162
- if (!currentPlatform || !targetPlatform || currentPlatform !== targetPlatform) {
163
- const detail = `(当前=${currentPlatform || 'unknown'}, 目标=${targetPlatform || 'unknown'})`;
164
- return {
165
- ok: false,
166
- reason: byRoom ? `本房间的召回范围限于同平台会话${detail}` : `当前配置仅允许读取同平台会话历史${detail}`,
167
- };
168
- }
169
- }
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}:`));
174
- for (const checker of matched) {
175
- const verdict = checker.check({ currentSessionId, targetSessionId, callCtx });
176
- if (verdict?.decision === 'deny') {
177
- return { ok: false, reason: verdict.reason || `平台 ${checker.platform} 拒绝此次跨会话访问` };
178
- }
179
- }
180
- return { ok: true };
181
- }
182
131
  function createSessionHistoryService({ memory, logger, sessionManager }, cfg) {
183
- const checkers = [];
184
132
  return {
185
- registerAccessChecker(checker) {
186
- checkers.push(checker);
187
- return () => {
188
- const idx = checkers.indexOf(checker);
189
- if (idx >= 0)
190
- checkers.splice(idx, 1);
191
- };
192
- },
193
133
  async getHistory(options, callCtx) {
194
134
  if (!memory.present)
195
135
  return { error: 'memory 服务不可用' };
@@ -197,14 +137,10 @@ function createSessionHistoryService({ memory, logger, sessionManager }, cfg) {
197
137
  const targetSessionId = String(options.sessionId ?? '').trim();
198
138
  if (!targetSessionId)
199
139
  return { error: 'sessionId 不能为空' };
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);
140
+ // 逐个参与者过会话管理的规则:有人过不了(某个参与者自己私聊里的)时发一道参与者审批,由过得了的人批
141
+ const verdict = await callCtx.approveFor(who => takeFrom(sessionManager, callCtx.sessionId, targetSessionId, who));
206
142
  if (!verdict.ok)
207
- return { error: verdict.reason };
143
+ return { error: toSource(verdict.reason) };
208
144
  const limit = Math.max(1, Math.min(cfg.maxLimit, Math.floor(Number(options.limit) || cfg.defaultLimit)));
209
145
  const includeArchived = typeof options.includeArchived === 'boolean' ? options.includeArchived : cfg.includeArchivedDefault;
210
146
  // 区间检索模式:给定 sinceTs / untilTs 任一即进入。区间查询天然含归档(含完整记录),
@@ -238,8 +174,9 @@ function createSessionHistoryService({ memory, logger, sessionManager }, cfg) {
238
174
  // 区间查询按时间升序返回。窗口内超过 limit 时取**最早**的 limit 条(按阅读顺序、与「区间」语义一致),
239
175
  // 并以 truncated 明示「窗口内还有更多、请缩小窗口」——不再静默丢弃。
240
176
  // 注意:原生区间后端通常有约 500 条的硬上限,极大窗口可能在后端那步就已截断,故 truncated 为保守信号。
241
- const sliced = ranged.slice(0, limit);
242
- const truncated = ranged.length > sliced.length;
177
+ const said = ranged.filter(isSaid);
178
+ const sliced = said.slice(0, limit);
179
+ const truncated = said.length > sliced.length;
243
180
  const result = {
244
181
  ok: true,
245
182
  sessionId: targetSessionId,
@@ -252,15 +189,20 @@ function createSessionHistoryService({ memory, logger, sessionManager }, cfg) {
252
189
  };
253
190
  return result;
254
191
  }
255
- const history = includeArchived && store.getFullHistory
256
- ? await store.getFullHistory(targetSessionId, limit)
257
- : await store.getHistory(targetSessionId, limit);
192
+ // 多读一倍再去掉事件标记,取最后 limit 条;还是凑不满时写明略去了几条非对话记录
193
+ const read = includeArchived && store.getFullHistory
194
+ ? await store.getFullHistory(targetSessionId, limit * 2)
195
+ : await store.getHistory(targetSessionId, limit * 2);
196
+ const said = read.filter(isSaid);
197
+ const history = said.slice(-limit);
198
+ const omitted = history.length < limit ? read.length - said.length : 0;
258
199
  const result = {
259
200
  ok: true,
260
201
  sessionId: targetSessionId,
261
202
  count: history.length,
262
203
  limit,
263
204
  includeArchived: includeArchived && !!store.getFullHistory,
205
+ ...(omitted > 0 ? { omittedNonConversation: omitted } : {}),
264
206
  messages: history.map((message, index) => formatHistoryMessage(message, index + 1, cfg.perMessageMaxChars)),
265
207
  };
266
208
  return result;
@@ -276,7 +218,8 @@ function createSessionHistoryService({ memory, logger, sessionManager }, cfg) {
276
218
  function registerSessionHistoryTools({ tools, logger }, historyService, cfg) {
277
219
  tools.use.registerGroup({
278
220
  name: 'session-history',
279
- label: '会话历史读取',
221
+ label: t('sessionHistory'),
222
+ summary: t('groupSummary'),
280
223
  description: '按 Aalis sessionId 读取近期会话历史,用于核实跨会话上下文',
281
224
  });
282
225
  tools.use.register({
@@ -288,12 +231,13 @@ function registerSessionHistoryTools({ tools, logger }, historyService, cfg) {
288
231
  description: [
289
232
  '按 Aalis sessionId 读取指定会话的消息。',
290
233
  '两种模式:',
291
- '①【条数】默认——读最近若干条(limit 控制)。',
234
+ '①【条数】默认——读最近若干条(limit 控制),不含指令回复等非对话记录;',
235
+ ' 凑不满又略去了这类记录时,结果带 omittedNonConversation(略去的条数)。',
292
236
  '②【时间区间】给定 within_minutes(最近 N 分钟)或 since/until(绝对区间)时启用——',
293
237
  ' 取该会话落在区间内的消息(含归档完整记录),按时间正序返回最早的 limit 条;',
294
238
  ' 窗口内更多时结果带 truncated:true(请缩小时间窗再查)。',
295
239
  '适合在用户明确提到另一个会话、需要核实原文上下文、或要查「某段时间里聊了什么」时使用。',
296
- '默认只允许读取配置范围内的会话;不要把它当作全局搜索工具,语义检索请用 memory_recall。',
240
+ '能读哪些会话按会话管理的跨会话规则(默认同平台、不读别人的私聊);不要把它当作全局搜索工具,语义检索请用 memory_recall。',
297
241
  ].join('\n'),
298
242
  parameters: {
299
243
  type: 'object',
@@ -325,7 +269,7 @@ function registerSessionHistoryTools({ tools, logger }, historyService, cfg) {
325
269
  },
326
270
  },
327
271
  },
328
- // 读=信息暴露向量(可含跨会话日志/记忆),朋友档挡 level-0;不弹确认
272
+ // 读=信息暴露向量(可含跨会话日志/记忆),等级 1 起可用,挡住 0 级;不弹确认
329
273
  risk: 'sensitive',
330
274
  handler: async (args, callCtx) => {
331
275
  const targetSessionId = String(args.session_id ?? '').trim();
@@ -349,7 +293,7 @@ function registerSessionHistoryTools({ tools, logger }, historyService, cfg) {
349
293
  // ===== 插件入口 =====
350
294
  export default definePlugin({
351
295
  name: '@aalis/plugin-tool-session',
352
- displayName: '会话工具',
296
+ displayName: t('displayName'),
353
297
  subsystem: 'session',
354
298
  configSchema,
355
299
  provides: [sessionHistory],
@@ -365,9 +309,8 @@ export default definePlugin({
365
309
  };
366
310
  if (!cfg.enabled)
367
311
  return;
368
- caps.sessionManager.use.registerSetting(MEMORY_RECALL_SCOPE_SETTING);
369
312
  const historyService = createSessionHistoryService(caps, cfg);
370
- caps.provide.use(sessionHistory, historyService, { label: '会话历史读取' });
313
+ caps.provide.use(sessionHistory, historyService, { label: t('sessionHistory') });
371
314
  registerSessionHistoryTools(caps, historyService, cfg);
372
315
  },
373
316
  });
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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"}
@@ -0,0 +1,15 @@
1
+ declare const _default: {
2
+ readonly displayName: "Session tools";
3
+ readonly sessionHistory: "Session history reading";
4
+ readonly groupSummary: "Read recent session history by Aalis sessionId to verify cross-session context";
5
+ readonly enabledLabel: "Enable the session history reading tool";
6
+ readonly maxLimitLabel: "Max messages per read";
7
+ readonly maxLimitDescription: "Most messages a single history read returns; larger requests from the model are capped to it. 50 to 200 is recommended.";
8
+ readonly defaultLimitLabel: "Default messages per read";
9
+ readonly defaultLimitDescription: "Used when the model gives no limit; cannot exceed “Max messages per read”. Raising it gives the model more context but costs more tokens.";
10
+ readonly includeArchivedDefaultLabel: "Include archived messages by default";
11
+ readonly perMessageMaxCharsLabel: "Per-message truncation length";
12
+ readonly perMessageMaxCharsDescription: "Character limit of each history message returned to the model; 0 = no truncation (recommended). Anything beyond it is cut off, ending with “…[已截断,还剩 N 个字符未展示]”.";
13
+ };
14
+ export default _default;
15
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAGA,wBAeG"}
@@ -0,0 +1,15 @@
1
+ import { defineLocale } from '@aalis/schema-i18n';
2
+ export default defineLocale()({
3
+ displayName: 'Session tools',
4
+ sessionHistory: 'Session history reading',
5
+ groupSummary: 'Read recent session history by Aalis sessionId to verify cross-session context',
6
+ enabledLabel: 'Enable the session history reading tool',
7
+ maxLimitLabel: 'Max messages per read',
8
+ maxLimitDescription: 'Most messages a single history read returns; larger requests from the model are capped to it. 50 to 200 is recommended.',
9
+ defaultLimitLabel: 'Default messages per read',
10
+ defaultLimitDescription: 'Used when the model gives no limit; cannot exceed “Max messages per read”. Raising it gives the model more context but costs more tokens.',
11
+ includeArchivedDefaultLabel: 'Include archived messages by default',
12
+ perMessageMaxCharsLabel: 'Per-message truncation length',
13
+ perMessageMaxCharsDescription: 'Character limit of each history message returned to the model; 0 = no truncation (recommended). Anything beyond it is cut off, ending with “…[已截断,还剩 N 个字符未展示]”.',
14
+ });
15
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe,YAAY,EAAU,CAAC;IACpC,WAAW,EAAE,eAAe;IAC5B,cAAc,EAAE,yBAAyB;IACzC,YAAY,EAAE,gFAAgF;IAC9F,YAAY,EAAE,yCAAyC;IACvD,aAAa,EAAE,uBAAuB;IACtC,mBAAmB,EACjB,yHAAyH;IAC3H,iBAAiB,EAAE,2BAA2B;IAC9C,uBAAuB,EACrB,2IAA2I;IAC7I,2BAA2B,EAAE,sCAAsC;IACnE,uBAAuB,EAAE,+BAA+B;IACxD,6BAA6B,EAC3B,kKAAkK;CACrK,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ declare const SOURCE: {
2
+ readonly displayName: "会话工具";
3
+ readonly sessionHistory: "会话历史读取";
4
+ readonly groupSummary: "按 Aalis sessionId 读取近期会话历史,用于核实跨会话上下文";
5
+ readonly enabledLabel: "启用会话历史读取工具";
6
+ readonly maxLimitLabel: "单次最多读取条数";
7
+ readonly maxLimitDescription: "读取会话历史一次最多返回的条数,模型要的更多时按这个值算。建议 50~200。";
8
+ readonly defaultLimitLabel: "默认读取条数";
9
+ readonly defaultLimitDescription: "模型没指定条数时读取的条数,不能超过「单次最多读取条数」。调高能给模型更多上下文,也更耗 token。";
10
+ readonly includeArchivedDefaultLabel: "默认包含已归档消息";
11
+ readonly perMessageMaxCharsLabel: "每条消息截断字数";
12
+ readonly perMessageMaxCharsDescription: "返给模型的每条历史消息的字符上限;0 = 不截断(推荐)。超出的部分截掉,末尾标「…[已截断,还剩 N 个字符未展示]」。";
13
+ };
14
+ export type Source = typeof SOURCE;
15
+ export declare const t: import("@aalis/schema-i18n").TextFactory<{
16
+ readonly displayName: "会话工具";
17
+ readonly sessionHistory: "会话历史读取";
18
+ readonly groupSummary: "按 Aalis sessionId 读取近期会话历史,用于核实跨会话上下文";
19
+ readonly enabledLabel: "启用会话历史读取工具";
20
+ readonly maxLimitLabel: "单次最多读取条数";
21
+ readonly maxLimitDescription: "读取会话历史一次最多返回的条数,模型要的更多时按这个值算。建议 50~200。";
22
+ readonly defaultLimitLabel: "默认读取条数";
23
+ readonly defaultLimitDescription: "模型没指定条数时读取的条数,不能超过「单次最多读取条数」。调高能给模型更多上下文,也更耗 token。";
24
+ readonly includeArchivedDefaultLabel: "默认包含已归档消息";
25
+ readonly perMessageMaxCharsLabel: "每条消息截断字数";
26
+ readonly perMessageMaxCharsDescription: "返给模型的每条历史消息的字符上限;0 = 不截断(推荐)。超出的部分截掉,末尾标「…[已截断,还剩 N 个字符未展示]」。";
27
+ }>;
28
+ export {};
29
+ //# sourceMappingURL=texts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,MAAM;;;;;;;;;;;;CAcF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;EAKZ,CAAC"}
package/dist/texts.js ADDED
@@ -0,0 +1,23 @@
1
+ // 本插件自己的原文字典:显示名、配置项,会话历史读取服务的显示名(同为工具分组名)与分组概述
2
+ import { defineTexts } from '@aalis/schema-i18n';
3
+ import en from './locales/en.js';
4
+ const SOURCE = {
5
+ displayName: '会话工具',
6
+ sessionHistory: '会话历史读取',
7
+ groupSummary: '按 Aalis sessionId 读取近期会话历史,用于核实跨会话上下文',
8
+ enabledLabel: '启用会话历史读取工具',
9
+ maxLimitLabel: '单次最多读取条数',
10
+ maxLimitDescription: '读取会话历史一次最多返回的条数,模型要的更多时按这个值算。建议 50~200。',
11
+ defaultLimitLabel: '默认读取条数',
12
+ defaultLimitDescription: '模型没指定条数时读取的条数,不能超过「单次最多读取条数」。调高能给模型更多上下文,也更耗 token。',
13
+ includeArchivedDefaultLabel: '默认包含已归档消息',
14
+ perMessageMaxCharsLabel: '每条消息截断字数',
15
+ perMessageMaxCharsDescription: '返给模型的每条历史消息的字符上限;0 = 不截断(推荐)。超出的部分截掉,末尾标「…[已截断,还剩 N 个字符未展示]」。',
16
+ };
17
+ export const t = defineTexts({
18
+ ns: '@aalis/plugin-tool-session',
19
+ language: 'zh-CN',
20
+ source: SOURCE,
21
+ locales: { en },
22
+ });
23
+ //# sourceMappingURL=texts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,MAAM;IACnB,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,uCAAuC;IACrD,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,UAAU;IACzB,mBAAmB,EAAE,yCAAyC;IAC9D,iBAAiB,EAAE,QAAQ;IAC3B,uBAAuB,EACrB,qDAAqD;IACvD,2BAA2B,EAAE,WAAW;IACxC,uBAAuB,EAAE,UAAU;IACnC,6BAA6B,EAC3B,+DAA+D;CACzD,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;IAC3B,EAAE,EAAE,4BAA4B;IAChC,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE,EAAE;CAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-tool-session",
3
- "version": "0.15.0",
3
+ "version": "0.16.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,20 +24,21 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
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"
27
+ "@aalis/schema-config": ">=0.16.0 <1.0.0",
28
+ "@aalis/api-memory": ">=0.9.0 <1.0.0",
29
+ "@aalis/api-session-history": ">=0.3.0 <1.0.0",
30
+ "@aalis/api-session-manager": ">=0.12.0 <1.0.0",
31
+ "@aalis/api-tools": ">=0.12.0 <1.0.0",
32
+ "@aalis/schema-message": ">=0.11.0 <1.0.0",
33
+ "@aalis/schema-i18n": ">=0.1.0 <1.0.0"
32
34
  },
33
35
  "devDependencies": {
34
36
  "@types/node": "^22.0.0",
35
37
  "typescript": "^5.7.0",
36
- "@aalis/core": "0.20.0",
37
- "@aalis/schema-message": "0.10.0"
38
+ "@aalis/core": "0.21.1"
38
39
  },
39
40
  "peerDependencies": {
40
- "@aalis/core": ">=0.20.0 <1.0.0"
41
+ "@aalis/core": ">=0.21.0 <1.0.0"
41
42
  },
42
43
  "aalis": {
43
44
  "service": {