|
|
a66ab764d9
|
docs: 统一文档风格
|
2026-06-21 19:31:17 +08:00 |
|
|
|
51117b43f6
|
fix: 修复 handler_test.go 中 ServeWS 缺少参数
|
2026-06-21 18:44:03 +08:00 |
|
|
|
492fb06c08
|
merge: 合并 feat/tokentime 到 develop,解决 limiter/scenarioRepo 参数冲突
|
2026-06-21 17:42:48 +08:00 |
|
|
|
6967dd7b2e
|
feat: 实现摄像头和麦克风设备选择功能
- 新增 useDeviceList hook,枚举音视频输入设备并监听热插拔
- CameraManager/MicManager 的 startCamera/startMic 支持可选 deviceId 参数
- useVisionSession 集成设备选择:授权后自动枚举、切换设备时热重启
- 连接后显示设备下拉选择器,未连接时隐藏(避免未授权时空列表)
- SessionConfig 新增 cameraDeviceId/micDeviceId 持久化到 localStorage
|
2026-06-21 16:49:48 +08:00 |
|
|
|
eea5c07eaa
|
refactor: 删除实时分析/按需识别/纯聊天三种模式切换
三种模式仅为前端 UI 区分,后端无感知,实际使用中价值不大:
- 纯聊天模式名不副实(VAD 仍附带摄像头帧)
- 实时分析增加 API 成本且体验不佳
- 按需识别已是默认且最自然的交互方式
删除后保留按需识别行为:语音带图 + 手动识别按钮,UI 更简洁。
|
2026-06-21 16:24:09 +08:00 |
|
|
|
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 |
|