📝 更新进度文档,填写未测试的功能模块

Signed-off-by: Echo <1711788888@qq.com>
This commit is contained in:
2026-03-02 01:17:21 +08:00
parent a857917b53
commit d0582f6aad

View File

@@ -21,7 +21,7 @@
| 预设管理 | ✅ 已完成 | 100% | - | 前后端已打通,支持导入导出 |
| 对话系统 | ✅ 已完成 | 95% | - | 预设切换、消息重新生成已完成 |
| AI 集成 | ✅ 已完成 | 100% | - | AI 配置管理、API 调用已完成 |
| 世界书系统 | ✅ 已完成 | 100% | - | 前后端已打通,支持导入导出 |
| 世界书系统 | ✅ 已完成 | 100% | - | 前后端已打通,触发引擎已集成到对话系统 |
| 正则脚本 | ✅ 已完成 | 95% | - | 完全兼容 ST已集成到对话流程 |
**图例**
@@ -456,8 +456,8 @@ web-app/src/
- ✅ 世界书搜索和筛选
- ✅ 用户权限控制(只能编辑自己的世界书)
- ✅ 条目计数自动更新
- 📋 关键词触发算法(待与对话系统集成
- 📋 与对话系统集成(待实现
- 关键词触发引擎WorldbookEngine
- 与对话系统完全集成(非流式 + 流式
**文件清单**
```
@@ -467,6 +467,7 @@ server/
├── model/app/request/worldbook.go # 请求结构
├── model/app/response/worldbook.go # 响应结构
├── service/app/worldbook.go # 业务逻辑
├── service/app/worldbook_engine.go # 关键词触发引擎
└── router/app/worldbook.go # 路由配置
```
@@ -511,15 +512,33 @@ web-app/src/
- ✅ 错误处理和用户提示
- ✅ 登录状态检查
### 6.4 待完善功能
### 6.4 对话系统集成(已完成 - 2026-02-27
- 📋 与对话系统集成(在对话中激活世界书)
- 📋 关键词触发引擎实现
- 📋 选择性触发逻辑AND/NOT
- 📋 深度控制和位置注入
- 📋 概率触发机制
**触发引擎**`service/app/worldbook_engine.go`
- `WorldbookEngine.ScanAndTrigger` - 扫描消息历史并触发匹配条目
- `WorldbookEngine.shouldTrigger` - 逐条检查触发条件constant/keys/scanDepth
- `WorldbookEngine.matchKeys` - 关键词匹配useRegex/caseSensitive/matchWholeWords
- `WorldbookEngine.BuildPromptWithWorldbook` - 将触发条目注入到系统提示词
**集成点**
-`conversation.go:callAIService` - 非流式消息世界书注入
-`conversation.go:SendMessageStream` - 流式消息世界书注入
**执行流程**
```
用户消息 → 扫描最近 N 条消息 → 匹配关键词 → 触发条目排序 → 注入系统提示词 → AI 处理
```
**设置面板**`components/SettingsPanel.tsx`
- ✅ 世界书开关(启用/禁用)
- ✅ 世界书选择器(下拉列表,显示条目数量)
- ✅ 保存到 `conversation.worldbookId``conversation.worldbookEnabled`
### 6.5 待完善功能
- 📋 概率触发机制probability 字段已存储,引擎待实现)
- 📋 递归扫描
- 📋 角色绑定世界书
- 📋 角色绑定世界书Character Book
- 📋 全局世界书
---
@@ -640,12 +659,64 @@ web-app/src/
-`MessageContent.tsx:246-290` - iframe 渲染逻辑
-`MessageContent.tsx:348-372` - 渲染模式切换
### 7.5 待完善功能
### 7.5 全局正则脚本管理(已完成 - 2026-03-02
**功能特性**
- ✅ 独立的全局正则脚本管理页面 `/regex-scripts`
- ✅ 创建、编辑、删除全局正则脚本
- ✅ 导入导出 JSON 格式脚本(兼容 SillyTavern
- ✅ 只管理 scope=0 的全局脚本
- ✅ 支持批量导出所有脚本
**文件位置**
-`web-app/src/pages/RegexScriptManagePage.tsx` - 全局正则脚本管理页面
-`web-app/src/App.tsx` - 添加路由配置
### 7.6 变量系统扩展(已完成 - 2026-03-02
**后端新增变量** (`server/service/app/regex_script.go`):
-`{{time_12h}}` - 12小时制时间
-`{{date_short}}` - 短日期格式 (MM/DD/YY)
-`{{weekday}}` - 星期几
-`{{month}}` - 月份名称
-`{{year}}` - 年份
-`{{pick:option1|option2|option3}}` - 随机选择一个选项
-`{{tab}}` - 制表符
-`{{space}}` - 空格
-`{{empty}}` - 空字符串
**前端变量系统** (`web-app/src/store/index.ts`):
- ✅ 同步支持所有后端变量
-`substituteVariables()` 函数可在前端替换变量
-`extractVariables()` 函数可提取文本中的变量
### 7.7 MVU 状态管理架构(已完成 - 2026-03-02
**核心实现** (`web-app/src/store/index.ts`):
- ✅ 基于 Zustand 实现完整的 MVU 架构
- ✅ Model: 用户、角色、对话、消息、UI、变量状态
- ✅ Update: 完整的状态更新操作
- ✅ View: 状态选择器Selectors
- ✅ 持久化存储localStorage
- ✅ DevTools 支持
**页面集成**:
-`ChatPage.tsx` - 集成 MVU store 管理对话状态
-`CharacterManagePage.tsx` - 导入 MVU store
- ✅ 角色切换时自动更新变量系统
**工具函数**:
-`substituteVariables()` - 替换文本中的变量
-`extractVariables()` - 提取文本中的变量
### 7.8 待完善功能
- 📋 世界书阶段Placement 2脚本执行
- 📋 正则脚本测试界面
- 📋 正则脚本导入导出(独立功能)
- 📋 正则脚本模板库
- 🧪 全局正则脚本功能测试
- 🧪 扩展变量系统测试
- 🧪 MVU store 集成测试
---
@@ -754,6 +825,17 @@ web-app/src/pages/
-**编写 SillyTavern 完全兼容优化方案**
-**更新开发进度文档**
### 2026-02-27
-**完成世界书与对话系统集成**
- 实现 WorldbookEngine 关键词触发引擎
- 集成到非流式callAIService和流式SendMessageStream消息路径
- 实现选择性触发逻辑constant/keys/useRegex/caseSensitive/matchWholeWords
- 实现 SettingsPanel 世界书选择器(启用开关 + 世界书下拉)
-**修复前端消息渲染 Bug**
- 修复通用代码块正则误判导致消息内容消失的问题(恢复仅识别 \`\`\`html 标识符)
- 修复 iframe 宽度坍缩为 300px 问题(助手消息列从 max-w-[70%] 改为 w-[70%]
- 保留 HTML 代码块渲染中的 ``` → `<pre><code>` 转换逻辑
### 2026-03-02
-**完成正则脚本系统后端 API**
- 实现正则脚本 CRUD 操作
@@ -785,12 +867,52 @@ web-app/src/pages/
- 修复 HTML 渲染宽度问题
- 修复 markdown 符号残留问题
### 下一阶段规划
### 2026-03-02今天完成
-**完成正则脚本前端 HTML 渲染优化**
- 修复 HTML 代码块渲染问题
- 移除 markdown ``` 符号残留
- 自动启用脚本渲染
- 统一 iframe 和直接 HTML 渲染的容器样式
- 修复宽度适配问题
-**完成全局正则脚本管理功能**
- 创建独立的全局正则脚本管理页面 `/regex-scripts`
- 支持创建、编辑、删除、导入、导出全局脚本
- 完全兼容 SillyTavern 格式
-**扩展变量系统**
- 后端新增 10+ 个变量类型
- 支持时间格式化、随机选择、特殊字符等
- 前端同步支持所有变量
-**实现 MVU 状态管理架构**
- 基于 Zustand 实现完整的 MVU 模式
- 集成到 ChatPage 和 CharacterManagePage
- 支持持久化存储和 DevTools
- 内置变量替换工具函数
-**修复关键 Bug**
- 修复开场白消息未应用正则脚本问题
- 修复 API 导出名称不匹配导致页面空白问题
### 待测试功能(下次工作)
- 🧪 **全局正则脚本功能测试**
- 测试全局脚本在所有对话中的应用
- 测试导入导出功能
- 测试脚本执行顺序
- 🧪 **扩展变量系统测试**
- 测试所有新增变量类型
- 测试 `{{pick:}}` 随机选择功能
- 测试时间格式化变量
- 🧪 **MVU Store 集成测试**
- 测试状态持久化
- 测试变量系统自动更新
- 测试跨页面状态同步
- 🧪 **HTML 渲染优化测试**
- 测试 markdown 代码块中的 HTML 渲染
- 测试 iframe 宽度自适应
- 测试脚本自动启用功能
- ✅ 实现实际 AI API 调用OpenAI/Anthropic
- 📋 实现世界书系统(完全兼容 SillyTavern
- 📋 实现正则脚本系统(完全兼容 SillyTavern
- 📋 实现 Prompt Pipeline世界书触发、正则处理、提示词构建
- 📋 完善对话系统高级功能(消息重新生成、编辑)
- 实现世界书系统(完全兼容 SillyTavern,包含触发引擎和对话集成
- 实现正则脚本系统(完全兼容 SillyTavern
- 实现 Prompt Pipeline世界书触发注入、正则处理、提示词构建)
- 📋 完善对话系统高级功能(消息编辑)
- 📋 性能优化与测试
- 📋 部署上线
@@ -806,21 +928,22 @@ web-app/src/pages/
5. ✅ 完善对话系统高级功能(消息重新生成)
### 中期目标(本月)
1. 📋 实现世界书系统(完全兼容 SillyTavern
- 数据模型设计
- 关键词触发算法
- 选择性触发逻辑
- 与对话系统集成
2. 📋 实现正则脚本系统(完全兼容 SillyTavern
- 数据模型设计
- 多阶段脚本执行
- 正则表达式引擎
- 宏替换系统
3. 📋 实现 Prompt Pipeline
- 世界书扫描与注入
- 正则脚本处理
- 提示词构建优化
1. 实现世界书系统(完全兼容 SillyTavern
- 数据模型设计
- 关键词触发算法WorldbookEngine
- 选择性触发逻辑
- 与对话系统集成
2. 实现正则脚本系统(完全兼容 SillyTavern
- 数据模型设计
- 多阶段脚本执行
- 正则表达式引擎
- 宏替换系统
3. 实现 Prompt Pipeline
- 世界书扫描与注入
- 正则脚本处理
- 提示词构建优化
4. 📋 基础功能测试与优化
5. 📋 消息编辑功能
### 长期目标(下月)
1. 📋 插件系统设计与实现