Commit Graph

285 Commits

Author SHA1 Message Date
Youzini-afk
09d1af787b fix: 移除重复max_tokens参数避免API报错 2026-03-26 14:59:37 +08:00
Youzini-afk
5e8fd63722 ui: 功能开关改为滑动开关样式 2026-03-26 14:44:07 +08:00
Youzini-afk
754a3f3717 chore: 版本号升级1.0.0 + 作者Youzini 2026-03-26 14:41:38 +08:00
Youzini-afk
fb711b4783 ui: 面板支持拖拽缩放(resize:both) 2026-03-26 14:38:26 +08:00
Youzini-afk
c8dcefc83a ui: 推理努力度改为推理强度 2026-03-26 14:32:41 +08:00
Youzini-afk
c44640c046 ui: 编辑面板sticky跟随滚动 2026-03-26 14:30:00 +08:00
Youzini-afk
bf3c2a1851 ui: 外部来源builtin块显示只读提示而非编辑框 2026-03-26 14:26:59 +08:00
Youzini-afk
a26c2e7b49 feat: 默认预设增加4个builtin块(角色描述/用户设定/世界书前后) 2026-03-26 14:18:49 +08:00
Youzini-afk
d31c0325d3 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: 世界书引擎测试
2026-03-26 13:57:07 +08:00
Youzini-afk
2f9524d993 feat: 优化默认提示词(HARD GATE约束) + 扩展prompt变量(Phase1+2)
Phase 1: 重写 DEFAULT_TASK_BLOCKS 全部6个任务的 role/format/rules
- 统一应用 HARD GATE 约束段 + 常见错误负例
- compress/synopsis 增加自检清单
- 增强 JSON 稳定性约束

Phase 2: 扩展 prompt 内置变量
- 新建 st-context.js: 统一读取 ST 上下文
- 新增变量: charName/userName/charDescription/userPersona/currentTime
- 更新 extractor/retriever/compressor/consolidator 共6处调用端
- 更新 BUILTIN_BLOCK_DEFINITIONS 帮助文案(多轮对话指引)
2026-03-26 10:30:26 +08:00
Youzini-afk
0e590a6256 fix: 多项修复与优化 2026-03-26 02:09:18 +08:00
Youzini-afk
71011400d2 refactor: 正则阶段从 9 个细分简化为输入/输出两大类
- 9 个细粒度阶段 → 2 个:input(所有 prompt 阶段)、output(模型返回阶段)
- 默认值:enabled=true, input=true, output=true(全部打开)
- task-regex.js: shouldApplyRuleForStage 映射旧 stage 名到 input/output
- UI: 合并为单组「执行阶段」列表
2026-03-26 00:02:08 +08:00
Youzini-afk
ec63267475 feat: 默认开启认知边界和交叉检索 2026-03-25 23:51:37 +08:00
Youzini-afk
9fdf83abcf fix: 精简主动遗忘描述文案 2026-03-25 23:49:01 +08:00
Youzini-afk
9b90f5e5e2 fix: 修正主动遗忘开关描述文案
旧:周期性执行压缩与长期记忆清理
新:周期性清理低价值节点(归档)。压缩始终自动执行,无需此开关。
2026-03-25 23:47:44 +08:00
Youzini-afk
fad5c328a2 fix: 帮助图标仅用于内置块说明 + 丰富描述文本
- 移除块名称/角色/注入方式/块内容的通用帮助图标
- 在内置块详情头部添加 ? 图标,显示该 sourceKey 的详细说明
- 丰富 BUILTIN_BLOCK_DEFINITIONS 描述:说明注入内容、适用任务、使用场景
2026-03-25 23:44:02 +08:00
Youzini-afk
0fb5fb8bc3 feat: 块详情编辑器添加 ? 帮助图标
- 新增 bme-help-tip CSS 组件(glassmorphism 气泡,hover 显示)
- 参考 Evolution_World 的 EwHelpTip 风格
- 为块名称、角色、注入方式、内置来源、覆盖内容、块内容
  6 个字段添加说明提示
2026-03-25 23:37:13 +08:00
Youzini-afk
643637f2be fix: restore legacy prompt metadata init 2026-03-25 23:26:22 +08:00
Youzini-afk
54add7e2d9 feat: 默认预设拆块 — 兼容块 → 3 个语义化自定义块
## 核心改动
- prompt-profiles.js: 新增 DEFAULT_TASK_BLOCKS(6 任务 × 3 段)
  - 角色定义 / 输出格式 / 行为规则
- createDefaultTaskProfile: 生成 3 个 custom 块替代 1 个 legacyPrompt 块
- panel.js: DEFAULT_PROMPTS 改为从 DEFAULT_TASK_BLOCKS 派生
- 移除 add-legacy-block 按钮和 handler

## 兼容性
- prompt-builder.js 保留 legacyPrompt 处理分支(旧数据不会挂)
- DEFAULT_PROMPTS 保留合并文本供旧版配置回退
2026-03-25 23:04:16 +08:00
Youzini-afk
385ee3fa4f fix: 修复上移/下移不生效
根因: swap 后调用 _normalizeTaskBlocks → 内部 _sortTaskBlocks
按旧 order 值重排 → 撤销了 swap。改为直接 .map 重编号。
2026-03-25 22:42:41 +08:00
Youzini-afk
00486b88dc feat: 支持添加默认提示词(兼容块)
- prompt-profiles.js: 新增 createLegacyPromptBlock 导出
- panel.js: 新增 add-legacy-block 处理逻辑
- 工具栏新增 '+ 默认提示词' 按钮
2026-03-25 22:37:47 +08:00
Youzini-afk
4543900d68 fix: 所有块类型均可删除(含兼容块) 2026-03-25 22:31:39 +08:00
Youzini-afk
bc47dfd2e5 fix: 允许删除内置块,仅保护兼容块
- 删除按钮 disabled 条件从 non-custom 改为 legacyPrompt
- 后端守卫同步更新,内置块可删除,兼容块禁止删除
2026-03-25 22:27:52 +08:00
Youzini-afk
88f29c2321 fix: 修复兼容 prompt 默认值不显示
DEFAULT_PROMPTS 的值已经是 join 后的字符串而非数组,
之前错误地对字符串调用 .join() 导致返回 undefined。
改为直接引用 DEFAULT_PROMPTS[taskType] 即可。
2026-03-25 22:21:49 +08:00
Youzini-afk
6f7565681b fix: 兼容 prompt 块显示内置默认 prompt 内容
当 settings 和 block.content 都为空时,自动回退到
DEFAULT_PROMPTS[taskType] 显示默认 prompt 文本,
用户不再面对空白 textarea。
2026-03-25 22:13:17 +08:00
Youzini-afk
ded6831a13 fix: 最大上下文/补全 Tokens 默认改为不限制 2026-03-25 22:10:02 +08:00
Youzini-afk
108da804ef feat: Prompt 编排 + 正则 Tab 全面汉化
- 正则规则编辑器:
  - script_name→规则名称, find_regex→查找正则
  - replace_string→替换文本, trim_strings→裁剪字符串
  - min/max_depth→最小/最大深度
  - source→数据来源, destination→作用目标
  - user_input→用户输入, ai_output→AI 输出
  - prompt→Prompt 构建, display→界面展示
- 正则阶段 9 个 label 全部汉化
  - finalPrompt→最终 Prompt, rawResponse→原始返回 等
- Prompt 编排:
  - 内置块选项去掉 sourceKey 英文后缀
2026-03-25 22:03:54 +08:00
Youzini-afk
95b7074799 feat: 生成参数显示默认值
- 所有字段添加 defaultValue 定义
  - 基础: 上下文4096/补全2048/回复1/温度0.7/top_p=1
  - 惩罚: frequency/presence=0, repetition=1
  - 行为: 全部默认关闭
- 渲染时以 effectiveValue = value ?? defaultValue 代替空白
- 滑动条和数字输入首次进入即显示合理初始位置
2026-03-25 21:58:08 +08:00
Youzini-afk
34b0f7fcce feat: 生成参数全面汉化 + 滑动条改造
- 20 个字段标签全部中文化
  - 基础: 最大上下文/补全 Tokens、回复次数、流式输出、温度、种子等
  - 惩罚: 频率惩罚、存在惩罚、重复惩罚
  - 行为: 合并系统消息、推理努力度、请求思考过程、函数调用等
- 7 个连续参数改为滑动条 + 精确数字输入
  - temperature(0-2), top_p/top_a/min_p(0-1)
  - frequency/presence_penalty(-2~2), repetition_penalty(0-3)
- 双向同步: 拖动滑块自动更新数字输入及反向
- CSS: 自定义轨道/滑块/hover glow/紧凑数字框
2026-03-25 21:52:36 +08:00
Youzini-afk
6609f24e5d refactor: 深度重构任务预设编辑器 UI 布局
步骤 1: TASK_PROFILE_TABS 调序(生成参数→Prompt 编排→正则)
步骤 2: 预设头部卡片从 2 列 grid 改为堆叠 flex
  - 操作按钮分组(保存|导入导出|恢复默认)+ 分隔符
  - 恢复默认按钮 danger 样式
步骤 3: 生成参数 Tab 从 2 列卡片 grid 改为单列堆叠
  - 运行时说明改轻量 note 样式
步骤 4: Prompt 编排工具栏重组
  - 新增块按钮统一行内 + 分隔符
  - 简化内置块选项文字
  - 增加块数量显示
步骤 5: 正则 Tab 从 3 列 grid 改为 2 行响应式布局
  - 上方:复用配置 + 规则列表(2 列)
  - 下方:规则编辑器(全宽)
  - 应用阶段拆分为输入/输出两组
2026-03-25 21:40:33 +08:00
Youzini-afk
2e06d11151 fix: 修复任务预设编辑器按钮竖排布局崩坏
- 替换所有 menu_button (SillyTavern 原生 class,在 BME 面板内无样式)
  为 bme-config-secondary-btn (BME 自有按钮样式)
- 增强 bme-task-mini-btn 的 compact 尺寸
2026-03-25 20:56:10 +08:00
Youzini-afk
c10847793a feat: add task profile workspace 2026-03-25 20:02:29 +08:00
Youzini-afk
10b439842f fix: add advanced network settings collapse indicator 2026-03-25 16:51:26 +08:00
Youzini-afk
ade5f47d60 feat: add configurable timeout and advanced network settings 2026-03-25 15:52:54 +08:00
Youzini-afk
02fdac48e8 fix: 修复所有 abort() 不传 reason 导致的'signal is aborted without reason'提示
为 llm.js/embedding.js/vector-index.js/index.js 中所有
controller.abort() 添加具体原因:
- 超时: 'LLM 请求超时 (60s)' / 'Embedding 请求超时 (45s)'
- 信号传递: 转发原始 signal.reason
2026-03-25 15:22:56 +08:00
Youzini-afk
2e224faa61 feat: 为所有手动操作按钮添加 toast 通知(进行中/完成/失败) + 防重复点击 2026-03-25 15:17:11 +08:00
Youzini-afk
178fc7dd04 fix: 跳过楼层0(角色卡greeting)的记忆提取 2026-03-25 14:59:34 +08:00
Youzini-afk
f5a5608a12 perf: 记忆整合批量化 — 将 N 次 LLM 压缩为 1 次批量调用
- 重构 consolidator.js 为 4 阶段架构:
  Phase 0: 收集有效新节点
  Phase 1: 批量 Embed (直连 1 次 embedBatch / 后端逐次)
  Phase 2: 各节点查近邻 (直连本地 cosine / 后端逐次 query)
  Phase 3: 单次 LLM 批量判定 (统一 prompt 含所有新节点)
  Phase 4: 逐个处理结果

- 更新 panel.js DEFAULT_PROMPTS.consolidation 为 results 数组格式
- 直连模式: N embed + N LLM -> 1 embedBatch + 1 LLM (-67~75%)
- 后端模式: N query + N LLM -> N query + 1 LLM (-33~50%)
- 总体效果: 原始 6 LLM -> 2 LLM (2新节点场景)
2026-03-25 14:41:44 +08:00
Youzini-afk
1fc7570614 refactor: 合并精确对照+记忆进化为统一记忆整合模块 (consolidator.js) 2026-03-25 14:21:52 +08:00
Youzini-afk
84c64f01d5 fix: clamp deleted-floor recovery start 2026-03-25 13:28:14 +08:00
Youzini-afk
e90625f0d3 fix: 保存工作流结束时的最终状态 2026-03-25 13:20:12 +08:00
Youzini-afk
7bfe37e964 fix: 重构生成前注入与历史回滚链路 2026-03-25 02:45:43 +08:00
Youzini-afk
58c43d638b fix: 改回酒馆本体事件的生成前注入入口 2026-03-25 02:15:17 +08:00
Youzini-afk
801aeb2f12 fix: 修正终止按钮的通知时序 2026-03-25 01:56:57 +08:00
Youzini-afk
00b48aa724 fix: 延迟重检删除后的历史变动 2026-03-25 01:49:54 +08:00
Youzini-afk
8276aa1ff8 feat: 支持终止进行中的运行流程 2026-03-25 01:39:12 +08:00
Youzini-afk
cf067a4fcd feat: 增强运行阶段托管通知反馈 2026-03-25 01:22:46 +08:00
Youzini-afk
a3889297a4 fix: 删除楼层后立即执行历史恢复 2026-03-25 01:09:17 +08:00
Youzini-afk
a2f4170443 fix: 稳定召回前的用户输入捕获 2026-03-25 00:53:15 +08:00
Youzini-afk
4319fd2496 fix: 缩短事件节点图谱标签 2026-03-25 00:37:44 +08:00