@aalis/plugin-persona 0.9.5 → 0.11.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,13 +1,13 @@
1
- import type { Context } from '@aalis/core';
2
- import type { ConfigSchema } from '@aalis/schema-config';
3
- export type { OutputFormat, OutputFormatField, PersonaService, PersonaSessionOptions } from '@aalis/api-persona';
4
- export declare const name = "@aalis/plugin-persona";
5
- export declare const displayName = "\u4EBA\u8BBE\u7CFB\u7EDF";
6
- export declare const subsystem = "persona";
7
- export declare const provides: string[];
8
- export declare const inject: {
9
- optional: string[];
10
- };
11
- export declare const configSchema: ConfigSchema;
12
- export declare function apply(ctx: Context, config: Record<string, unknown>): Promise<void>;
1
+ import { type StorageService } from '@aalis/api-storage';
2
+ declare const _default: import("@aalis/core").PluginDefinition<{
3
+ provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
4
+ config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
5
+ logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
6
+ events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
7
+ hooks: import("@aalis/core").ServiceDescriptor<import("@aalis/api-hooks").HookRegistry, import("@aalis/api-hooks").Hooks>;
8
+ platform: import("@aalis/core").OptionalUse<import("@aalis/api-platform").PlatformAdapter, import("@aalis/core").ServiceRef<import("@aalis/api-platform").PlatformAdapter>>;
9
+ storage: import("@aalis/core").OptionalUse<StorageService, import("@aalis/core").ServiceRef<StorageService>>;
10
+ sessionManager: import("@aalis/core").OptionalUse<import("@aalis/api-session-manager").SessionManagerService, import("@aalis/core").ServiceRef<import("@aalis/api-session-manager").SessionManagerService>>;
11
+ }>;
12
+ export default _default;
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAoBzD,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAqBjH,eAAO,MAAM,IAAI,0BAA0B,CAAC;AAC5C,eAAO,MAAM,WAAW,6BAAS,CAAC;AAClC,eAAO,MAAM,SAAS,YAAY,CAAC;AACnC,eAAO,MAAM,QAAQ,UAAc,CAAC;AACpC,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAgC1B,CAAC;AA2XF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAicxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,oBAAoB,CAAC;;;;;;;;;;;AAwc5B,wBAQG"}
package/dist/index.js CHANGED
@@ -1,17 +1,30 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
- import { getPlatformSelfIdentity } from '@aalis/api-platform';
3
- import { createStorageGateway, toStorageUri } from '@aalis/api-storage';
2
+ import { hooks as hooksCap } from '@aalis/api-hooks';
3
+ import { persona, } from '@aalis/api-persona';
4
+ import { getPlatformSelfIdentity, platform as platformService } from '@aalis/api-platform';
5
+ import { sessionManager as sessionManagerService } from '@aalis/api-session-manager';
6
+ import { createStorageGateway, isStorageNotFound, storage as storageService, toStorageUri, } from '@aalis/api-storage';
7
+ import { config as configCap, definePlugin, events as eventsCap, logger as loggerCap, optional, provide as provideCap, } from '@aalis/core';
4
8
  import { extractJsonCandidate, tryParseJsonObject } from '@aalis/util-json-repair';
5
9
  import { parse as parseYaml } from 'yaml';
10
+ /**
11
+ * 合成回合(scheduler / workflow / delegate / idle)不经适配器,消息上没有 sessionType:按
12
+ * `<platform>:<self>:<type>:<target>` 约定从 sessionId 推断(与下方取群号同一约定),只认前缀等于
13
+ * platform 的 id。子任务会话(`<父会话 id>::<uuid>`)不推断:它沿用父会话的 platform,按段切分会把
14
+ * 父会话的类型连同带后缀的假群号安到子任务头上。只用于提示词、不回写消息——写回会把合成回合拖进
15
+ * flow-control / trigger-policy 的 `*:group` 闸,定时群消息会被吞掉。
16
+ */
17
+ function inferSessionType(platform, sessionId) {
18
+ if (sessionId.includes('::'))
19
+ return undefined;
20
+ const parts = sessionId.split(':');
21
+ if (parts.length < 4 || parts[0] !== platform)
22
+ return undefined;
23
+ const t = parts[2];
24
+ return t === 'group' || t === 'private' || t === 'channel' ? t : undefined;
25
+ }
6
26
  // ===== 插件元数据 =====
7
- export const name = '@aalis/plugin-persona';
8
- export const displayName = '人设系统';
9
- export const subsystem = 'persona';
10
- export const provides = ['persona'];
11
- export const inject = {
12
- optional: ['platform'],
13
- };
14
- export const configSchema = {
27
+ const configSchema = {
15
28
  persona: {
16
29
  type: 'select',
17
30
  label: '人设',
@@ -22,7 +35,7 @@ export const configSchema = {
22
35
  personasDir: {
23
36
  type: 'string',
24
37
  label: '人设目录',
25
- description: '存放人设文件的目录路径(相对于项目根目录)',
38
+ description: "人设文件所在目录的 storage URI(如 data:/personas;不含 ':/' 时首段视为存储根名,单段裸名归 data 根)",
26
39
  default: 'data/personas',
27
40
  },
28
41
  statePersistence: {
@@ -52,17 +65,15 @@ class PersonaServiceImpl {
52
65
  statePersistence;
53
66
  timeInjection;
54
67
  timeZone;
55
- /** 按名称缓存的角色卡(由启动扫描 + watch 预填) */
68
+ /** 按名称缓存的角色卡(由启动扫描 + watch 预填;键集即 listModels 的结果) */
56
69
  cardCache = new Map();
57
- /** 按名称缓存的 OutputFormat */
58
- formatCache = new Map();
59
- /** 启动后扫描到的角色名称(用于 listModels,由启动 + watch 维护) */
60
- knownNames = new Set();
70
+ /** 按卡对象缓存的 OutputFormat:卡被重扫换成新对象后旧缓存自然失效,同名的两张卡也互不串用 */
71
+ formatCache = new WeakMap();
61
72
  /** 每个 session 的持久化状态 */
62
73
  sessionStates = new Map();
63
74
  /** 当前处理消息的会话身份(按异步上下文隔离,杜绝并发会话间串档)。 */
64
75
  identityStore = new AsyncLocalStorage();
65
- constructor(card, _searchUris, fileName, options) {
76
+ constructor(card, fileName, options) {
66
77
  this.card = card;
67
78
  this.fileName = fileName;
68
79
  this.statePersistence = options.statePersistence;
@@ -75,20 +86,10 @@ class PersonaServiceImpl {
75
86
  }
76
87
  /** 给外部调用:启动时预填 cache(代替原 sync 按需读盘) */
77
88
  setCardCacheEntry(name, card) {
78
- if (card) {
79
- this.cardCache.set(name, card);
80
- this.knownNames.add(name);
81
- }
82
- else {
83
- this.cardCache.set(name, null);
84
- this.knownNames.delete(name);
85
- }
86
- this.formatCache.delete(name);
89
+ this.cardCache.set(name, card);
87
90
  }
88
91
  removeCardCacheEntry(name) {
89
92
  this.cardCache.delete(name);
90
- this.formatCache.delete(name);
91
- this.knownNames.delete(name);
92
93
  }
93
94
  /** 重新加载“主角色卡”(fileName 对应的卡),供 watch 调用 */
94
95
  reloadPrimaryCardFromCache() {
@@ -100,9 +101,6 @@ class PersonaServiceImpl {
100
101
  : undefined;
101
102
  }
102
103
  }
103
- knownPersonaNames() {
104
- return [...this.knownNames];
105
- }
106
104
  /** 解析原始 outputFormat 定义 → OutputFormat 结构 */
107
105
  static parseRawOutputFormat(raw, retries) {
108
106
  const fields = {};
@@ -144,22 +142,18 @@ class PersonaServiceImpl {
144
142
  }
145
143
  /** 按名称动态加载角色卡(仅查 cache,启动时预填) */
146
144
  loadCard(name) {
147
- if (name === this.fileName)
148
- return this.card;
149
- const cached = this.cardCache.get(name);
150
- return cached ?? undefined;
145
+ return this.cardCache.get(name);
151
146
  }
152
147
  /** 获取指定角色卡的 OutputFormat(带缓存) */
153
148
  getCardOutputFormat(card) {
154
149
  if (card === this.card)
155
150
  return this._outputFormat;
156
- const key = card.name || '??';
157
- if (this.formatCache.has(key))
158
- return this.formatCache.get(key) ?? undefined;
151
+ if (this.formatCache.has(card))
152
+ return this.formatCache.get(card) ?? undefined;
159
153
  const fmt = card.outputFormat
160
154
  ? PersonaServiceImpl.parseRawOutputFormat(card.outputFormat, card.outputFormatRetries)
161
155
  : undefined;
162
- this.formatCache.set(key, fmt ?? null);
156
+ this.formatCache.set(card, fmt ?? null);
163
157
  return fmt;
164
158
  }
165
159
  /** 在指定会话身份的异步上下文内执行(中间件用,使并发会话各自隔离身份,穿透 await 不串)。 */
@@ -179,6 +173,10 @@ class PersonaServiceImpl {
179
173
  prompt += `性格特点: ${effectiveCard.traits.join('、')}\n\n`;
180
174
  }
181
175
  prompt += effectiveCard.prompt;
176
+ // 会话级额外提示:接在人设之后、格式说明之前,格式说明仍是整段的收尾
177
+ const extra = options?.systemPromptExtra?.trim();
178
+ if (extra)
179
+ prompt += `\n\n${extra}`;
182
180
  // 追加结构化输出指令 — 尊重调用方传入的 disableOutputFormat
183
181
  const effectiveFormat = options?.disableOutputFormat ? undefined : this.getCardOutputFormat(effectiveCard);
184
182
  if (effectiveFormat) {
@@ -363,22 +361,38 @@ class PersonaServiceImpl {
363
361
  return effectiveCard.skills;
364
362
  }
365
363
  async listModels() {
366
- return [...this.knownNames];
364
+ return [...this.cardCache.keys()];
367
365
  }
368
366
  }
369
367
  // ===== 插件入口 =====
370
- export async function apply(ctx, config) {
368
+ const uses = {
369
+ provide: provideCap,
370
+ config: configCap,
371
+ logger: loggerCap,
372
+ events: eventsCap,
373
+ hooks: hooksCap,
374
+ platform: optional(platformService),
375
+ storage: optional(storageService),
376
+ sessionManager: optional(sessionManagerService),
377
+ };
378
+ export default definePlugin({
379
+ name: '@aalis/plugin-persona',
380
+ displayName: '人设系统',
381
+ subsystem: 'persona',
382
+ configSchema,
383
+ provides: [persona],
384
+ uses,
385
+ apply: run,
386
+ });
387
+ async function run(caps) {
388
+ const { provide, config, logger, events, hooks } = caps;
371
389
  const personaName = config.persona || 'default';
372
390
  const personasDirRaw = config.personasDir || 'data/personas';
373
391
  const statePersistence = config.statePersistence ?? false;
374
392
  const timeInjection = config.timeInjection ?? true;
375
393
  const timeZone = config.timeZone ?? '';
376
- const storage = createStorageGateway(ctx);
377
- // 候选目录:用户配置 + configDir/personas(若存在 configDir 根,则用 configDir 根;否则跳过)
378
- const searchUris = [toStorageUri(personasDirRaw)];
379
- const knownRoots = new Set(storage.listRoots().map(r => r.name));
380
- if (knownRoots.has('configDir'))
381
- searchUris.push('configDir:/personas');
394
+ const storage = createStorageGateway(caps.storage);
395
+ const personasDir = toStorageUri(personasDirRaw);
382
396
  /** 读到了但解析不出卡的标记——与"文件不存在"区分开,避免坏卡被当成没有卡 */
383
397
  const INVALID = 'invalid';
384
398
  async function tryLoadCardFromUri(uri) {
@@ -397,7 +411,7 @@ export async function apply(ctx, config) {
397
411
  return asCard(parsed);
398
412
  }
399
413
  catch (err) {
400
- ctx.logger.warn(`角色卡解析失败,已跳过:${uri} —— ${err instanceof Error ? err.message : err}`);
414
+ logger.warn(`角色卡解析失败,已跳过:${uri} —— ${err instanceof Error ? err.message : err}`);
401
415
  return INVALID;
402
416
  }
403
417
  }
@@ -408,7 +422,6 @@ export async function apply(ctx, config) {
408
422
  description: parsed.description ?? '',
409
423
  prompt: parsed.prompt ?? '',
410
424
  traits: parsed.traits,
411
- greeting: parsed.greeting,
412
425
  outputFormat: parsed.outputFormat,
413
426
  outputFormatPrompt: parsed.outputFormatPrompt,
414
427
  // 仅接受非负整数(0 = 不重试);负数/小数/非数字按未设处理,交由解析处取缺省 1
@@ -428,45 +441,43 @@ export async function apply(ctx, config) {
428
441
  }
429
442
  async function findCard(name) {
430
443
  let sawInvalid = false;
431
- for (const dir of searchUris) {
432
- for (const ext of ['.yaml', '.yml']) {
433
- const uri = joinUri(dir, `${name}${ext}`);
434
- const card = await tryLoadCardFromUri(uri);
435
- if (card === INVALID) {
436
- sawInvalid = true;
437
- continue;
438
- }
439
- if (card)
440
- return { card, uri };
444
+ for (const ext of ['.yaml', '.yml']) {
445
+ const uri = joinUri(personasDir, `${name}${ext}`);
446
+ const card = await tryLoadCardFromUri(uri);
447
+ if (card === INVALID) {
448
+ sawInvalid = true;
449
+ continue;
441
450
  }
451
+ if (card)
452
+ return { card, uri };
442
453
  }
443
454
  return sawInvalid ? INVALID : undefined;
444
455
  }
445
- /** 扫描所有 personas 目录,预填 cache。 */
456
+ /** 扫描人设目录,预填 cache。目录不存在算零张卡;列不出(storage 缺席、读错误)时抛错,由 scanOnce 记 warn、不剔卡。 */
446
457
  async function scanAll(svc) {
447
458
  const seenNames = new Set();
448
- for (const dir of searchUris) {
449
- let result;
450
- try {
451
- result = await storage.list(dir);
452
- }
453
- catch {
459
+ let result;
460
+ try {
461
+ result = await storage.list(personasDir);
462
+ }
463
+ catch (err) {
464
+ if (!isStorageNotFound(err))
465
+ throw err;
466
+ return seenNames;
467
+ }
468
+ for (const entry of result.entries) {
469
+ if (entry.isDirectory)
454
470
  continue;
455
- }
456
- for (const entry of result.entries) {
457
- if (entry.isDirectory)
458
- continue;
459
- const m = /^(.+)\.ya?ml$/i.exec(entry.name);
460
- if (!m)
461
- continue;
462
- const cardName = m[1];
463
- if (seenNames.has(cardName))
464
- continue;
465
- const card = await tryLoadCardFromUri(entry.uri);
466
- if (card && card !== INVALID) {
467
- svc.setCardCacheEntry(cardName, card);
468
- seenNames.add(cardName);
469
- }
471
+ const m = /^(.+)\.ya?ml$/i.exec(entry.name);
472
+ if (!m)
473
+ continue;
474
+ const cardName = m[1];
475
+ if (seenNames.has(cardName))
476
+ continue;
477
+ const card = await tryLoadCardFromUri(entry.uri);
478
+ if (card && card !== INVALID) {
479
+ svc.setCardCacheEntry(cardName, card);
480
+ seenNames.add(cardName);
470
481
  }
471
482
  }
472
483
  return seenNames;
@@ -475,7 +486,7 @@ export async function apply(ctx, config) {
475
486
  const found = await findCard(personaName);
476
487
  if (found && found !== INVALID) {
477
488
  card = found.card;
478
- ctx.logger.info(`已加载角色卡: ${card.name} (${found.uri})`);
489
+ logger.info(`已加载角色卡: ${card.name} (${found.uri})`);
479
490
  }
480
491
  else {
481
492
  card = {
@@ -484,72 +495,98 @@ export async function apply(ctx, config) {
484
495
  prompt: '请友好、专业地与用户交流。',
485
496
  };
486
497
  if (found === INVALID) {
487
- ctx.logger.warn(`角色卡 "${personaName}" 存在但解析失败(原因见上条告警),暂用内置默认角色`);
498
+ logger.warn(`角色卡 "${personaName}" 存在但解析失败(原因见上条告警),暂用内置默认角色`);
488
499
  }
489
500
  else {
490
- ctx.logger.info(`未找到角色卡 "${personaName}",使用默认角色`);
501
+ logger.info(`未找到角色卡 "${personaName}",使用默认角色`);
491
502
  }
492
503
  }
493
- const service = new PersonaServiceImpl(card, searchUris, personaName, {
504
+ const service = new PersonaServiceImpl(card, personaName, {
494
505
  statePersistence,
495
506
  timeInjection,
496
507
  timeZone,
497
508
  });
498
- ctx.provide('persona', service);
499
- // 启动时一次性预扫所有 personas → cache(用于 listModels / 动态切换)+ 启动 watch
500
- ctx.on('app:ready', async () => {
509
+ provide(persona, service);
510
+ /** 全量扫描 → cache(listModels / 动态切换用),剔除已消失的卡,并按 cache 刷新主卡 */
511
+ async function scanOnce(reason) {
501
512
  try {
502
513
  const known = await scanAll(service);
503
- // 删除 cache 里那些已不存在的
504
- for (const n of service.knownPersonaNames()) {
514
+ for (const n of await service.listModels()) {
505
515
  if (!known.has(n) && n !== personaName)
506
516
  service.removeCardCacheEntry(n);
507
517
  }
508
518
  service.reloadPrimaryCardFromCache();
509
- ctx.logger.debug(`persona 启动扫描完成,已知 ${known.size} 张卡`);
519
+ logger.debug(`persona ${reason},已知 ${known.size} 张卡`);
510
520
  }
511
521
  catch (err) {
512
- ctx.logger.warn(`persona 启动扫描失败:${err}`);
522
+ logger.warn(`persona 扫描失败(${reason}):${err}`);
513
523
  }
514
- // 首启主目录尚不存在时 watch 会 ENOENT:先补建(只建本插件的主目录,configDir 等外部根不代建)。
515
- // 与监听分开:只读根 / 符号链接目录上 mkdir 会抛,不能连带放弃对已存在目录的监听。
516
- try {
517
- await storage.stat(searchUris[0]);
518
- }
519
- catch {
520
- try {
521
- await storage.mkdir?.(searchUris[0]);
522
- }
523
- catch {
524
- /* 建不了就照旧:下面的监听会给出失败原因 */
525
- }
526
- }
527
- for (const dir of searchUris) {
528
- try {
529
- const unwatch = storage.watch?.(dir, async () => {
524
+ }
525
+ // 扫描串行化:同一时刻只跑一次;进行中再触发,只排一次尾随重扫(期间的多次触发并成这一次)。
526
+ // 并发扫描时,先列目录、后收尾的那次会按自己的旧清单剔掉另一次刚载入的卡。
527
+ let scanning;
528
+ let queued;
529
+ function refresh(reason) {
530
+ if (queued)
531
+ return queued;
532
+ if (scanning) {
533
+ // scanOnce 自己吞错;即便日后它会拒绝,也照排尾随重扫,queued 不能停在一个已拒绝的 Promise 上
534
+ const next = () => {
535
+ queued = undefined;
536
+ return refresh(reason);
537
+ };
538
+ queued = scanning.then(next, next);
539
+ return queued;
540
+ }
541
+ scanning = scanOnce(reason).finally(() => {
542
+ scanning = undefined;
543
+ });
544
+ return scanning;
545
+ }
546
+ // 跟随 storage:在场即补建人设目录、挂监听、全量扫描;提供者换代(重启 / 改配置 / 晚上线)时重挂。
547
+ // 换代时 follow 先跑上次返回的清理,关掉挂在旧提供者上的监听。
548
+ // 首挂放在 sticky 的 app:ready 里并等它扫完,保持「start() 返回时主卡已按存储加载」;此刻 storage 不在场则等它上线再挂。
549
+ events.on('app:ready', async () => {
550
+ let first;
551
+ caps.storage.follow(() => {
552
+ const offs = [];
553
+ let cancelled = false;
554
+ const task = (async () => {
555
+ // 首启人设目录尚不存在时 watch 会 ENOENT:先补建。
556
+ // 与监听分开:只读根 / 符号链接目录上 mkdir 会抛,不能连带放弃对已存在目录的监听。
557
+ try {
558
+ await storage.stat(personasDir);
559
+ }
560
+ catch {
530
561
  try {
531
- const known = await scanAll(service);
532
- for (const n of service.knownPersonaNames()) {
533
- if (!known.has(n) && n !== personaName)
534
- service.removeCardCacheEntry(n);
535
- }
536
- service.reloadPrimaryCardFromCache();
537
- ctx.logger.debug(`persona 目录变化已重新加载(${dir})`);
562
+ await storage.mkdir(personasDir);
538
563
  }
539
- catch (err) {
540
- ctx.logger.warn(`persona 重扫失败:${err}`);
564
+ catch {
565
+ /* 建不了就照旧:下面的监听会给出失败原因 */
541
566
  }
542
- });
543
- if (unwatch)
544
- ctx.onDispose(unwatch);
545
- }
546
- catch (err) {
547
- ctx.logger.warn(`persona 目录监听失败(${dir}):${err}`);
548
- }
549
- }
567
+ }
568
+ if (cancelled)
569
+ return;
570
+ // 先挂监听再扫描:扫描期间的改动不会漏掉(由它触发的重扫排在本次扫描之后)
571
+ try {
572
+ offs.push(storage.watch(personasDir, () => void refresh(`目录变化已重新加载(${personasDir})`)));
573
+ }
574
+ catch (err) {
575
+ logger.warn(`persona 目录监听失败(${personasDir}):${err}`);
576
+ }
577
+ await refresh('扫描完成');
578
+ })();
579
+ first ??= task;
580
+ return () => {
581
+ cancelled = true;
582
+ for (const off of offs.splice(0))
583
+ off();
584
+ };
585
+ });
586
+ await first;
550
587
  });
551
588
  // 参与 memory:clear 清除当前会话的 persona 状态
552
- ctx.middleware('memory:clear', async (data, next) => {
589
+ hooks.middleware('memory:clear', async (data, next) => {
553
590
  // 类型过滤:仅在清除 context/persona/全部 时参与
554
591
  if (data.types && !data.types.includes('context') && !data.types.includes('persona')) {
555
592
  await next();
@@ -573,12 +610,12 @@ export async function apply(ctx, config) {
573
610
  });
574
611
  // 跟踪当前会话信息(始终启用):身份装进 AsyncLocalStorage 的异步上下文,
575
612
  // 穿透 await 不串、并发会话各自隔离——杜绝跨会话身份泄漏进他人 LLM 提示。
576
- ctx.middleware('agent:input:before', async (data, next) => {
577
- const selfIdentity = getPlatformSelfIdentity(ctx, data.message.platform, data.message.sessionId);
613
+ hooks.middleware('agent:input:before', async (data, next) => {
614
+ const selfIdentity = getPlatformSelfIdentity(caps.platform, data.message.platform, data.message.sessionId);
578
615
  const identity = {
579
616
  sessionId: data.message.sessionId,
580
617
  platform: data.message.platform,
581
- sessionType: data.message.sessionType,
618
+ sessionType: data.message.sessionType ?? inferSessionType(data.message.platform, data.message.sessionId),
582
619
  selfId: selfIdentity?.selfId,
583
620
  selfNickname: selfIdentity?.nickname,
584
621
  userId: data.message.userId,
@@ -596,14 +633,14 @@ export async function apply(ctx, config) {
596
633
  // 2. 无 outputFormat 时:回退提取(模型意外用 JSON 包裹回复时自动解包)
597
634
  const baseFormat = service.getOutputFormat();
598
635
  if (baseFormat) {
599
- ctx.logger.info(`角色卡启用结构化输出 (回复字段: ${baseFormat.replyField})`);
636
+ logger.info(`角色卡启用结构化输出 (回复字段: ${baseFormat.replyField})`);
600
637
  }
601
- ctx.middleware('agent:reply:before', async (data, next) => {
638
+ hooks.middleware('agent:reply:before', async (data, next) => {
602
639
  await next();
603
640
  // 从 session-manager 构造 PersonaSessionOptions,统一传给 service 方法
604
641
  let personaOpts;
605
642
  try {
606
- const sm = ctx.getService('session-manager');
643
+ const sm = caps.sessionManager.current;
607
644
  if (sm && data.sessionId) {
608
645
  const resolved = sm.resolveConfig(data.sessionId, data.platform);
609
646
  personaOpts = {
@@ -631,7 +668,7 @@ export async function apply(ctx, config) {
631
668
  for (const key of replyKeys) {
632
669
  if (typeof obj[key] === 'string') {
633
670
  data.content = obj[key];
634
- ctx.logger.debug(`JSON 回退提取: 使用字段 "${key}"`);
671
+ logger.debug(`JSON 回退提取: 使用字段 "${key}"`);
635
672
  return;
636
673
  }
637
674
  }
@@ -664,13 +701,13 @@ export async function apply(ctx, config) {
664
701
  }
665
702
  if (Object.keys(state).length > 0) {
666
703
  service.saveSessionState(data.sessionId, state);
667
- ctx.logger.debug(`状态已持久化 (session=${data.sessionId}): ${JSON.stringify(state)}`);
704
+ logger.debug(`状态已持久化 (session=${data.sessionId}): ${JSON.stringify(state)}`);
668
705
  }
669
706
  };
670
707
  const jsonStr = extractJsonCandidate(data.content);
671
708
  const { parsed, repairsApplied } = tryParseJsonObject(jsonStr);
672
709
  if (parsed && repairsApplied.length > 0) {
673
- ctx.logger.debug(`outputFormat JSON 自动修复成功:${repairsApplied.join(' → ')}`);
710
+ logger.debug(`outputFormat JSON 自动修复成功:${repairsApplied.join(' → ')}`);
674
711
  }
675
712
  try {
676
713
  if (!parsed)
@@ -682,7 +719,7 @@ export async function apply(ctx, config) {
682
719
  for (const alias of aliases) {
683
720
  if (alias !== outputFormat.replyField && typeof parsed[alias] === 'string') {
684
721
  reply = parsed[alias];
685
- ctx.logger.debug(`outputFormat 回退:模型使用了 "${alias}" 而非 "${outputFormat.replyField}",已自动纠正`);
722
+ logger.debug(`outputFormat 回退:模型使用了 "${alias}" 而非 "${outputFormat.replyField}",已自动纠正`);
686
723
  break;
687
724
  }
688
725
  }
@@ -692,7 +729,7 @@ export async function apply(ctx, config) {
692
729
  const stringEntries = Object.entries(parsed).filter(([, v]) => typeof v === 'string');
693
730
  if (stringEntries.length === 1) {
694
731
  reply = stringEntries[0][1];
695
- ctx.logger.debug(`outputFormat 回退:仅一个字符串字段 "${stringEntries[0][0]}",作为回复使用`);
732
+ logger.debug(`outputFormat 回退:仅一个字符串字段 "${stringEntries[0][0]}",作为回复使用`);
696
733
  }
697
734
  }
698
735
  if (typeof reply === 'string') {
@@ -734,6 +771,8 @@ export async function apply(ctx, config) {
734
771
  throw new Error(parts.join('; '));
735
772
  }
736
773
  data.archiveContent = JSON.stringify(parsed);
774
+ // 可见正文单独交给 agent 落库:客户端渲染模式下 content 仍是整串 JSON
775
+ data.visibleContent = reply;
737
776
  // 客户端渲染模式:保留完整 JSON 给前端,不提取回复字段
738
777
  if (!clientRendered) {
739
778
  data.content = reply;
@@ -747,10 +786,10 @@ export async function apply(ctx, config) {
747
786
  })
748
787
  .join(', ');
749
788
  if (reply.length > 0) {
750
- ctx.logger.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: ${reply.slice(0, 100)}`);
789
+ logger.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: ${reply.slice(0, 100)}`);
751
790
  }
752
791
  else {
753
- ctx.logger.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: (空,静默)`);
792
+ logger.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: (空,静默)`);
754
793
  }
755
794
  // 状态持久化:保存非回复字段(按 field type 强制类型)
756
795
  if (statePersistence) {
@@ -774,7 +813,7 @@ export async function apply(ctx, config) {
774
813
  data.maxRetries = maxRetries;
775
814
  if (attempt < maxRetries) {
776
815
  // 还有重试名额:要求模型严格按照 outputFormat 重新输出 JSON
777
- ctx.logger.debug(`outputFormat 解码失败 (attempt=${attempt}/${maxRetries}),请求重试:${message}; json=${preview}`);
816
+ logger.debug(`outputFormat 解码失败 (attempt=${attempt}/${maxRetries}),请求重试:${message}; json=${preview}`);
778
817
  const fieldSpec = Object.entries(outputFormat.fields)
779
818
  .map(([k, v]) => ` - "${k}"(${v.description ?? ''}${k === outputFormat.replyField ? ';最终回复内容写在这里' : ''})`)
780
819
  .join('\n');
@@ -790,7 +829,7 @@ export async function apply(ctx, config) {
790
829
  else {
791
830
  // 重试用尽:静默丢弃(避免原始 JSON 被当成回复发出)
792
831
  // 同时通过 archiveContent 写入一条"系统提醒",让下一轮 LLM 看到自己上次因格式不符被丢弃
793
- ctx.logger.warn(`outputFormat 解码连续 ${attempt + 1} 次失败(已用尽 ${maxRetries} 次重试),静默丢弃回复:${message}; json=${preview}`);
832
+ logger.warn(`outputFormat 解码连续 ${attempt + 1} 次失败(已用尽 ${maxRetries} 次重试),静默丢弃回复:${message}; json=${preview}`);
794
833
  data.retryRequested = false;
795
834
  data.retryFeedback = undefined;
796
835
  data.content = '';
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-persona",
3
- "version": "0.9.5",
3
+ "version": "0.11.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,31 +24,42 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/schema-config": ">=0.9.0 <1.0.0",
28
- "@aalis/api-persona": ">=0.5.0 <1.0.0",
29
- "@aalis/api-platform": ">=0.5.0 <1.0.0",
30
- "@aalis/api-storage": ">=0.5.5 <1.0.0",
31
- "@aalis/util-json-repair": ">=0.5.1 <1.0.0",
32
- "yaml": "^2.7.0"
27
+ "@aalis/schema-config": ">=0.13.0 <1.0.0",
28
+ "@aalis/api-persona": ">=0.8.0 <1.0.0",
29
+ "@aalis/api-platform": ">=0.8.0 <1.0.0",
30
+ "@aalis/api-session-manager": ">=0.10.0 <1.0.0",
31
+ "@aalis/api-storage": ">=0.7.0 <1.0.0",
32
+ "@aalis/util-json-repair": ">=0.5.4 <1.0.0",
33
+ "yaml": "^2.7.0",
34
+ "@aalis/api-hooks": ">=0.1.0 <1.0.0"
33
35
  },
34
36
  "devDependencies": {
35
37
  "@types/node": "^22.0.0",
36
38
  "typescript": "^5.7.0",
37
- "@aalis/core": "0.14.0",
38
- "@aalis/api-agent": "0.7.2",
39
- "@aalis/api-memory": "0.5.1",
40
- "@aalis/api-webui": "0.9.3"
39
+ "@aalis/core": "0.18.0",
40
+ "@aalis/api-agent": "0.9.0",
41
+ "@aalis/api-memory": "0.7.0",
42
+ "@aalis/api-webui": "0.11.0"
41
43
  },
42
44
  "peerDependencies": {
43
- "@aalis/core": ">=0.14.0 <1.0.0"
45
+ "@aalis/core": ">=0.18.0 <1.0.0"
44
46
  },
45
47
  "aalis": {
46
48
  "service": {
47
49
  "optional": [
48
- "platform"
50
+ "platform",
51
+ "storage",
52
+ "session-manager"
49
53
  ],
50
54
  "provides": [
51
55
  "persona"
56
+ ],
57
+ "required": [
58
+ "config",
59
+ "events",
60
+ "hooks",
61
+ "logger",
62
+ "provide"
52
63
  ]
53
64
  }
54
65
  },