feat: Phase 3 世界书引擎移植 + EJS 支持

- 新增 task-worldinfo.js: 从 EW 移植世界书激活/分桶引擎
- 新增 task-ejs.js: 从 EW 移植 EJS 模板渲染引擎
- 新增 vendor/ejs.js: EJS runtime vendor
- prompt-builder.js: 改为异步, 接入 worldInfoBefore/After/atDepth
- prompt-profiles.js: 新增内置块 charDescription/userPersona/worldInfoBefore/After
- 更新 extractor/retriever/compressor/consolidator 接入新 builder
- st-context.js: 扩展 ST 上下文字段兜底
- 新增 tests/task-worldinfo.mjs: 世界书引擎测试
This commit is contained in:
Youzini-afk
2026-03-26 13:57:07 +08:00
parent 2f9524d993
commit d31c0325d3
12 changed files with 3963 additions and 93 deletions

View File

@@ -229,7 +229,7 @@ async function summarizeBatch(
const instruction =
typeDef.compression.instruction || "将以下节点压缩总结为一条精炼记录。";
const compressPromptBuild = buildTaskPrompt(settings, "compress", {
const compressPromptBuild = await buildTaskPrompt(settings, "compress", {
taskName: "compress",
nodeContent: nodeDescriptions,
candidateNodes: nodeDescriptions,
@@ -265,7 +265,10 @@ async function summarizeBatch(
maxRetries: 1,
signal,
taskType: "compress",
additionalMessages: compressPromptBuild.customMessages || [],
additionalMessages: [
...(compressPromptBuild.customMessages || []),
...(compressPromptBuild.additionalMessages || []),
],
});
}