Skip to content

恢复酒馆接口、补齐独立助手兼容与原生全局设定库 - #14

Open
Thinkirin wants to merge 2 commits into
eleckoi:mainfrom
Thinkirin:feature/tavern-native-compat
Open

Thinkirin wants to merge 2 commits into
eleckoi:mainfrom
Thinkirin:feature/tavern-native-compat

Conversation

@Thinkirin

@Thinkirin Thinkirin commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

改了什么

恢复作者 0.2.10 中前端卡所需的 SillyTavern 公共接口,并以 ElecKoi 原生服务独立实现 TavernHelper 同名兼容层。新增持久化全局设定库、整库/文件夹导入导出与合并发送,PC 和 Android 共用 Web 编辑器、Host 服务及兼容代码。

  • 恢复 SillyTavern 1.19.0 的 context、宏、Slash、正则及浏览器对象,保留其来源和 AGPL 许可证。助手兼容层没有引入 TavernHelper 实现源码或 NC 资源。
  • 为 Helper 137 个声明函数、iframe 24 个函数及 RawCharacter 8 个方法提供入口;这些范围与其他对象有重叠,不相加,也不以入口数宣称全部行为等价。
  • 接通原生 Session 的消息整批增删、重排、隐藏、候选回复、metadata、续写、分支和检查点恢复,保留工具调用/结果、reasoning、图片和稳定消息 ID。
  • 角色、Persona、预设、变量和世界书读写复用原生仓库。世界书正文存于全局/角色设定库,支持多库绑定、兼容字段与导入导出;变量 schema 接入真实编辑器,插件代码写入不受 schema 限制。
  • 实现共享 JS 对象、事件、注册宏、动态工具与 Prompt 收集。生成配置监听可修改实际请求,支持独立生成的流式正文、思考、签名、工具回调及取消,主聊天继续通过原生 Agent。
  • 接通完整预设 Prompt 顺序、角色/示例、作者注释、深度、角色和顺序锚点;Outlet 只在最终请求展开一次,不修改历史,不拆开 Agent 的工具调用/结果链。
  • 世界书扫描支持关键词/正则、次级逻辑、概率、递归、分组、计时状态、向量触发、可修改扫描事件及有限预算。每次扫描固定模型与 tokenizer;远端计数按正文去重、失败重试,取消传至实际请求。
  • 补齐群聊、DataBank 文档/分块/embedding/检索、扩展安装来源和版本、可配置 TTS、网络、ComfyUI/媒体 provider 与 YouTube 服务。图片和视频进入原生媒体库,视频支持流式导入、取消清理、重启恢复和分段读取。
  • 共享 browser/Host tokenizer 服务提供 OpenAI 编码及 Mistral、Qwen2、Yi、Jamba、Nemo、历史 Claude 资源,保留各自来源/许可;Kobold/text-generation-webui 使用实际远端接口,ST 同步调用保持同步返回。
  • 全局设定库在聊天右上角提供常驻入口,沿用编辑器、版本和会话分支。支持整库/递归文件夹导入导出、文件夹合并发送和跨文件夹手选组合,仅合并本轮启用且命中的条目。

架构与数据

  • Host/Client 沿用生成的 Typert Remote,数据库、文件、模型、网络及媒体由原生宿主提供。JS 回调、工具与共享对象留在 Web 运行环境中。
  • 世界书正文继续使用原生设定库,兼容扫描结果投影到 Agent 回合;没有另建一份世界书正文数据库。
  • 保留 v11→v12 全局设定库迁移;新增 v12→v13 DataBank 迁移,当前 SQLite 为 48 表/2 视图。索引只存文档、分块、向量及引用信息。
  • 前端卡、脚本和独立 HTML 共用状态并按生命周期清理;异步任务绑定启动会话。
  • PR 只包含生产代码、必需资源、来源和许可证。本地测试、夹具、报告、迁移记录、截图和预览包不提交。

验证

  • product-data、product-api Host/Typert/Client、Author、HTML/native 资源、共同 Web、PC 主程序/preload/renderer、desktop-host 和 android-host 构建通过;生产 Node 和共同 Web 严格类型检查通过。
  • 消息/Session 相邻回归 32 项、动态工具与 Prompt 通道、世界书事件/向量/计时、群聊、资料转移、变量 schema 编辑器及 SDK 类型分别完成集中验证;没有将重跑计为新增接口。
  • 新 Prompt/扫描相邻组 17/17 通过;辅助生成 Outlet 6/6 子检查通过;异步世界书预算 6/6 通过并执行 10 次 localhost HTTP。
  • 新词表 shared/Host 48 个断言通过,既有 tokenizer 组 108 个编码/计数/解码断言通过。实际 PC Host 的 tokenizer 选择保存、拒绝错误选择及完整重启恢复 4 项通过。
  • 远端分词 adapter 和原生网络分别执行 4 次/7 次真实 localhost HTTP。Electron 44/Chromium 152 加载生产 bundle,通过同步计数、两种编码、错误传播和本地路径检查;该浏览器组的 RPC 响应由测试服务提供。
  • 视频正式 PC Host+Remote+profile Settings 6/6 通过,包含重启恢复;Android 生产媒体 handler 的 MIME/Range/HEAD/416/401 33/33 通过。
  • DataBank 8/8、群聊/导航/Slash 10/10、可配置 TTS 6/6、媒体/网络 provider 6/6 等组通过。使用确定性本地服务,不把它们称为付费模型或物理 Android 验收。
  • 全局设定库另有持久化/迁移/版本/分支隔离 11 项、导入导出 5 项、合并发送 5 项,以及正式 Host 的实际模型请求载荷验证。

明确差异与未验收边界

  • Agent 每回合开始前冻结扫描与宏副作用,工具 step 不重新扫描;跨 Remote 事件不保留 JS 对象引用身份。
  • LLAMA/LLAMA3/Gemma/DeepSeek 等专用词表未默认打包,可注册真实用户词表,缺失明确报错。历史 Claude 词表不代表当前 Claude 精确计数;远端 tokenizer 没有公共 decode 接口。
  • ComfyUI 取消只处理当前请求/队列,不全局打断共享服务器。
  • 本批没有新 APK/EXE 安装或物理 Android 验收;全部 provider、真扬声器/GPU/视频解码、外网 YouTube 等边界尚未全部验证。
  • 不承诺任意依赖 ST 内部模块、服务器路由或原站 DOM 的扩展直接安装即运行;入口完整与全面行为等价分别统计。

@Thinkirin Thinkirin changed the title 恢复酒馆兼容并新增全局设定库、导入导出与合并发送 恢复酒馆接口、补齐独立助手兼容与原生全局设定库 Oct 14, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant