@aalis/api-agent 0.9.1 → 0.10.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 CHANGED
@@ -1,6 +1,5 @@
1
- import type { ChatResponse } from '@aalis/api-llm';
1
+ import type { ChatResponse, ModelRef } from '@aalis/api-llm';
2
2
  import type { ToolCallContext, ToolDefinition } from '@aalis/api-tools';
3
- import type { ServiceRef } from '@aalis/core';
4
3
  import type { IncomingMessage, Message } from '@aalis/schema-message';
5
4
  /**
6
5
  * 插件分组信息(按子系统聚合)
@@ -33,13 +32,20 @@ export interface PreprocessorInfo {
33
32
  * 组装系统提示、加载历史、调用 LLM、执行工具调用循环、发出回复。
34
33
  *
35
34
  * 默认由 @aalis/plugin-agent 提供。
36
- * 外部插件可以注册自己的 AgentService 来完全接管或扩展对话编排逻辑。
35
+ * 外部插件可以注册自己的 AgentService 来完全接管或扩展对话编排逻辑。实现者守两条约定,会话服务回看历史、标「未发出」
36
+ * 依据它们:
37
+ * - 落库的回复与工具结果在元数据里按 schema-message 登记的键(WellKnownMetadataKeys)记下回合与调用的 id、
38
+ * 这一轮的模型与 token、她在这个平台上的身份;
39
+ * - 房间里一轮只把最后一条回复交给平台,工具调用之前说的话与格式校验没通过而重试丢掉的几版不发出。
37
40
  */
38
41
  export interface AgentService {
39
42
  /** 处理一条传入消息,完成完整的对话循环 */
40
43
  handleMessage(message: IncomingMessage): Promise<void>;
41
- /** 中止指定会话的当前生成(可选实现) */
42
- abort?(sessionId: string): void;
44
+ /**
45
+ * 中止指定会话的在飞回合(可选实现)。不带 turnId 时停这个会话所有在飞的回合;带 turnId 时只停那一轮,
46
+ * 它已经结束或换成了新一轮时什么也不停。返回是否停下了回合,调用方据此分辨「turnId 对不上」。
47
+ */
48
+ abort?(sessionId: string, turnId?: string): boolean;
43
49
  /**
44
50
  * 注册消息预处理器
45
51
  *
@@ -59,18 +65,28 @@ export interface AgentService {
59
65
  }
60
66
  declare module '@aalis/api-hooks' {
61
67
  interface HookContextMap {
68
+ /**
69
+ * 一轮开始、消息进入 agent 之前。next 之后是这一轮的全部:不调 next 即拦下整条消息。
70
+ * turnId 是 agent 在回合开始时生成的回合 id,这一轮的流式片段、工具调用、用量与回合结束都带同一个。
71
+ */
62
72
  'agent:input:before': {
63
73
  message: IncomingMessage;
74
+ turnId: string;
64
75
  metadata: Record<string, unknown>;
65
76
  };
66
77
  /**
67
- * 一轮 agent 处理结束时触发(仿 Fastify `onResponse` 相位)。
78
+ * 一轮 agent 处理结束时触发,回复已发出或这一轮已静默、中止、出错。消息在 agent:input:before 被拦下时不触发。
79
+ * 结局为 replied 时最终回复已写进会话历史:它在最后一次模型调用之后落库,不在那次用量的 historyMessages 里;
80
+ * 其余结局不落库最终回复
68
81
  */
69
82
  'agent:turn:after': {
70
83
  message: IncomingMessage;
71
84
  reply: string;
72
85
  outcome: 'replied' | 'silent' | 'aborted' | 'error';
86
+ /** 结局为 error 时的一句原因(会话记下它,界面上出错的会话据此写原因);其余结局不带 */
87
+ error?: string;
73
88
  sessionId: string;
89
+ turnId: string;
74
90
  metadata: Record<string, unknown>;
75
91
  };
76
92
  'agent:tool:before': {
@@ -78,10 +94,16 @@ declare module '@aalis/api-hooks' {
78
94
  args: Record<string, unknown>;
79
95
  toolCallContext: ToolCallContext;
80
96
  };
97
+ /**
98
+ * 一次工具调用执行完:result 可以改写(回给模型、落库的都是改写后的)。metadata 是这次工具结果落库时 tool 消息的元数据,
99
+ * 中间件写进去的键随结果落库,供回看历史的一方还原这次调用的结局(如会话服务记下的审批结算、发进房间的消息已被收下);
100
+ * 回合与调用的 id(登记的键 TurnId、CallId)由 agent 写,中间件不写这两个键
101
+ */
81
102
  'agent:tool:after': {
82
103
  name: string;
83
104
  result: string;
84
105
  toolCallContext: ToolCallContext;
106
+ metadata: Record<string, unknown>;
85
107
  };
86
108
  'agent:reply:before': {
87
109
  content: string;
@@ -126,6 +148,11 @@ declare module '@aalis/api-hooks' {
126
148
  userId?: string;
127
149
  platform?: string;
128
150
  triggerType?: IncomingMessage['triggerType'];
151
+ /**
152
+ * 本回合入站消息的系统侧来源标识;真人消息缺省。
153
+ * 与 IncomingMessage.source 同义,供钩子区分内部注入与真人回合。
154
+ */
155
+ source?: IncomingMessage['source'];
129
156
  /**
130
157
  * 干跑标记:本次只为估算上下文体积(token:request 快照),不会真正调用 LLM。
131
158
  * 昂贵/有副作用的注入者(向量检索、档案加载)据此跳过——代价是快照略微
@@ -149,8 +176,8 @@ declare module '@aalis/api-hooks' {
149
176
  * - `context`:头部 system 区末尾,居 knowledge 之后。**会话级稳定**的对话
150
177
  * 上下文(会话摘要)。
151
178
  * - `turn-context`:历史结束处——**按当前轮取材**的背景材料(向量检索记忆、
152
- * 跨会话片段、发言者档案/关系、文件清单)。落点三级取首个命中:跨会话
153
- * 委派块之前(proactive 轮,历史里有旧 user 消息,不能按 user 定位)>
179
+ * 跨会话片段、发言者档案/关系、文件清单)。落点三级取首个命中:proactive
180
+ * 任务块之前(proactive 轮,历史里有旧 user 消息,不能按 user 定位)>
154
181
  * 易变块(persona-volatile)之前 > 最后一条 user 之前;全列表无 user 时
155
182
  * 落尾(材料不依附于用户消息——这点与 turn-hint 的弃置不同)。
156
183
  * - `turn-hint`:最后一条 user 消息之前(居 turn-context 之后,贴用户消息
@@ -235,29 +262,62 @@ export interface TokenUsageBreakdown {
235
262
  reservedForReply: number;
236
263
  }
237
264
  /**
238
- * agent 每次 LLM 调用后 emit 的 prompt 预算快照。
265
+ * 用量拆分表的一项:显示名由产出方给,界面按 {@link TokenUsageEvent.parts} 的次序画行、不认分项的键。
266
+ * injectors 是这一项按注入者的明细(键是注入者的全局键「插件实例 id/局部 id」),界面可以按实例合并到插件展开
267
+ */
268
+ export interface TokenUsagePart {
269
+ label: string;
270
+ tokens: number;
271
+ injectors?: Record<string, number>;
272
+ }
273
+ /**
274
+ * 一次模型调用的输入用量:agent 在每次调用模型之后发一次(首次调用、工具循环里的每次调用、格式重试),调用抛错的那次不发;
275
+ * 回应 token:request 时按会话现组一份消息列表发快照,不调用模型。
239
276
  *
240
- * 发射方:plugin-agent;已知消费方:plugin-webui-server(面板渲染)、
241
- * plugin-memory-summary(预压缩触发)、plugin-prompt-budget(AI 自检工具)。
277
+ * used 是这次调用的输入 token:取模型服务返回的 promptTokens,没有返回时(以及快照)按发出的消息与工具定义估算。
278
+ * breakdown 与 parts 是同一份输入按来源估算的拆分,各项之和不必等于 used。breakdown 是按固定桶的数,供程序判断;
279
+ * parts 是同一份数按显示的次序排好、带显示名的拆分表(不含为回复预留的 maxTokens),供界面照画。
280
+ *
281
+ * 发射方:plugin-agent;已知消费方:plugin-session-server(会话的用量条目)、
282
+ * plugin-memory-summary(回合结束时判定自动压缩)、plugin-prompt-budget(AI 自检工具)。
242
283
  */
243
284
  export interface TokenUsageEvent {
244
285
  sessionId: string;
286
+ /** 所在回合的 id;回应 token:request 的快照不在任何回合里,缺省。按用量触发动作的消费方据此排除快照 */
287
+ turnId?: string;
245
288
  platform: string;
246
289
  contextWindow: number;
247
290
  maxTokens: number;
248
291
  tokenBudget: number;
249
292
  used: number;
250
293
  usageRatio: number;
294
+ /**
295
+ * 本回合到这次调用为止经过了硬裁剪:这次或之前某次调用组装后的估算超过了 tokenBudget(不一定真裁掉了内容)。之后的
296
+ * 调用在首次调用裁剪过的列表上追加,所以有过一次,本回合之后各次都算
297
+ */
298
+ trimmed: boolean;
299
+ /**
300
+ * 按没经过硬裁剪的消息列表估算的历史与工具结果 token(breakdown 的 history、toolResults 两项按发出的列表算):
301
+ * 裁掉的部分仍在会话历史里,全量压缩能把它们一并压掉
302
+ */
303
+ untrimmedHistory: number;
304
+ /**
305
+ * 这次的消息列表里来自会话历史的条数:这一轮开头从记忆读进的条数(含这一轮的入站消息),加本回合到这次调用为止追加的
306
+ * 工具调用与结果。按读进与追加的算,与硬裁剪无关;快照只有读进的条数
307
+ */
308
+ historyMessages: number;
251
309
  breakdown: TokenUsageBreakdown;
310
+ parts: TokenUsagePart[];
252
311
  }
253
312
  declare module '@aalis/core' {
254
313
  interface AalisEvents {
255
314
  'token:usage': [usage: TokenUsageEvent];
256
315
  /**
257
316
  * 请求 agent 重发某会话的最新 token:usage 快照。
258
- * 发射方:plugin-webui-server(客户端刷新/重连时);消费方:plugin-agent。
259
- * platform 缺省时消费方按 'webui' 兜底——只对 webui 自己的会话正确;它参与模型与会话
260
- * 配置解析,发射方应带上会话真实所属的平台(WebUI 也订阅 `onebot:` 等他方会话)。
317
+ * 发射方:plugin-session-server(订阅时还没有这个会话的用量、手动压缩之后;房间不填,其余填连接的入口平台);
318
+ * 消费方:plugin-agent。
319
+ * platform 是调用方的入口平台,没有出生平台的会话(WebUI、CLI 等)的快照按它选档;缺省时消费方对
320
+ * IM 房间按会话管理记下的出生平台(子会话取根会话的)、其余按 'webui' 兜底。
261
321
  */
262
322
  'token:request': [req: {
263
323
  sessionId: string;
@@ -265,8 +325,8 @@ declare module '@aalis/core' {
265
325
  }];
266
326
  }
267
327
  }
268
- /** `agent` 的绑定接口:对话调用走 ServiceRef,预处理器登记自动归属这次激活 */
269
- export interface BoundAgent extends ServiceRef<AgentService> {
328
+ /** `agent` 的业务层:对话调用转发给选中的那一家,预处理器登记自动归属这次激活 */
329
+ export interface BoundAgent extends AgentService {
270
330
  /**
271
331
  * 登记输入预处理器:同名替换,提供者换人自动重挂,随激活撤回。当前提供者不支持预处理器时
272
332
  * 本次不生效,换到支持的提供者时补上。
@@ -274,4 +334,22 @@ export interface BoundAgent extends ServiceRef<AgentService> {
274
334
  registerPreprocessor(name: string, handler: PreprocessorFn): () => void;
275
335
  }
276
336
  export declare const agent: import("@aalis/core").ServiceDescriptor<AgentService, BoundAgent>;
337
+ declare module '@aalis/api-session-manager' {
338
+ interface SessionConfig {
339
+ /** 会话用的模型:provider 为 LLM 插件实例 id,model 为它登记的模型 id;没设置时跟随 llm 服务的偏好 */
340
+ llm?: ModelRef;
341
+ /**
342
+ * 深度思考的档位:会话所用模型声明的档位 id(api-llm 的 LLMModel.thinking)。没设置、当前模型没有这一档或不能调时
343
+ * 按模型的默认档
344
+ */
345
+ think?: string;
346
+ /** 一轮里工具调用循环的最大次数(正整数);没设置时为 30 */
347
+ maxToolIterations?: number;
348
+ /**
349
+ * 历史条数上限(非负整数):一轮最多从记忆读进这么多条会话历史,也是按条数压缩的线。0 或没设置时读全部活跃历史、
350
+ * 不按条数压缩
351
+ */
352
+ historyLimit?: number;
353
+ }
354
+ }
277
355
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,13 +5,13 @@
5
5
  //
6
6
  // 第三方插件若要 augment HookContextMap 的 agent:* 键,需要把本包加入
7
7
  // 依赖(或 import 一次 side-effect)以确保 TS 编译期看到 augmentation。
8
- import { defineService, serviceRef } from '@aalis/core';
8
+ import { defineService } from '@aalis/core';
9
9
  export const agent = defineService('agent', port => {
10
10
  const preprocessors = port.registrar({
11
11
  key: item => item.name,
12
12
  register: (service, item) => service.registerPreprocessor?.(item.name, item.handler) ?? (() => { }),
13
13
  });
14
- return serviceRef(port, {
14
+ return Object.assign(Object.create(port.provider), {
15
15
  registerPreprocessor: (name, handler) => preprocessors.add({ name, handler }),
16
16
  });
17
17
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,uCAAuC;AACvC,gCAAgC;AAChC,EAAE;AACF,qDAAqD;AACrD,wDAAwD;AAOxD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyRxD,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAA2B,OAAO,EAAE,IAAI,CAAC,EAAE;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAA4C;QAC9E,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI;QACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KACnG,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,IAAI,EAAE;QACtB,oBAAoB,EAAE,CAAC,IAAY,EAAE,OAAuB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACtG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,uCAAuC;AACvC,gCAAgC;AAChC,EAAE;AACF,qDAAqD;AACrD,wDAAwD;AAOxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA0V5C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAA2B,OAAO,EAAE,IAAI,CAAC,EAAE;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAA4C;QAC9E,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI;QACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KACnG,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAe,EAAE;QAC/D,oBAAoB,EAAE,CAAC,IAAY,EAAE,OAAuB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACtG,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/api-agent",
3
- "version": "0.9.1",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,19 +19,20 @@
19
19
  "dist"
20
20
  ],
21
21
  "dependencies": {
22
- "@aalis/api-llm": ">=0.13.0 <1.0.0",
23
- "@aalis/schema-message": ">=0.9.0 <1.0.0",
24
- "@aalis/api-tools": ">=0.10.0 <1.0.0",
25
- "@aalis/api-hooks": ">=0.1.0 <1.0.0",
26
- "@aalis/api-contributions": ">=0.1.0 <1.0.0"
22
+ "@aalis/api-llm": ">=0.14.0 <1.0.0",
23
+ "@aalis/schema-message": ">=0.10.0 <1.0.0",
24
+ "@aalis/api-tools": ">=0.11.0 <1.0.0",
25
+ "@aalis/api-hooks": ">=0.2.0 <1.0.0",
26
+ "@aalis/api-contributions": ">=0.2.0 <1.0.0",
27
+ "@aalis/api-session-manager": ">=0.11.0 <1.0.0"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@types/node": "^22.0.0",
30
31
  "typescript": "^5.7.0",
31
- "@aalis/core": "0.19.1"
32
+ "@aalis/core": "0.20.0"
32
33
  },
33
34
  "peerDependencies": {
34
- "@aalis/core": ">=0.18.0 <1.0.0"
35
+ "@aalis/core": ">=0.20.0 <1.0.0"
35
36
  },
36
37
  "keywords": [
37
38
  "aalis",