# 系统设置功能测试指南 ## 📋 前置条件 ### 1. 启动后端服务 ```bash # 方式1:使用 Docker docker-compose up -d backend # 方式2:本地运行 cd backend python main.py ``` 后端应该运行在 `http://localhost:23337`(或你配置的端口) ### 2. 启动前端服务 ```bash cd frontend npm run dev ``` 前端应该运行在 `http://localhost:5173`(Vite 默认端口) --- ## 🧪 测试步骤 ### 测试 1:访问设置页面 1. 打开浏览器访问前端地址 2. 点击左侧边栏的 **"设置"** 标签 3. 应该看到三个分页:**正则规则**、**思考标签**、**通用设置** ### 测试 2:加载系统设置 打开浏览器控制台(F12),应该看到: - ✅ 无错误信息 - ✅ Network 面板中有 `/api/regex/settings` 请求 - ✅ 响应数据包含 `thinkingTagPrefix` 和 `thinkingTagSuffix` ### 测试 3:修改思考标签 1. 切换到 **"思考标签"** 分页 2. 修改前缀为:`` 3. 修改后缀为:`` 4. 点击 **"保存设置"** 5. 应该看到成功提示:"设置已保存" ### 测试 4:验证持久化 1. 刷新页面 2. 再次进入设置页面 3. 思考标签应该保持刚才修改的值 ### 测试 5:导入规则文件 1. 切换到 **"正则规则"** 分页 2. 点击 **"选择文件"** 3. 选择一个 SillyTavern 格式的 JSON 文件 4. 应该看到成功提示 **示例规则文件**(可以复制保存为 `test_rules.json`): ```json [ { "scriptName": "测试规则", "findRegex": "/test/gi", "replaceString": "replaced", "trimStrings": [], "placement": [2], "substituteRegex": 0, "markdownOnly": false, "promptOnly": false, "runOnEdit": true, "minDepth": 0, "maxDepth": null, "disabled": false } ] ``` ### 测试 6:导出规则 1. 点击 **"导出全局规则"** 按钮 2. 应该在新窗口打开并显示 JSON 数据 --- ## 🐛 常见问题 ### 问题 1:页面空白或报错 **可能原因**: - 后端服务未启动 - API 端口配置错误 **解决方法**: ```bash # 检查后端是否运行 curl http://localhost:23337/api/regex/settings # 检查前端代理配置 cat frontend/vite.config.js ``` ### 问题 2:保存设置失败 **可能原因**: - 后端权限问题 - data 目录不存在 **解决方法**: ```bash # 检查 data 目录是否存在 ls -la data/ # 检查文件权限 chmod -R 755 data/ ``` ### 问题 3:导入规则失败 **可能原因**: - JSON 格式错误 - 文件大小超限 **解决方法**: - 使用 JSON 验证工具检查文件格式 - 确保文件编码为 UTF-8 --- ## 📊 预期效果 ### 正则规则分页 - ✅ 显示文件结构说明 - ✅ 可以上传 JSON 文件 - ✅ 可以导出规则 ### 思考标签分页 - ✅ 显示前后缀输入框 - ✅ 实时预览效果 - ✅ 保存后持久化 ### 通用设置分页 - ✅ 显示当前预设输入框 - ✅ 可以修改并保存 --- ## 🔍 调试技巧 ### 查看后端日志 ```bash # Docker 环境 docker-compose logs -f backend # 本地环境 # 直接查看终端输出 ``` ### 查看前端网络请求 1. 打开浏览器开发者工具(F12) 2. 切换到 **Network** 标签 3. 筛选 `regex` 相关请求 4. 检查请求和响应的详细内容 ### 检查数据存储 ```bash # 查看系统设置文件 cat data/system_settings.json # 查看正则规则文件 ls -la data/regex/global/ cat data/regex/global/default.json ``` --- ## ✅ 完成标志 当你能成功完成以下操作时,说明功能已正常工作: - [ ] 访问设置页面 - [ ] 修改思考标签并保存 - [ ] 刷新页面后设置仍然有效 - [ ] 导入一个规则文件 - [ ] 导出全局规则 --- ## 📝 下一步开发 1. **规则管理界面** - 添加规则的增删改查功能 2. **规则测试工具** - 实时预览正则效果 3. **批量操作** - 支持批量启用/禁用规则 4. **规则模板** - 提供常用规则模板