|
|
1079e22699
|
feat: 实现自建情景功能
## 功能概述
- 用户可创建、编辑、删除自定义情景
- 支持自定义情景名称、图标、描述、Prompt、首句引导
- 完整的权限隔离,用户只能管理自己的情景
- 深度集成 Eino 框架,动态加载自建情景 Prompt
## 后端实现
### 数据库
- 新增 user_scenarios 表
- 支持用户配额(最多 20 个)
- 字段验证:description 可选,prompt 最小 10 字符
### API
- GET /api/scenarios - 获取用户情景列表
- POST /api/scenarios - 创建情景
- GET /api/scenarios/:id - 获取详情
- PATCH /api/scenarios/:id - 更新情景
- DELETE /api/scenarios/:id - 删除情景
### Eino 集成
- PipelineState 添加 UserID 字段
- nodes_history 动态加载用户自建情景
- GetScenarioPrompt 支持自建情景优先级
## 前端实现
### 组件
- CreateScenarioModal - 创建情景对话框
- EditScenarioModal - 编辑情景对话框
- ConfigPanel 改造 - 分组显示系统预置和自建情景
### Hook
- useScenarios - 合并系统和自建情景,提供 CRUD 接口
### 国际化
- 中文、英文、日文翻译支持
## 问题修复
- 修复 CORS 问题:使用 Vite 代理
- 统一验证规则:description 可选,prompt 最小 10 字符
- 修复数据库约束:使用 NULLIF 处理空字符串
## 文件变更
新增文件: 13 个
修改文件: 14 个
详见文档: docs/自建情景功能完整文档.md
|
2026-06-21 15:38:28 +08:00 |
|
|
|
a2a28a9f56
|
feat: CachedUserRepository — refresh token 的 Redis 缓存装饰器
- 装饰 UserRepository,仅缓存 refresh token 相关操作
- SaveRefreshToken: Write-Through,先写 DB 再写 Redis(SET + SADD)
- FindRefreshToken: Read-Through,Redis miss 时查 DB 并回填
- DeleteRefreshToken: 双删 DB + Redis
- DeleteUserRefreshTokens: 通过 Redis Set 批量清理缓存后删 DB
- Redis 操作失败时降级到纯 DB,不阻断主流程
|
2026-06-20 14:53:10 +08:00 |
|
|
|
966b30218a
|
feat: 实现 sessions 持久化,支持会话恢复
|
2026-06-14 18:54:18 +08:00 |
|
|
|
542720695d
|
feat: 对接 PostgreSQL 存储层
|
2026-06-14 18:40:37 +08:00 |
|
|
|
c3a32ce276
|
feat: Phase 8.5 — ConversationSummary 查询优化,支持 SQL 聚合获取消息统计
|
2026-06-14 17:58:42 +08:00 |
|
|
|
96f4bc7abb
|
feat: Phase 8.2 — 实现 PostgreSQL MessageRepository
|
2026-06-14 17:53:14 +08:00 |
|
|
|
dae5722945
|
feat: Phase 8.1 — 定义 MessageRepository 接口和消息表迁移脚本
|
2026-06-14 17:52:21 +08:00 |
|
|
|
9842b4a457
|
feat: 编写 UserRepository 单元测试
|
2026-06-14 16:56:29 +08:00 |
|
|
|
ce13e5a048
|
feat: 实现内存 UserRepository(测试用)
|
2026-06-14 16:55:44 +08:00 |
|
|
|
36827edfea
|
feat: 实现 PostgreSQL UserRepository
|
2026-06-14 16:55:12 +08:00 |
|
|
|
af73e78aa3
|
feat: 定义 UserRepository 接口及 User 数据模型
|
2026-06-14 16:54:21 +08:00 |
|
|
|
0edafbbf8a
|
feat: 实现 PostgreSQL 连接池
- 新增 internal/store/db.go
- 实现 NewPostgresPool(ctx, dsn) 创建连接池
- 添加 pgx/v5 依赖
- 最大连接数设置为 10
|
2026-06-14 16:41:50 +08:00 |
|