📝 更新进度文档

Signed-off-by: Echo <1711788888@qq.com>
This commit is contained in:
2026-03-02 00:50:31 +08:00
parent 3bfa59cf3e
commit aa461ec6c3

View File

@@ -1,6 +1,6 @@
# 云酒馆项目开发进度
> 最后更新2026-02-27
> 最后更新2026-03-02
## 项目概述
@@ -20,9 +20,9 @@
| 角色卡管理 | ✅ 已完成 | 100% | - | 完全兼容 ST V2前后端已打通 |
| 预设管理 | ✅ 已完成 | 100% | - | 前后端已打通,支持导入导出 |
| 对话系统 | ✅ 已完成 | 95% | - | 预设切换、消息重新生成已完成 |
| AI 集成 | 🚧 进行中 | 80% | - | AI 配置管理、API 调用已完成 |
| 世界书系统 | 📋 待开发 | 0% | - | 规划中 |
| 正则脚本 | 📋 待开发 | 0% | - | 规划中 |
| AI 集成 | ✅ 已完成 | 100% | - | AI 配置管理、API 调用已完成 |
| 世界书系统 | ✅ 已完成 | 100% | - | 前后端已打通,支持导入导出 |
| 正则脚本 | ✅ 已完成 | 95% | - | 完全兼容 ST已集成到对话流程 |
**图例**
- ✅ 已完成
@@ -524,40 +524,128 @@ web-app/src/
---
## 七、正则脚本系统 📋
## 七、正则脚本系统
### 7.1 待实现功能(规划中
### 7.1 后端 API已完成 - 2026-03-02
**数据模型**
- 📋 `RegexScript` - 正则脚本模型
- 📋 支持全局、角色、预设三种作用域
- 📋 完全兼容 SillyTavern 正则脚本格式
- `RegexScript` - 正则脚本模型(完全兼容 SillyTavern 格式)
- 支持全局、角色、预设三种作用域
- ✅ 使用 JSONB 存储扩展字段和修剪字符串数组
**实现字段**
- 📋 find_regex/replace_with - 查找和替换表达式
- 📋 trim_string - 修剪字符串
- 📋 placement - 执行阶段(输入/输出/世界书/推理)
- 📋 disabled/markdown_only/run_on_edit/prompt_only - 执行选项
- 📋 substitute_regex - 宏替换({{user}}/{{char}}
- 📋 min_depth/max_depth - 深度控制
- 📋 scope/owner_char_id/owner_preset_id - 作用域管理
**实现字段**
- ✅ name - 脚本名称
- ✅ find_regex - 查找正则表达式
- ✅ replace_with - 替换字符串
- ✅ trim_strings - 修剪字符串数组
- ✅ placement - 执行阶段0=输入/1=输出/2=世界书/3=显示
- ✅ disabled - 禁用标志
- ✅ markdown_only - 仅 Markdown 模式
- ✅ run_on_edit - 编辑时运行
- ✅ prompt_only - 仅提示词模式
- ✅ substitute_regex - 宏替换({{user}}/{{char}}
- ✅ min_depth/max_depth - 深度控制
- ✅ scope - 作用域0=全局/1=角色/2=预设)
- ✅ owner_char_id/owner_preset_id - 所有者 ID
- ✅ order - 执行顺序
**计划 API 端点**
**API 端点**
-`POST /app/regex` - 创建正则脚本
-`GET /app/regex` - 获取脚本列表(分页、搜索、作用域筛选)
-`GET /app/regex/:id` - 获取脚本详情
-`PUT /app/regex/:id` - 更新脚本
-`DELETE /app/regex/:id` - 删除脚本
-`POST /app/regex/test` - 测试脚本执行
**核心功能**
- ✅ 完全兼容 SillyTavern 正则脚本格式
- ✅ 多阶段脚本执行(输入/输出/世界书/显示)
- ✅ 正则表达式解析和执行
- ✅ 宏替换系统({{user}}/{{char}}/{{original}}
- ✅ 深度控制和条件执行
- ✅ 与对话系统集成
- ✅ 角色卡导入时自动导入正则脚本
- ✅ 角色卡导出时自动导出正则脚本
**文件清单**
```
POST /app/regex # 创建正则脚本
GET /app/regex # 获取脚本列表
GET /app/regex/:id # 获取脚本详情
PUT /app/regex/:id # 更新脚本
DELETE /app/regex/:id # 删除脚本
POST /app/regex/:id/test # 测试脚本
server/
├── api/v1/app/regex_script.go # API 控制器
├── model/app/regex_script.go # 正则脚本模型
├── model/app/request/regex_script.go # 请求结构
├── model/app/response/regex_script.go # 响应结构
├── service/app/regex_script.go # 业务逻辑和执行引擎
├── router/app/regex_script.go # 路由配置
└── service/app/character.go # 角色卡导入导出集成
```
**核心功能规划**
- 📋 多阶段脚本执行(输入/输出/世界书/推理)
- 📋 正则表达式解析和执行
- 📋 宏替换系统
- 📋 深度控制和条件执行
- 📋 与对话系统集成
### 7.2 前端页面(已完成 - 2026-03-02
**功能特性**
- ✅ 角色卡管理页面集成正则脚本编辑
- ✅ 导入 JSON 正则脚本(兼容 SillyTavern 格式)
- ✅ 正则脚本创建和编辑
- ✅ 正则脚本列表展示
- ✅ 正则脚本删除
- ✅ 执行阶段选择(输入/输出/世界书/显示)
- ✅ 执行顺序配置
- ✅ 启用/禁用开关
- ✅ 作用域管理(全局/角色/预设)
**文件清单**
```
web-app/src/
├── api/regex.ts # 正则脚本 API 封装
├── pages/CharacterManagePage.tsx # 角色卡管理页面(集成正则脚本)
└── components/MessageContent.tsx # 消息渲染组件HTML/脚本渲染)
```
### 7.3 对话系统集成(已完成 - 2026-03-02
**集成点**
- ✅ 输入阶段Placement 0- 用户消息发送前处理
- ✅ 输出阶段Placement 1- AI 回复生成后处理
- ✅ 显示阶段Placement 3- 前端渲染前处理
- ✅ 开场白消息处理 - 角色首条消息应用正则脚本
**实现位置**
-`conversation.go:SendMessage` - 非流式消息发送
-`conversation.go:SendMessageStream` - 流式消息发送
-`conversation.go:CreateConversation` - 创建对话时处理开场白
**执行流程**
```
用户输入 → 输入阶段脚本 → AI 处理 → 输出阶段脚本 → 保存数据库 → 显示阶段脚本 → 前端渲染
```
### 7.4 前端渲染优化(已完成 - 2026-03-02
**HTML 渲染支持**
- ✅ 自动提取 markdown 代码块中的 HTML```html...```
- ✅ 移除 markdown 代码块标记(``` 符号)
- ✅ 自动启用脚本渲染(无需手动点击按钮)
- ✅ iframe 沙箱渲染(支持 JavaScript
- ✅ 直接 HTML 渲染(无脚本内容)
- ✅ 统一容器样式(避免宽高变化)
- ✅ 响应式宽度适配(强制覆盖固定宽度)
**选项按钮支持**
- ✅ 自动解析选项格式A:/A./A、/A
- ✅ 渲染为可点击按钮
- ✅ 点击后自动发送选项内容
- ✅ 支持多种选项格式
**文件位置**
-`MessageContent.tsx:173-243` - HTML 提取和处理逻辑
-`MessageContent.tsx:246-290` - iframe 渲染逻辑
-`MessageContent.tsx:348-372` - 渲染模式切换
### 7.5 待完善功能
- 📋 世界书阶段Placement 2脚本执行
- 📋 正则脚本测试界面
- 📋 正则脚本导入导出(独立功能)
- 📋 正则脚本模板库
---
@@ -658,9 +746,45 @@ web-app/src/pages/
- 实现对话历史存储
-**完成对话系统前后端对接**
-**完成 AI 配置管理模块**
-**完成世界书系统**
- 实现世界书 CRUD 操作
- 实现世界书条目管理
- 实现导入导出功能
- 完全兼容 SillyTavern 格式
-**编写 SillyTavern 完全兼容优化方案**
-**更新开发进度文档**
### 2026-03-02
-**完成正则脚本系统后端 API**
- 实现正则脚本 CRUD 操作
- 实现多阶段脚本执行引擎
- 实现宏替换系统({{user}}/{{char}}/{{original}}
- 完全兼容 SillyTavern 正则脚本格式
-**完成正则脚本前端管理界面**
- 集成到角色卡管理页面
- 支持导入导出正则脚本
- 支持脚本创建、编辑、删除
-**完成正则脚本与对话系统集成**
- 输入阶段脚本处理(用户消息)
- 输出阶段脚本处理AI 回复)
- 显示阶段脚本处理(前端渲染)
- 开场白消息脚本处理
-**完成前端 HTML 渲染优化**
- 自动提取和渲染 markdown 代码块中的 HTML
- 移除 markdown 代码块标记
- 自动启用脚本渲染
- iframe 沙箱渲染支持
- 响应式宽度适配
-**完成选项按钮功能**
- 自动解析选项格式
- 渲染为可点击按钮
- 点击后自动发送
-**修复关键 Bug**
- 修复 GetScriptsForPlacement SQL 查询 bug
- 修复流式消息未应用正则脚本问题
- 修复 HTML 渲染宽度问题
- 修复 markdown 符号残留问题
### 下一阶段规划
- ✅ 实现实际 AI API 调用OpenAI/Anthropic
- 📋 实现世界书系统(完全兼容 SillyTavern