oudecheng
|
994db87f11
|
feat: 新增 ExecutionCompleted 信号修复发送按钮状态
- 后端 OutboundEventKind/WsOutbound 新增 ExecutionCompleted 变体
- processor 在 handle_message 完成后发送该信号
- 飞书/微信通道过滤该信号(不发送)
- 前端 useChat 移除 stream_delta/assistant_response 的 isLoading=false
- 改由 execution_completed 事件统一设置 isLoading=false,确保智能体迭代期间按钮保持停止态
|
2026-07-03 19:32:14 +08:00 |
|
oudecheng
|
76abdbd1de
|
feat: MCP stdio 命令解析与错误诊断增强
- 新增 resolve_command_path:Windows 上搜索 .exe/.cmd/.bat 后缀
- 启动失败时给出友好错误信息(含 PATH 和建议)
- 捕获子进程 stderr 并在连接失败时回显
- ConfigPage 新增 cwd 工作目录字段
- 添加单元测试覆盖路径解析逻辑
|
2026-07-03 19:31:52 +08:00 |
|
oudecheng
|
1309fa28da
|
feat: McpClientManager 传递 cwd 参数至 connect_stdio
|
2026-07-03 16:34:01 +08:00 |
|
oudecheng
|
5ceafb1fd7
|
feat: 添加配置应用诊断日志,便于排查 AgentFactory 实例与工具列表
|
2026-07-03 16:33:01 +08:00 |
|
oudecheng
|
7640a6e5b7
|
fix: 修复 WebSocket 连接泄漏,使用 CancellationToken 实现优雅重启
|
2026-07-03 16:32:43 +08:00 |
|
oudecheng
|
7e24e57af4
|
fix: 修复 persistent_session_id 前缀重复累积问题
|
2026-07-03 16:32:24 +08:00 |
|
oudecheng
|
a78f5c5512
|
feat: MCP stdio 传输支持工作目录配置
|
2026-07-03 16:32:09 +08:00 |
|
oudecheng
|
b206e077e2
|
chore: 忽略 .trae 目录
|
2026-07-03 16:31:49 +08:00 |
|
oudecheng
|
2a02adc7c3
|
feat: 将 StreamingAccumulator 中的 tool_calls 类型从 HashMap 更改为 BTreeMap;在 SkillSource 中添加自定义源支持
|
2026-07-03 11:34:30 +08:00 |
|
oudecheng
|
d2af01eb30
|
feat: 更新通道名称为 websocket,调整相关引用和逻辑
|
2026-07-03 10:58:24 +08:00 |
|
oudecheng
|
f3365f8d3a
|
feat: 添加 HistoryUnit 解析单元测试,验证系统守卫和工具调用的处理逻辑
|
2026-07-03 10:19:33 +08:00 |
|
oudecheng
|
51e06c8f73
|
feat: 实现两段历史压缩的同步处理,替换会话的活动历史记录
|
2026-07-03 09:52:45 +08:00 |
|
oudecheng
|
1af0fab3ad
|
feat: 更新配置管理,支持异步读取和写入;添加 MCP 服务器状态接口
|
2026-07-03 08:37:02 +08:00 |
|
oudecheng
|
4071dcc6ee
|
feat: 更新取消结果构建逻辑,确保已生成消息包含在取消响应中
|
2026-07-02 18:27:22 +08:00 |
|
oudecheng
|
32d49601a2
|
feat: 更新取消信号处理,支持 interior mutability;优化 LLM 调用与工具执行的取消逻辑
|
2026-07-02 17:17:03 +08:00 |
|
oudecheng
|
81c88257c8
|
feat: 更新模型配置,调整温度和上下文窗口令牌数量;添加启动和停止网关的批处理脚本
|
2026-07-01 15:11:28 +08:00 |
|
oudecheng
|
c70571b0d1
|
feat: 更新版本号至 0.1.1
|
2026-07-01 11:33:45 +08:00 |
|
oudecheng
|
f8e7bfcd54
|
feat: 更新默认提供者配置,修改基础URL和模型ID
|
2026-07-01 09:29:34 +08:00 |
|
oudecheng
|
4fabbe47e9
|
feat: 增强MCP集成,支持配置路径和连接重试机制
|
2026-06-30 10:46:33 +08:00 |
|
oudecheng
|
7d11ab8067
|
feat: 添加默认配置文件创建功能,确保首次启动时可用
|
2026-06-29 15:27:22 +08:00 |
|
oudecheng
|
26cbe7aa2d
|
feat: 更新 created_by_message_id 逻辑,仅在内容或状态变化时进行更新
|
2026-06-29 15:01:32 +08:00 |
|
oudecheng
|
bf1549b88b
|
feat: 优化 todo_write 工具的 merge 参数描述,调整默认值逻辑并添加测试
|
2026-06-29 09:24:05 +08:00 |
|
oudecheng
|
4742a6aed9
|
feat: 增加附件文件大小限制至 200MB
|
2026-06-26 12:03:33 +08:00 |
|
oudecheng
|
63714b6c6e
|
feat: 添加侧边栏收起/展开功能并优化样式
|
2026-06-26 11:34:39 +08:00 |
|
oudecheng
|
a40f57fb22
|
feat: 注册 save_topic 处理器并优化助手消息渲染逻辑
|
2026-06-25 14:10:04 +08:00 |
|
oudecheng
|
ef18500100
|
feat: 更新 created_by_message_id 字段的赋值逻辑,确保使用 tool_call_id 进行消息关联
|
2026-06-25 10:50:16 +08:00 |
|
oudecheng
|
c72853c79d
|
feat: 添加 user_message_id 字段以支持用户消息的关联和同步
|
2026-06-24 15:13:36 +08:00 |
|
oudecheng
|
7f262c9af2
|
feat(todos): 在 todos 表中添加 created_by_message_id 字段以支持消息关联
|
2026-06-23 17:37:54 +08:00 |
|
oudecheng
|
95cf152ab9
|
fix(agent): 修复工具调用消息序列的完整性问题
- 在历史压缩时,移除保留消息中不完整的工具调用序列,防止API 400错误
- 压缩后对当前历史消息再次进行工具调用序列清理,确保消息序列有效性
- OpenAI请求构建中,增加位置感知的工具调用和结果配对验证
- 跳过含有不完整工具调用序列的助手消息,避免发送非法请求
- 剥离不完整助手消息的工具调用字段,作为普通助手消息序列化
- 跟踪并警告不完整工具调用序列和被跳过的消息索引
|
2026-06-23 08:44:48 +08:00 |
|
oudecheng
|
3be9c1e646
|
feat(storage): 添加 todos 表的 created_by_message_id 字段迁移
- 检查 todos 表中是否存在 created_by_message_id 列
- 若不存在则添加该列,类型为 TEXT
- 记录添加列的迁移过程日志
- 确保数据库表结构更新完成后返回成功状态
|
2026-06-22 14:55:13 +08:00 |
|
oudecheng
|
4efc8b51e7
|
feat(todo): 添加待办项关联的创建消息ID并支持消息高亮
- 在待办相关数据结构和存储中新增 created_by_message_id 字段
- 记录待办项创建时对应的消息ID,支持追溯来源
- 在前端待办列表项增加点击事件,点击后滚动并高亮对应消息
- 在消息列表组件中实现高亮动画及自动滚动功能
- 更新相关工具、协议和数据库查询,确保新字段正确传递和存储
- 增加 CSS 动画实现待办对应消息的高亮闪烁效果
- 优化前端状态管理,支持设置与获取高亮消息ID
|
2026-06-22 14:50:37 +08:00 |
|
oudecheng
|
6a496ce212
|
feat(task): 优化孙智能体任务消息的发送与工具注册
- 在发送任务消息时增加可选的任务仓库参数支持子任务重发
- 新增 extract_parent_task_id 函数用于提取孙智能体的父任务 ID
- 补发子任务(孙智能体)的 TaskStarted 事件,解决视图重进导致的 navigateToTaskId 丢失
- 判断并附加子任务的父任务 ID,完善日志记录与事件发送
- 在子智能体运行时根据深度排除 task 工具,防止无限嵌套调用
- ToolRegistry 新增 without 方法,可创建排除指定工具的新实例用于子智能体配置
|
2026-06-22 11:31:41 +08:00 |
|
oudecheng
|
606fcbcd29
|
feat(agent): 注入并传递 tool_call_id 实现任务与工具调用精准关联
- 在 agent_loop 执行上下文中注入 tool_call_id,确保执行时传递该字段
- 在 agent_factory、ws、todo_read、todo_write 等多处构造对象时添加 tool_call_id 字段初始化
- 扩展协议定义及序列化,支持 tool_call_id 字段传递
- 在工具调用任务运行时传递 tool_call_id,便于事件追踪和层级关联
- 在前端 useChat hook 增加 tool_call_id 关联逻辑,实现 task_started 事件精准匹配和跳转
- 增加 pendingTaskNavs 缓存处理,解决 task_started 事件先于 tool_call 到达的顺序问题
- 调整消息渲染逻辑,根据 tool_call_id 进行优先匹配,提升用户交互体验
|
2026-06-22 10:22:36 +08:00 |
|
|
|
d802534abe
|
feat(gateway): 支持网关平滑重启功能
- 在 Gateway 运行逻辑中增加重启循环,可根据重启信号自动重启服务
- 添加取消管理器功能,支持取消所有运行中的 Agent 以便平滑重启
- 在 HTTP API 新增 /api/restart 接口,实现基于任务活动检测的安全重启
- GatewayState 增加重启信号通道,支持异步触发重启流程
- 修改主运行逻辑支持重启等待机制,实现优雅关闭或重启
- 日志初始化修复防止重复初始化导致的问题
- 技能和子代理加载支持自定义绝对路径来源,增加灵活性和扩展性
- 调整技能与子代理来源枚举,增加 Custom 选项支持动态路径
- 优化工具与任务运行时代码,完善路径处理和克隆逻辑
- 前端配置页增加时区选择下拉菜单,提供常用时区选项
- 新增来源路径编辑组件,支持启用/禁用已知来源及添加自定义绝对路径
- 配置页新增保存配置后重启提示,支持用户确认立即重启网关
- 实现重启操作的前端调用及重启状态展示,包括任务冲突提示与重启轮询恢复
- 频道绑定 Agent 字段由输入框改为下拉选择,提升配置体验和正确性
|
2026-06-19 10:40:00 +08:00 |
|
oudecheng
|
18ad891a51
|
feat(gateway): 补发运行中子智能体任务的TaskStarted事件
- 在加载话题历史消息时增加调用task_repository参数
- 查询该话题下所有运行中的子智能体任务
- 对每个运行中的任务补发TaskStarted事件
- 解决页面刷新后navigateToTaskId丢失的问题
- 增加错误处理及日志警告与信息输出
- 优化消息发送流程,避免子智能体消息混入
|
2026-06-18 19:07:26 +08:00 |
|
oudecheng
|
82eab7ad8d
|
fix(useChat): 修复 task_started 事件过滤及日志输出
- 增加 task_started 消息的调试日志,输出 task_id、topic_id、parent_task_id 和当前选中的话题
- 对 topic_id 不匹配的 task_started 消息进行过滤,并打印日志提示
- 对带有 parent_task_id 的孙智能体 TaskStarted 消息进行过滤,避免回填主视图,并打印日志
- 在更新消息状态时添加日志,记录查找 task tool_call 消息的数量及索引
- 处理未找到匹配 task tool_call 的情况并打印对应日志
|
2026-06-18 17:50:44 +08:00 |
|
oudecheng
|
edc975e6d0
|
feat(command): 优化 StopExecution 命令按话题取消逻辑
- StopExecutionCommandHandler 新增 SessionManager 依赖
- 优先使用 ctx.topic_id,若无则从 SessionManager 获取当前话题
- 增加获取话题过程中错误处理和日志打印
- 更新命令处理器构造参数,传入 SessionManager
- 在命令路由和 WebSocket 注册时同步修改 StopExecutionCommandHandler 创建方式
|
2026-06-18 17:17:26 +08:00 |
|
oudecheng
|
9ea5849f22
|
refactor(task): 子智能体相关字段重命名及导航逻辑调整
- 将 runtime 中的 sub_session_id 字段重命名为 task_id,作为持久化的 scope_key
- 调整持久化 todo_write 结果使用 task_id 代替 session_id 作为 scope_key
- 重命名前端消息中的 subagentTaskId 为 navigateToTaskId,增强导航表达
- 修改 MessageBubble 组件中子智能体任务导航相关的字段名和条件判断
- 优化 useChat 中 task tool_call 消息的 navigateToTaskId 设置逻辑,确保正确导航孙智能体任务
- 移除无用的 getTopicId 辅助方法,简化消息处理逻辑
- 在协议类型定义中新增 navigateToTaskId 字段,明确导航用途与关系
|
2026-06-18 17:09:42 +08:00 |
|
oudecheng
|
e585ec71b1
|
refactor(todo): 统一子代理 scope_key 为全局唯一的 task_id
- 修改 list_todos 处理器,子代理使用 task_id 作为 scope_key,替代原先的 sub:{parent_session_id}:{task_id}
- 调整 todo_write 的 scope_key_from_context 函数,子/孙代理使用 task_id 隔离,避免与父代理污染
- 修正子任务消息的 task_id 传递逻辑,在 useChat hook 中为子代理视图的孙子任务回填正确的 task_id
- 清理 MessageBubble 组件中多余的 isSubAgent 变量声明
|
2026-06-18 16:44:54 +08:00 |
|
oudecheng
|
421714dfa3
|
style(TodoPanel): 优化待办面板动画和样式细节
- 新增待办卡片及条目动画效果,提升界面动感
- 添加待办分组折叠内容展开/收起过渡样式
- 优化按钮尺寸及颜色悬浮效果,提升交互体验
- 自动展开新待办项,空列表时自动收起
- 调整待办面板大小、圆角及阴影效果,增强视觉层次
- 改进待办标题栏排版及交互样式,支持拖动操作手感
- 为无待办状态提供占位展示及提示文字
- 优化待办分组标题样式及折叠箭头动画
- 改进待办条目列表项样式,支持悬浮高亮显示
- 移除消息气泡中的冗余子智能体标签显示内容
|
2026-06-18 16:15:08 +08:00 |
|
oudecheng
|
301506a3b1
|
feat(chat): 支持子智能体导航添加子智能体类型参数
- 扩展 enterSubAgentView 方法,新增 subagentType 可选参数
- 更新相关回调 onNavigateToSubAgent,添加 subagentType 参数支持
- 调整 MessageBubble 组件触发子智能体导航时传递 subagentType
- 优化 MessageList 组件显示新消息计数及底部导航按钮交互
- 美化底部浮动导航按钮样式,增加新消息数字提示和动画
- TodoPanel 添加状态点样式,消息内容排版更紧凑
- 维护滚动位置状态,改进滚动时新消息计数逻辑
|
2026-06-18 15:34:27 +08:00 |
|
oudecheng
|
8684ff9549
|
feat(chat): 实现多视图滚动位置保存与恢复功能
- 在 App 组件中新增 viewKey,用于标识当前视图
- 通过属性链传递 viewKey 至 MessageList 以区分不同滚动上下文
- MessageList 中新增滚动位置缓存机制,使用 Map 保存各视图的滚动状态
- 在视图切换时自动恢复对应滚动位置,提升用户体验
- 保持消息新增时的自动滚动行为,兼顾视图切换与消息更新场景
|
2026-06-18 15:02:25 +08:00 |
|
oudecheng
|
bf724b133c
|
feat(chat): 支持子智能体栈和面包屑导航功能
- 引入子智能体栈结构以支持多层子智能体导航
- 替换原有单一子智能体视图为子智能体栈管理消息和状态
- 添加navigateToSubAgentLevel方法,支持通过面包屑快速跳转子智能体层级
- 调整子智能体面包屑条UI,显示完整层级的描述、类型和状态
- 优化子智能体消息流和状态更新逻辑,保持栈顶视图同步
- 更新退出子智能体视图逻辑以支持栈弹出操作
- 添加主会话入口和各层子智能体的切换按钮及状态颜色显示
|
2026-06-18 14:53:05 +08:00 |
|
oudecheng
|
175e7fc01b
|
refactor(subagent): 支持带类型的子智能体标题格式
- 将子智能体标题解析升级为支持 "Subagent [type]: description" 格式
- 兼容旧格式 "Subagent: description",默认类型为 "general"
- 修改子智能体会话标题生成,包含类型信息
- 优化记录解析和会话创建逻辑,提高子智能体信息表达准确性
|
2026-06-18 14:27:38 +08:00 |
|
oudecheng
|
6962ea2eb1
|
feat(todo): 优化悬浮待办面板功能
- 将悬浮待办面板集成到聊天组件上方,避免重复渲染
- 调整状态样式配置,简化颜色和样式管理
- 实现待办面板位置拖拽功能,支持位置持久化保存
- 优化折叠与展开交互,改进分组标题和列表项显示样式
- 设计迷你和完整两种面板展现形态,提升界面灵活性
- 添加刷新按钮及自动展开待办新条目功能
- 精简和改进待办项展示,提高内容可读性和界面美观度
|
2026-06-18 14:25:41 +08:00 |
|
oudecheng
|
2607ca4aa4
|
refactor(task): 优化任务工具和子代理深度管理
- 在 AgentContext 中新增 task_id 字段,用于标识当前智能体任务 ID
- 统一 TaskTool 构造函数,使用 Option<u32> 表示最大嵌套深度限制
- 调整子代理工具注册,适配新的 TaskTool 构造函数
- 修改子代理运行时创建逻辑,传递并设置 task_id 和 parent_task_id
- 删除重复的 task_id 提取函数,改用传递参数进行关联
- 深度校验改为判断 Option,支持无深度限制和有限层数
- 增强子代理间的任务层级关联,正确传递 parent_task_id 元数据
|
2026-06-18 11:41:40 +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
|
761f8577be
|
fix(tools): 修正 scope_key 计算逻辑及任务运行时 topic_id 设置
- 调整 scope_key_from_context 根据 nesting_depth 区分主代理和子代理的 key 策略
- 主代理优先使用 topic_id,子代理使用 session_id 避免污染父代理 todo
- 任务运行时将 parent_topic_id 传入 topic_id,修正为正确的引用
- 完善函数注释,增强代码可读性和维护性
|
2026-06-18 10:40:27 +08:00 |
|
oudecheng
|
879f5f243a
|
feat(task): 增加子代理最大嵌套深度支持,更新相关文档和提示
|
2026-06-17 17:55:22 +08:00 |
|
oudecheng
|
631c61fea2
|
feat(agent): 支持子代理最大嵌套深度控制
- 在配置结构体中新增 max_nesting_depth 字段,设置子代理最大嵌套深度
- 在 AgentFactory、todo_read、todo_write 等处初始化 nesting_depth 字段为 0
- 允许 Task 工具注册,使用 max_nesting_depth 控制子代理嵌套层数
- SubAgentRuntimeConfig 新增 max_nesting_depth 配置项,默认值为 1
- TaskTool 新增 max_nesting_depth 字段和带深度限制的构造函数
- 任务执行时增加嵌套深度校验,超过最大深度返回错误提示,防止无限递归创建子代理
|
2026-06-17 14:43:55 +08:00 |
|