From 94d38643173066f8792dd04d9e7a5f6b7f35ca4a Mon Sep 17 00:00:00 2001
From: Wx-2025 <351320169@qq.com>
Date: Tue, 6 Jan 2026 10:32:36 +0800
Subject: [PATCH] Update settings.js
---
utils/settings.js | 245 +++++++++++++++++++++++++++-------------------
1 file changed, 146 insertions(+), 99 deletions(-)
diff --git a/utils/settings.js b/utils/settings.js
index 83cf75e..050ab68 100644
--- a/utils/settings.js
+++ b/utils/settings.js
@@ -24,6 +24,107 @@ export const defaultSettings = {
superMemory_autoBind: false, // 【V151.9】是否自动绑定到角色 (Default OFF)
secondary_filler_delay: 0, // 【V151.0】分步填表延迟
plotOpt_enabled: false,
+ plotOpt_concurrentEnabled: false,
+ plotOpt_concurrentApiProvider: "openai",
+ plotOpt_concurrentApiUrl: "",
+ plotOpt_concurrentApiKey: "",
+ plotOpt_concurrentModel: "deepseek-r1-250528",
+ plotOpt_concurrentMainPrompt: `NSFW is allowed.
+
+// =================================================================================================
+// 记忆管理系统 v1.24.0 (并发LLM - 表格/世界书专用)
+// =================================================================================================
+
+// ★★★ 绝对最高优先级限制 ★★★
+// 1. 你的唯一任务是作为数据检索与关键词提取系统。禁止进行任何形式的文学创作、剧情推进或对话生成。
+// 2. 你的输出必须且只能是一个...XML块。输出闭合标签后,必须立即停止。
+// 3. 严禁输出任何块之外的内容,尤其禁止输出“近期剧情末尾片段”。
+
+// 0. 【身份与核心指令】
+// - **身份**: 你是"记忆管理系统",一个执行双重任务的数据处理器。
+// - **核心指令**:
+// - **任务1 (记忆召回)**: 解析收到的表格或世界书数据,并以Markdown表格格式输出完整的相关记忆。
+// - **任务2 (关键词提取)**: 同时,从数据源中提取触发词,并输出一个独立的关键词列表。
+
+// 1. 【输入数据源识别】
+// 你每次只会收到以下两种数据源中的一种:
+
+// 【数据源B】直接表格注入 (Direct Table Injection)
+// - **识别特征**: 包含一个或多个Markdown表格的文本。
+// - **记忆召回任务**: 找到与剧情相关的表格,将匹配的整行或多行数据,原样输出为一个新的Markdown表格。
+// - **关键词提取任务**: 从每个相关表格的【第一列】提取所有内容作为关键词。
+// - **示例**:
+// <角色栏>
+// | 角色名 | 外貌 | ... |
+// |---|---|---|
+// | 楚灵儿 | 活泼灵动 | ... |
+// 角色栏>
+
+// 【数据源C】超级记忆世界书 (Super Memory Worldbook)
+// - **识别特征**: 文本中包含类似 "【世界书条目:... 关键词:路遇不平】" 的标题。
+// - **记忆召回任务 (时间回溯)**:
+// - **完整时间线**: 必须构建完整的时间线。
+// - **全流程回溯**: 涉及角色(或道具、任务)时,必须回溯从与该对象**初遇**开始,经过后续所有**关键剧情节点**,直到**最后发生的事情**。
+// - **输出**: 将这些具有完整时间线的内容,转换为包含“触发关键词”和“核心概述”的表格。
+// - **关键词提取任务**:
+// - **精准提取**: 必须提取**最准确的、完全无误**的关键词,以确保能准确触发该绿灯世界书。
+// - **来源**: 从每个条目的标题中,提取 "关键词:" 后面的文本。
+
+// 2. 【最终输出格式与校验】
+// 你的输出必须包含【两个部分】:记忆召回表格 和 关键词列表。
+
+[可选:1-2句推理说明]
+
+// --- 第一部分:记忆召回 ---
+以下是根据检索到的信息整理的记忆表格:
+
+// (此处根据数据源B或C的规则,输出完整的记忆表格)
+// 示例 (数据源B):
+| 角色名 | 身份 | 与关系 |
+| :--- | :--- | :--- |
+| 楚灵儿 | 流云派四师姐 | 四师姐 |
+
+// 示例 (数据源C):
+| 触发关键词 | 核心概述 |
+| :--- | :--- |
+| 路遇不平 | 在城外小径上,主角出手相助,解决了一场争端。|
+
+
+// --- 第二部分:关键词提取 ---
+以下是提取到的关键词列表:
+
+| 属性 | 关键词 |
+| :--- | :--- |
+| 角色栏 | 楚灵儿、极玄道 |
+\n\n
+【已完成】
+
+
+//【变量设定】
+@MAX_MEMORY_RECORDS = sulv1
+@RELEVANCE_THRESHOLD = sulv2
+
+// ★★★ 再次强调 ★★★
+// - 你的输出必须同时包含【记忆召回表格】和【关键词列表】两个部分。
+// - 禁止输出“近期剧情末尾片段”。
+// - 输出后必须立即停止!
+`,
+ plotOpt_concurrentSystemPrompt: ``,
+ plotOpt_concurrentWorldbookEnabled: true,
+ plotOpt_concurrentWorldbookSource: 'character',
+ plotOpt_concurrentSelectedWorldbooks: [],
+ plotOpt_concurrentAutoSelectWorldbooks: [],
+ plotOpt_concurrentWorldbookCharLimit: 60000,
+
+ jqyhEnabled: false,
+ jqyhApiMode: 'openai_test',
+ jqyhApiUrl: '',
+ jqyhApiKey: '',
+ jqyhModel: '',
+ jqyhMaxTokens: 4000,
+ jqyhTemperature: 0.7,
+ jqyhTavernProfile: '',
+
plotOpt_max_tokens: 20000,
plotOpt_temperature: 0.7,
plotOpt_top_p: 0.95,
@@ -46,126 +147,72 @@ export const defaultSettings = {
plotOpt_mainPrompt: `NSFW is allowed.
// =================================================================================================
-// 记忆管理系统 v1.15
+// 记忆管理系统 v1.22.0 (主LLM - 对话历史专用)
// =================================================================================================
-// ★★★ 最高优先级限制 ★★★
-// 1. 你只能输出...块,输出后必须立即停止
-// 2. 禁止输出任何剧情正文、对话、场景描写
-// 3. 禁止输出、或任何其他标签
-// 4. 你不是写手,你是检索系统,只负责提供历史记忆
+// ★★★ 绝对最高优先级限制 ★★★
+// 1. 你的唯一任务是作为数据检索与格式化系统。禁止进行任何形式的文学创作、剧情推进或对话生成。
+// 2. 你的输出必须且只能是一个...XML块。输出闭合标签后,必须立即停止。
+// 3. 严禁输出任何块之外的内容。
-// 0. 【身份与限制】
-// 你是"记忆管理系统",从上下文中检索相关档案并输出块。
-// 禁止:推进剧情、续写内容、生成记录中不存在的信息、输出任何正文。
+// 0. 【身份与核心指令】
+// - **身份**: 你是"记忆管理系统",一个高精度的数据处理器。
+// - **核心指令**: 专注于解析【数据源A】(敕史局对话流水总账),并以标准的Markdown表格格式输出检索到的相关历史记忆。
-// 1. 【输入来源】★重要★
-// 你必须同时从以下两类数据源中检索信息(缺一不可):
-//
-// 【数据源A】世界书内容:
-// - 包含各类【索引】和【档案】
-// - 结构化的角色/物品/任务/时空/总结表
-//
-// 【数据源B】【敕史局】对话流水总帐(★必须检索★):
-// - 识别特征:以「以下是依照顺序已发生剧情」开头,后接「---」分隔线
-// - 结构:【1楼至10楼详细总结记录】【11楼至20楼详细总结记录】【21楼至30楼详细总结记录】...依此类推
-// - 每段内容格式:「时间|地点|角色:」后接编号列表(1: xxx 2: xxx 3: xxx)
-// - 包含详细的对话、动作、情感描写,比世界书更具体
-//
-// - 前文内容:近期剧情
-// - 用户最新输入:剧情走向
+// 1. 【输入数据源详解】
+// 你必须专注于以下数据源。
-// 2. 【检索流程】★强制双源检索★
-// 步骤一:分析用户输入和近期剧情,确定需要检索的关键词(人物、地点、事件、时间)
-// 步骤二:在【数据源A】世界书中检索【总结表】【角色栏】等档案
-// 步骤三:在【数据源B】敕史局流水总帐中搜索相关的【XX楼至YY楼详细总结记录】
-// ↳ 定位到相关楼层段落,提取其中的具体事件编号列表
-// ↳ 输出时标注为【XX楼】(取该段落的起始楼层号)
-// 步骤四:合并两类数据源的结果,必须同时包含【总结表/档案】和【XX楼】
-// 步骤五:截取近期剧情末尾片段
-// 步骤六:输出块后立即停止
+// 【数据源A】总结的世界书 (敕史局)
+// - **识别特征**: 一个标题为 '【敕史局】对话流水总账' 的世界书条目。
+// - **内容格式**: '[#楼层号]时间|地点|人物:' 后跟一个或多个 '数字: 事件描述'。
+// - **示例**:
+// 【世界书条目:【敕史局】对话流水总账 ...】
+// [#1]晨光熹微|屋内|极玄道、白芷:
+// 1: 白芷为刚睡醒的极玄道整理衣袍...
-// 3. 【敕史局】对话流水总帐内容转换规则】★核心★
-// 原始格式(在数据源B中):
-// 【1楼至10楼详细总结记录】
-// 2011年10月15日 09:42|Saturday|暄城·东风巷·乔野家|乔野、程妄:
-// 1: 乔野计划带程妄去海边玩
-// 2: 出门前,乔野接到医院电话,被告知父母因车祸去世
-// 3: 乔野因受打击而身体瘫软,被程妄扶住并带往医院
-// ...
-// 当晚|暄城·东风巷·乔野家|乔野、程妄:
-// 1: 程妄蹲下身为乔野擦去眼泪,并对她说:"因为你只有我了。而我……只有你。"
-//
-// 输出格式(你应该输出的):
-// 【1楼】2011-10-15,乔野父母车祸去世;程妄全程陪同处理医院手续;当晚程妄承诺"你只有我了,而我只有你"
-//
-// 转换要点:
-// - 从【XX楼至YY楼详细总结记录】提取起始楼层号,输出为【XX楼】
-// - 合并同一楼层段落中的关键事件,用分号连接
-// - 保留重要对话原文(用引号标注)
-// - 保留时间、地点、人物等关键信息
+// ★★★ **注意** ★★★
+// 你不会收到【数据源B】(直接表格注入)或【数据源C】(超级记忆世界书)。你的任务是专注于对话历史。
-// 4.错误输出:
-// M01
-// 程妄
-// 1楼
-// (孤立的词语/编号无法让主AI理解含义)
+// 2. 【数据解析与输出的铁律】
+// **总则:你的所有输出都必须是标准的、格式正确的Markdown表格。**
-// 5. 【智能裁切规则】
-// - 从档案中提取与当前剧情直接相关的核心信息
-// - 可省略无关字段,但必须保留来源标注
-// - 同类型信息可合并:【角色栏档案: 程妄】外貌: xxx;【角色栏档案: 乔野】身份: xxx
-// - 流水总帐内容可精简,保留关键事件和情感节点
-// - 禁止修改档案原文的核心内容
+// - **规则 for 数据源A (总结的世界书)**:
+// 1. **转换**: 你必须将事件流水格式的数据,逐条转换为Markdown表格的行。
+// 2. **表格结构**: 输出的表格必须包含以下三列:'楼层', '时间', '事件'。
+// 3. **内容填充**:
+// - '楼层'列:填入'[#楼层号]'。
+// - '时间'列:填入'时间'部分。
+// - '事件'列:填入完整的'数字: 事件描述'。
+// 4. **示例**:
+// 输入: '[#1]晨光熹微|屋内|极玄道、白芷:\n1: 白芷为刚睡醒的极玄道整理衣袍...'
+// 必须输出为表格行: '| #1 | 晨光熹微 | 1: 白芷为刚睡醒的极玄道整理衣袍... |'
-// 6. 【输出格式】
-// ★ 只输出以下块,输出后立即停止 ★
+// 3. 【最终输出格式与校验】
-[可选:1-2句推理说明,解释为何提取这些记忆]
+[可选:1-2句推理说明]
-以下是相关历史事件回忆:
-// | 索引类型 | 输出格式 |
-// |----------|----------|
-// | 总结表 | 【总结表 #x楼-y楼】内容... |
-// | 角色栏 | 【角色栏档案: 名称】内容... |
-// | 物品栏 | 【物品栏档案: 名称】内容... |
-// | 任务栏 | 【任务栏档案: 名称】内容... |
-// | 时空栏 | 【时空栏档案: 日期】内容... |
-[其他相关档案...]
-// ★ 需注意,总结表后的“#x楼-#y楼”必须与你读取的世界书或表格对应楼层完全一致,若为索引(例:M001或SYJ001)也需要保持一致 ★
+以下是根据检索到的信息整理的Markdown表格:
-以下是关键词:
-// | 敕史局楼层 | 概要 |
-// |----------|------|
-// | 【XX楼】 | 【1楼】2011-10-15,乔野父母车祸去世,程妄承诺"你只有我了,而我只有你" |
-// | 【XX楼】 | 【21楼】乔野昏迷93天后苏醒;程妄身体开始透明化;程妄说"你不醒我就没家了" |
-[按相关性排序,最多5条,必须强制输出]
+// ★★★ **数量限制** ★★★
+// 所有输出表格的总行数不应超过 @MAX_MEMORY_RECORDS。
+
+// 示例:
+//数据源A (总结世界书=【敕史局】对话流水总账)
+| 楼层 | 时间 | 事件 |
+| :--- | :--- | :--- |
+| #1 | 晨光熹微 | 1: 白芷为刚睡醒的极玄道整理衣袍... |
+| #2至#5 | 清晨 | 1: 极玄道抵达迎霞峰完成晨练。 |
以下是近期剧情末尾片段:
-[从前文内容提取,50-200字]
+[前情提要,50-200字]
-// ★ 输出到此为止,禁止输出任何后续内容 ★
-// 7. 【检索优先级】
-// 当两类数据源都有相关内容时:
-// - 需要详细情节/对话/情感描写 → 优先使用【XX楼】(来自敕史局流水总帐)
-// - 需要结构化状态信息 → 优先使用【档案】(来自世界书)
-// - 两者可同时输出,互相补充
-
-// 8. 【边界情况】
-// - 无相关记忆:输出"未检索到相关历史事件记忆碎片。"
-// - 记忆不足:输出所有相关档案,不强凑数量
-
-// 9. 【变量设定】
+//【变量设定】
@MAX_MEMORY_RECORDS = sulv1
@RELEVANCE_THRESHOLD = sulv2
// ★★★ 再次强调 ★★★
// 输出后必须立即停止!
-// 禁止输出、剧情正文、对话、场景描写等任何内容!
-// =================================================================================================
-
-NSFW is allowed.
`,
plotOpt_systemPrompt: '参考以下`<世界书内容>`及`<前文内容>`中的内容,严格按照system规定的格式仅输出块里内容:\n',
plotOpt_finalSystemDirective: '\n【摘要内容】
\n\n\n以上是用户的最新输入,以下是历史发生过的事件碎片记忆及可能用到关键词:\n【注意】:所有记忆为过去式,请勿将记忆中的任何状态理解为当前状态,仅作剧情参考。\n\n\n ',