From 342a9a7fa6a3d645c28ee669d1d13aef0f7547c9 Mon Sep 17 00:00:00 2001 From: bielie Date: Wed, 25 Feb 2026 11:33:20 +0800 Subject: [PATCH] Fix ena planner undo-save freeze and autosave edge cases --- modules/ena-planner/ena-planner.html | 1639 +++++++++++++++++--------- 1 file changed, 1052 insertions(+), 587 deletions(-) diff --git a/modules/ena-planner/ena-planner.html b/modules/ena-planner/ena-planner.html index 2200503..e1936de 100644 --- a/modules/ena-planner/ena-planner.html +++ b/modules/ena-planner/ena-planner.html @@ -1,653 +1,1118 @@ - - + + + - + + + Ena Planner - + + + -
-
- Ena Planner - Disabled -
+
-
-
General
-
API
-
Prompt
-
Debug
-
Logs
-
- -
-
-
-
- - -
-
- - -
+ +
+ - -
-
- - -
-
- - -
+
+ + 未启用
- -
-
- - -
-
- - -
+
+ + 就绪
+
+ +
-
-
- - +
+ +
+ + + + + + -
-
- - + +
+ + +
+
+

快速开始

+

Ena Planner 在你发送消息前,自动调用独立 LLM 规划剧情走向

+
+ +
+ +
+ 工作流程:你点击发送 → 拦截 → 收集上下文(角色卡、世界书、摘要、历史 plot、最近 AI 回复) + → 发给规划 LLM → 提取 <plot> 和 <note> → 追加到你的输入 → 放行发送 +
+
+ +
+
基本设置
+
+
+ + +

开启后,每次发送消息前会先调用规划 LLM,将 <plot> 和 <note> 追加到你的输入中

+
+
+ + +

如果你的输入中已经手写了 <plot> 标签,则跳过自动规划

+
+
+
+ +
+
快速测试
+
+ + +
+
+ +
+
+
-
- - + + +
+
+

API 配置

+

规划器使用独立的 LLM 渠道,与酒馆主 API 分开

+
+ +
+
连接设置
+
+
+ + +
+
+ + +

自动模式下 OpenAI 用 /v1,Gemini 用 /v1beta

+
+
+
+ + +
+ +
+
+ +
+ + +
+
+
+ + +
+
+ + +
+ + +
+
+
+ +
+
生成参数
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
-
+ + +
+
+

提示词设计

+

配置发给规划 LLM 的提示词块,控制它如何规划剧情

+
+ +
+ +
+ 提示词块按顺序组装成消息发给规划 LLM。系统会自动在提示词之后注入:角色卡、世界书、剧情摘要、聊天历史、向量召回、历史 plot、用户输入。 + 你只需要在这里写"规划指令",告诉 LLM 如何输出 <plot> 和 <note>。 +
+
+ +
+
模板管理
+
+
+ + +
+
+
+ + + +
+
+
+ + +
+ +
+
提示词块
+
+ +
+ + +
+
+
+ + +
+
+

上下文收集

+

控制规划器能"看到"哪些信息,影响规划质量

+
+ +
+
世界书
+
+
+ + +

默认只读角色卡绑定的世界书。开启后额外读取全局世界书

+
+
+ + +

世界书中 position=4(按深度插入聊天)的条目通常是运行时机制,对规划意义不大

+
+
+
+ + +

条目标题包含这些关键词的会被跳过

+
+
+ +
+
聊天历史
+
+ + +

读取 AI 回复时,这些 XML 标签及其内容会被剥离,避免游戏机制标签干扰规划

+
+
+ +
+
历史规划
+
+ + +

从聊天中提取最近的 <plot> 块,让规划器了解前情走向

+
+
+
+ + +
+
+

调试与日志

+

诊断问题和查看规划历史

+
+ +
+
诊断工具
+
+ + + +
+

+          
+ +
+
日志设置
+
+
+ + +
+
+ + +
+
+
+ +
+
日志列表
+
+ + + +
+
+
暂无日志
+
+
+
+ +
-
-
-
-
-
- - + + -
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
- -
- - -
-
Models preview: Not loaded
-
-
-
-
-
- - -
-
-
- - - -
+ + // ═══════════════════════════════════════════ + // Init + // ═══════════════════════════════════════════════════════════════════════════ + + bindEvents(); + post('xb-ena:ready'); + - +