心语精灵Agent选择面板功能设计
字数
1165 字
阅读时间
5 分钟
功能概述
为心语精灵模块实现智能Agent选择面板,支持系统内置、机构模板和用户自定义三种类型的Agent角色,集成Dify API实现真实的AI对话能力。
核心功能设计
1. Agent数据管理
- 支持从ask_agents集合加载Agent数据
- 区分system_default、org_template、user_custom三种来源
- 实现Agent的本地缓存和版本管理
2. Agent选择面板
- 底部弹窗式设计,支持滚动浏览
- Agent卡片展示:头像、名称、描述、能力标签
- 当前选中状态标识
- 切换确认对话框
3. Dify接口集成
- 集成/v1/chat-messages接口
- 支持流式和阻塞两种响应模式
- 实现会话管理(conversation_id)
- 支持inputs参数传递
4. 会话状态管理
- 支持多会话并行
- 会话历史记录
- Agent切换时的会话保存
- 上下文清空和重置
技术实现方案
前端架构
心语精灵页面
├── Agent选择面板组件
├── 聊天界面组件
├── 会话管理器
└── Dify服务层后端架构
云函数
├── askAgentManager - Agent数据管理
├── difySessionManager - Dify会话管理
├── askEmotionIngest - 情绪分析处理
└── difySessionManager - 会话状态同步数据流转
- 用户打开Agent选择面板
- 从ask_agents集合加载可用Agent列表
- 用户选择Agent,确认切换
- 保存当前会话,创建新会话记录
- 调用Dify接口初始化对话
- 开始新的对话流程
接口设计
1. Agent列表接口
GET /api/ask/agents
参数:
- type: Agent类型(可选)
- capability: 能力标签(可选)
返回:可用Agent列表2. 会话创建接口
POST /api/ask/sessions
参数:
- agent_id: 选择的Agent ID
- session_type: 会话类型
- trigger_source: 触发来源
返回:会话信息3. 消息发送接口
POST /api/ask/messages
参数:
- session_id: 会话ID
- content: 消息内容
- message_type: 消息类型
返回:AI回复内容用户体验设计
1. Agent选择流程
- 点击🤖图标打开选择面板
- 浏览可用的Agent列表
- 查看Agent详细信息
- 确认切换并保存当前会话
2. 对话体验
- 根据Agent类型调整界面主题色
- 显示Agent个性化欢迎语
- 支持快速建议话术
- 实时显示AI回复状态
3. 历史记录
- 按时间分组显示历史会话
- 支持按Agent类型筛选
- 显示会话预览和消息数量
- 一键加载历史会话
安全与隐私
1. 权限控制
- 用户只能访问自己创建的自定义Agent
- 机构模板仅对机构成员可见
- 系统内置Agent全局可用
2. 数据安全
- 敏感对话内容加密存储
- 会话记录定期清理
- 支持用户主动删除历史记录
3. 内容审核
- 自定义Agent需要审核通过
- 危险内容自动检测和过滤
- 紧急情况自动转人工
性能优化
1. 缓存策略
- Agent列表本地缓存
- 会话历史分页加载
- 图片资源懒加载
2. 体验优化
- Agent切换动画过渡
- 消息发送加载状态
- 网络异常重试机制
扩展性考虑
1. 插件化架构
- Agent功能模块化
- 支持第三方Agent接入
- 自定义Agent模板市场
2. 多模态支持
- 语音对话能力
- 图片识别分析
- 文档内容处理
实施计划
Phase 1: 基础功能
- 实现Agent数据加载和展示
- 完成Agent选择面板UI
- 集成Dify消息发送接口
Phase 2: 会话管理
- 实现会话状态管理
- 完善历史记录功能
- 优化Agent切换流程
Phase 3: 高级特性
- 自定义Agent创建
- 多模态交互支持
- 个性化推荐算法
风险评估
技术风险
- Dify接口稳定性
- 小程序性能限制
- 数据同步复杂性
产品风险
- 用户学习成本
- Agent质量参差不齐
- 隐私合规要求
应对策略
- 接口降级和缓存机制
- 用户引导和帮助文档
- 严格的数据保护措施