Files
CamTalk/docs
cfy666 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
..
2026-06-19 14:35:06 +08:00
2026-06-14 23:59:00 +08:00
2026-06-20 20:17:16 +08:00

CamTalk 设计文档

CamTalk 是一款多模态实时 AI 视觉对话助手。用户通过摄像头和麦克风与 AI 交互AI 理解视觉场景和语音输入后,以文字和语音形式给出自然回应。

文档索引

文档 说明
01-架构设计 系统架构、技术栈、模块设计、数据库、部署架构(含 Mermaid 图)
02-接口文档 WebSocket 协议、REST API、AI 服务层、Eino 编排器、Session Manager、配置管理、数据模型、错误码
03-技术选型 各技术的选型对比与决策理由(含 Eino 框架选型)
04-用户故事 P0/P1/P2 用户故事、验收标准
05-语音交互 VAD → STT → LLM → TTS 全链路、延迟优化
06-视觉理解 帧采样策略、图像编码、多模态 LLM 输入机制
07-成本控制 智能采样、端云协同、模型分级、缓存复用
08-功能创意 未来功能创意清单
09-技术名词解释 前端/后端/AI 服务/Eino 框架技术名词简明解释
10-Eino重构方案 Eino Graph 替换手写 goroutine 管道的设计方案
11-Eino框架技术文档 Eino 框架在 CamTalk 中的使用指南Graph、Lambda、Callback、State

推荐阅读顺序

  1. 01-架构设计 — 理解三层架构、技术栈和模块全貌
  2. 02-接口文档 — 前后端通信契约,实现时的最高依据
  3. 03-技术选型 — 了解为什么选这些技术(含 Eino 框架)
  4. 04-用户故事 — 明确功能优先级
  5. 05~07 — 各技术领域的详细设计
  6. 09-技术名词解释 — 遇到不熟悉的名词时查阅
  7. 10~12 — Eino 重构相关(方案、框架文档、实施记录)