65 Commits

Author SHA1 Message Date
oudecheng
6962ea2eb1 feat(todo): 优化悬浮待办面板功能
- 将悬浮待办面板集成到聊天组件上方,避免重复渲染
- 调整状态样式配置,简化颜色和样式管理
- 实现待办面板位置拖拽功能,支持位置持久化保存
- 优化折叠与展开交互,改进分组标题和列表项显示样式
- 设计迷你和完整两种面板展现形态,提升界面灵活性
- 添加刷新按钮及自动展开待办新条目功能
- 精简和改进待办项展示,提高内容可读性和界面美观度
2026-06-18 14:25:41 +08:00
oudecheng
e506ffd539 feat(agent): 支持子孙智能体的父任务链路传递
- 在 agent_factory 和子代理相关结构体中新增 parent_task_id 字段
- 协议层序列化、反序列化及 WebSocket 适配器支持 parent_task_id 信息传递
- todo_read 与 todo_write 工具添加 parent_task_id 以保持任务层级一致
- 在 DefaultSubAgentRuntime 中实现从 session_id 提取 parent_task_id 的逻辑
- 子智能体创建孙智能体时,正确设置并传递 parent_task_id 元数据
- 前端 useChat 钩子过滤孙智能体的 TaskStarted 事件,避免视图串扰
2026-06-18 11:30:47 +08:00
oudecheng
e842ae0608 feat(chat): 实现todo_write完成后自动刷新待办列表
- 在useChat中添加sendMessage引用,支持从handleServerMessage内部发送命令
- 在App.tsx中通过useEffect将sendMessage注入useChat
- 子代理todo_write完成后自动发送请求刷新对应待办列表命令
- 主视图todo_write完成后自动刷新待办列表,支持子代理和主任务区分
- 优化消息处理逻辑,避免不同子代理消息混淆
2026-06-17 14:33:02 +08:00
oudecheng
4a28d9ea36 feat(gateway): 更新记忆写入规则,明确命名空间使用及优先调用方式 2026-06-16 17:01:49 +08:00
oudecheng
edc1a50d1c feat(todos): 修改 todos 表结构,迁移至复合主键并添加索引 2026-06-16 16:17:12 +08:00
oudecheng
66e40fc714 feat(config): 增加 Feishu 渠道支持及 MCP 服务器管理界面
- 为配置中的 Channel 添加对 Feishu 配置的可变访问接口
- 在 HTTP 掩码和恢复中支持 Feishu 的 app_secret 字段处理
- 在前端配置页面新增 MCP 服务器配置面板,支持多类型参数编辑
- 在前端配置页面新增渠道管理面板,支持 Feishu 和 Wechat 渠道的增删改查
- 优化配置保存后的提示与刷新,提示需要重启服务生效
- 更新模型配置字段提示,使说明更加友好和明确
- 增加界面图标及样式调整,提升用户操作体验
2026-06-16 14:57:22 +08:00
oudecheng
37f417007e feat(gateway): 添加配置管理功能支持敏感信息脱敏
- 实现 API 端点 /api/config 用于获取和保存配置
- 添加配置信息脱敏功能,保护 API 密钥等敏感数据
- 集成配置验证逻辑,确保时区等参数有效性
- 在前端添加完整的配置管理页面界面
- 实现配置项的动态编辑和保存功能
- 添加连接设置功能用于 WebSocket 连接配置
- 提供多标签页界面分别管理不同配置模块
- 实现配置变更后的实时预览和保存确认
2026-06-15 17:22:32 +08:00
oudecheng
027e8661bc feat(todo): 实现待办事项列表的动态刷新和状态管理
- 在 runtime 中为待办事项添加基于系统时间的时间戳
- 修复前端 TodoPanel 组件的数据刷新逻辑
- 添加 setTodos 状态更新函数以支持待办事项清空操作
- 实现根据当前视图动态选择请求命令的功能
- 优化待办事项数据的过滤和映射处理流程
2026-06-15 16:20:40 +08:00
3630e62e18 style(chat): 优化消息气泡组件样式间距
- 移除消息气泡底部多余外边距,调整整体布局美观
- 为模型思考内容容器增加底部外边距,改善内容分隔
- 统一模型思考区域的外边距,提升视觉一致性
- 根据内容情况动态添加外边距,增强排版灵活性
2026-06-14 12:55:49 +08:00
b67848180b feat(stream): 添加子代理消息流增量处理功能
- 在 runtime 模块中新增 handle_stream_delta 方法,支持子代理消息流的增量和结束事件处理
- 为流消息新增 stream_message_id,用于标识和管理消息流状态
- 修改 ConversationContext 初始化,加入 stream_message_id 互斥锁字段
- 更新 web 端 Chat 组件,添加对流增量内容的条件渲染,避免空字符串渲染
- 在 useChat 钩子内增加对 stream_delta 和 stream_end 类型消息的识别和处理逻辑
- 实现流增量消息的累积更新,合并多次流增量内容和推理文本
- 处理流结束消息时的无操作逻辑,确保消息流完整性
- 对 assistant_response 消息进行替换更新,修正流消息的最终呈现内容
2026-06-14 12:51:26 +08:00
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
43cea50df8 feat: 添加连接设置弹窗,支持动态配置 WebSocket 连接 2026-06-12 19:17:50 +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
ec5ddf644a fix: 优先使用 topic_id 更新 todo 列表,确保与工具内存状态一致 2026-06-12 17:25:50 +08:00
oudecheng
50d0b92336 feat: 添加详细工具视图和状态图标,支持放大查看功能 2026-06-12 16:49:20 +08:00
oudecheng
3c889caacf feat: 添加日志记录以持久化待办事项时的调试信息 2026-06-12 16:22:43 +08:00
oudecheng
750eed7326 feat: 添加 ListTodos 命令处理器,支持列出当前待办事项列表 2026-06-12 15:53:01 +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
f808bd09ea feat: 隐藏无实质内容的助手消息气泡以优化界面显示 2026-06-12 08:44:14 +08:00
oudecheng
4487f1a490 feat: 添加思考过程显示功能,允许用户选择是否展示助手的思考内容 2026-06-11 17:15:03 +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
d0741ef4fc feat: 优化话题选择逻辑,避免用户手动选择后自动切换;重构消息列表滚动逻辑,提升用户体验 2026-06-08 18:01:32 +08:00
oudecheng
3f9bb22097 feat: 添加 favicon.svg 文件并在 index.html 中引用 2026-06-08 14:43:47 +08:00
oudecheng
f470affb2f feat: 添加技能列表功能,支持列出所有技能并在前端展示 2026-06-08 14:13:54 +08:00
oudecheng
4c2a2ebf28 feat: 优化记忆面板的 SectionHeader 组件样式,增强用户交互体验 2026-06-08 11:57:26 +08:00
oudecheng
ef274e0387 feat: 更新记忆面板样式,确保面板在打开时占满高度 2026-06-08 11:52:21 +08:00
c0d4f65de4 feat: 更新数据库连接管理,使用连接池优化会话存储,添加新的错误处理 2026-06-07 21:35:47 +08:00
cca913b610 feat: 添加记忆 CRUD 功能,支持创建、更新和删除记忆,优化记忆面板交互 2026-06-07 20:16:54 +08:00
7708112649 feat: 添加记忆功能,支持列出所有记忆并在前端展示,优化记忆面板 2026-06-07 19:50:46 +08:00
1f04c62d0d feat: 添加图片轻箱功能,支持点击图片预览和下载,优化附件展示逻辑 2026-06-07 18:47:17 +08:00
62ea6de3a7 feat: 更新时间戳处理逻辑,支持从消息中提取并格式化时间,同时为话题列表添加分页功能 2026-06-07 18:17:13 +08:00
7e8b6a832e style: 调整刷新按钮的样式和尺寸,优化用户界面 2026-06-07 18:01:59 +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
02339465b6 chore: 删除未使用的 Sidebar SessionSelector(已移至 Header) 2026-06-06 22:25:22 +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
bd13cffe14 feat: 添加亮色/暗色主题切换功能
- 在 index.css 中新增 html.light 亮色主题 CSS 变量和过渡动画
- 在 App.tsx Header 添加 Sun/Moon 主题切换按钮
- 主题偏好通过 localStorage 持久化,默认暗色主题
- 将所有组件中的硬编码 Tailwind 颜色值转换为 CSS 变量引用
- 状态色(emerald/amber/red/violet)保持不变,两种主题均适用
2026-06-04 21:52:45 +08:00
oudecheng
2f529e96d0 feat: 添加滚动控制功能,支持回到顶部和回到底部的按钮 2026-06-04 16:00:43 +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
0d6880f6a3 fix: 修复任务工具结果解析逻辑,确保正确处理显示内容 2026-06-03 14:08:23 +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