mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-06 11:35:50 +00:00
dev
### 新功能
- **Function Call 填表**:
- FC 首次请求时对 DeepSeek 系模型自动附加 `thinking: { type: "disabled" }`,避免思考模式与 tool_choice 冲突
- 操作列表为空时在日志面板输出原始响应 JSON,便于区分"AI 判断无需变更"、"格式校验全部不通过"和"JSON 解析失败"三种情况
### 修复
- **剧情优化**:移除剧情优化页面遗留的 Jqyh 直连配置字段(URL / Key / Model),统一走 API 连接配置功能分配槽位
- **表格**:
- 补全 `batch-filling-threshold` 批处理阈值的持久化绑定(页面刷新后不再还原为默认值 30)
- 修复分步填表并发锁与 async/await 时序问题
- 修复外层多余 `try...finally` 导致的插件加载报错
- **Rerank**:
- 修复选择连接配置后报"API Key 未配置"的问题(`apiMode` 现从设置读取而非硬编码 `custom`)
- 补全 `hly-rerank-api-mode` 加载绑定及默认值
- **翰林院 RAG**:补全 `priorityRetrieval.sources` 各来源条目的缺失键,修复设置面板回填 TypeError
- **二次填表**:
- 修复 `secondary-filler.js` 把哈希/重试次数写入非持久化的 `msg.metadata` 字段(ST 标准位是 `msg.extra`),导致刷新后去重与重试计数失效
- 修复扫描深度重复计入 `bufferSize`(`contextLimit + buffer + batch + redundancy` → `contextLimit + batch + redundancy`),避免越过预期窗口
- SWIPED 事件改走扫描路径,不再用 `targetMessage` bypass 强填最末条,`保留缓冲区(bufferSize)` 设置在滑动场景下正确生效(手动"回退重填"按钮仍保留 bypass,意图明确)
- 修复 FC(Function Call)路径下成功填表与"AI 判断无需修改"两种结果均未写回 `amily2_process_hash` 与 `saveChat()` 的问题——之前导致 FC 模式去重完全失效,最旧的未处理楼层会被每次扫描重复发给 AI;现统一回写路径为 `markTargetsProcessed`
- FC 空操作时同步输出原始响应 JSON 到控制台(与批量回填日志面板保持一致),便于区分"无需变更"/"格式校验失败"/"JSON 解析失败"
- 修复 `fillWithSecondaryApi` 入口处过早设置 `secondaryFillerRunning = true`,导致防抖/总开关关闭/聊天过短/非分步模式/系统瘫痪五条早返路径均不解锁的死锁问题(特别是防抖路径——锁住后 setTimeout 回调撞上自己的锁,永久跳过后续触发)。锁的获取已挪到所有早返检查之后、`try` 块之前
- **填表设置面板**:新增"手动解除填表锁"按钮(位于触发延迟下方),用于兜底应急——若仍遇到"分步填表正在进行中,跳过本次触发"反复刷屏,可手动点击释放
- **API 调用层全面支持 AbortController**(`callAI` / `callAIForTools` / `callNccsAI` 及其全部下游 provider):
- 新增 `options.signal` 透传,OpenAI 兼容 / OpenAI(测试) / Google 直连 / ST 后端 / FC 等所有 `fetch` 调用均接受 `AbortSignal`
- `callSillyTavernBackend` 由 `$.ajax` 改写为 `fetch`,以原生支持 signal
- `callSillyTavernPreset` / `callNccsSillyTavernPreset` 通过 `raceAgainstSignal` 兜底,外部不可终止的 `ConnectionManagerRequestService.sendRequest` 也能在 signal 触发时即时返回 AbortError
- 全部 catch 块识别 `AbortError`,rethrow 而不弹错误 toast;FC 重试逻辑识别中断后跳过重试
- **填表设置面板**:在"手动解除填表锁"旁新增"强制中断当前填表"按钮——通过 AbortController 真正掐断 fetch 连接(fetch 立即抛错),结果会被丢弃,不会污染表格 / hash / `saveChat`
Amily2号聊天优化助手 (ST-Amily2-Chat-Optimisation)
欢迎使用 Amily2号聊天优化助手!这是一个为 SillyTavern (酒馆) 量身打造的综合性增强插件,旨在通过全方位的智能化功能,为您带来更连贯、更沉浸、更具深度的角色扮演体验。
本插件集成了多项创新功能,让您的 AI 角色不仅拥有“超强记忆”,还能随着剧情发展不断成长。
💡 推荐阅读:记忆管理系统使用教程
这是由繁华与可乐老师设计的进阶记忆方案,在记忆细节(如心动瞬间、誓言)上表现优异,强烈推荐阅读!
🌟 核心功能亮点
1. 📖 动态角色档案 (Character World Book)
告别千篇一律的角色卡!插件会在聊天过程中,自动感知角色的性格变化、经历过的重要事件以及当前状态,并实时更新到角色的档案中。
- 自动记录:无需手动编辑,AI 会自动为您维护角色的最新设定。
- 即时更新:角色的每一次成长和变化都会被记录下来,确保长期聊天的一致性。
- 数据驱动:为未来的复杂互动(如关系网分析)打下坚实基础。
2. 📊 智能表格系统 (Table System)
这是插件的数据基石,赋予 AI 像 RPG 游戏一样的状态追踪能力。
- 结构化管理:以表格形式精确记录物品栏、任务日志、当前时间、地点等关键信息。
- 自主更新:AI 能够理解剧情并自动对表格数据进行增删改查,无需人工干预。
- 多模式填表:支持“分步填表”和“批量填表”,利用独立 API 处理数据,准确高效且不污染主对话。
3. 🧠 超级记忆系统 (Super Memory)
基于表格系统的数据,让 AI 拥有过目不忘的能力。
- 万物皆可记:将表格中的物品、任务、线索等信息转化为世界书条目,被清晰地记录在案。
- 智能检索:AI 会在需要时自动回忆起相关信息,不再出现“吃书”或遗忘关键设定的情况。
- 时光倒流:支持在回退聊天时自动恢复记忆状态,确保记忆与剧情进度一致。
4. 🕸️ 人物关系图谱 (Relationship Graph)
不仅仅是文字,我们让 AI “看见”关系。
- 关系可视化:通过直观的图谱展示角色之间错综复杂的社交网络。
- 深度理解:帮助 AI 更好地理解人物之间的亲疏远近和爱恨情仇,做出更符合逻辑的互动。
- 图谱增强检索 (Graph RAG):利用图谱结构增强 AI 的上下文理解能力。
5. ✍️ 文本与剧情优化
让每一次对话都如小说般精彩。
- 回复增强:智能分析并提升 AI 回复的文笔和逻辑,提供更高质量的阅读体验。
- 即时优化:在 AI 生成回复后,自动提取核心内容并进行润色。
6. 📚 翰林院 (RAG 知识库)
强大的检索增强生成系统,让 AI 能够利用海量的外部知识。
- 忆识宝库:将聊天记录、手动输入的文本或世界书条目转化为向量数据,存入“忆识宝库”。
- 精准检索:在聊天时自动检索宝库中最相关的内容,注入到提示词中,让角色“记起”相关信息。
- 忆识精炼 (Rerank):对初步检索结果进行二次排序,选出最相关的几条,提高知识注入的精准度。
7. 📜 国史馆 (Historiographer)
负责长篇内容处理的超级模块。
- 自动总结:在后台默默记录剧情发展,生成精炼的摘要。
- 世界书精炼:自动整理和优化世界书条目,保持记忆库的整洁和高效。
8. 📝 密折司 (Prompt Inspector)
强大的提示词实时审查与编辑工具。
- 最后一道防线:在 AI 生成请求发送前的“最后一刻”拦截并审查提示词。
- 御笔亲批:允许用户直接修改最终发送给 AI 的提示词,确保一切尽在掌握。
9. 🌍 世界书编辑器 (World Editor)
功能强大的表格化世界书管理工具。
- 高效管理:提供类似 Excel 的界面,支持批量编辑、复制、删除等操作。
- 高级视图:支持按关键词搜索、排序和过滤,轻松管理庞大的设定集。
10. 📖 术语表与小说处理 (Glossary)
- 小说导入:支持上传小说文本,自动分块并生成剧情摘要和结构化数据。
- 世界书重组:智能合并和整理分散的世界书条目。
11. 🎨 沉浸式 UI 体验
- 动态面板:支持在聊天气泡中直接显示状态栏、日历等动态内容,增强游戏的代入感。
- 便捷操作:提供悬浮窗和快捷指令,让您随时随地掌控全局。
- 优化前文查看器:直观展示剧情优化前后的文本差异。
12. ⚙️ 预设设置 (Preset Settings)
- 可视化编辑:通过拖拽和点击,轻松定制各个功能模块的提示词链。
- 多场景适配:支持创建和切换不同的预设,适应不同的聊天场景和模型。
13. 🤖 自动角色卡生成器 (Auto Char Card)
类 CL 架构的智能代理,为您自动设计和优化角色卡。
- 单代理循环:采用先进的 Think-Act-Observe 循环,确保逻辑连贯,自我修正。
- 动态规则注入:支持自定义风格指南和世界观规则,AI 会像查阅资料一样遵守这些规范。
- 智能工具调用:AI 拥有全套工具,可以自主规划、执行并反思,为您打造独一无二的角色设定。
14. 🌐 在线互动
- 实时统计:可以看到当前有多少位同好正在一起使用本插件,感受社区的陪伴。
🚀 如何开始
安装本插件后,您可以在 SillyTavern 的扩展栏中找到 Amily2 的相关设置。插件的大部分功能在后台自动运行,您只需专注于享受与角色的互动即可。
祝您在 Amily2 的辅助下,谱写出更多动人的故事!
⚖️ 授权协议 (License)
本项目采用 CC BY-NC-ND 4.0 (署名-非商业性使用-禁止演绎) 协议授权。
简要说明:
- 允许:您可以免费下载、安装并使用本插件。
- 禁止二改:您可以出于学习目的修改代码,但严禁在任何平台分发修改后的版本(包括但不限于修改插件名、功能逻辑或 UI)。
- 禁止倒卖:本插件完全免费,严禁将其用于商业盈利行为或加入收费整合包中。
详细条款请参阅项目根目录下的 LICENSE 文件。
Description
Languages
JavaScript
83.6%
HTML
10%
CSS
6.4%