|
|
fc7df67474
|
feat(streaming): 支持流式文本增量与结束信号功能
- 新增 StreamDelta 和 StreamEnd 类型,支持流式数据增量传输
- 扩展 LLMProvider trait,添加带回调的 chat_with_streaming 接口
- 修改 OpenAI Provider 实现,支持流式聊天回调传输增量数据
- Agent 流处理改为异步消费增量消息并传递给前端
- 保证流式增量和最终消息使用相同消息 ID 以便前端替换
- 修改消息总线和协议层,支持携带和识别流式消息的消息 ID
- 客户端 CLI 通过增量输出实现交互式流式响应显示
- Web 前端接收流式增量消息,追加到对应消息,实现实时显示
- 各通道(飞书、微信)支持转发流式增量和结束消息
- 任务工具运行时添加消息 ID 支持,保持消息一致性
- 统一消息构造函数新增流式增量和结束信号的构建方法
|
2026-06-14 10:24:52 +08:00 |
|
oudecheng
|
24bbd5f8c9
|
feat: 子代理 todo 列表支持 — 进入子代理视图时显示子代理的待办
- SubAgentEmitter 添加 todo_write 持久化(照搬 BusToolCallEmitter 模式)
- DefaultSubAgentRuntime 加 store 字段,透传给 emitter
- Command::ListTodos 加 task_id 参数
- list_todos handler: 当 task_id 存在时,scope_key = sub:{parent}:{task_id}
- 前端: 子代理视图下自动带 task_id 请求子代理的 todo
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-12 18:01:57 +08:00 |
|
oudecheng
|
3f32079f92
|
feat: 添加 Todo 面板,支持待办事项的展示与管理
|
2026-06-12 15:17:49 +08:00 |
|
oudecheng
|
cedd8b2a69
|
feat: 添加 topic_id 字段到消息结构,优化消息处理逻辑
|
2026-06-12 12:22:21 +08:00 |
|
oudecheng
|
6ff5907616
|
feat: 添加 reasoning_content 字段到多个消息结构,支持思考过程展示
|
2026-06-11 14:33:29 +08:00 |
|
oudecheng
|
0ce89a0e4e
|
feat: 添加 reasoning_content 字段到多个消息结构,支持思考过程展示
|
2026-06-11 12:04:52 +08:00 |
|
oudecheng
|
a4cdb31ba0
|
feat: 优化话题描述生成逻辑,增加空描述回退机制;更新话题创建命令以自动聚焦新话题
|
2026-06-10 11:26:35 +08:00 |
|
oudecheng
|
f470affb2f
|
feat: 添加技能列表功能,支持列出所有技能并在前端展示
|
2026-06-08 14:13:54 +08:00 |
|
|
|
cca913b610
|
feat: 添加记忆 CRUD 功能,支持创建、更新和删除记忆,优化记忆面板交互
|
2026-06-07 20:16:54 +08:00 |
|
|
|
7708112649
|
feat: 添加记忆功能,支持列出所有记忆并在前端展示,优化记忆面板
|
2026-06-07 19:50:46 +08:00 |
|
|
|
eeea7d44d0
|
feat: 添加 topic_id 支持,确保消息按话题隔离
|
2026-06-07 17:49:22 +08:00 |
|
|
|
3a623cc8a3
|
fix: 修复话题描述更新逻辑的竞态条件和语义错误,前端自动刷新描述
- topic_description.rs: LLM 返回空字符串时返回 Err 而非 Ok(""),防止空值写回 DB 触发循环生成
- processor.rs: 添加 Arc<Mutex<HashSet>> 生成中守卫防止重复触发,改用 DB 中真正第一条用户消息生成描述
- useChat.ts: assistant_response 时检测当前话题描述为空则递增刷新信号
- App.tsx: 监听刷新信号,500ms 防抖后自动发送 list_topics 获取新描述
|
2026-06-07 16:52:44 +08:00 |
|
|
|
b5e2886068
|
feat: 添加删除话题功能,包括命令处理器和前端交互
|
2026-06-07 14:09:14 +08:00 |
|
|
|
bf66c00950
|
feat: 为 WebSocket 消息添加时间戳字段,确保消息的时间信息可用
|
2026-06-07 09:18:15 +08:00 |
|
|
|
6f33ec7604
|
feat: 多通道消息支持与 Session 选择器
后端:
- list_channels 从 ChannelManager 动态查询通道列表(合并 websocket + 所有已注册通道)
- build_channel_list 移至 ChannelManager,网关层直接依赖领域层
- get_current_topic 自动创建默认话题(修复微信等通道无话题的问题)
- is_channel_writable: 仅 websocket 可写,其余通道只读
前端:
- 右上角通道选择器 + Session 选择器(Portal 渲染,固定宽度居中)
- 只读通道显示刷新按钮替代新建按钮
- 话题列表时间戳修复(秒→毫秒)
- 移除冗余的 SessionInfo、AI Ready、所属会话等 UI
- 修复 scheduler view 路由无条件拦截消息的 bug
|
2026-06-06 22:25:10 +08:00 |
|
|
|
e8a3a47ac7
|
feat: 添加 TaskStarted 事件,支持任务开始通知功能
|
2026-06-03 21:53:37 +08:00 |
|
oudecheng
|
1b571e943f
|
feat: 添加停止当前执行的 Agent 功能,支持通过 /stop 命令取消执行
|
2026-06-03 16:49:29 +08:00 |
|
oudecheng
|
9f2eedf313
|
feat: 更新消息处理逻辑,仅接受带有匹配 subagent_task_id 的消息
|
2026-06-02 19:34:11 +08:00 |
|
oudecheng
|
5f2bc950b1
|
feat: 添加定时任务和聊天消息加载功能,增强调度管理
|
2026-06-02 17:04:00 +08:00 |
|
oudecheng
|
4d6d989247
|
feat: 添加工具执行时长字段,增强消息处理功能
|
2026-06-02 16:52:47 +08:00 |
|
oudecheng
|
f8fc0f7d0f
|
feat: 添加工具结果处理功能,支持执行时长记录和显示
|
2026-06-02 16:15:05 +08:00 |
|
|
|
7d9355fd78
|
feat: WebSocket 媒体文件处理优化
- 后端 ws.rs: 处理前端上传的 base64 内容,保存到本地文件并更新路径
- 后端 ws.rs: 历史消息加载时从文件读取内容填充 base64,过滤 media_refs_json
- 前端 App.tsx: 传递 attachments 给 handleMessage 实现实时显示
- 前端 useChat.ts: handleMessage 支持 attachments 参数
- 前端 MessageInput.tsx: 支持剪贴板粘贴文件/图片
- 前端 MessageInput.tsx: 修复拖拽文件时闪烁问题
- 测试 test_request_format.rs: 补充缺失的 attachments 字段
|
2026-05-30 10:22:30 +08:00 |
|
|
|
3d9c981c2a
|
feat: 前端输入框体验优化
- AI 响应完成后自动聚焦输入框
- 输入框和发送按钮居中对齐
- 隐藏输入框滚动条
- 新建话题无需输入名称,自动生成默认标题
|
2026-05-29 23:12:53 +08:00 |
|
oudecheng
|
d0051baa07
|
refactor: 消息持久化从批量改为实时逐条,通过装饰器模式实现
- 新增 PersistingEmittedMessageHandler 装饰器,在 emitter 广播前逐条落库
- processor 和 task/runtime 使用装饰器包裹 emitter,替代 post-loop 批量写入
- 移除 session_history 中的批量 DB 写入,仅保留内存历史更新
- execution 中跳过已由 live emitter 实时广播的工具消息,避免重复
- 前端支持运行中 task 工具卡片"查看实时进度"跳转子智能体视图
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-29 16:47:57 +08:00 |
|
oudecheng
|
4cb26b5b67
|
feat: 子智能体任务消息查看,实时广播工具调用事件
- 新增 LoadTaskMessages 命令,加载子智能体任务的历史消息
- SubAgentEmitter 通过 MessageBus 实时广播子智能体工具调用
- 前端新增子智能体视图,支持导航进入/退出子智能体会话
- 外部渠道过滤子智能体事件,避免推送到飞书/微信
- ToolCall/ToolResult 新增 subagent_task_id 字段
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-29 11:15:38 +08:00 |
|
oudecheng
|
598d425c28
|
feat: 话题添加描述字段,工具消息按 tool_call_id 合并展示
- TopicSummary 新增 description 字段,侧边栏优先显示描述
- ToolPanel 使用 toolCallId 将 tool_call 和 tool_result 配对合并展示
- 保存消息时同步更新 topics 表的 message_count 和 last_active_at
- ChatMessage 新增 toolCallId 字段
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-28 14:30:21 +08:00 |
|
oudecheng
|
7898ca69e4
|
feat: 添加附件支持、自动选择话题及消息展示优化
- 消息协议新增 attachments 字段,支持图片/音频/视频/文件附件
- 文本和附件合并在一条消息中发送,不再拆分为多条
- Topics 加载后自动选中第一个话题并加载历史消息
- 用户消息现在通过 WebSocket 发送,可在前端展示
- 前端过滤 tool_result 消息,添加附件卡片展示组件
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-28 11:51:48 +08:00 |
|
oudecheng
|
542e11d0b3
|
refactor: 将 Session 命令重构为 Topic 命令
- 新增 LoadTopic 命令处理器,替代 LoadSession
- 新增 SwitchTopic 命令处理器,替代 SwitchSession
- 删除 LoadSession 和 SwitchSession 处理器
- 更新 Command 枚举:LoadSession -> LoadTopic, SwitchSession -> SwitchTopic
- 同步更新前端协议类型定义
- 调整适配器和网关代码以适应新命令
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-27 16:01:07 +08:00 |
|
oudecheng
|
10fb67320a
|
refactor(web): 简化 UI 架构,移除三级选择器
- 移除 ChannelSelector 和 SessionSelector 组件
- 新增 SessionInfo 组件显示当前会话信息
- 简化 useChat hook,移除 channels/sessions 状态管理
- 优化 TopicList UI,添加时间格式化显示
- 将废弃组件移至 .deprecated/ 目录
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-27 15:39:50 +08:00 |
|
oudecheng
|
e9e1439428
|
feat: 添加通道和话题管理功能
后端:
- 新增 ListChannels 命令,列出所有可用通道 (WebSocket/CLI)
- 新增 ListSessionsByChannel 命令,支持按通道筛选会话
- 新增 ListTopics 命令,列出 Session 的所有 Topics
- 添加 Channel 和 TopicSummary 数据结构
- 更新 WebSocket 协议,支持 channel_list 和 topic_list 消息
前端:
- 新增 ChannelSelector 组件用于通道选择
- 新增 SessionSelector 组件用于会话选择
- 更新 TopicList 组件支持话题展示
- 更新 useChat hook 和协议类型定义
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-27 14:55:09 +08:00 |
|
oudecheng
|
624d8e8943
|
feat: 添加 React Web UI 前端界面
- 使用 React 18 + TypeScript + Vite + Tailwind CSS 构建前端
- 实现 WebSocket 实时通信(useWebSocket hook)
- 添加聊天界面组件(MessageList, MessageBubble, MessageInput)
- 集成 Topic 管理(新建、列出、切换)
- 支持 Markdown 渲染(react-markdown + remark-gfm)
- 添加工具调用展示面板
- 实现深色科技主题(Tech Dark)
- 后端集成静态文件服务(tower-http)
- 添加 Makefile 和 build.sh 构建脚本
- 更新 .gitignore 忽略前端构建产物
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-26 17:43:15 +08:00 |
|