github Darkatse/TauriTavern v2.3.0

7 hours ago

TauriTavern 2.3.0 更新日志

MCP 管理器

  • 添加了 MCP 连接功能的完整实现,支持现代标准的 MCP 协议。
  • MCP 支持 SillyTavern 旧工具调用格式,无需打开 Agent 也可以使用。
    • 当然,Agent 也是支持 MCP 的。
  • 当前默认会添加一个 Exa 搜索 MCP,启用后无需任何操作即可进行网络搜索。
  • 为了避免搜索结果影响后续剧情,建议预设页面启用剥离旧函数调用选项。
  • 当前为 SillyTavern 前端旧工具调用结果引入了一等角色 {role: tool},请注意扩展开发时的兼容性问题。

SKILLS

  • 新增 skill.run_script 工具,允许Agent 在 QuickJS 沙箱引擎运行 skill 脚本,感谢@lovewormcn到贡献!
  • 当前允许在 SKILL 中新建 scripts/ 文件夹,在受限沙箱中运行 Javascript 脚本。
  • 支持在 scripts/ 文件夹中使用 import 引入其他ESM脚本,若需要请务必将依赖进行打包。沙箱内无 node_modules,无法直接使用 npm 包。
  • 脚本可以访问 Agent 工作区文件并进行读写,也可以获取世界书、SillyTavern变量、SillyTavern宏等信息。
  • 现在可以在一个 ZIP 压缩包中打包多个 SKILL 并进行导入。
  • Javascript 运行环境内置了6个单文件 ESM 库开箱即用(marked / dayjs / es-toolkit / slugify / fast-xml-parser / papaparse)
  • 请参考 SKILLS 设计文档 获取更多信息
  • 更改预告:计划在未来版本将 skill.read, skill.search 等工具合并到 wokrspace 工具中,减少工具数量并简化使用。Javascript 脚本也扩展到整个 Agent 工作区使用,方便 Agent 进行 CodeAct。请在届时注意进行系统提示词调整。

Agent 系统

  • 引入 Agent 流式输出支持,可以在 Agent 时间线中实时查看 Agent 的输出。
    • 需要在 Agent 配置中启用流式输出选项。
  • 现在无论流式/非流,均会在Agent写入文件后及时呈现到消息正文中,避免等待时间过长。
  • 现在 Agent 运行中断后可以断点续连继续运行。
  • 现在找不到上文的 persist-state 状态时,可以选择从空状态开始运行。
  • 现在对剧情不满意时,可以使用 /fix 你对剧情的修改意见 来让 Agent 重新修改剧情。
    • /fix 也可以在 SillyTavern 传统模式中进行使用,不局限于 Agent 模式。
  • 引入了 SillyTavern 宏解析,现在 Agent 读取的文件中的 SillyTavern 宏都会被正确解析,包括 SKILLS。

Sync 同步

  • 添加局域网发现和设备直连配对,配对体验更好
  • 重构了 Sync 同步面板,优化体验。
  • 配对时可显示对方设备的平台。
  • 从SillyTavern的核心设置中拆分了 主题与外观、当前预设、当前布局、用户设定等独立设置项,允许单独同步。

性能优化与体验优化

  • 优化了数据迁移的导入导出速度
  • 优化了预设页面的卡顿,尤其是条目较多时
  • 优化了大型聊天记录打开时的速度
  • 优化了聊天记录保存的性能
  • 优化了正则的性能,尤其是带标签大型文本的正则匹配
  • 重构了预设页面的请求参数面板,提升体验。感谢 @gaogao-gao 的贡献!
  • 添加了可选的 CodeMirror 编辑器,默认开启,优化长文本下的编辑体验
  • 现在可以选择不加载之前楼层的滑动聊天记录 (Swipes),可以大幅提升聊天加载性能。
  • 现在 TauriTavern 设置中可将 前端/后端日志面板/同步面板/LLM Log 面板添加到魔法棒中,以便快捷访问。默认添加了同步面板。
  • 为 Claude Message 兼容/OpenAI Response 兼容增加了联网搜索开关,具体支持与否取决于填入的API是否支持。
  • 添加可选的 TTFT、生成速度和缓存命中率
  • 添加了 OLED 纯黑背景支持

功能增强与修复

  • 将 iOS 最低支持版本降低到 iOS 15.0。请注意,完整支持依旧是 iOS 16.4 及以上版本。
  • 为 iOS/macOS 开启 120Hz+ 刷新率支持,提升滚动体验。
  • 引入了 TriviumDB 0.8.8 数据库 API,支持 向量、图关系、文本索引和 TQL。请参考 Database API 获取更多信息。感谢 @YoKONCy 的贡献!
  • Android/iOS 端增强了一点后台保活能力
  • 实现了所有 SillyTavern 内置扩展功能 (但并非所有API都可用)
  • 支持 GPT 6 Astra/Claude 5.1 Fable/DeepSeek V4.1 Flash/Gemini 3.7 Flash/Gemini 3.8 Flash 等等新模型。
  • 添加了 OpenCode 渠道支持
  • 修复了导入角色卡时偶发导入失败问题
  • 修复了iOS导出数据时压缩包名字的问题
  • 修复了三参数 getWorldInfoPrompt 兼容性问题
  • 修复了 SSRF 风险,当前连接自定义端点需要手动进行信任审批
  • 修复了 前端面板冻结 功能在兼容模式下实际未启用的问题
    • 注:若更新后遇到了神秘问题,请尝试关闭 前端面板冻结 功能。

开发

  • 升级到 Tauri v2.11.5 版本
  • 将第一方内置扩展迁移到 React
  • DEBUG 版本安装包开放了 Tauri Pilot 功能,允许AI Agent 直接进行调试
  • 对不必要的测试进行删除,以符合我们的测试哲学。

Release Notes

MCP Manager

  • Added full MCP connection support using the current MCP protocol.
  • MCP works with SillyTavern's legacy tool-calling format, so it can be used without enabling Agent mode.
    • Agent mode also supports MCP.
  • An Exa search MCP server is included by default. Enable it to use web search; no further setup is needed.
  • We recommend enabling Strip old function call results in the preset settings to keep earlier search results from influencing the story later on.
  • Results from SillyTavern's legacy tool calls now use {role: tool} messages. Extension developers should check compatibility with this change.

Skills

  • Added skill.run_script, which lets Agents run skill scripts in a QuickJS sandbox. Thanks to @lovewormcn for the contribution.
  • Skills can now include a scripts/ directory for JavaScript files that run in the sandbox.
  • Scripts in scripts/ can use import to load other ESM files. Bundle any dependencies you need: the sandbox has no node_modules directory and cannot use npm packages directly.
  • Scripts can read and write Agent workspace files and access world info, SillyTavern variables, and SillyTavern macros.
  • Multiple skills can now be imported from a single ZIP archive.
  • The JavaScript runtime includes six libraries as single-file ESM modules: marked, dayjs, es-toolkit, slugify, fast-xml-parser, and papaparse.
  • See the Skills design documentation for details.
  • Planned changes: we intend to merge tools such as skill.read and skill.search into the workspace tools to reduce the tool count and simplify their use. JavaScript execution is also planned for the wider Agent workspace to support CodeAct. Please update your system prompts accordingly when these changes arrive.

Agent System

  • Added streaming output, so you can follow an Agent's output as it arrives in the Agent timeline.
    • Enable Streaming in the Agent configuration to use it.
  • Agent output now appears in the chat message promptly after file writes, in both streaming and non-streaming runs.
  • Interrupted Agent runs can now be resumed.
  • If a previous persist-state is missing, you can choose to start with an empty state.
  • Use /fix your revision instructions to ask the Agent to revise a story response.
    • /fix also works in SillyTavern's traditional mode, without Agent mode.
  • Agent file reads now resolve SillyTavern macros, including those in skills.

Sync

  • Added local network discovery and direct device pairing to simplify setup.
  • Reworked the Sync panel to make it easier to use.
  • Pairing now shows the other device's platform.
  • Appearance and themes, current presets, current layout, and personas have been separated from SillyTavern's core settings and can be synced independently.

Performance and Usability

  • Improved data migration import and export speed.
  • Reduced lag in the preset panel, especially with many entries.
  • Improved loading speed for large chat histories.
  • Improved chat saving performance.
  • Improved regex performance, especially when matching large texts containing tags.
  • Reworked the request parameter controls in the preset panel. Thanks to @gaogao-gao for the contribution.
  • Added an optional CodeMirror editor, enabled by default, to improve editing of long texts.
  • Added an option to skip loading swipes for earlier messages, reducing chat loading time.
  • TauriTavern settings now let you add shortcuts for Frontend Logs, Backend Logs, Sync, and LLM API Logs to the magic wand menu. The Sync shortcut is enabled by default.
  • Added web search toggles for custom endpoints compatible with Claude Messages or OpenAI Responses. Availability depends on whether the configured API supports web search.
  • Added optional displays for time to first token (TTFT), generation speed, and prompt cache hit rate.
  • Added an OLED pure black background option.

Features and Fixes

  • Lowered the minimum iOS version to 15.0. Full support still requires iOS 16.4 or later.
  • Enabled support for refresh rates of 120 Hz and above on iOS and macOS for smoother scrolling.
  • Added the TriviumDB 0.8.8 database API, with support for vectors, graph relationships, text indexing, and TQL. See the Database API documentation for details. Thanks to @YoKONCy for the contribution.
  • Improved background keep-alive behavior on Android and iOS.
  • Added support for all built-in SillyTavern extensions, though not every API is available.
  • Added support for newer models, including GPT 6 Astra, Claude 5.1 Fable, DeepSeek V4.1 Flash, Gemini 3.7 Flash, and Gemini 3.8 Flash.
  • Added support for the OpenCode provider.
  • Fixed occasional failures when importing character cards.
  • Fixed archive filenames when exporting data on iOS.
  • Fixed compatibility with the three-argument form of getWorldInfoPrompt.
  • Addressed an SSRF risk. Connections to custom endpoints now require explicit trust approval.
  • Fixed Panel Runtime not taking effect in compatibility mode.
    • If you notice unexpected behavior after updating, try disabling Panel Runtime.

Development

  • Updated to Tauri v2.11.5.
  • Migrated first-party built-in extensions to React.
  • Enabled Tauri Pilot in debug builds so AI agents can debug the app directly.
  • Removed unnecessary tests in line with the project's testing principles.

What's Changed

  • Merge recent dev changes into main by @Darkatse in #161
  • Add Homebrew Installation and Refactor AgentToolSpec by @Darkatse in #167
  • docs(readme): highlight daily Canary updates by @Darkatse in #174
  • feat(release): 支持 WinGet 发布 by @Darkatse in #175
  • fix: upgrade lodash-es to 4.18.1 (CVE-2026-4800) by @anupamme in #182
  • perf(chat): scope swipe and tag refresh to the appended message by @RebootFlume in #189
  • fix(skill-manager): 修复导入 Skill 后 UI 卡死、按钮变灰无法点击的问题 by @lovewormcn in #194
  • 新增 skill.run_script 工具:QuickJS 沙箱引擎运行 skill 脚本 by @lovewormcn in #187
  • fix(openai): forward reasoning_effort for custom endpoints #199 by @Illustar0 in #201
  • fix(ui): 中文输入法上屏的回车不再触发发送(WebKit 事件倒序) by @cwy433-png in #208
  • fix(chat): prevent stale iframe recovery in embedded runtimes by @kazumaawawa in #218
  • fix(routes, uploads): replace instanceof checks with duck typing for cross-realm extension payloads by @restartxx in #225
  • feat(quickjs): 让QuickJS能通过context.macro访问预制宏,并引入lastMessageId by @lovewormcn in #209
  • fix(dev): stop fs.watch last-access noise from looping page reloads on Windows by @gaogao-gao in #229
  • fix(chat): isolate iframe cold recovery from message updates by @kazumaawawa in #231
  • 优化UI布局,可编辑与删减;增加 Gemini 老格式自定义兼容 by @gaogao-gao in #240
  • fix(openai): guard Vertex AI model select against startup race by @ftttank in #241
  • ci: enable PR target-branch policy by @Darkatse in #242
  • ci: post branch guidance before closing pull requests by @Darkatse in #243
  • fix(windows): restore character card drag-and-drop import by @kazumaawawa in #248
  • fix(settings): 设置文件损坏时隔离并重建默认值,避免无法启动 (#205) by @Theater-ahyeon in #226
  • fix(skills): discover nested imports in folders and archives 增强 skills 导入功能 by @xnshf in #233
  • fix(deepseek-flash): Custom/OpenCode 兼容源对齐 DeepSeek V4 官方渠道语义,修复工具调用失败 by @lovewormcn in #262
  • feat: 集成 TriviumDB 作为扩展插件的智能数据库 API by @YoKONCy in #17
  • Bump version to 2.3.0 by @Darkatse in #266

New Contributors

Full Changelog: v2.2.0...v2.3.0

Don't miss a new TauriTavern release

NewReleases is sending notifications on new releases.