@aalis/plugin-persona 0.12.1 → 0.14.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 +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +223 -248
- package/dist/index.js.map +1 -1
- package/dist/locales/en.d.ts +28 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +28 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/texts.d.ts +55 -0
- package/dist/texts.d.ts.map +1 -0
- package/dist/texts.js +31 -0
- package/dist/texts.js.map +1 -0
- package/package.json +21 -14
package/dist/index.d.ts
CHANGED
|
@@ -5,9 +5,15 @@ declare const _default: import("@aalis/core").PluginDefinition<{
|
|
|
5
5
|
logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
|
|
6
6
|
events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
|
|
7
7
|
hooks: import("@aalis/core").ServiceDescriptor<import("@aalis/api-hooks").HookRegistry, import("@aalis/api-hooks").Hooks>;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/** 登记 /clear 的 persona 类型 */
|
|
9
|
+
contributions: import("@aalis/core").OptionalUse<import("@aalis/api-contributions").ContributionRegistry, import("@aalis/api-contributions").Contributions>;
|
|
10
|
+
platform: import("@aalis/core").OptionalUse<import("@aalis/api-platform").PlatformAdapter, import("@aalis/api-platform").PlatformAdapter>;
|
|
11
|
+
storage: import("@aalis/core").OptionalUse<StorageService, import("@aalis/api-storage").BoundStorage>;
|
|
12
|
+
sessionManager: import("@aalis/core").OptionalUse<import("@aalis/api-session-manager").SessionManagerService, import("@aalis/api-session-manager").SessionManagerService>;
|
|
13
|
+
/** 按会话读本插件的四项;缺席时只取插件配置里的值 */
|
|
14
|
+
sessionFields: import("@aalis/core").OptionalUse<import("@aalis/api-session-settings").SessionSettingsService, import("@aalis/api-session-settings").SessionFields>;
|
|
15
|
+
/** 按会话字段的全局层:宿主配置文档里本实例的那一段 */
|
|
16
|
+
document: import("@aalis/core").OptionalUse<import("@aalis/api-host-config").HostConfig, import("@aalis/api-host-config").OwnHostConfig>;
|
|
11
17
|
}>;
|
|
12
18
|
export default _default;
|
|
13
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAqB,KAAK,cAAc,EAA2C,MAAM,oBAAoB,CAAC;;;;;;;IA6dnH,6BAA6B;;;;;IAK7B,8BAA8B;;IAE9B,+BAA+B;;;AAKjC,wBAQG"}
|
package/dist/index.js
CHANGED
|
@@ -1,55 +1,91 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
-
import {
|
|
2
|
+
import { contributions as contributionsCap } from '@aalis/api-contributions';
|
|
3
3
|
import { hooks as hooksCap } from '@aalis/api-hooks';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { ownHostConfig } from '@aalis/api-host-config';
|
|
5
|
+
import { persona } from '@aalis/api-persona';
|
|
6
|
+
import { getPlatformSelfIdentity, platform as platformService, sessionTypeLabel } from '@aalis/api-platform';
|
|
7
|
+
import { rootSessionOf, sessionManager as sessionManagerService } from '@aalis/api-session-manager';
|
|
8
|
+
import { sessionFields } from '@aalis/api-session-settings';
|
|
9
|
+
import { isStorageNotFound, storage as storageService, toStorageUri } from '@aalis/api-storage';
|
|
8
10
|
import { config as configCap, definePlugin, events as eventsCap, logger as loggerCap, optional, provide as provideCap, } from '@aalis/core';
|
|
9
11
|
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
12
|
+
import { textOf, toSource } from '@aalis/schema-i18n';
|
|
13
|
+
import { oneSpeaker } from '@aalis/schema-message';
|
|
10
14
|
import { extractJsonCandidate, tryParseJsonObject } from '@aalis/util-json-repair';
|
|
11
15
|
import { parse as parseYaml } from 'yaml';
|
|
16
|
+
import { t } from './texts.js';
|
|
12
17
|
// ===== 插件元数据 =====
|
|
18
|
+
/** 主卡:「人设」的作者默认(人设目录里的 default.yaml,没有时用内置的默认角色) */
|
|
19
|
+
const DEFAULT_PERSONA = 'default';
|
|
13
20
|
const configSchema = defineConfig({
|
|
14
|
-
persona: {
|
|
15
|
-
type: 'select',
|
|
16
|
-
label: '人设',
|
|
17
|
-
description: '人设文件名(不含后缀)',
|
|
18
|
-
default: 'default',
|
|
19
|
-
onInvalid: 'error',
|
|
20
|
-
dynamicOptions: 'persona',
|
|
21
|
-
},
|
|
22
21
|
personasDir: {
|
|
23
22
|
type: 'string',
|
|
24
|
-
label: '
|
|
25
|
-
description:
|
|
26
|
-
default: '
|
|
23
|
+
label: t('personasDirLabel'),
|
|
24
|
+
description: t('personasDirDescription'),
|
|
25
|
+
default: 'personas:/',
|
|
27
26
|
onInvalid: 'error',
|
|
28
27
|
},
|
|
29
28
|
statePersistence: {
|
|
30
29
|
type: 'boolean',
|
|
31
|
-
label: '
|
|
32
|
-
description: '
|
|
30
|
+
label: t('statePersistenceLabel'),
|
|
31
|
+
description: t('statePersistenceDescription'),
|
|
33
32
|
default: false,
|
|
34
33
|
},
|
|
35
34
|
timeInjection: {
|
|
36
35
|
type: 'boolean',
|
|
37
|
-
label: '
|
|
38
|
-
description: '
|
|
36
|
+
label: t('timeInjectionLabel'),
|
|
37
|
+
description: t('timeInjectionDescription'),
|
|
39
38
|
default: true,
|
|
40
39
|
},
|
|
41
40
|
timeZone: {
|
|
42
41
|
type: 'string',
|
|
43
|
-
label: '
|
|
44
|
-
description: '
|
|
42
|
+
label: t('timeZoneLabel'),
|
|
43
|
+
description: t('timeZoneDescription'),
|
|
45
44
|
default: '',
|
|
46
45
|
},
|
|
46
|
+
// ----- 按会话字段:人设服务按调用方给的会话读 -----
|
|
47
|
+
persona: {
|
|
48
|
+
type: 'select',
|
|
49
|
+
label: t('personaLabel'),
|
|
50
|
+
description: t('personaDescription'),
|
|
51
|
+
// 可选项是人设服务的 listModels
|
|
52
|
+
dynamicOptions: 'persona',
|
|
53
|
+
allowCustom: true,
|
|
54
|
+
default: DEFAULT_PERSONA,
|
|
55
|
+
session: { prominence: 'common', order: 10, minLevel: 1 },
|
|
56
|
+
},
|
|
57
|
+
systemPromptExtra: {
|
|
58
|
+
type: 'textarea',
|
|
59
|
+
label: t('extraLabel'),
|
|
60
|
+
description: t('extraDescription'),
|
|
61
|
+
default: '',
|
|
62
|
+
session: { prominence: 'common', order: 40 },
|
|
63
|
+
},
|
|
64
|
+
disableOutputFormat: {
|
|
65
|
+
type: 'boolean',
|
|
66
|
+
label: t('plainLabel'),
|
|
67
|
+
description: t('plainDescription'),
|
|
68
|
+
default: false,
|
|
69
|
+
session: { prominence: 'advanced' },
|
|
70
|
+
},
|
|
71
|
+
clientSideJsonRendering: {
|
|
72
|
+
type: 'select',
|
|
73
|
+
label: t('renderLabel'),
|
|
74
|
+
description: t('renderDescription'),
|
|
75
|
+
options: [
|
|
76
|
+
{ value: 'card', label: t('renderCard') },
|
|
77
|
+
{ value: 'on', label: t('renderOn') },
|
|
78
|
+
{ value: 'off', label: t('renderOff') },
|
|
79
|
+
],
|
|
80
|
+
default: 'card',
|
|
81
|
+
session: { prominence: 'advanced' },
|
|
82
|
+
},
|
|
47
83
|
});
|
|
48
84
|
// ===== 实现 =====
|
|
49
85
|
class PersonaServiceImpl {
|
|
86
|
+
settingsOf;
|
|
50
87
|
card;
|
|
51
88
|
_outputFormat;
|
|
52
|
-
fileName;
|
|
53
89
|
statePersistence;
|
|
54
90
|
timeInjection;
|
|
55
91
|
timeZone;
|
|
@@ -61,9 +97,11 @@ class PersonaServiceImpl {
|
|
|
61
97
|
sessionStates = new Map();
|
|
62
98
|
/** 当前处理消息的会话身份(按异步上下文隔离,杜绝并发会话间串档)。 */
|
|
63
99
|
identityStore = new AsyncLocalStorage();
|
|
64
|
-
constructor(card,
|
|
100
|
+
constructor(card, options,
|
|
101
|
+
/** 调用方给的会话的四项:插件按会话读,不给会话时按插件配置 */
|
|
102
|
+
settingsOf) {
|
|
103
|
+
this.settingsOf = settingsOf;
|
|
65
104
|
this.card = card;
|
|
66
|
-
this.fileName = fileName;
|
|
67
105
|
this.statePersistence = options.statePersistence;
|
|
68
106
|
this.timeInjection = options.timeInjection;
|
|
69
107
|
this.timeZone = options.timeZone;
|
|
@@ -79,9 +117,9 @@ class PersonaServiceImpl {
|
|
|
79
117
|
removeCardCacheEntry(name) {
|
|
80
118
|
this.cardCache.delete(name);
|
|
81
119
|
}
|
|
82
|
-
/**
|
|
120
|
+
/** 重新加载主卡,供 watch 调用 */
|
|
83
121
|
reloadPrimaryCardFromCache() {
|
|
84
|
-
const refreshed = this.cardCache.get(
|
|
122
|
+
const refreshed = this.cardCache.get(DEFAULT_PERSONA);
|
|
85
123
|
if (refreshed) {
|
|
86
124
|
this.card = refreshed;
|
|
87
125
|
this._outputFormat = refreshed.outputFormat
|
|
@@ -109,10 +147,6 @@ class PersonaServiceImpl {
|
|
|
109
147
|
saveSessionState(sessionId, state) {
|
|
110
148
|
this.sessionStates.set(sessionId, state);
|
|
111
149
|
}
|
|
112
|
-
/** 读取会话状态(用于跨会话工具回报目标 agent 内心情况) */
|
|
113
|
-
getSessionState(sessionId) {
|
|
114
|
-
return this.sessionStates.get(sessionId);
|
|
115
|
-
}
|
|
116
150
|
/** 清除指定会话的状态 */
|
|
117
151
|
clearSessionState(sessionId) {
|
|
118
152
|
this.sessionStates.delete(sessionId);
|
|
@@ -121,12 +155,9 @@ class PersonaServiceImpl {
|
|
|
121
155
|
clearAllStates() {
|
|
122
156
|
this.sessionStates.clear();
|
|
123
157
|
}
|
|
124
|
-
/**
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return this.loadCard(options.persona) ?? this.card;
|
|
128
|
-
}
|
|
129
|
-
return this.card;
|
|
158
|
+
/** 「人设」指的角色卡:主卡之外的卡找不到时回落主卡 */
|
|
159
|
+
cardFor(persona) {
|
|
160
|
+
return persona !== DEFAULT_PERSONA ? (this.loadCard(persona) ?? this.card) : this.card;
|
|
130
161
|
}
|
|
131
162
|
/** 按名称动态加载角色卡(仅查 cache,启动时预填) */
|
|
132
163
|
loadCard(name) {
|
|
@@ -149,7 +180,8 @@ class PersonaServiceImpl {
|
|
|
149
180
|
return this.identityStore.run(identity, fn);
|
|
150
181
|
}
|
|
151
182
|
getSystemPrompt(options) {
|
|
152
|
-
const
|
|
183
|
+
const settings = this.settingsOf(options);
|
|
184
|
+
const effectiveCard = this.cardFor(settings.persona);
|
|
153
185
|
let prompt = '';
|
|
154
186
|
if (effectiveCard.name) {
|
|
155
187
|
prompt += `你的名字是 ${effectiveCard.name}。`;
|
|
@@ -162,11 +194,11 @@ class PersonaServiceImpl {
|
|
|
162
194
|
}
|
|
163
195
|
prompt += effectiveCard.prompt;
|
|
164
196
|
// 会话级额外提示:接在人设之后、格式说明之前,格式说明仍是整段的收尾
|
|
165
|
-
const extra =
|
|
197
|
+
const extra = settings.systemPromptExtra.trim();
|
|
166
198
|
if (extra)
|
|
167
199
|
prompt += `\n\n${extra}`;
|
|
168
|
-
// 追加结构化输出指令 —
|
|
169
|
-
const effectiveFormat =
|
|
200
|
+
// 追加结构化输出指令 — 这个会话设了不用结构化输出时不加
|
|
201
|
+
const effectiveFormat = settings.disableOutputFormat ? undefined : this.getCardOutputFormat(effectiveCard);
|
|
170
202
|
if (effectiveFormat) {
|
|
171
203
|
// 角色卡若提供 outputFormatPrompt,则用其替换默认 header/footer;
|
|
172
204
|
// schema 块仍由插件根据 fields 自动生成,避免与字段定义脱节。
|
|
@@ -259,15 +291,13 @@ class PersonaServiceImpl {
|
|
|
259
291
|
const selfLabel = id.selfNickname ? `${id.selfNickname}${id.selfId ? `(${id.selfId})` : ''}` : id.selfId;
|
|
260
292
|
prompt += `你在当前平台的账号:${selfLabel}\n`;
|
|
261
293
|
}
|
|
262
|
-
if (id.sessionType
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
const groupId = parts.length >= 4 ? parts.slice(3).join(':') : undefined;
|
|
266
|
-
prompt += '会话类型:群聊\n';
|
|
294
|
+
if (id.sessionType)
|
|
295
|
+
prompt += `会话类型:${id.sessionType}\n`;
|
|
296
|
+
if (id.multiParty) {
|
|
267
297
|
if (id.groupName)
|
|
268
298
|
prompt += `群名称:${id.groupName}\n`;
|
|
269
|
-
if (groupId)
|
|
270
|
-
prompt += `群号:${groupId}\n`;
|
|
299
|
+
if (id.groupId)
|
|
300
|
+
prompt += `群号:${id.groupId}\n`;
|
|
271
301
|
// 自身群身份(关键:避免 LLM 误以为自己是普通群员)
|
|
272
302
|
if (id.selfRole) {
|
|
273
303
|
const roleLabel = id.selfRole === 'owner' ? '群主' : id.selfRole === 'admin' ? '管理员' : '普通成员';
|
|
@@ -277,11 +307,8 @@ class PersonaServiceImpl {
|
|
|
277
307
|
prompt += `你在该群的专属头衔:${id.selfTitle}\n`;
|
|
278
308
|
}
|
|
279
309
|
}
|
|
280
|
-
|
|
281
|
-
prompt +=
|
|
282
|
-
}
|
|
283
|
-
else if (id.sessionType === 'channel') {
|
|
284
|
-
prompt += '会话类型:频道\n';
|
|
310
|
+
if (id.entryPlatform) {
|
|
311
|
+
prompt += `当前消息经 ${id.entryPlatform} 发来\n`;
|
|
285
312
|
}
|
|
286
313
|
if (id.userId) {
|
|
287
314
|
prompt += `当前消息发送者 ID:${id.userId}\n`;
|
|
@@ -296,13 +323,12 @@ class PersonaServiceImpl {
|
|
|
296
323
|
if (id.senderTitle) {
|
|
297
324
|
prompt += `当前消息发送者群头衔:${id.senderTitle}\n`;
|
|
298
325
|
}
|
|
299
|
-
if (id.
|
|
326
|
+
if (id.multiParty) {
|
|
300
327
|
// 防误认:群名片可被改成「群主」等字样,曾导致把普通成员当群主。
|
|
301
328
|
prompt +=
|
|
302
329
|
'身份判定:「群身份」由平台核验,可信;昵称与头衔只是可自定义的显示文本,可能出现「群主」「管理员」等与真实身份不符的字样,历史消息前缀里的名字同理。判断成员真实身份只认群身份字段,未标注时不要凭名字或头衔推断。\n';
|
|
303
330
|
}
|
|
304
|
-
prompt +=
|
|
305
|
-
'短期历史范围:上下文中的历史消息均来自当前会话,即上述群聊/私聊/频道;跨会话或跨群内容只会以长期记忆片段形式单独标注。\n';
|
|
331
|
+
prompt += '短期历史范围:上下文中的历史消息均来自当前会话;跨会话或跨群内容只会以长期记忆片段形式单独标注。\n';
|
|
306
332
|
}
|
|
307
333
|
// 状态持久化注入
|
|
308
334
|
if (this.statePersistence) {
|
|
@@ -322,32 +348,23 @@ class PersonaServiceImpl {
|
|
|
322
348
|
return prompt.replace(/^\n+/, '');
|
|
323
349
|
}
|
|
324
350
|
getPersonaName(options) {
|
|
325
|
-
|
|
326
|
-
return card.name || `${card === this.card ? this.fileName : options?.persona},未设置名字`;
|
|
351
|
+
return this.cardFor(this.settingsOf(options).persona).name;
|
|
327
352
|
}
|
|
328
|
-
/**
|
|
353
|
+
/** 这个会话是否客户端渲染 JSON:「客户端渲染 JSON」为开或关时按它,按角色卡时看卡上的 */
|
|
329
354
|
isClientSideJsonRendering(options) {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
return !!effectiveCard.clientSideJsonRendering;
|
|
355
|
+
const settings = this.settingsOf(options);
|
|
356
|
+
if (settings.clientSideJsonRendering !== 'card')
|
|
357
|
+
return settings.clientSideJsonRendering === 'on';
|
|
358
|
+
return !!this.cardFor(settings.persona).clientSideJsonRendering;
|
|
335
359
|
}
|
|
336
360
|
getOutputFormat(options) {
|
|
337
|
-
|
|
361
|
+
const settings = this.settingsOf(options);
|
|
362
|
+
if (settings.disableOutputFormat)
|
|
338
363
|
return undefined;
|
|
339
|
-
|
|
340
|
-
return this.getCardOutputFormat(effectiveCard);
|
|
364
|
+
return this.getCardOutputFormat(this.cardFor(settings.persona));
|
|
341
365
|
}
|
|
342
366
|
getNickNames(options) {
|
|
343
|
-
return this.
|
|
344
|
-
}
|
|
345
|
-
isTimeInjectionEnabled() {
|
|
346
|
-
return this.timeInjection;
|
|
347
|
-
}
|
|
348
|
-
getPersonaSkills(options) {
|
|
349
|
-
const effectiveCard = this.getEffectiveCard(options);
|
|
350
|
-
return effectiveCard.skills;
|
|
367
|
+
return this.cardFor(this.settingsOf(options).persona).nick_name ?? [];
|
|
351
368
|
}
|
|
352
369
|
async listModels() {
|
|
353
370
|
return [...this.cardCache.keys()];
|
|
@@ -360,13 +377,19 @@ const uses = {
|
|
|
360
377
|
logger: loggerCap,
|
|
361
378
|
events: eventsCap,
|
|
362
379
|
hooks: hooksCap,
|
|
380
|
+
/** 登记 /clear 的 persona 类型 */
|
|
381
|
+
contributions: optional(contributionsCap),
|
|
363
382
|
platform: optional(platformService),
|
|
364
383
|
storage: optional(storageService),
|
|
365
384
|
sessionManager: optional(sessionManagerService),
|
|
385
|
+
/** 按会话读本插件的四项;缺席时只取插件配置里的值 */
|
|
386
|
+
sessionFields: optional(sessionFields),
|
|
387
|
+
/** 按会话字段的全局层:宿主配置文档里本实例的那一段 */
|
|
388
|
+
document: optional(ownHostConfig),
|
|
366
389
|
};
|
|
367
390
|
export default definePlugin({
|
|
368
391
|
name: '@aalis/plugin-persona',
|
|
369
|
-
displayName: '
|
|
392
|
+
displayName: t('displayName'),
|
|
370
393
|
subsystem: 'persona',
|
|
371
394
|
configSchema,
|
|
372
395
|
provides: [persona],
|
|
@@ -375,11 +398,10 @@ export default definePlugin({
|
|
|
375
398
|
});
|
|
376
399
|
async function run(caps) {
|
|
377
400
|
const { provide, config, logger, events, hooks } = caps;
|
|
378
|
-
const cfg = parseConfig(configSchema, config, logger);
|
|
379
|
-
const personaName = cfg.persona || configSchema.persona.default;
|
|
401
|
+
const cfg = parseConfig(configSchema, config.use, logger.use);
|
|
380
402
|
const personasDirRaw = cfg.personasDir || configSchema.personasDir.default;
|
|
381
403
|
const { statePersistence, timeInjection, timeZone } = cfg;
|
|
382
|
-
const storage =
|
|
404
|
+
const storage = caps.storage.use;
|
|
383
405
|
const personasDir = toStorageUri(personasDirRaw);
|
|
384
406
|
/** 读到了但解析不出卡的标记——与"文件不存在"区分开,避免坏卡被当成没有卡 */
|
|
385
407
|
const INVALID = 'invalid';
|
|
@@ -399,7 +421,7 @@ async function run(caps) {
|
|
|
399
421
|
return asCard(parsed, uri);
|
|
400
422
|
}
|
|
401
423
|
catch (err) {
|
|
402
|
-
logger.warn(`角色卡解析失败,已跳过:${uri} —— ${err instanceof Error ? err.message : err}`);
|
|
424
|
+
logger.use.warn(`角色卡解析失败,已跳过:${uri} —— ${err instanceof Error ? err.message : err}`);
|
|
403
425
|
return INVALID;
|
|
404
426
|
}
|
|
405
427
|
}
|
|
@@ -413,7 +435,7 @@ async function run(caps) {
|
|
|
413
435
|
return undefined;
|
|
414
436
|
const list = typeof value === 'string' ? [value] : Array.isArray(value) ? value : undefined;
|
|
415
437
|
if (!list) {
|
|
416
|
-
logger.warn(`角色卡的 nick_name 应为字符串列表,已忽略:${uri}`);
|
|
438
|
+
logger.use.warn(`角色卡的 nick_name 应为字符串列表,已忽略:${uri}`);
|
|
417
439
|
return undefined;
|
|
418
440
|
}
|
|
419
441
|
return list.flatMap(n => (typeof n === 'string' && n.trim() ? [n.trim()] : []));
|
|
@@ -435,7 +457,6 @@ async function run(caps) {
|
|
|
435
457
|
: undefined,
|
|
436
458
|
nick_name: asNickNames(parsed.nick_name, uri),
|
|
437
459
|
clientSideJsonRendering: parsed.clientSideJsonRendering,
|
|
438
|
-
skills: parsed.skills,
|
|
439
460
|
};
|
|
440
461
|
}
|
|
441
462
|
function joinUri(base, sub) {
|
|
@@ -486,10 +507,10 @@ async function run(caps) {
|
|
|
486
507
|
return seenNames;
|
|
487
508
|
}
|
|
488
509
|
let card;
|
|
489
|
-
const found = await findCard(
|
|
510
|
+
const found = await findCard(DEFAULT_PERSONA);
|
|
490
511
|
if (found && found !== INVALID) {
|
|
491
512
|
card = found.card;
|
|
492
|
-
logger.info(`已加载角色卡: ${card.name} (${found.uri})`);
|
|
513
|
+
logger.use.info(`已加载角色卡: ${card.name} (${found.uri})`);
|
|
493
514
|
}
|
|
494
515
|
else {
|
|
495
516
|
card = {
|
|
@@ -498,31 +519,28 @@ async function run(caps) {
|
|
|
498
519
|
prompt: '请友好、专业地与用户交流。',
|
|
499
520
|
};
|
|
500
521
|
if (found === INVALID) {
|
|
501
|
-
logger.warn(`角色卡 "${
|
|
522
|
+
logger.use.warn(`角色卡 "${DEFAULT_PERSONA}" 存在但解析失败(原因见上条告警),暂用内置默认角色`);
|
|
502
523
|
}
|
|
503
524
|
else {
|
|
504
|
-
logger.info(`未找到角色卡 "${
|
|
525
|
+
logger.use.info(`未找到角色卡 "${DEFAULT_PERSONA}",使用内置默认角色`);
|
|
505
526
|
}
|
|
506
527
|
}
|
|
507
|
-
const
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
timeZone,
|
|
511
|
-
});
|
|
512
|
-
provide(persona, service);
|
|
528
|
+
const fields = caps.sessionFields.use.fields(configSchema, caps);
|
|
529
|
+
const service = new PersonaServiceImpl(card, { statePersistence, timeInjection, timeZone }, options => fields.get(options?.sessionId, { platform: options?.platform }));
|
|
530
|
+
provide.use(persona, service);
|
|
513
531
|
/** 全量扫描 → cache(listModels / 动态切换用),剔除已消失的卡,并按 cache 刷新主卡 */
|
|
514
532
|
async function scanOnce(reason) {
|
|
515
533
|
try {
|
|
516
534
|
const known = await scanAll(service);
|
|
517
535
|
for (const n of await service.listModels()) {
|
|
518
|
-
if (!known.has(n) && n !==
|
|
536
|
+
if (!known.has(n) && n !== DEFAULT_PERSONA)
|
|
519
537
|
service.removeCardCacheEntry(n);
|
|
520
538
|
}
|
|
521
539
|
service.reloadPrimaryCardFromCache();
|
|
522
|
-
logger.debug(`persona ${reason},已知 ${known.size} 张卡`);
|
|
540
|
+
logger.use.debug(`persona ${reason},已知 ${known.size} 张卡`);
|
|
523
541
|
}
|
|
524
542
|
catch (err) {
|
|
525
|
-
logger.warn(`persona 扫描失败(${reason}):${err}`);
|
|
543
|
+
logger.use.warn(`persona 扫描失败(${reason}):${err}`);
|
|
526
544
|
}
|
|
527
545
|
}
|
|
528
546
|
// 扫描串行化:同一时刻只跑一次;进行中再触发,只排一次尾随重扫(期间的多次触发并成这一次)。
|
|
@@ -549,7 +567,7 @@ async function run(caps) {
|
|
|
549
567
|
// 跟随 storage:在场即补建人设目录、挂监听、全量扫描;提供者换代(重启 / 改配置 / 晚上线)时重挂。
|
|
550
568
|
// 换代时 follow 先跑上次返回的清理,关掉挂在旧提供者上的监听。
|
|
551
569
|
// 首挂放在 sticky 的 app:ready 里并等它扫完,保持「start() 返回时主卡已按存储加载」;此刻 storage 不在场则等它上线再挂。
|
|
552
|
-
events.on('app:ready', async () => {
|
|
570
|
+
events.use.on('app:ready', async () => {
|
|
553
571
|
let first;
|
|
554
572
|
caps.storage.follow(() => {
|
|
555
573
|
const offs = [];
|
|
@@ -575,7 +593,7 @@ async function run(caps) {
|
|
|
575
593
|
offs.push(storage.watch(personasDir, () => void refresh(`目录变化已重新加载(${personasDir})`)));
|
|
576
594
|
}
|
|
577
595
|
catch (err) {
|
|
578
|
-
logger.warn(`persona 目录监听失败(${personasDir}):${err}`);
|
|
596
|
+
logger.use.warn(`persona 目录监听失败(${personasDir}):${err}`);
|
|
579
597
|
}
|
|
580
598
|
await refresh('扫描完成');
|
|
581
599
|
})();
|
|
@@ -588,8 +606,9 @@ async function run(caps) {
|
|
|
588
606
|
});
|
|
589
607
|
await first;
|
|
590
608
|
});
|
|
591
|
-
// 参与 memory:clear 清除当前会话的 persona
|
|
592
|
-
|
|
609
|
+
// 参与 memory:clear 清除当前会话的 persona 状态;登记 persona 类型,/clear -t 才选得中
|
|
610
|
+
caps.contributions.use.contribute('memory:clear-type', { id: 'persona', label: t('clearType') });
|
|
611
|
+
hooks.use.middleware('memory:clear', async (data, next) => {
|
|
593
612
|
// 类型过滤:仅在清除 context/persona/全部 时参与
|
|
594
613
|
if (data.types && !data.types.includes('context') && !data.types.includes('persona')) {
|
|
595
614
|
await next();
|
|
@@ -598,89 +617,74 @@ async function run(caps) {
|
|
|
598
617
|
try {
|
|
599
618
|
if (data.scope === 'all') {
|
|
600
619
|
service.clearAllStates();
|
|
601
|
-
data.results.push({ source: 'persona', type: 'persona', success: true, message: '
|
|
620
|
+
data.results.push({ source: 'persona', type: 'persona', success: true, message: t('clearedAll') });
|
|
602
621
|
}
|
|
603
622
|
else if (data.sessionId) {
|
|
604
623
|
service.clearSessionState(data.sessionId);
|
|
605
|
-
data.results.push({ source: 'persona', type: 'persona', success: true, message: '
|
|
624
|
+
data.results.push({ source: 'persona', type: 'persona', success: true, message: t('clearedSession') });
|
|
606
625
|
}
|
|
607
626
|
}
|
|
608
627
|
catch (err) {
|
|
609
|
-
|
|
610
|
-
|
|
628
|
+
data.results.push({
|
|
629
|
+
source: 'persona',
|
|
630
|
+
type: 'persona',
|
|
631
|
+
success: false,
|
|
632
|
+
message: t('clearFailed', { error: textOf(err) }),
|
|
633
|
+
});
|
|
611
634
|
}
|
|
612
635
|
await next();
|
|
613
636
|
});
|
|
614
|
-
//
|
|
637
|
+
// 跟踪当前会话信息(始终启用):一轮开始时把身份装进 AsyncLocalStorage 的异步上下文,
|
|
615
638
|
// 穿透 await 不串、并发会话各自隔离——杜绝跨会话身份泄漏进他人 LLM 提示。
|
|
616
|
-
|
|
617
|
-
|
|
639
|
+
// 会话事实(平台、自身账号、会话类型与群号)按根会话记下的来源字段取(房间里的子任务也在房间的平台、账号与聊天窗口上);
|
|
640
|
+
// 从 WebUI 往群里插话时回复发进群里。没有出生平台的会话按开轮那条输入的平台;没有聊天窗口的(WebUI、终端,或没装会话管理)
|
|
641
|
+
// 不写会话类型与群信息,不看消息上的类型名。说话人事实(发送者 ID、昵称、群身份与头衔)取自开轮的输入,只在它们的说话人
|
|
642
|
+
// 相同时写:几个人的话一起开的一轮没有单一的当前发送者。
|
|
643
|
+
hooks.use.middleware('agent:turn:before', async (data, next) => {
|
|
644
|
+
const [{ message }] = data.inputs;
|
|
645
|
+
const sm = caps.sessionManager.present ? caps.sessionManager.use : undefined;
|
|
646
|
+
const session = sm?.getSession(message.sessionId);
|
|
647
|
+
const root = sm && rootSessionOf(session, id => sm.getSession(id));
|
|
648
|
+
const origin = root?.originPlatform;
|
|
649
|
+
const chat = root?.originChat;
|
|
650
|
+
const sessionPlatform = origin ?? message.platform;
|
|
651
|
+
const selfIdentity = getPlatformSelfIdentity(caps.platform, sessionPlatform, root?.id ?? message.sessionId);
|
|
618
652
|
const identity = {
|
|
619
|
-
sessionId:
|
|
620
|
-
platform:
|
|
621
|
-
|
|
622
|
-
//
|
|
623
|
-
|
|
624
|
-
|
|
653
|
+
sessionId: message.sessionId,
|
|
654
|
+
platform: sessionPlatform,
|
|
655
|
+
entryPlatform: origin !== undefined && origin !== message.platform ? message.platform : undefined,
|
|
656
|
+
// 只用于提示词,不回写消息
|
|
657
|
+
sessionType: chat && toSource(sessionTypeLabel(caps.platform, sessionPlatform, chat.type) ?? chat.type),
|
|
658
|
+
multiParty: chat?.multiParty,
|
|
659
|
+
groupId: chat?.multiParty ? chat.targetId : undefined,
|
|
625
660
|
selfId: selfIdentity?.selfId,
|
|
626
661
|
selfNickname: selfIdentity?.nickname,
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
662
|
+
groupName: message.groupName,
|
|
663
|
+
selfRole: message.selfRole,
|
|
664
|
+
selfTitle: message.selfTitle,
|
|
665
|
+
...(oneSpeaker(data.inputs.map(input => input.message))
|
|
666
|
+
? {
|
|
667
|
+
userId: message.userId,
|
|
668
|
+
nickname: message.nickname,
|
|
669
|
+
senderRole: message.senderRole,
|
|
670
|
+
senderTitle: message.senderTitle,
|
|
671
|
+
}
|
|
672
|
+
: {}),
|
|
634
673
|
};
|
|
635
674
|
await service.runWithIdentity(identity, () => next());
|
|
636
675
|
});
|
|
637
|
-
// agent:reply:before
|
|
638
|
-
// 1. 有 outputFormat 时:结构化解析 + 状态持久化
|
|
639
|
-
// 2. 无 outputFormat 时:回退提取(模型意外用 JSON 包裹回复时自动解包)
|
|
676
|
+
// agent:reply:before 钩子:会话的卡有 outputFormat 时做结构化解析、校验重试与状态持久化
|
|
640
677
|
const baseFormat = service.getOutputFormat();
|
|
641
678
|
if (baseFormat) {
|
|
642
|
-
logger.info(`角色卡启用结构化输出 (回复字段: ${baseFormat.replyField})`);
|
|
679
|
+
logger.use.info(`角色卡启用结构化输出 (回复字段: ${baseFormat.replyField})`);
|
|
643
680
|
}
|
|
644
|
-
hooks.middleware('agent:reply:before', async (data, next) => {
|
|
681
|
+
hooks.use.middleware('agent:reply:before', async (data, next) => {
|
|
645
682
|
await next();
|
|
646
|
-
//
|
|
647
|
-
|
|
648
|
-
try {
|
|
649
|
-
const sm = caps.sessionManager.current;
|
|
650
|
-
if (sm && data.sessionId) {
|
|
651
|
-
const resolved = sm.resolveConfig(data.sessionId, data.platform);
|
|
652
|
-
personaOpts = {
|
|
653
|
-
persona: resolved.persona,
|
|
654
|
-
disableOutputFormat: resolved.disableOutputFormat,
|
|
655
|
-
clientSideJsonRendering: resolved.clientSideJsonRendering,
|
|
656
|
-
};
|
|
657
|
-
}
|
|
658
|
-
}
|
|
659
|
-
catch {
|
|
660
|
-
/* session-manager 不可用,使用全局默认 */
|
|
661
|
-
}
|
|
683
|
+
// 按这一轮的会话取卡与两个结构化输出开关
|
|
684
|
+
const personaOpts = { sessionId: data.sessionId, platform: data.platform };
|
|
662
685
|
const outputFormat = service.getOutputFormat(personaOpts);
|
|
663
|
-
|
|
664
|
-
// 当角色卡未定义 outputFormat 时,模型偶尔仍会用 JSON 包裹回复
|
|
665
|
-
// 此处自动解包,提取回复字段
|
|
666
|
-
if (!outputFormat) {
|
|
667
|
-
const trimmed = data.content.trim();
|
|
668
|
-
if (!trimmed.startsWith('{'))
|
|
669
|
-
return;
|
|
670
|
-
const { parsed: obj } = tryParseJsonObject(trimmed);
|
|
671
|
-
if (!obj)
|
|
672
|
-
return;
|
|
673
|
-
const replyKeys = ['response', 'reply', 'content', 'answer', 'text', 'msg', 'message'];
|
|
674
|
-
for (const key of replyKeys) {
|
|
675
|
-
if (typeof obj[key] === 'string') {
|
|
676
|
-
data.content = obj[key];
|
|
677
|
-
logger.debug(`JSON 回退提取: 使用字段 "${key}"`);
|
|
678
|
-
return;
|
|
679
|
-
}
|
|
680
|
-
}
|
|
686
|
+
if (!outputFormat)
|
|
681
687
|
return;
|
|
682
|
-
}
|
|
683
|
-
// ===== 有 outputFormat:结构化解析 =====
|
|
684
688
|
const clientRendered = service.isClientSideJsonRendering(personaOpts);
|
|
685
689
|
const persistStateFromParsed = (parsedObj, fmt) => {
|
|
686
690
|
const state = {};
|
|
@@ -707,107 +711,80 @@ async function run(caps) {
|
|
|
707
711
|
}
|
|
708
712
|
if (Object.keys(state).length > 0) {
|
|
709
713
|
service.saveSessionState(data.sessionId, state);
|
|
710
|
-
logger.debug(`状态已持久化 (session=${data.sessionId}): ${JSON.stringify(state)}`);
|
|
714
|
+
logger.use.debug(`状态已持久化 (session=${data.sessionId}): ${JSON.stringify(state)}`);
|
|
711
715
|
}
|
|
712
716
|
};
|
|
713
717
|
const jsonStr = extractJsonCandidate(data.content);
|
|
714
718
|
const { parsed, repairsApplied } = tryParseJsonObject(jsonStr);
|
|
715
719
|
if (parsed && repairsApplied.length > 0) {
|
|
716
|
-
logger.debug(`outputFormat JSON 自动修复成功:${repairsApplied.join(' → ')}`);
|
|
720
|
+
logger.use.debug(`outputFormat JSON 自动修复成功:${repairsApplied.join(' → ')}`);
|
|
717
721
|
}
|
|
718
722
|
try {
|
|
719
723
|
if (!parsed)
|
|
720
724
|
throw new Error('JSON 解析失败');
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
if (typeof reply !== 'string') {
|
|
724
|
-
const aliases = ['response', 'reply', 'content', 'answer', 'text', 'msg'];
|
|
725
|
-
for (const alias of aliases) {
|
|
726
|
-
if (alias !== outputFormat.replyField && typeof parsed[alias] === 'string') {
|
|
727
|
-
reply = parsed[alias];
|
|
728
|
-
logger.debug(`outputFormat 回退:模型使用了 "${alias}" 而非 "${outputFormat.replyField}",已自动纠正`);
|
|
729
|
-
break;
|
|
730
|
-
}
|
|
731
|
-
}
|
|
732
|
-
}
|
|
733
|
-
// 仍未找到:若 JSON 中只有一个字符串字段,使用它
|
|
725
|
+
// 只认声明的回复字段。主动不回话的合法写法是回复字段为空字符串(如 {"message":"","state":"..."})
|
|
726
|
+
const reply = parsed[outputFormat.replyField];
|
|
734
727
|
if (typeof reply !== 'string') {
|
|
735
|
-
|
|
736
|
-
if (stringEntries.length === 1) {
|
|
737
|
-
reply = stringEntries[0][1];
|
|
738
|
-
logger.debug(`outputFormat 回退:仅一个字符串字段 "${stringEntries[0][0]}",作为回复使用`);
|
|
739
|
-
}
|
|
728
|
+
throw new Error(`JSON 合法但找不到回复字段 "${outputFormat.replyField}"(实际字段: ${Object.keys(parsed).join(',')})`);
|
|
740
729
|
}
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
730
|
+
// 严格字段校验:声明的所有字段都必须出现且类型正确,缺一不可 → 否则 retry。
|
|
731
|
+
// 这样可以避免模型养成省略 state/mood 等状态字段的坏习惯,让上下文信号始终完整。
|
|
732
|
+
const missing = [];
|
|
733
|
+
const typeMismatch = [];
|
|
734
|
+
for (const [key, def] of Object.entries(outputFormat.fields)) {
|
|
735
|
+
const val = parsed[key];
|
|
736
|
+
if (val === undefined || val === null) {
|
|
737
|
+
missing.push(key);
|
|
738
|
+
continue;
|
|
744
739
|
}
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
const val = parsed[key];
|
|
751
|
-
if (val === undefined || val === null) {
|
|
752
|
-
missing.push(key);
|
|
753
|
-
continue;
|
|
754
|
-
}
|
|
755
|
-
const expectedType = def.type ?? 'string';
|
|
756
|
-
const actualType = typeof val;
|
|
757
|
-
if (expectedType === 'number') {
|
|
758
|
-
if (actualType !== 'number' && !(actualType === 'string' && !Number.isNaN(Number(val)))) {
|
|
759
|
-
typeMismatch.push(`${key}(期望 number, 实际 ${actualType})`);
|
|
760
|
-
}
|
|
740
|
+
const expectedType = def.type ?? 'string';
|
|
741
|
+
const actualType = typeof val;
|
|
742
|
+
if (expectedType === 'number') {
|
|
743
|
+
if (actualType !== 'number' && !(actualType === 'string' && !Number.isNaN(Number(val)))) {
|
|
744
|
+
typeMismatch.push(`${key}(期望 number, 实际 ${actualType})`);
|
|
761
745
|
}
|
|
762
|
-
else if (expectedType === 'boolean') {
|
|
763
|
-
if (actualType !== 'boolean' && !(actualType === 'string' && (val === 'true' || val === 'false'))) {
|
|
764
|
-
typeMismatch.push(`${key}(期望 boolean, 实际 ${actualType})`);
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
else if (actualType !== 'string') {
|
|
768
|
-
typeMismatch.push(`${key}(期望 string, 实际 ${actualType})`);
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
if (missing.length > 0 || typeMismatch.length > 0) {
|
|
772
|
-
const parts = [];
|
|
773
|
-
if (missing.length > 0)
|
|
774
|
-
parts.push(`缺失字段: ${missing.join(',')}`);
|
|
775
|
-
if (typeMismatch.length > 0)
|
|
776
|
-
parts.push(`类型错误: ${typeMismatch.join(',')}`);
|
|
777
|
-
throw new Error(parts.join('; '));
|
|
778
746
|
}
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
if (!clientRendered) {
|
|
784
|
-
data.content = reply;
|
|
785
|
-
}
|
|
786
|
-
// 输出所有字段概要
|
|
787
|
-
const fieldSummary = Object.entries(parsed)
|
|
788
|
-
.filter(([k]) => k !== outputFormat.replyField)
|
|
789
|
-
.map(([k, v]) => {
|
|
790
|
-
const s = typeof v === 'string' ? v : JSON.stringify(v);
|
|
791
|
-
return `${k}=${s.length > 60 ? `${s.slice(0, 60)}...` : s}`;
|
|
792
|
-
})
|
|
793
|
-
.join(', ');
|
|
794
|
-
if (reply.length > 0) {
|
|
795
|
-
logger.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: ${reply.slice(0, 100)}`);
|
|
796
|
-
}
|
|
797
|
-
else {
|
|
798
|
-
logger.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: (空,静默)`);
|
|
747
|
+
else if (expectedType === 'boolean') {
|
|
748
|
+
if (actualType !== 'boolean' && !(actualType === 'string' && (val === 'true' || val === 'false'))) {
|
|
749
|
+
typeMismatch.push(`${key}(期望 boolean, 实际 ${actualType})`);
|
|
750
|
+
}
|
|
799
751
|
}
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
persistStateFromParsed(parsed, outputFormat);
|
|
752
|
+
else if (actualType !== 'string') {
|
|
753
|
+
typeMismatch.push(`${key}(期望 string, 实际 ${actualType})`);
|
|
803
754
|
}
|
|
804
755
|
}
|
|
756
|
+
if (missing.length > 0 || typeMismatch.length > 0) {
|
|
757
|
+
const parts = [];
|
|
758
|
+
if (missing.length > 0)
|
|
759
|
+
parts.push(`缺失字段: ${missing.join(',')}`);
|
|
760
|
+
if (typeMismatch.length > 0)
|
|
761
|
+
parts.push(`类型错误: ${typeMismatch.join(',')}`);
|
|
762
|
+
throw new Error(parts.join('; '));
|
|
763
|
+
}
|
|
764
|
+
data.archiveContent = JSON.stringify(parsed);
|
|
765
|
+
// 可见正文单独交给 agent 落库:客户端渲染模式下 content 仍是整串 JSON
|
|
766
|
+
data.visibleContent = reply;
|
|
767
|
+
// 客户端渲染模式:保留完整 JSON 给前端,不提取回复字段
|
|
768
|
+
if (!clientRendered) {
|
|
769
|
+
data.content = reply;
|
|
770
|
+
}
|
|
771
|
+
// 输出所有字段概要
|
|
772
|
+
const fieldSummary = Object.entries(parsed)
|
|
773
|
+
.filter(([k]) => k !== outputFormat.replyField)
|
|
774
|
+
.map(([k, v]) => {
|
|
775
|
+
const s = typeof v === 'string' ? v : JSON.stringify(v);
|
|
776
|
+
return `${k}=${s.length > 60 ? `${s.slice(0, 60)}...` : s}`;
|
|
777
|
+
})
|
|
778
|
+
.join(', ');
|
|
779
|
+
if (reply.length > 0) {
|
|
780
|
+
logger.use.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: ${reply.slice(0, 100)}`);
|
|
781
|
+
}
|
|
805
782
|
else {
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
783
|
+
logger.use.debug(`outputFormat 解码成功 [${fieldSummary}] → ${outputFormat.replyField}: (空,静默)`);
|
|
784
|
+
}
|
|
785
|
+
// 状态持久化:保存非回复字段(按 field type 强制类型)
|
|
786
|
+
if (statePersistence) {
|
|
787
|
+
persistStateFromParsed(parsed, outputFormat);
|
|
811
788
|
}
|
|
812
789
|
}
|
|
813
790
|
catch (err) {
|
|
@@ -819,7 +796,7 @@ async function run(caps) {
|
|
|
819
796
|
data.maxRetries = maxRetries;
|
|
820
797
|
if (attempt < maxRetries) {
|
|
821
798
|
// 还有重试名额:要求模型严格按照 outputFormat 重新输出 JSON
|
|
822
|
-
logger.debug(`outputFormat 解码失败 (attempt=${attempt}/${maxRetries}),请求重试:${message}; json=${preview}`);
|
|
799
|
+
logger.use.debug(`outputFormat 解码失败 (attempt=${attempt}/${maxRetries}),请求重试:${message}; json=${preview}`);
|
|
823
800
|
const fieldSpec = Object.entries(outputFormat.fields)
|
|
824
801
|
.map(([k, v]) => ` - "${k}"(${v.description ?? ''}${k === outputFormat.replyField ? ';最终回复内容写在这里' : ''})`)
|
|
825
802
|
.join('\n');
|
|
@@ -830,16 +807,14 @@ async function run(caps) {
|
|
|
830
807
|
')。请严格按照以下字段输出一个合法 JSON 对象(不要包 markdown 代码块,所有声明的字段都必须出现,缺一不可):\n' +
|
|
831
808
|
fieldSpec +
|
|
832
809
|
'\n请勿输出任何 JSON 之外的文本。' +
|
|
833
|
-
'\n
|
|
810
|
+
'\n请只修正格式,保留本来需要传达的正文,并写入回复字段;确实不需对外回复时,才将回复字段留空(空字符串)。';
|
|
834
811
|
}
|
|
835
812
|
else {
|
|
836
813
|
// 重试用尽:静默丢弃(避免原始 JSON 被当成回复发出)
|
|
837
|
-
|
|
838
|
-
logger.warn(`outputFormat 解码连续 ${attempt + 1} 次失败(已用尽 ${maxRetries} 次重试),静默丢弃回复:${message}; json=${preview}`);
|
|
814
|
+
logger.use.warn(`outputFormat 解码连续 ${attempt + 1} 次失败(已用尽 ${maxRetries} 次重试),静默丢弃回复:${message}; json=${preview}`);
|
|
839
815
|
data.retryRequested = false;
|
|
840
816
|
data.retryFeedback = undefined;
|
|
841
817
|
data.content = '';
|
|
842
|
-
data.archiveContent = `(系统提示:上一条回复因不符合 outputFormat 规定被丢弃,原因:${message}。下次回复请严格按照 system prompt 中规定的 JSON 格式输出,所有声明的字段都必须出现。)`;
|
|
843
818
|
}
|
|
844
819
|
}
|
|
845
820
|
});
|
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,28 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
readonly displayName: "Persona system";
|
|
3
|
+
readonly personasDirLabel: "Persona directory";
|
|
4
|
+
readonly personasDirDescription: "Storage URI of the directory holding the persona files (personas:/ by default, which is self/personas in the home directory; without ':/' the first segment is taken as the storage root name, and a single bare name goes to the data root)";
|
|
5
|
+
readonly statePersistenceLabel: "State persistence";
|
|
6
|
+
readonly statePersistenceDescription: "When on, the persona state (mood, current activity and other outputFormat fields) carries over within the same session and is injected into the next prompt";
|
|
7
|
+
readonly timeInjectionLabel: "Time injection";
|
|
8
|
+
readonly timeInjectionDescription: "When on, the current time is injected into the system prompt automatically";
|
|
9
|
+
readonly timeZoneLabel: "Time zone (IANA)";
|
|
10
|
+
readonly timeZoneDescription: "For example Asia/Shanghai, Europe/London, America/New_York. Empty uses the system's local time zone.";
|
|
11
|
+
readonly personaLabel: "Persona";
|
|
12
|
+
readonly personaDescription: "Persona card name (without the extension); default is the default card in the persona directory, or the built-in default persona when there is none";
|
|
13
|
+
readonly extraLabel: "Extra prompt";
|
|
14
|
+
readonly extraDescription: "Appended after the persona prompt and before the structured output instructions; nothing is appended when empty";
|
|
15
|
+
readonly plainLabel: "No structured output";
|
|
16
|
+
readonly plainDescription: "Ignore the card’s structured output format and reply in plain text";
|
|
17
|
+
readonly renderLabel: "Client-side JSON rendering";
|
|
18
|
+
readonly renderDescription: "Hand the structured output JSON to the client as is, without extracting the reply field";
|
|
19
|
+
readonly renderCard: "Per card";
|
|
20
|
+
readonly renderOn: "On";
|
|
21
|
+
readonly renderOff: "Off";
|
|
22
|
+
readonly clearType: "Session persona state";
|
|
23
|
+
readonly clearedAll: "Cleared the persona state of all sessions";
|
|
24
|
+
readonly clearedSession: "Cleared the persona state of this session";
|
|
25
|
+
readonly clearFailed: "Clearing persona state failed: {error}";
|
|
26
|
+
};
|
|
27
|
+
export default _default;
|
|
28
|
+
//# sourceMappingURL=en.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBA8BG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineLocale } from '@aalis/schema-i18n';
|
|
2
|
+
export default defineLocale()({
|
|
3
|
+
displayName: 'Persona system',
|
|
4
|
+
personasDirLabel: 'Persona directory',
|
|
5
|
+
personasDirDescription: "Storage URI of the directory holding the persona files (personas:/ by default, which is self/personas in the home directory; without ':/' the first segment is taken as the storage root name, and a single bare name goes to the data root)",
|
|
6
|
+
statePersistenceLabel: 'State persistence',
|
|
7
|
+
statePersistenceDescription: 'When on, the persona state (mood, current activity and other outputFormat fields) carries over within the same session and is injected into the next prompt',
|
|
8
|
+
timeInjectionLabel: 'Time injection',
|
|
9
|
+
timeInjectionDescription: 'When on, the current time is injected into the system prompt automatically',
|
|
10
|
+
timeZoneLabel: 'Time zone (IANA)',
|
|
11
|
+
timeZoneDescription: "For example Asia/Shanghai, Europe/London, America/New_York. Empty uses the system's local time zone.",
|
|
12
|
+
personaLabel: 'Persona',
|
|
13
|
+
personaDescription: 'Persona card name (without the extension); default is the default card in the persona directory, or the built-in default persona when there is none',
|
|
14
|
+
extraLabel: 'Extra prompt',
|
|
15
|
+
extraDescription: 'Appended after the persona prompt and before the structured output instructions; nothing is appended when empty',
|
|
16
|
+
plainLabel: 'No structured output',
|
|
17
|
+
plainDescription: 'Ignore the card’s structured output format and reply in plain text',
|
|
18
|
+
renderLabel: 'Client-side JSON rendering',
|
|
19
|
+
renderDescription: 'Hand the structured output JSON to the client as is, without extracting the reply field',
|
|
20
|
+
renderCard: 'Per card',
|
|
21
|
+
renderOn: 'On',
|
|
22
|
+
renderOff: 'Off',
|
|
23
|
+
clearType: 'Session persona state',
|
|
24
|
+
clearedAll: 'Cleared the persona state of all sessions',
|
|
25
|
+
clearedSession: 'Cleared the persona state of this session',
|
|
26
|
+
clearFailed: 'Clearing persona state failed: {error}',
|
|
27
|
+
});
|
|
28
|
+
//# 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,gBAAgB;IAC7B,gBAAgB,EAAE,mBAAmB;IACrC,sBAAsB,EACpB,8OAA8O;IAChP,qBAAqB,EAAE,mBAAmB;IAC1C,2BAA2B,EACzB,6JAA6J;IAC/J,kBAAkB,EAAE,gBAAgB;IACpC,wBAAwB,EAAE,4EAA4E;IACtG,aAAa,EAAE,kBAAkB;IACjC,mBAAmB,EACjB,sGAAsG;IACxG,YAAY,EAAE,SAAS;IACvB,kBAAkB,EAChB,qJAAqJ;IACvJ,UAAU,EAAE,cAAc;IAC1B,gBAAgB,EACd,iHAAiH;IACnH,UAAU,EAAE,sBAAsB;IAClC,gBAAgB,EAAE,oEAAoE;IACtF,WAAW,EAAE,4BAA4B;IACzC,iBAAiB,EAAE,yFAAyF;IAC5G,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE,2CAA2C;IACvD,cAAc,EAAE,2CAA2C;IAC3D,WAAW,EAAE,wCAAwC;CACtD,CAAC,CAAC"}
|
package/dist/texts.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
declare const SOURCE: {
|
|
2
|
+
readonly displayName: "人设系统";
|
|
3
|
+
readonly personasDirLabel: "人设目录";
|
|
4
|
+
readonly personasDirDescription: "人设文件所在目录的 storage URI(默认 personas:/,即家目录的 self/personas;不含 ':/' 时首段视为存储根名,单段裸名归 data 根)";
|
|
5
|
+
readonly statePersistenceLabel: "状态持久化";
|
|
6
|
+
readonly statePersistenceDescription: "启用后,角色状态(心情、当前行为等 outputFormat 字段)会在同一会话内延续并注入到下一轮提示中";
|
|
7
|
+
readonly timeInjectionLabel: "时间注入";
|
|
8
|
+
readonly timeInjectionDescription: "启用后,当前时间会自动注入到系统提示中";
|
|
9
|
+
readonly timeZoneLabel: "时区 (IANA)";
|
|
10
|
+
readonly timeZoneDescription: "例如 Asia/Shanghai、Europe/London、America/New_York。留空使用系统本地时区。";
|
|
11
|
+
readonly personaLabel: "人设";
|
|
12
|
+
readonly personaDescription: "角色卡名(不含后缀);default 是人设目录里的 default 卡,没有时用内置的默认角色";
|
|
13
|
+
readonly extraLabel: "额外提示";
|
|
14
|
+
readonly extraDescription: "追加在人设提示之后、结构化输出格式说明之前;为空时不追加";
|
|
15
|
+
readonly plainLabel: "不用结构化输出";
|
|
16
|
+
readonly plainDescription: "不用角色卡的结构化输出格式,回复纯文本";
|
|
17
|
+
readonly renderLabel: "客户端渲染 JSON";
|
|
18
|
+
readonly renderDescription: "结构化输出的 JSON 原样交给客户端渲染,不提取回复字段";
|
|
19
|
+
readonly renderCard: "按角色卡";
|
|
20
|
+
readonly renderOn: "开";
|
|
21
|
+
readonly renderOff: "关";
|
|
22
|
+
readonly clearType: "会话角色状态";
|
|
23
|
+
readonly clearedAll: "所有会话角色状态已清空";
|
|
24
|
+
readonly clearedSession: "当前会话角色状态已清空";
|
|
25
|
+
readonly clearFailed: "角色状态清空失败:{error}";
|
|
26
|
+
};
|
|
27
|
+
export type Source = typeof SOURCE;
|
|
28
|
+
export declare const t: import("@aalis/schema-i18n").TextFactory<{
|
|
29
|
+
readonly displayName: "人设系统";
|
|
30
|
+
readonly personasDirLabel: "人设目录";
|
|
31
|
+
readonly personasDirDescription: "人设文件所在目录的 storage URI(默认 personas:/,即家目录的 self/personas;不含 ':/' 时首段视为存储根名,单段裸名归 data 根)";
|
|
32
|
+
readonly statePersistenceLabel: "状态持久化";
|
|
33
|
+
readonly statePersistenceDescription: "启用后,角色状态(心情、当前行为等 outputFormat 字段)会在同一会话内延续并注入到下一轮提示中";
|
|
34
|
+
readonly timeInjectionLabel: "时间注入";
|
|
35
|
+
readonly timeInjectionDescription: "启用后,当前时间会自动注入到系统提示中";
|
|
36
|
+
readonly timeZoneLabel: "时区 (IANA)";
|
|
37
|
+
readonly timeZoneDescription: "例如 Asia/Shanghai、Europe/London、America/New_York。留空使用系统本地时区。";
|
|
38
|
+
readonly personaLabel: "人设";
|
|
39
|
+
readonly personaDescription: "角色卡名(不含后缀);default 是人设目录里的 default 卡,没有时用内置的默认角色";
|
|
40
|
+
readonly extraLabel: "额外提示";
|
|
41
|
+
readonly extraDescription: "追加在人设提示之后、结构化输出格式说明之前;为空时不追加";
|
|
42
|
+
readonly plainLabel: "不用结构化输出";
|
|
43
|
+
readonly plainDescription: "不用角色卡的结构化输出格式,回复纯文本";
|
|
44
|
+
readonly renderLabel: "客户端渲染 JSON";
|
|
45
|
+
readonly renderDescription: "结构化输出的 JSON 原样交给客户端渲染,不提取回复字段";
|
|
46
|
+
readonly renderCard: "按角色卡";
|
|
47
|
+
readonly renderOn: "开";
|
|
48
|
+
readonly renderOff: "关";
|
|
49
|
+
readonly clearType: "会话角色状态";
|
|
50
|
+
readonly clearedAll: "所有会话角色状态已清空";
|
|
51
|
+
readonly clearedSession: "当前会话角色状态已清空";
|
|
52
|
+
readonly clearFailed: "角色状态清空失败:{error}";
|
|
53
|
+
}>;
|
|
54
|
+
export {};
|
|
55
|
+
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;CA2BF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;EAAmG,CAAC"}
|
package/dist/texts.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// 本插件自己的原文字典:显示名、配置项,按会话字段的称呼、说明与选项,/clear 的类型显示名与结果行
|
|
2
|
+
import { defineTexts } from '@aalis/schema-i18n';
|
|
3
|
+
import en from './locales/en.js';
|
|
4
|
+
const SOURCE = {
|
|
5
|
+
displayName: '人设系统',
|
|
6
|
+
personasDirLabel: '人设目录',
|
|
7
|
+
personasDirDescription: "人设文件所在目录的 storage URI(默认 personas:/,即家目录的 self/personas;不含 ':/' 时首段视为存储根名,单段裸名归 data 根)",
|
|
8
|
+
statePersistenceLabel: '状态持久化',
|
|
9
|
+
statePersistenceDescription: '启用后,角色状态(心情、当前行为等 outputFormat 字段)会在同一会话内延续并注入到下一轮提示中',
|
|
10
|
+
timeInjectionLabel: '时间注入',
|
|
11
|
+
timeInjectionDescription: '启用后,当前时间会自动注入到系统提示中',
|
|
12
|
+
timeZoneLabel: '时区 (IANA)',
|
|
13
|
+
timeZoneDescription: '例如 Asia/Shanghai、Europe/London、America/New_York。留空使用系统本地时区。',
|
|
14
|
+
personaLabel: '人设',
|
|
15
|
+
personaDescription: '角色卡名(不含后缀);default 是人设目录里的 default 卡,没有时用内置的默认角色',
|
|
16
|
+
extraLabel: '额外提示',
|
|
17
|
+
extraDescription: '追加在人设提示之后、结构化输出格式说明之前;为空时不追加',
|
|
18
|
+
plainLabel: '不用结构化输出',
|
|
19
|
+
plainDescription: '不用角色卡的结构化输出格式,回复纯文本',
|
|
20
|
+
renderLabel: '客户端渲染 JSON',
|
|
21
|
+
renderDescription: '结构化输出的 JSON 原样交给客户端渲染,不提取回复字段',
|
|
22
|
+
renderCard: '按角色卡',
|
|
23
|
+
renderOn: '开',
|
|
24
|
+
renderOff: '关',
|
|
25
|
+
clearType: '会话角色状态',
|
|
26
|
+
clearedAll: '所有会话角色状态已清空',
|
|
27
|
+
clearedSession: '当前会话角色状态已清空',
|
|
28
|
+
clearFailed: '角色状态清空失败:{error}',
|
|
29
|
+
};
|
|
30
|
+
export const t = defineTexts({ ns: '@aalis/plugin-persona', language: 'zh-CN', source: SOURCE, locales: { en } });
|
|
31
|
+
//# sourceMappingURL=texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,MAAM;IACnB,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EACpB,yFAAyF;IAC3F,qBAAqB,EAAE,OAAO;IAC9B,2BAA2B,EACzB,uDAAuD;IACzD,kBAAkB,EAAE,MAAM;IAC1B,wBAAwB,EAAE,qBAAqB;IAC/C,aAAa,EAAE,WAAW;IAC1B,mBAAmB,EAAE,6DAA6D;IAClF,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,kDAAkD;IACtE,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,8BAA8B;IAChD,UAAU,EAAE,SAAS;IACrB,gBAAgB,EAAE,qBAAqB;IACvC,WAAW,EAAE,YAAY;IACzB,iBAAiB,EAAE,+BAA+B;IAClD,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,aAAa;IACzB,cAAc,EAAE,aAAa;IAC7B,WAAW,EAAE,kBAAkB;CACvB,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-persona",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,32 +24,39 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
28
|
-
"@aalis/api-
|
|
29
|
-
"@aalis/api-
|
|
30
|
-
"@aalis/api-
|
|
31
|
-
"@aalis/api-
|
|
32
|
-
"@aalis/
|
|
33
|
-
"@aalis/util-json-repair": ">=0.5.4 <1.0.0",
|
|
27
|
+
"@aalis/schema-config": ">=0.16.0 <1.0.0",
|
|
28
|
+
"@aalis/api-persona": ">=0.10.0 <1.0.0",
|
|
29
|
+
"@aalis/api-platform": ">=0.11.0 <1.0.0",
|
|
30
|
+
"@aalis/api-session-manager": ">=0.12.0 <1.0.0",
|
|
31
|
+
"@aalis/api-storage": ">=0.9.0 <1.0.0",
|
|
32
|
+
"@aalis/util-json-repair": ">=0.6.0 <1.0.0",
|
|
34
33
|
"yaml": "^2.7.0",
|
|
35
|
-
"@aalis/api-hooks": ">=0.
|
|
34
|
+
"@aalis/api-hooks": ">=0.3.0 <1.0.0",
|
|
35
|
+
"@aalis/api-contributions": ">=0.2.0 <1.0.0",
|
|
36
|
+
"@aalis/api-host-config": ">=0.3.0 <1.0.0",
|
|
37
|
+
"@aalis/api-session-settings": ">=0.1.0 <1.0.0",
|
|
38
|
+
"@aalis/schema-i18n": ">=0.1.0 <1.0.0",
|
|
39
|
+
"@aalis/schema-message": ">=0.11.0 <1.0.0"
|
|
36
40
|
},
|
|
37
41
|
"devDependencies": {
|
|
38
42
|
"@types/node": "^22.0.0",
|
|
39
43
|
"typescript": "^5.7.0",
|
|
40
|
-
"@aalis/
|
|
41
|
-
"@aalis/
|
|
42
|
-
"@aalis/api-memory": "0.
|
|
44
|
+
"@aalis/core": "0.21.0",
|
|
45
|
+
"@aalis/api-agent": "0.11.0",
|
|
46
|
+
"@aalis/api-memory": "0.9.0"
|
|
43
47
|
},
|
|
44
48
|
"peerDependencies": {
|
|
45
|
-
"@aalis/core": ">=0.
|
|
49
|
+
"@aalis/core": ">=0.21.0 <1.0.0"
|
|
46
50
|
},
|
|
47
51
|
"aalis": {
|
|
48
52
|
"service": {
|
|
49
53
|
"optional": [
|
|
50
54
|
"platform",
|
|
51
55
|
"storage",
|
|
52
|
-
"session-manager"
|
|
56
|
+
"session-manager",
|
|
57
|
+
"host-config",
|
|
58
|
+
"session-settings",
|
|
59
|
+
"contributions"
|
|
53
60
|
],
|
|
54
61
|
"provides": [
|
|
55
62
|
"persona"
|