mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-14 17:55:50 +00:00
release: v2.2.5 [2026-06-10 12:41:11]
### 修复 - **翰林院(RAG)API Key 污染**: - 修复 `saveSettingsFromUI` 无差别遍历翰林院面板内全部 `[data-setting-key]` 输入(包含被 `profile-sync` 接管隐藏的字段),导致掩码占位符 `••••••••` 被当作真值写回 `settings.rerank.apiKey` / `settings.retrieval.apiKey`,URL / model 也被 Profile 值覆盖到 legacy 字段。修复后会跳过祖先带 `data-profile-hidden` 的输入 - `getRerankSettings` / `getEmbedRetrievalSettings` 同时加入防御性还原:识别历史污染留下的 `••••••••` 时归为空字符串,避免取消 Profile 分配后实际请求带占位符 token 被 401 ---
This commit is contained in:
@@ -16,6 +16,7 @@ import { resolveHistoriographyRuleConfig } from "../utils/config/RuleProfileMana
|
||||
import { getPresetPrompts, getMixedOrder } from '../PresetSettings/index.js';
|
||||
import { callAI, generateRandomSeed } from './api.js';
|
||||
import { callConcurrentAI } from './api/ConcurrentApi.js';
|
||||
import { applyToTemplates } from './memory-blocks/index.js';
|
||||
|
||||
export async function processOptimization(latestMessage, previousMessages) {
|
||||
if (window.AMILY2_SYSTEM_PARALYZED === true) {
|
||||
@@ -276,22 +277,18 @@ export async function processPlotOptimization(currentUserMessage, contextMessage
|
||||
const userName = context.name1 || '用户';
|
||||
const charName = context.name2 || '角色';
|
||||
|
||||
const replacements = {
|
||||
'sulv1': settings.plotOpt_rateMain ?? 1.0,
|
||||
'sulv2': settings.plotOpt_ratePersonal ?? 1.0,
|
||||
'sulv3': settings.plotOpt_rateErotic ?? 1.0,
|
||||
'sulv4': settings.plotOpt_rateCuckold ?? 1.0,
|
||||
};
|
||||
|
||||
let mainPrompt = settings.plotOpt_mainPrompt || '';
|
||||
let systemPrompt = settings.plotOpt_systemPrompt || '';
|
||||
|
||||
for (const key in replacements) {
|
||||
const value = replacements[key];
|
||||
const regex = new RegExp(key.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
|
||||
mainPrompt = mainPrompt.replace(regex, value);
|
||||
systemPrompt = systemPrompt.replace(regex, value);
|
||||
}
|
||||
// 【Phase 1 重构】sulv1-4 占位符替换迁入记忆块工作流。
|
||||
// 块定义见 core/memory-blocks/builtin-blocks.js,行为与旧硬编码字节级一致:
|
||||
// - 同一 context 内 Promise.all 并发执行 generator
|
||||
// - 模板批量替换,块只跑一次复用结果
|
||||
// - 后续新增占位符(含战斗系统)走 register({...}),此处零改动
|
||||
const { mainPrompt, systemPrompt } = await applyToTemplates(
|
||||
{
|
||||
mainPrompt: settings.plotOpt_mainPrompt || '',
|
||||
systemPrompt: settings.plotOpt_systemPrompt || '',
|
||||
},
|
||||
{ context: 'plotOptimization', settings },
|
||||
);
|
||||
|
||||
onProgress(getRandomText(['正在进行情感光谱分析...', '正在解析情绪波动频率...', '正在捕捉微表情信号...']), false);
|
||||
onProgress(getRandomText(['正在进行情感光谱分析...', '正在解析情绪波动频率...', '正在捕捉微表情信号...']), true);
|
||||
|
||||
Reference in New Issue
Block a user