oudecheng
|
d1d4998a26
|
feat: 增加工具结果字符限制,提升处理能力至 100,000 字符
|
2026-06-04 17:33:01 +08:00 |
|
oudecheng
|
1d4ebb27a7
|
feat: 更新 StopExecution 命令和 CancelManager,支持按话题取消 Agent 执行
|
2026-06-03 18:13:15 +08:00 |
|
oudecheng
|
1b571e943f
|
feat: 添加停止当前执行的 Agent 功能,支持通过 /stop 命令取消执行
|
2026-06-03 16:49:29 +08:00 |
|
|
|
15dfc48837
|
feat: 根据 chat_id 自动选择 Session,支持定时任务专用 Session
|
2026-06-03 00:08:28 +08:00 |
|
|
|
a2c7981d6d
|
feat: 添加 fresh_session 选项以支持清理历史记录
|
2026-06-02 23:31:05 +08:00 |
|
oudecheng
|
9f2eedf313
|
feat: 更新消息处理逻辑,仅接受带有匹配 subagent_task_id 的消息
|
2026-06-02 19:34:11 +08:00 |
|
oudecheng
|
ea6fabe41d
|
feat: 添加持久化消息处理程序,增强定时任务消息的持久化能力
|
2026-06-02 18:42:50 +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
|
5273a7b335
|
feat: 添加记忆数量检查,避免在保留数不足时进行整理
|
2026-06-02 16:18:16 +08:00 |
|
oudecheng
|
f8fc0f7d0f
|
feat: 添加工具结果处理功能,支持执行时长记录和显示
|
2026-06-02 16:15:05 +08:00 |
|
oudecheng
|
eebfe0faa5
|
feat: 增强错误处理和日志记录,优雅处理通道关闭情况
|
2026-06-02 15:23:50 +08:00 |
|
|
|
9b6cae0803
|
feat: 前端静态文件嵌入二进制
- 添加 rust-embed 依赖
- 创建 static_files.rs 模块,编译时嵌入 static/ 目录
- 修改 gateway 路由,默认使用嵌入文件
- 支持 STATIC_DIR 环境变量切换到磁盘文件(开发模式)
- 更新 README 说明 Web UI 和构建流程
|
2026-05-30 17:43:17 +08:00 |
|
|
|
1288ba268f
|
feat: 限定记忆命名空间为7种分类
- 新增 ALLOWED_MEMORY_NAMESPACES 常量定义允许的命名空间
- 添加 namespace 验证函数 is_valid_namespace()
- memory_manage 工具 schema 使用 enum 限制 namespace
- memory_search 工具 schema 使用 enum 提示可用 namespace
- 更新系统提示词添加命名空间分类说明
- 更新记忆维护提示词添加命名空间分类说明
- 修复测试中使用旧 namespace 的问题
命名空间分类:
- user: 用户记忆
- semantic: 语义记忆
- episodic: 情景记忆
- skill: 技能记忆
- environment: 环境记忆
- reflection: 反思记忆
- other: 其他记忆
|
2026-05-30 13:06:55 +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 |
|
|
|
c2293238fc
|
feat: 前端支持文件附件输入
- 后端 WsInbound::Message 添加 attachments 字段
- ws.rs 将 attachments 转换为 MediaItem
- 前端 MessageInput 支持点击选择和拖拽文件
- 附件预览列表,支持删除
- 文件大小限制 50MB
- 支持所有文件类型
|
2026-05-30 08:07:02 +08:00 |
|
oudecheng
|
06756a4816
|
fix: 修复消息持久化缺失 topic 关联和 assistant 文本丢失
- PersistingEmittedMessageHandler 新增 topic_id 参数,使用 append_message_with_topic 替代 append_message
- agent_loop 的所有退出路径中为最终 assistant 文本添加 emit_live_tool_call_message
- 更新 finalize_result filter,live_emitter 存在时抑制所有消息的 post-loop 广播
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-29 18:09:00 +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
|
3b0b4c1f2e
|
refactor: 消息持久化改为批量单事务插入
- 新增 append_messages_batch 方法,所有消息在一个事务内插入
- session_history 移除逐条 append_persisted_message,统一走批量路径
- 子智能体消息保存从 for 循环改为批量调用
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-29 13:02:15 +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
|
5e5de7ce9f
|
refactor: 移除 show_tool_results 开关,始终实时推送工具调用消息
简化工具消息推送逻辑,去掉条件判断,让所有工具消息(含结果)
直接通过 emit_live_tool_call_message 实时发送给用户。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-28 18:52:40 +08:00 |
|
oudecheng
|
44e82e8473
|
feat: 附件通过 base64 内容实现前端直接下载
- MediaItem/MediaSummary 新增 content_base64 和 file_name 字段
- 解析附件时读取文件内容并 base64 编码(限 50MB),前端 Blob 下载
- 创建 Session 后返回完整 topics 列表,前端侧边栏实时同步
- 简化话题历史加载逻辑,不再回退到 session 消息
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-28 14:01:37 +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 |
|
oudecheng
|
644f5f9132
|
feat: 子代理继承主代理的 MCP 工具
- 为 McpToolWrapper 添加 Clone trait,支持工具实例复用
- 修改 build_subagent_tools 方法,支持传入 MCP 工具列表
- 调整 runtime 构建顺序:先等待 MCP 连接,再将 MCP 工具传递给子代理
子代理现在可以自动使用主代理配置的 MCP 工具(如 filesystem、fetch 等)。
|
2026-05-26 11:53:40 +08:00 |
|
oudecheng
|
86d48a3ec0
|
feat: 实现自定义子代理加载功能
- 添加 SubagentCatalog::discover() 方法,支持从文件系统加载自定义子代理
- 支持 ~/.picobot/subagents/ 和 ./.picobot/subagents/ 两个目录
- 项目级定义可覆盖用户级定义
- 支持 YAML frontmatter + body 格式解析
- 修复 Windows 换行符兼容性问题
- 移除未使用的 read_only 字段
- 实现 TaskTool 动态 schema,子代理类型列表从运行时获取
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-25 11:56:44 +08:00 |
|
|
|
58b37bb796
|
fix: 更新合并规则,明确命名空间限制和合并条件
|
2026-05-24 22:33:07 +08:00 |
|
|
|
9ae2813c20
|
feat: 添加子代理配置,支持自定义子代理定义和运行时管理
|
2026-05-24 21:35:36 +08:00 |
|
|
|
b571d7b7b3
|
feat: 添加图片上下文限制配置,支持最大图片数量和消息轮次限制
|
2026-05-24 18:06:22 +08:00 |
|
|
|
4605c2dad3
|
feat: 重构 MCP 配置,支持 mcpServers 字段,优化工具注册和连接管理
|
2026-05-24 10:00:25 +08:00 |
|
|
|
0732b31e6b
|
feat: 添加主题描述生成和更新功能,优化会话信息展示
|
2026-05-24 08:32:34 +08:00 |
|
|
|
5e04832f20
|
feat: 更新 MCP 配置和工具适配器,支持 Claude Desktop 格式,优化服务器连接管理
|
2026-05-23 23:37:45 +08:00 |
|
|
|
ef7e899584
|
feat: 集成 MCP (Model Context Protocol),支持 Stdio 和 HTTP 传输方式,优化工具注册和连接管理
|
2026-05-23 23:22:36 +08:00 |
|
|
|
cbb384a4e6
|
feat: 添加 MCP (Model Context Protocol) 支持,包含客户端管理器和工具适配器
|
2026-05-23 22:52:36 +08:00 |
|
|
|
f68e915b04
|
feat: 更新技能管理工具文档,明确技能创建和修改的正确流程及存储路径
|
2026-05-23 21:12:39 +08:00 |
|
|
|
b6f2de053d
|
refactor: 移除会话重置逻辑中的 reset_cutoff_seq 字段,优化会话管理和历史压缩逻辑
|
2026-05-23 18:38:34 +08:00 |
|
|
|
b4ef56803f
|
feat: 添加内存维护配置,优化记忆整理逻辑和限制
|
2026-05-23 16:05:11 +08:00 |
|
oudecheng
|
2724334d52
|
feat: 移除 SkillListTool,简化技能管理工具
|
2026-05-22 14:01:22 +08:00 |
|
oudecheng
|
70b35d2cc1
|
feat: 更新聊天历史加载逻辑,支持按话题加载历史记录并避免借用冲突
|
2026-05-22 10:47:25 +08:00 |
|
oudecheng
|
c817b1dde1
|
feat: 优化会话消息处理逻辑,支持在话题切换时正确保存消息并更新内存历史
|
2026-05-21 18:04:11 +08:00 |
|
oudecheng
|
1c6ee160e5
|
feat: 添加父话题 ID 支持,优化子智能体任务管理和会话关联
|
2026-05-20 18:11:16 +08:00 |
|
oudecheng
|
49475783a2
|
feat: 添加子智能体支持到保存话题和会话功能,优化数据持久化
|
2026-05-20 17:52:46 +08:00 |
|
oudecheng
|
fc628239a4
|
feat: 添加技能索引支持到子代理系统提示词构建,优化提示词组合逻辑
|
2026-05-20 15:34:34 +08:00 |
|
oudecheng
|
b364496601
|
feat: 添加生成系统环境信息提示词的功能,并在子代理提示词构建中集成
|
2026-05-20 15:13:06 +08:00 |
|
oudecheng
|
8830027cbc
|
feat: 添加原始话题 ID 支持,优化消息保存逻辑以处理用户话题切换
|
2026-05-20 12:05:58 +08:00 |
|
oudecheng
|
90228a4d49
|
feat: 更新 GetCurrentSessionCommandHandler,添加系统提示词提供者支持并优化令牌估算逻辑
|
2026-05-19 18:29:32 +08:00 |
|
oudecheng
|
2d5b6168cc
|
feat: 添加会话管理器支持到 GetCurrentSessionCommandHandler,并重构从会话获取消息的逻辑
|
2026-05-19 17:42:47 +08:00 |
|