Skip to content

v1.5.1

Latest

Choose a tag to compare

@Komeiji-Shiki Komeiji-Shiki released this 11 Aug 12:09
· 47 commits to main since this release

Added

  • 子代理渠道策略:新增逐代理「与当前模型同步」(syncWithCurrentModel)开关——勾选后该子代理忽略自身固定的渠道/模型,派发前统一改用当前会话渠道与模型(channelConfigId + channelModelId),与 General Worker 继承口径一致,渠道切换(备用 key/新供应商)时无需逐个修改子代理;无活动渠道时拒绝派发并返回明确错误;勾选后渠道/模型下拉禁用并显示激活提示;旧「强制使用当前渠道」全局开关已废弃,启动时自动一次性迁移为逐代理配置(幂等,显式 false 的代理保持固定渠道),新 UI 不再提供全局入口。
  • fast-tavern 子项目:实现 build 模块(H1)——buildPrompt/buildPromptFromSillyTavern 重构(阶段视图/深度注入/worldbook 静态条目排序/视图过滤),替换插值转义(H7)与正则/数值边界加固;TS 与 Python 双实现同步更新。
  • 启动预加载渠道设置:新增 frontend/src/services/channelConfigCache.ts 预加载缓存模块——App.vue 启动时(开屏动画期间)fire-and-forget 触发 preloadChannelConfigs()(幂等、在途请求复用、30s 超时、代际作废、逐条容错、resetChannelConfigsCache 测试隔离);ChannelSettings 挂载命中缓存直接采用、缓存为 null 时同挂载兜底重试,渠道设置页首开延迟被开屏动画隐藏。
  • 通知系统-声音提示新增「子代理(SubAgent)提示音独立控制」:事件类型分区为「主代理 / 子代理」两组开关(警告、错误、任务完成、任务失败各四档,互不干扰,旧设置自动回退默认开启);后台子代理任务(taskEvent)、子代理工具状态(streamChunk)、SubAgent Monitor 的 run 完成/失败/重试事件均按子代理开关门控,Monitor 面板补齐窗口焦点推送与音频解锁 hooks,与主窗口同一套「失焦才播」规则。
  • 聊天输入框新增高度调整手柄:可向上/向下拖动以扩展超长内容的编辑空间,支持方向键微调,双击或按 Home 恢复按内容自动伸缩;手动高度限制在当前 Webview 可视区域内,并保留内部滚动与光标跟随。
  • 关闭开屏动画时新增主题自适应的「石墨蚀刻光场」启动占位:以宿主编辑器背景、侧栏、浮层与前景色变量生成银黑/雾白灰阶渐变,叠加宽幅棱面、椭圆折射层和极淡拉丝纹理;中心光环低频呼吸并轻微偏转,斜向交界的灰银反光周期性掠过,明确表示仍在加载,同时不复刻正式 Splash 的 Logo 演出;不含 logo、文字或传统转圈图标,prefers-reduced-motion 下恢复静态画面。扩展生成 Webview HTML 时同步读取开屏偏好,关闭态从首帧立即显示并持续至主界面初始化结束。

Changed

  • plan/design/review 模式现可使用记忆指令(memory_wake/note/recall/compress/zoom/forget/config):三个内置模式的 toolPolicy allowlist 统一追加 MEMORY_TOOL_NAMES,且各自系统提示词模板补充 {{$MEMORY}} 区块(记忆开关关闭时该区块自动留空,与 code 模式行为一致);ask 模式保持纯问答只读定位,不授予记忆指令。前端「恢复默认模板」的 design/plan 模板同步补充 {{$MEMORY}} 占位符。
  • 移除首次启动自动预置的默认 Gemini 渠道(此前扩展激活时无条件创建 gemini-pro 渠道,含占位 API Key,易让用户误以为开箱即用)。现在首次打开显示「无渠道」空态,引导用户新建渠道并填写 API Key;设置页允许删除全部渠道(不再强制「至少保留一个」),删除当前聊天会话正在使用的渠道后自动切换到剩余渠道、删光则回到无渠道空态。
  • 切换渠道类型时保留自定义 API URL 与 API Key(API Key 此前已保留;自定义端点如中转站/代理对多种类型通用,无需重写);若旧 URL 只是旧类型的默认端点(用户未自定义),则跟随新类型默认端点,避免残留旧默认值。模型列表、高级选项等类型特有字段仍重置为新类型默认值;相关确认框与提示文案同步更新。
  • 移除「工具确认批注」功能:点击工具卡片的确认/拒绝按钮不再读取输入栏内容作为批注——此前输入栏有文字时点击「执行/确认」会把未发送的文字自动作为用户消息发出(插入聊天流、清空输入栏并随 toolConfirmation 发送),且前端本地乐观插入的批注消息 backendIndex 与后端真实索引错位(被拒工具的 functionResponse 插在其前),删除该消息时命中 MESSAGE_CHANGED。现在点击确认/拒绝只提交工具决策;用户在有待确认工具时发送消息改为「中断当前回合」语义:App.vue handleSendcancelStreamAndRejectTools(拒绝待确认工具、本地与后端同步插入 functionResponse 占位、结束当前回合),再走正常 sendMessage 把文字作为新回合发出,不再有本地索引猜测。后端同步移除 annotation/annotationMessageId 契约字段。