@aalis/plugin-user-profile 0.11.1 → 0.12.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,12 +1,17 @@
1
- import type { Context } from '@aalis/core';
2
- import type { ConfigSchema } from '@aalis/schema-config';
3
- export declare const name = "@aalis/plugin-user-profile";
4
- export declare const displayName = "\u7528\u6237\u4E8B\u5B9E\u6863\u6848";
5
- export declare const subsystem = "memory";
6
- export declare const inject: {
7
- required: string[];
8
- optional: string[];
9
- };
10
- export declare const configSchema: ConfigSchema;
11
- export declare function apply(ctx: Context, config: Record<string, unknown>): void;
1
+ import type { RelationService } from '@aalis/plugin-user-relation';
2
+ declare const _default: import("@aalis/core").PluginDefinition<{
3
+ memory: import("@aalis/core").ServiceDescriptor<import("@aalis/api-memory").MemoryService, import("@aalis/core").ServiceRef<import("@aalis/api-memory").MemoryService>>;
4
+ llm: import("@aalis/core").ServiceDescriptor<import("@aalis/api-llm").LLMModel, import("@aalis/core").ServiceRef<import("@aalis/api-llm").LLMModel>>;
5
+ events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
6
+ hooks: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Hooks, import("@aalis/core").Hooks>;
7
+ contributions: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Contributions, import("@aalis/core").Contributions>;
8
+ config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
9
+ logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
10
+ authority: import("@aalis/core/dist/composition/descriptors").OptionalUse<import("@aalis/api-authority").AuthorityService, import("@aalis/core").ServiceRef<import("@aalis/api-authority").AuthorityService>>;
11
+ tools: import("@aalis/core/dist/composition/descriptors").OptionalUse<import("@aalis/api-tools").ToolService, import("@aalis/api-tools").BoundTools>;
12
+ commands: import("@aalis/core/dist/composition/descriptors").OptionalUse<import("@aalis/api-commands").CommandService, import("@aalis/api-commands").BoundCommands>;
13
+ persona: import("@aalis/core/dist/composition/descriptors").OptionalUse<import("@aalis/api-persona").PersonaService, import("@aalis/core").ServiceRef<import("@aalis/api-persona").PersonaService>>;
14
+ userRelation: import("@aalis/core/dist/composition/descriptors").OptionalUse<RelationService, import("@aalis/core").ServiceRef<RelationService>>;
15
+ }>;
16
+ export default _default;
12
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AA6BzD,eAAO,MAAM,IAAI,+BAA+B,CAAC;AACjD,eAAO,MAAM,WAAW,yCAAW,CAAC;AACpC,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAgBF,eAAO,MAAM,YAAY,EAAE,YA+J1B,CAAC;AA0NF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA2wDzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;;;;;;;;;;;;;;;AAwbnE,wBAOG"}
package/dist/index.js CHANGED
@@ -1,6 +1,10 @@
1
- import { useCommandService } from '@aalis/api-commands';
2
- import { resolveLLMModel } from '@aalis/api-llm';
3
- import { useToolService } from '@aalis/api-tools';
1
+ import { authority, DEFAULT_AUTHORITY } from '@aalis/api-authority';
2
+ import { commands } from '@aalis/api-commands';
3
+ import { llm, resolveLLMModel } from '@aalis/api-llm';
4
+ import { memory } from '@aalis/api-memory';
5
+ import { persona } from '@aalis/api-persona';
6
+ import { tools } from '@aalis/api-tools';
7
+ import { config, contributions, definePlugin, defineService, events, hooks, logger, optional, } from '@aalis/core';
4
8
  import { WellKnownKinds } from '@aalis/schema-message';
5
9
  import { parseLLMJsonObject } from '@aalis/util-json-repair';
6
10
  // ════════════════════════════════════════════════════════════
@@ -26,13 +30,6 @@ import { parseLLMJsonObject } from '@aalis/util-json-repair';
26
30
  // - 上限 100,下限 0
27
31
  // 例:群聊纯旁观一条 = +0.1;群聊被 @ 并回复 = +0.1 + 1.5 = +1.6;私聊一条 = +0.1 + 1.0 = +1.1
28
32
  // ════════════════════════════════════════════════════════════
29
- export const name = '@aalis/plugin-user-profile';
30
- export const displayName = '用户事实档案';
31
- export const subsystem = 'memory';
32
- export const inject = {
33
- required: ['memory', 'llm'],
34
- optional: ['user-relation', 'tools'],
35
- };
36
33
  const PROFILE_NS = 'user:profile';
37
34
  /** Aalis 自档案的 userKey 前缀。userKeyOf 形如 `platform:userId`,
38
35
  * 这里用 `__self__:<personaName>` 这种不可能在真实平台出现的形式做隔离。
@@ -45,7 +42,7 @@ const DEFAULT_PERSONA_NAME = 'Aalis';
45
42
  * 按 persona 名分堆(key = persona 名),与 selfFacts 的归属方式保持一致:
46
43
  * 同名 persona(如 onebot 与 webui 两张都叫 Aalis)共享准则;不同 persona(如 Babel)各自独立。 */
47
44
  const INSTRUCTIONS_NS = 'aalis:instructions';
48
- export const configSchema = {
45
+ const configSchema = {
49
46
  extractEveryNMessages: {
50
47
  type: 'number',
51
48
  label: '每 N 条消息提取一次',
@@ -303,7 +300,31 @@ function renderHistoryForExtract(history, userId, platform) {
303
300
  .filter(Boolean)
304
301
  .join('\n');
305
302
  }
306
- export function apply(ctx, config) {
303
+ // 同名描述符即同一服务:本地声明 optional 依赖,类型来自兄弟插件的 type-only 导入,不构成运行时包依赖。
304
+ const userRelation = defineService('user-relation');
305
+ const uses = {
306
+ memory,
307
+ llm,
308
+ events,
309
+ hooks,
310
+ contributions,
311
+ config,
312
+ logger,
313
+ authority: optional(authority),
314
+ tools: optional(tools),
315
+ commands: optional(commands),
316
+ persona: optional(persona),
317
+ userRelation: optional(userRelation),
318
+ };
319
+ export default definePlugin({
320
+ name: '@aalis/plugin-user-profile',
321
+ displayName: '用户事实档案',
322
+ subsystem: 'memory',
323
+ configSchema,
324
+ uses,
325
+ apply: registerUserProfile,
326
+ });
327
+ function registerUserProfile({ memory, llm, events, hooks, contributions, config, logger, authority, tools, commands, persona, userRelation, }) {
307
328
  const cfg = {
308
329
  extractEveryNMessages: config.extractEveryNMessages ?? 5,
309
330
  historyForExtraction: Math.max(2, config.historyForExtraction ?? 8),
@@ -350,8 +371,7 @@ export function apply(ctx, config) {
350
371
  * 若 persona 服务不可用或未配 name,回退到默认 `aalis`。 */
351
372
  function getCurrentPersonaName() {
352
373
  try {
353
- const persona = ctx.getService('persona');
354
- const name = persona?.getPersonaName?.()?.trim();
374
+ const name = persona.current?.getPersonaName().trim();
355
375
  return name && name.length > 0 ? name : DEFAULT_PERSONA_NAME;
356
376
  }
357
377
  catch {
@@ -416,27 +436,27 @@ export function apply(ctx, config) {
416
436
  return list;
417
437
  }
418
438
  async function loadInstructions() {
419
- const memory = ctx.getService('memory');
439
+ const mem = memory.current;
420
440
  const empty = { instructions: [], updatedAt: 0 };
421
- if (!memory)
441
+ if (!mem)
422
442
  return empty;
423
443
  try {
424
- const doc = await memory.getMetadata(INSTRUCTIONS_NS, getInstructionsKey());
444
+ const doc = await mem.getMetadata(INSTRUCTIONS_NS, getInstructionsKey());
425
445
  if (!doc)
426
446
  return empty;
427
447
  const instructions = Array.isArray(doc.instructions) ? parseInstructionArray(doc.instructions) : [];
428
448
  return { instructions, updatedAt: typeof doc.updatedAt === 'number' ? doc.updatedAt : 0 };
429
449
  }
430
450
  catch (err) {
431
- ctx.logger.debug(`加载指令档案失败: ${err instanceof Error ? err.message : String(err)}`);
451
+ logger.debug(`加载指令档案失败: ${err instanceof Error ? err.message : String(err)}`);
432
452
  return empty;
433
453
  }
434
454
  }
435
455
  async function saveInstructions(doc) {
436
- const memory = ctx.getService('memory');
437
- if (!memory)
456
+ const mem = memory.current;
457
+ if (!mem)
438
458
  return;
439
- await memory.saveMetadata(INSTRUCTIONS_NS, getInstructionsKey(), {
459
+ await mem.saveMetadata(INSTRUCTIONS_NS, getInstructionsKey(), {
440
460
  instructions: doc.instructions,
441
461
  updatedAt: doc.updatedAt,
442
462
  });
@@ -570,11 +590,11 @@ export function apply(ctx, config) {
570
590
  }
571
591
  /** 读取一个用户的现有档案(不存在返回 undefined)。兼容旧格式 string[],自动迁移 */
572
592
  async function loadProfile(userKey) {
573
- const memory = ctx.getService('memory');
574
- if (!memory)
593
+ const mem = memory.current;
594
+ if (!mem)
575
595
  return undefined;
576
596
  try {
577
- const doc = await memory.getMetadata(PROFILE_NS, userKey);
597
+ const doc = await mem.getMetadata(PROFILE_NS, userKey);
578
598
  if (!doc)
579
599
  return undefined;
580
600
  const facts = Array.isArray(doc.facts) ? parseFactArray(doc.facts) : [];
@@ -587,14 +607,14 @@ export function apply(ctx, config) {
587
607
  };
588
608
  }
589
609
  catch (err) {
590
- ctx.logger.debug(`加载用户档案失败 (${userKey}): ${err instanceof Error ? err.message : String(err)}`);
610
+ logger.debug(`加载用户档案失败 (${userKey}): ${err instanceof Error ? err.message : String(err)}`);
591
611
  return undefined;
592
612
  }
593
613
  }
594
614
  /** 保存档案(覆盖式) */
595
615
  async function saveProfile(userKey, profile) {
596
- const memory = ctx.getService('memory');
597
- if (!memory)
616
+ const mem = memory.current;
617
+ if (!mem)
598
618
  return;
599
619
  const payload = {
600
620
  facts: profile.facts,
@@ -603,7 +623,7 @@ export function apply(ctx, config) {
603
623
  lastInteractionAt: profile.lastInteractionAt,
604
624
  updatedAt: profile.updatedAt,
605
625
  };
606
- await memory.saveMetadata(PROFILE_NS, userKey, payload);
626
+ await mem.saveMetadata(PROFILE_NS, userKey, payload);
607
627
  }
608
628
  function normalizeCategory(v) {
609
629
  if (typeof v !== 'string')
@@ -658,7 +678,7 @@ export function apply(ctx, config) {
658
678
  const user = `# 提取目标\n${who}\n\n# 已知事实(带 id,请在 update/remove 中精确引用 id)\n${factListText}` +
659
679
  `\n\n# 会话历史(含多用户,仅供消歧;只能从「目标用户」发言中提取事实)\n${renderedHistory || '(暂无会话历史)'}`;
660
680
  // 优先用 cfg.extractLLM 指定的模型;否则取默认 chat-capable LLM。
661
- const entry = resolveLLMModel(ctx, cfg.extractLLM, ['chat']);
681
+ const entry = resolveLLMModel(llm, cfg.extractLLM, ['chat']);
662
682
  if (!entry)
663
683
  return empty;
664
684
  const extractLlm = entry.instance;
@@ -680,7 +700,7 @@ export function apply(ctx, config) {
680
700
  if (!parsed) {
681
701
  // util-json-repair 已尝试剥 fence + 修裸引号 + 补括号;仍失败 → 模型多半
682
702
  // 写成了纯文本/markdown。给一次显式反馈再来一次,避免一次失败丢失整批事实。
683
- ctx.logger.warn(`[user-profile] LLM 输出无法解析为 JSON,尝试重试一次。原文前 200 字:${text.slice(0, 200)}`);
703
+ logger.warn(`[user-profile] LLM 输出无法解析为 JSON,尝试重试一次。原文前 200 字:${text.slice(0, 200)}`);
684
704
  const retryResp = await extractLlm.chat({
685
705
  messages: [
686
706
  ...baseMessages,
@@ -700,10 +720,10 @@ export function apply(ctx, config) {
700
720
  text = (retryResp.content ?? '').trim();
701
721
  ({ parsed } = parseLLMJsonObject(text));
702
722
  if (!parsed) {
703
- ctx.logger.warn(`[user-profile] LLM 重试后仍无法解析 JSON,放弃本批次。重试原文前 200 字:${text.slice(0, 200)}`);
723
+ logger.warn(`[user-profile] LLM 重试后仍无法解析 JSON,放弃本批次。重试原文前 200 字:${text.slice(0, 200)}`);
704
724
  return empty;
705
725
  }
706
- ctx.logger.debug('[user-profile] LLM 重试后解析成功');
726
+ logger.debug('[user-profile] LLM 重试后解析成功');
707
727
  }
708
728
  const parsedObj = parsed;
709
729
  const add = Array.isArray(parsedObj.add)
@@ -762,7 +782,7 @@ export function apply(ctx, config) {
762
782
  const validateSourceQuote = (item, kind) => {
763
783
  const q = item.sourceQuote?.trim() ?? '';
764
784
  if (!q) {
765
- ctx.logger.warn(`[user-profile] 丢弃 ${kind} fact(未提供 sourceQuote): ${item.text}`);
785
+ logger.warn(`[user-profile] 丢弃 ${kind} fact(未提供 sourceQuote): ${item.text}`);
766
786
  return false;
767
787
  }
768
788
  const lines = q
@@ -775,7 +795,7 @@ export function apply(ctx, config) {
775
795
  if (!normalized)
776
796
  continue;
777
797
  if (!targetCorpus.includes(normalized)) {
778
- ctx.logger.warn(`[user-profile] 丢弃 ${kind} fact(sourceQuote 片段不在目标用户 ${userId} 发言中): text="${item.text}" fragment="${frag}"`);
798
+ logger.warn(`[user-profile] 丢弃 ${kind} fact(sourceQuote 片段不在目标用户 ${userId} 发言中): text="${item.text}" fragment="${frag}"`);
779
799
  return false;
780
800
  }
781
801
  }
@@ -796,7 +816,7 @@ export function apply(ctx, config) {
796
816
  };
797
817
  }
798
818
  catch (err) {
799
- ctx.logger.debug(`事实提取 LLM 调用失败:${err instanceof Error ? err.message : String(err)}`);
819
+ logger.debug(`事实提取 LLM 调用失败:${err instanceof Error ? err.message : String(err)}`);
800
820
  return empty;
801
821
  }
802
822
  }
@@ -919,11 +939,11 @@ export function apply(ctx, config) {
919
939
  if (inflightExtractions.has(userKey))
920
940
  return;
921
941
  inflightExtractions.add(userKey);
922
- const memory = ctx.getService('memory');
942
+ const mem = memory.current;
923
943
  try {
924
- if (!memory?.getHistory)
944
+ if (!mem?.getHistory)
925
945
  return;
926
- const rawHistory = await memory.getHistory(sessionId, cfg.historyForExtraction);
946
+ const rawHistory = await mem.getHistory(sessionId, cfg.historyForExtraction);
927
947
  // 跨会话委派是另一个 agent 实例发出的指令·不是该用户发言,不能作为他的用户存档提取语料
928
948
  const history = rawHistory.filter(m => m.kind !== WellKnownKinds.CrossSessionDelegation);
929
949
  // 序列中至少需要一条目标用户发言,否则没有可提取语料
@@ -947,10 +967,10 @@ export function apply(ctx, config) {
947
967
  facts: newFacts,
948
968
  updatedAt: Date.now(),
949
969
  });
950
- ctx.logger.debug(`用户档案已更新 (${userKey}): facts +${ops.add.length} ~${ops.update.length} -${ops.remove.length} → ${newFacts.length} 条`);
970
+ logger.debug(`用户档案已更新 (${userKey}): facts +${ops.add.length} ~${ops.update.length} -${ops.remove.length} → ${newFacts.length} 条`);
951
971
  }
952
972
  catch (err) {
953
- ctx.logger.debug(`事实提取失败 (${userKey}): ${err instanceof Error ? err.message : String(err)}`);
973
+ logger.debug(`事实提取失败 (${userKey}): ${err instanceof Error ? err.message : String(err)}`);
954
974
  }
955
975
  finally {
956
976
  inflightExtractions.delete(userKey);
@@ -1016,7 +1036,7 @@ export function apply(ctx, config) {
1016
1036
  .filter(Boolean)
1017
1037
  .join('\n');
1018
1038
  const user = `# 已知的关于 Aalis 自己的事实(带 id)\n${factListText}\n\n# 最近对话历史\n${renderedHistory || '(暂无)'}`;
1019
- const entry = resolveLLMModel(ctx, cfg.extractLLM, ['chat']);
1039
+ const entry = resolveLLMModel(llm, cfg.extractLLM, ['chat']);
1020
1040
  if (!entry)
1021
1041
  return empty;
1022
1042
  try {
@@ -1034,7 +1054,7 @@ export function apply(ctx, config) {
1034
1054
  return empty;
1035
1055
  const { parsed } = parseLLMJsonObject(text);
1036
1056
  if (!parsed) {
1037
- ctx.logger.warn(`[user-profile] 自反思 LLM 输出无法解析为 JSON,原文前 200 字:${text.slice(0, 200)}`);
1057
+ logger.warn(`[user-profile] 自反思 LLM 输出无法解析为 JSON,原文前 200 字:${text.slice(0, 200)}`);
1038
1058
  return empty;
1039
1059
  }
1040
1060
  const obj = parsed;
@@ -1086,7 +1106,7 @@ export function apply(ctx, config) {
1086
1106
  return { ...empty, add, update, remove };
1087
1107
  }
1088
1108
  catch (err) {
1089
- ctx.logger.debug(`自反思 LLM 调用失败:${err instanceof Error ? err.message : String(err)}`);
1109
+ logger.debug(`自反思 LLM 调用失败:${err instanceof Error ? err.message : String(err)}`);
1090
1110
  return empty;
1091
1111
  }
1092
1112
  }
@@ -1098,10 +1118,10 @@ export function apply(ctx, config) {
1098
1118
  return;
1099
1119
  selfReflectionInflight = true;
1100
1120
  try {
1101
- const memory = ctx.getService('memory');
1102
- if (!memory?.getHistory)
1121
+ const mem = memory.current;
1122
+ if (!mem?.getHistory)
1103
1123
  return;
1104
- const rawHistory = await memory.getHistory(sessionId, cfg.selfReflectHistory);
1124
+ const rawHistory = await mem.getHistory(sessionId, cfg.selfReflectHistory);
1105
1125
  const history = rawHistory.filter(m => m.kind !== WellKnownKinds.CrossSessionDelegation);
1106
1126
  // 至少需要一些 assistant 发言作为"自反思"的材料
1107
1127
  if (!history.some(m => m.role === 'assistant' && m.content))
@@ -1119,10 +1139,10 @@ export function apply(ctx, config) {
1119
1139
  const newFacts = mergeFactList(profile.facts, ops.add, ops.update, ops.remove, cfg.maxSelfFacts);
1120
1140
  const fresh = (await loadProfile(selfKey)) ?? profile;
1121
1141
  await saveProfile(selfKey, { ...fresh, facts: newFacts, updatedAt: Date.now() });
1122
- ctx.logger.debug(`Aalis 自档案已更新 (${selfKey}): +${ops.add.length} ~${ops.update.length} -${ops.remove.length} → ${newFacts.length} 条`);
1142
+ logger.debug(`Aalis 自档案已更新 (${selfKey}): +${ops.add.length} ~${ops.update.length} -${ops.remove.length} → ${newFacts.length} 条`);
1123
1143
  }
1124
1144
  catch (err) {
1125
- ctx.logger.debug(`自反思失败:${err instanceof Error ? err.message : String(err)}`);
1145
+ logger.debug(`自反思失败:${err instanceof Error ? err.message : String(err)}`);
1126
1146
  }
1127
1147
  finally {
1128
1148
  selfReflectionInflight = false;
@@ -1207,7 +1227,7 @@ export function apply(ctx, config) {
1207
1227
  .join('\n')
1208
1228
  : '(暂无)';
1209
1229
  const user = `# 当前 persona\n${getCurrentPersonaName()}\n\n# 已有指令(带 id,可在 update/remove 中精确引用)\n${existingText}\n\n# 最近会话(仅含授权人 + Aalis + 系统通知)\n${rendered}`;
1210
- const entry = resolveLLMModel(ctx, cfg.extractLLM, ['chat']);
1230
+ const entry = resolveLLMModel(llm, cfg.extractLLM, ['chat']);
1211
1231
  if (!entry)
1212
1232
  return empty;
1213
1233
  try {
@@ -1225,7 +1245,7 @@ export function apply(ctx, config) {
1225
1245
  return empty;
1226
1246
  const { parsed } = parseLLMJsonObject(text);
1227
1247
  if (!parsed) {
1228
- ctx.logger.warn(`[user-profile] 指令提取 LLM 输出无法解析为 JSON,原文前 200 字:${text.slice(0, 200)}`);
1248
+ logger.warn(`[user-profile] 指令提取 LLM 输出无法解析为 JSON,原文前 200 字:${text.slice(0, 200)}`);
1229
1249
  return empty;
1230
1250
  }
1231
1251
  const obj = parsed;
@@ -1243,7 +1263,7 @@ export function apply(ctx, config) {
1243
1263
  const srcKey = typeof o.sourceUserKey === 'string' ? o.sourceUserKey.trim() : '';
1244
1264
  // 拒收:声称的 sourceUserKey 不在授权人集合里 → 说明 LLM 编造或越权采纳
1245
1265
  if (!srcKey || !allowedUserKeys.has(srcKey)) {
1246
- ctx.logger.warn(`[user-profile] 丢弃 instruction add(sourceUserKey 不在授权人列表中): text="${t}" claimed="${srcKey}"`);
1266
+ logger.warn(`[user-profile] 丢弃 instruction add(sourceUserKey 不在授权人列表中): text="${t}" claimed="${srcKey}"`);
1247
1267
  return [];
1248
1268
  }
1249
1269
  const srcName = typeof o.sourceUserName === 'string' && o.sourceUserName.trim() ? o.sourceUserName.trim() : '';
@@ -1286,7 +1306,7 @@ export function apply(ctx, config) {
1286
1306
  return { add, update, remove };
1287
1307
  }
1288
1308
  catch (err) {
1289
- ctx.logger.debug(`指令提取 LLM 调用失败:${err instanceof Error ? err.message : String(err)}`);
1309
+ logger.debug(`指令提取 LLM 调用失败:${err instanceof Error ? err.message : String(err)}`);
1290
1310
  return empty;
1291
1311
  }
1292
1312
  }
@@ -1298,18 +1318,19 @@ export function apply(ctx, config) {
1298
1318
  return;
1299
1319
  if (instructionExtractionInflight)
1300
1320
  return;
1301
- const authority = ctx.getService('authority');
1302
- if (!authority?.getAuthority) {
1303
- // authority 不可用 → 无法验证权限,跳过 LLM 自动提取(命令通道仍可用)
1321
+ // 指令只采信有权下指令的人,门槛是发言人的数字权限等级(owner 视为无穷大)
1322
+ const auth = authority.current;
1323
+ if (!auth)
1304
1324
  return;
1305
- }
1306
- const authorityFn = (platform, userId) => authority.getAuthority(platform, userId);
1325
+ const authorityFn = (platform, userId) => auth.isOwner(platform, userId)
1326
+ ? Number.POSITIVE_INFINITY
1327
+ : (auth.listUsers().find(u => u.platform === platform && u.userId === userId)?.level ?? DEFAULT_AUTHORITY);
1307
1328
  instructionExtractionInflight = true;
1308
1329
  try {
1309
- const memory = ctx.getService('memory');
1310
- if (!memory?.getHistory)
1330
+ const mem = memory.current;
1331
+ if (!mem?.getHistory)
1311
1332
  return;
1312
- const rawHistory = await memory.getHistory(sessionId, cfg.instructionHistoryForExtraction);
1333
+ const rawHistory = await mem.getHistory(sessionId, cfg.instructionHistoryForExtraction);
1313
1334
  const history = rawHistory.filter(m => m.kind !== WellKnownKinds.CrossSessionDelegation);
1314
1335
  if (history.length === 0)
1315
1336
  return;
@@ -1327,10 +1348,10 @@ export function apply(ctx, config) {
1327
1348
  instructions: newInstructions,
1328
1349
  updatedAt: Date.now(),
1329
1350
  });
1330
- ctx.logger.debug(`指令档案已更新 (${getInstructionsKey()}): +${ops.add.length} ~${ops.update.length} -${ops.remove.length} → ${newInstructions.length} 条`);
1351
+ logger.debug(`指令档案已更新 (${getInstructionsKey()}): +${ops.add.length} ~${ops.update.length} -${ops.remove.length} → ${newInstructions.length} 条`);
1331
1352
  }
1332
1353
  catch (err) {
1333
- ctx.logger.debug(`指令提取失败:${err instanceof Error ? err.message : String(err)}`);
1354
+ logger.debug(`指令提取失败:${err instanceof Error ? err.message : String(err)}`);
1334
1355
  }
1335
1356
  finally {
1336
1357
  instructionExtractionInflight = false;
@@ -1344,7 +1365,7 @@ export function apply(ctx, config) {
1344
1365
  // 注:钩子无优先级机制,同相位 handler 按插件激活序执行;本 handler 只做副作用
1345
1366
  // (更新关系分数)不改消息,与其它 handler 顺序无关。
1346
1367
  // 关系强度与"是否触发回复"绑定,因此仍走 agent:input:before 中间件。
1347
- ctx.middleware('agent:input:before', async (data, next) => {
1368
+ hooks.middleware('agent:input:before', async (data, next) => {
1348
1369
  const { userId, platform, triggerType } = data.message;
1349
1370
  if (userId) {
1350
1371
  const userKey = userKeyOf(platform, userId);
@@ -1354,7 +1375,7 @@ export function apply(ctx, config) {
1354
1375
  await updateRelationForUser(userKey, triggerType, { countInteraction: false });
1355
1376
  }
1356
1377
  catch (err) {
1357
- ctx.logger.debug(`关系强度更新异常 (${userKey}): ${err instanceof Error ? err.message : String(err)}`);
1378
+ logger.debug(`关系强度更新异常 (${userKey}): ${err instanceof Error ? err.message : String(err)}`);
1358
1379
  }
1359
1380
  }
1360
1381
  await next();
@@ -1362,8 +1383,7 @@ export function apply(ctx, config) {
1362
1383
  // ─── 事实提取触发:每条入站消息落库后立即计数,与 agent 是否回复无关 ───
1363
1384
  // 监听 message-archive 在 archiveIncoming 落库成功后发出的 inbound:message:archived 事件,
1364
1385
  // 确保缓冲消息(onebot saveBufferedMessage 等不触发 agent 回复的路径)也能纳入计数。
1365
- ctx.on('inbound:message:archived', (...args) => {
1366
- const data = args[0];
1386
+ events.on('inbound:message:archived', data => {
1367
1387
  const { sessionId, incoming } = data;
1368
1388
  const { userId, platform, nickname } = incoming;
1369
1389
  if (!userId)
@@ -1374,25 +1394,25 @@ export function apply(ctx, config) {
1374
1394
  // lastInteractionAt 的唯一写点,设门会连带关掉计数与时戳(衰减基准、最近互动
1375
1395
  // 排序全失效)。增量为 0 时 relationIncrementFor 自然返回 0,不加分即可。
1376
1396
  const userKey = userKeyOf(platform, userId);
1377
- void updateRelationForUser(userKey, 'witness').catch((err) => ctx.logger.debug(`witness 关系更新异常 (${userKey}): ${err instanceof Error ? err.message : String(err)}`));
1397
+ void updateRelationForUser(userKey, 'witness').catch((err) => logger.debug(`witness 关系更新异常 (${userKey}): ${err instanceof Error ? err.message : String(err)}`));
1378
1398
  const countKey = extractionCountKeyOf(sessionId, platform, userId);
1379
1399
  const count = (userMessageCount.get(countKey) ?? 0) + 1;
1380
1400
  userMessageCount.set(countKey, count);
1381
1401
  if (cfg.extractEveryNMessages > 0 && count % cfg.extractEveryNMessages === 0) {
1382
- void triggerExtractionForUser(sessionId, userId, platform ?? '', nickname).catch((err) => ctx.logger.debug(`事实提取异常 (${countKey}): ${err instanceof Error ? err.message : String(err)}`));
1402
+ void triggerExtractionForUser(sessionId, userId, platform ?? '', nickname).catch((err) => logger.debug(`事实提取异常 (${countKey}): ${err instanceof Error ? err.message : String(err)}`));
1383
1403
  }
1384
1404
  // 全局自反思:跨会话累计所有入站消息计数,每 N 触发一次。
1385
1405
  if (cfg.enableSelfProfile && cfg.selfReflectEveryNMessages > 0) {
1386
1406
  globalInboundCount += 1;
1387
1407
  if (globalInboundCount % cfg.selfReflectEveryNMessages === 0) {
1388
- void triggerSelfReflection(sessionId).catch((err) => ctx.logger.debug(`自反思异常: ${err instanceof Error ? err.message : String(err)}`));
1408
+ void triggerSelfReflection(sessionId).catch((err) => logger.debug(`自反思异常: ${err instanceof Error ? err.message : String(err)}`));
1389
1409
  }
1390
1410
  }
1391
1411
  // 指令提取:独立计数器,与自反思解耦。频率默认更慢(40 条),可单独禁用。
1392
1412
  if (cfg.enableInstructions && cfg.instructionExtractEveryNMessages > 0) {
1393
1413
  globalInstructionCount += 1;
1394
1414
  if (globalInstructionCount % cfg.instructionExtractEveryNMessages === 0) {
1395
- void triggerInstructionExtraction(sessionId).catch((err) => ctx.logger.debug(`指令提取异常: ${err instanceof Error ? err.message : String(err)}`));
1415
+ void triggerInstructionExtraction(sessionId).catch((err) => logger.debug(`指令提取异常: ${err instanceof Error ? err.message : String(err)}`));
1396
1416
  }
1397
1417
  }
1398
1418
  });
@@ -1462,7 +1482,7 @@ export function apply(ctx, config) {
1462
1482
  // interval → 无主发言者(只是恰好撞上频率),所有参与者一律 compact 摘要
1463
1483
  // idle → 无 userId,只注入历史 messages 中出现的参与者 compact 摘要
1464
1484
  // 多块返回保序共键:准则 → 自档案 → 主发言者档案 → 其他参与者。
1465
- ctx.contribute('agent:prompt', {
1485
+ contributions.contribute('agent:prompt', {
1466
1486
  id: 'user-profile',
1467
1487
  anchor: 'turn-context',
1468
1488
  async build(data) {
@@ -1511,10 +1531,11 @@ export function apply(ctx, config) {
1511
1531
  const relationLine = renderRelationLine(profile);
1512
1532
  // 可选:从 user-relation 服务取「同社群活跃成员」(Louvain 标签 + PageRank 排序)。
1513
1533
  // 服务不存在 / 节点没社群标签 / 报错都静默跳过;该字段是锦上添花,不破坏档案主体。
1534
+ // 同名描述符声明 optional 依赖,类型来自兄弟插件的 type-only 导入,不构成运行时包依赖。
1514
1535
  let communityLine = '';
1515
1536
  try {
1516
- const relation = ctx.getService('user-relation');
1517
- if (relation?.getCommunityPeers) {
1537
+ const relation = userRelation.current;
1538
+ if (relation) {
1518
1539
  const r = await relation.getCommunityPeers(userKey, 5);
1519
1540
  if (r.peers.length > 0) {
1520
1541
  const names = r.peers.map(p => p.displayName).join('、');
@@ -1523,7 +1544,7 @@ export function apply(ctx, config) {
1523
1544
  }
1524
1545
  }
1525
1546
  catch (err) {
1526
- ctx.logger.debug(`读取 community peers 失败: ${err instanceof Error ? err.message : String(err)}`);
1547
+ logger.debug(`读取 community peers 失败: ${err instanceof Error ? err.message : String(err)}`);
1527
1548
  }
1528
1549
  const block = `# 关于当前对话者(${data.userId})的已知事实\n` +
1529
1550
  '以下是你跨会话长期积累的关于该用户的事实,用于让回应更自然贴合其个性。' +
@@ -1572,10 +1593,10 @@ export function apply(ctx, config) {
1572
1593
  break;
1573
1594
  }
1574
1595
  if (cfg.allowGlobalBackfill && others.size < candidateLimit) {
1575
- const memory = ctx.getService('memory');
1576
- if (memory) {
1596
+ const mem = memory.current;
1597
+ if (mem) {
1577
1598
  try {
1578
- const globalRecent = await memory.listMetadata(PROFILE_NS);
1599
+ const globalRecent = await mem.listMetadata(PROFILE_NS);
1579
1600
  globalRecent.sort((a, b) => {
1580
1601
  const at = typeof a.data.lastInteractionAt === 'number' ? a.data.lastInteractionAt : 0;
1581
1602
  const bt = typeof b.data.lastInteractionAt === 'number' ? b.data.lastInteractionAt : 0;
@@ -1596,7 +1617,7 @@ export function apply(ctx, config) {
1596
1617
  }
1597
1618
  }
1598
1619
  catch (err) {
1599
- ctx.logger.debug(`加载最近互动用户失败: ${err instanceof Error ? err.message : String(err)}`);
1620
+ logger.debug(`加载最近互动用户失败: ${err instanceof Error ? err.message : String(err)}`);
1600
1621
  }
1601
1622
  }
1602
1623
  }
@@ -1634,7 +1655,7 @@ export function apply(ctx, config) {
1634
1655
  },
1635
1656
  });
1636
1657
  // ─── 参与统一的 memory:clear ───
1637
- ctx.middleware('memory:clear', async (data, next) => {
1658
+ hooks.middleware('memory:clear', async (data, next) => {
1638
1659
  if (data.types && !data.types.includes('user-profile')) {
1639
1660
  await next();
1640
1661
  return;
@@ -1644,8 +1665,8 @@ export function apply(ctx, config) {
1644
1665
  await next();
1645
1666
  return;
1646
1667
  }
1647
- const memory = ctx.getService('memory');
1648
- if (!memory) {
1668
+ const mem = memory.current;
1669
+ if (!mem) {
1649
1670
  await next();
1650
1671
  return;
1651
1672
  }
@@ -1654,8 +1675,8 @@ export function apply(ctx, config) {
1654
1675
  // 注意 commitMetadata 的原子性**按后端分档**(见 api-memory 契约)——sqlite/inmemory
1655
1676
  // 是真原子,mongodb 只保证按序执行遇错即停,仍可能停在半新半旧。批量的确定收益是
1656
1677
  // 一次往返 + 遇错即停,不是无条件的「要么全成」。
1657
- const items = await memory.listMetadata(PROFILE_NS);
1658
- await memory.commitMetadata(items.map(it => ({ op: 'del', namespace: PROFILE_NS, key: it.key })));
1678
+ const items = await mem.listMetadata(PROFILE_NS);
1679
+ await mem.commitMetadata(items.map(it => ({ op: 'del', namespace: PROFILE_NS, key: it.key })));
1659
1680
  data.results.push({ source: 'user-profile', success: true, message: `用户档案已清空 (${items.length} 条)` });
1660
1681
  }
1661
1682
  catch (err) {
@@ -1666,8 +1687,8 @@ export function apply(ctx, config) {
1666
1687
  // memory:clear scope='all' 时一并清理;types 默认包含 user-profile 即也清。
1667
1688
  if (cfg.enableInstructions) {
1668
1689
  try {
1669
- const insItems = await memory.listMetadata(INSTRUCTIONS_NS);
1670
- await memory.commitMetadata(insItems.map(it => ({ op: 'del', namespace: INSTRUCTIONS_NS, key: it.key })));
1690
+ const insItems = await mem.listMetadata(INSTRUCTIONS_NS);
1691
+ await mem.commitMetadata(insItems.map(it => ({ op: 'del', namespace: INSTRUCTIONS_NS, key: it.key })));
1671
1692
  data.results.push({
1672
1693
  source: 'user-profile-instructions',
1673
1694
  success: true,
@@ -1686,12 +1707,12 @@ export function apply(ctx, config) {
1686
1707
  // 设计要点:
1687
1708
  // - 全局可查(用户决定 C):跨平台/跨群均可,含 __self__ 自档案
1688
1709
  // - 三种调用方式:① user_key 直传;② platform+user_id 组合;③ self=true(查当前 persona 自档案)
1689
- useToolService(ctx).registerGroup({
1710
+ tools.registerGroup({
1690
1711
  name: 'user-profile',
1691
1712
  label: '用户档案',
1692
1713
  description: '查询 Aalis 已经积累的某人事实档案(包括自档案)。',
1693
1714
  });
1694
- useToolService(ctx).register({
1715
+ tools.register({
1695
1716
  definition: {
1696
1717
  type: 'function',
1697
1718
  function: {
@@ -1768,9 +1789,7 @@ export function apply(ctx, config) {
1768
1789
  // /profile 查看自己的档案
1769
1790
  // /profile clear 清除自己的档案(authority=2,自己删自己的)
1770
1791
  // /profile clear nuke 清空所有用户档案(authority=3,dangerous)
1771
- useCommandService(ctx)
1772
- .command('profile', '查看你在 Aalis 中的事实档案')
1773
- .action(async (argv) => {
1792
+ commands.command('profile', '查看你在 Aalis 中的事实档案').action(async (argv) => {
1774
1793
  const userId = argv.session.userId;
1775
1794
  if (!userId)
1776
1795
  return '当前会话未识别用户身份,无法查看档案。';
@@ -1783,21 +1802,19 @@ export function apply(ctx, config) {
1783
1802
  const meta = `关系强度:${(profile.relationScore ?? 0).toFixed(relationScorePrecision)}/100,互动次数:${profile.interactionCount ?? 0}`;
1784
1803
  return `📇 你的档案 (${userKey})\n${meta}\n\n${block}`;
1785
1804
  });
1786
- useCommandService(ctx)
1787
- .command('profile.clear', '清除你自己的事实档案', { visibility: 'restricted' })
1788
- .action(async (argv) => {
1805
+ commands.command('profile.clear', '清除你自己的事实档案', { visibility: 'restricted' }).action(async (argv) => {
1789
1806
  const userId = argv.session.userId;
1790
1807
  if (!userId)
1791
1808
  return '当前会话未识别用户身份,无法清除档案。';
1792
1809
  const userKey = userKeyOf(argv.session.platform, userId);
1793
- const memory = ctx.getService('memory');
1794
- if (!memory)
1810
+ const mem = memory.current;
1811
+ if (!mem)
1795
1812
  return '记忆服务不支持档案删除。';
1796
1813
  try {
1797
- const existed = await memory.getMetadata(PROFILE_NS, userKey);
1814
+ const existed = await mem.getMetadata(PROFILE_NS, userKey);
1798
1815
  if (!existed)
1799
1816
  return `📭 你当前没有档案数据 (${userKey})`;
1800
- await memory.deleteMetadata(PROFILE_NS, userKey);
1817
+ await mem.deleteMetadata(PROFILE_NS, userKey);
1801
1818
  return `✅ 已清除你的档案 (${userKey})`;
1802
1819
  }
1803
1820
  catch (err) {
@@ -1809,7 +1826,7 @@ export function apply(ctx, config) {
1809
1826
  // mongosh 手术或 nuke 全清。dangerous → 等级 2 + confirm,与同族 self.clear/nuke 对齐
1810
1827
  //(它改的是**他人**档案,且 target 含冒号时直传 key、可触及 __self__ 自档案,
1811
1828
  // 必须与 self.clear 同样上确认闸)。id 未命中时列出前若干条供定位。
1812
- useCommandService(ctx)
1829
+ commands
1813
1830
  .command('profile.forget <target:string> <factId:string>', '定点删除某用户档案中的一条事实(运维除毒)', {
1814
1831
  risk: 'dangerous',
1815
1832
  })
@@ -1835,9 +1852,7 @@ export function apply(ctx, config) {
1835
1852
  });
1836
1853
  return `✅ 已删除 ${userKey} 的事实 [${factId}]:${hit.text.slice(0, 60)}`;
1837
1854
  });
1838
- useCommandService(ctx)
1839
- .command('profile.self', '查看 Aalis 的自档案(跨会话的内心状态)')
1840
- .action(async () => {
1855
+ commands.command('profile.self', '查看 Aalis 的自档案(跨会话的内心状态)').action(async () => {
1841
1856
  const selfKey = getSelfKey();
1842
1857
  const profile = await loadProfile(selfKey);
1843
1858
  if (!profile || profile.facts.length === 0) {
@@ -1846,31 +1861,27 @@ export function apply(ctx, config) {
1846
1861
  const block = renderProfileBlock(profile.facts, getCurrentPersonaName(), false);
1847
1862
  return `🪞 ${getCurrentPersonaName()} 自档案(共 ${profile.facts.length} 条,key=${selfKey})\n\n${block}`;
1848
1863
  });
1849
- useCommandService(ctx)
1850
- .command('profile.self.clear', '【慎用】清空 Aalis 自档案', { risk: 'dangerous' })
1851
- .action(async () => {
1852
- const memory = ctx.getService('memory');
1853
- if (!memory)
1864
+ commands.command('profile.self.clear', '【慎用】清空 Aalis 自档案', { risk: 'dangerous' }).action(async () => {
1865
+ const mem = memory.current;
1866
+ if (!mem)
1854
1867
  return '记忆服务不支持档案删除。';
1855
1868
  const selfKey = getSelfKey();
1856
1869
  try {
1857
- await memory.deleteMetadata(PROFILE_NS, selfKey);
1870
+ await mem.deleteMetadata(PROFILE_NS, selfKey);
1858
1871
  return `✅ ${getCurrentPersonaName()} 自档案已清空(key=${selfKey})`;
1859
1872
  }
1860
1873
  catch (err) {
1861
1874
  return `❌ 清空失败:${err instanceof Error ? err.message : String(err)}`;
1862
1875
  }
1863
1876
  });
1864
- useCommandService(ctx)
1865
- .command('profile.clear.nuke', '【危险】清空所有用户档案', { risk: 'dangerous' })
1866
- .action(async () => {
1867
- const memory = ctx.getService('memory');
1868
- if (!memory) {
1877
+ commands.command('profile.clear.nuke', '【危险】清空所有用户档案', { risk: 'dangerous' }).action(async () => {
1878
+ const mem = memory.current;
1879
+ if (!mem) {
1869
1880
  return '记忆服务不支持档案批量删除。';
1870
1881
  }
1871
1882
  try {
1872
- const items = await memory.listMetadata(PROFILE_NS);
1873
- await memory.commitMetadata(items.map(it => ({ op: 'del', namespace: PROFILE_NS, key: it.key })));
1883
+ const items = await mem.listMetadata(PROFILE_NS);
1884
+ await mem.commitMetadata(items.map(it => ({ op: 'del', namespace: PROFILE_NS, key: it.key })));
1874
1885
  return `✅ 已清空全部用户档案(${items.length} 条)`;
1875
1886
  }
1876
1887
  catch (err) {
@@ -1883,15 +1894,13 @@ export function apply(ctx, config) {
1883
1894
  // /instruct.add <text> 手动添加一条指令(authority=2)
1884
1895
  // /instruct.remove <id> 按 id 删除一条(authority=2)
1885
1896
  // /instruct.clear 清空当前 persona 的全部指令(authority=3, dangerous)
1886
- useCommandService(ctx)
1887
- .command('instruct', '查看当前 persona 的第三方行为指令')
1888
- .action(async () => {
1897
+ commands.command('instruct', '查看当前 persona 的第三方行为指令').action(async () => {
1889
1898
  if (!cfg.enableInstructions)
1890
1899
  return '🚫 第三方行为指令功能未启用。';
1891
- const persona = getCurrentPersonaName();
1900
+ const personaName = getCurrentPersonaName();
1892
1901
  const doc = await loadInstructions();
1893
1902
  if (doc.instructions.length === 0) {
1894
- return `📭 ${persona} 当前没有任何第三方行为指令。`;
1903
+ return `📭 ${personaName} 当前没有任何第三方行为指令。`;
1895
1904
  }
1896
1905
  const lines = doc.instructions.map(ins => {
1897
1906
  const tag = ins.severity === 'must' ? '【必须】' : ins.severity === 'avoid' ? '【避免】' : '【应当】';
@@ -1901,9 +1910,9 @@ export function apply(ctx, config) {
1901
1910
  : '';
1902
1911
  return ` ${ins.id} ${tag}${cat} ${ins.text}${src}`;
1903
1912
  });
1904
- return `📋 ${persona} 的第三方行为指令(共 ${doc.instructions.length} 条)\n${lines.join('\n')}`;
1913
+ return `📋 ${personaName} 的第三方行为指令(共 ${doc.instructions.length} 条)\n${lines.join('\n')}`;
1905
1914
  });
1906
- useCommandService(ctx)
1915
+ commands
1907
1916
  .command('instruct.add <text:text>', '手动添加一条第三方行为指令', { visibility: 'restricted' })
1908
1917
  .action(async (argv, text) => {
1909
1918
  if (!cfg.enableInstructions)
@@ -1928,7 +1937,7 @@ export function apply(ctx, config) {
1928
1937
  const added = merged.find(m => m.text === clipInstructionText(body));
1929
1938
  return `✅ 已添加行为指令${added ? `(id=${added.id})` : ''}:${clipInstructionText(body)}`;
1930
1939
  });
1931
- useCommandService(ctx)
1940
+ commands
1932
1941
  .command('instruct.remove <id:string>', '按 id 删除一条第三方行为指令', { visibility: 'restricted' })
1933
1942
  .action(async (_argv, id) => {
1934
1943
  if (!cfg.enableInstructions)
@@ -1944,26 +1953,26 @@ export function apply(ctx, config) {
1944
1953
  await saveInstructions({ instructions: merged, updatedAt: Date.now() });
1945
1954
  return `✅ 已删除指令(id=${targetId}):${target.text}`;
1946
1955
  });
1947
- useCommandService(ctx)
1956
+ commands
1948
1957
  .command('instruct.clear', '【危险】清空当前 persona 的全部第三方行为指令', {
1949
1958
  visibility: 'restricted',
1950
1959
  })
1951
1960
  .action(async () => {
1952
1961
  if (!cfg.enableInstructions)
1953
1962
  return '🚫 第三方行为指令功能未启用。';
1954
- const memory = ctx.getService('memory');
1955
- if (!memory)
1963
+ const mem = memory.current;
1964
+ if (!mem)
1956
1965
  return '记忆服务不支持指令删除。';
1957
1966
  try {
1958
1967
  const before = (await loadInstructions()).instructions.length;
1959
- await memory.deleteMetadata(INSTRUCTIONS_NS, getInstructionsKey());
1968
+ await mem.deleteMetadata(INSTRUCTIONS_NS, getInstructionsKey());
1960
1969
  return `✅ ${getCurrentPersonaName()} 的第三方行为指令已清空(删除 ${before} 条)。`;
1961
1970
  }
1962
1971
  catch (err) {
1963
1972
  return `❌ 清空失败:${err instanceof Error ? err.message : String(err)}`;
1964
1973
  }
1965
1974
  });
1966
- ctx.logger.info(`用户事实档案已启用 (every=${cfg.extractEveryNMessages <= 0 ? '禁用提取' : `${cfg.extractEveryNMessages}msgs`}, history=${cfg.historyForExtraction}, ` +
1975
+ logger.info(`用户事实档案已启用 (every=${cfg.extractEveryNMessages <= 0 ? '禁用提取' : `${cfg.extractEveryNMessages}msgs`}, history=${cfg.historyForExtraction}, ` +
1967
1976
  `maxFacts=${cfg.maxFactsPerUser}, ` +
1968
1977
  `self=${cfg.enableSelfProfile ? `every ${cfg.selfReflectEveryNMessages}msgs/max ${cfg.maxSelfFacts}, key=${getSelfKey()}` : 'disabled'}, ` +
1969
1978
  `instructions=${cfg.enableInstructions ? `enabled(every ${cfg.instructionExtractEveryNMessages}msgs/max ${cfg.maxInstructions}/minAuth ${cfg.instructionMinAuthority}, key=${getInstructionsKey()})` : 'disabled'}, ` +
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-user-profile",
3
- "version": "0.11.1",
3
+ "version": "0.12.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,32 +24,43 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/api-commands": ">=0.5.0 <1.0.0",
28
- "@aalis/schema-config": ">=0.9.0 <1.0.0",
29
- "@aalis/api-llm": ">=0.9.0 <1.0.0",
27
+ "@aalis/api-authority": ">=0.9.0 <1.0.0",
28
+ "@aalis/api-commands": ">=0.6.0 <1.0.0",
29
+ "@aalis/schema-config": ">=0.12.0 <1.0.0",
30
+ "@aalis/api-llm": ">=0.11.0 <1.0.0",
31
+ "@aalis/api-memory": ">=0.6.0 <1.0.0",
32
+ "@aalis/api-persona": ">=0.7.0 <1.0.0",
30
33
  "@aalis/schema-message": ">=0.5.1 <1.0.0",
31
- "@aalis/api-tools": ">=0.5.1 <1.0.0",
34
+ "@aalis/api-tools": ">=0.9.0 <1.0.0",
32
35
  "@aalis/util-json-repair": ">=0.5.1 <1.0.0"
33
36
  },
34
37
  "devDependencies": {
35
38
  "@types/node": "^22.0.0",
36
39
  "typescript": "^5.7.0",
37
- "@aalis/core": "0.12.1",
38
- "@aalis/api-agent": "0.7.1",
39
- "@aalis/api-memory": "0.5.1"
40
+ "@aalis/api-agent": "0.8.0",
41
+ "@aalis/core": "0.17.0",
42
+ "@aalis/plugin-user-relation": "0.13.0"
40
43
  },
41
44
  "peerDependencies": {
42
- "@aalis/core": ">=0.11.0 <1.0.0"
45
+ "@aalis/core": ">=0.17.0 <1.0.0"
43
46
  },
44
47
  "aalis": {
45
48
  "service": {
46
49
  "required": [
47
- "memory",
48
- "llm"
50
+ "config",
51
+ "contributions",
52
+ "events",
53
+ "hooks",
54
+ "llm",
55
+ "logger",
56
+ "memory"
49
57
  ],
50
58
  "optional": [
59
+ "authority",
51
60
  "user-relation",
52
- "tools"
61
+ "tools",
62
+ "commands",
63
+ "persona"
53
64
  ]
54
65
  }
55
66
  },