oudecheng
0646a17073
feat: 添加附件路径解析功能,支持非 UTF-8 编码文件名的回退机制
2026-06-10 18:07:17 +08:00
abb2d596f4
feat: 统一记忆 scope_key 为 "default",简化上下文依赖
2026-06-06 14:52:54 +08:00
oudecheng
d1d4998a26
feat: 增加工具结果字符限制,提升处理能力至 100,000 字符
2026-06-04 17:33:01 +08:00
e8a3a47ac7
feat: 添加 TaskStarted 事件,支持任务开始通知功能
2026-06-03 21:53:37 +08:00
oudecheng
f8fc0f7d0f
feat: 添加工具结果处理功能,支持执行时长记录和显示
2026-06-02 16:15:05 +08:00
oudecheng
1541dd7c10
feat: 添加平台特定的进程输入等待检查功能,增强 Bash 工具的用户授权检测
2026-06-02 10:59:13 +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
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
5d3a583915
fix: read工具单行超长时内容被完全丢弃
...
单行超过 MAX_CHARS(128K) 时,截断循环 end_idx=0 导致 lines[..0] 为空,
整行内容丢失。改为当首行就超长时使用 take_prefix_chars 字符级截断。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 09:47:47 +08:00
oudecheng
7755164df5
feat:记忆修改隔离
2026-05-28 14:55:52 +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
c41c2a1d2e
feat: 将内置子代理默认超时时间统一改为60分钟
...
- general 子代理: 20分钟 -> 60分钟
- explore 子代理: 10分钟 -> 60分钟
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 12:59:34 +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
9ae2813c20
feat: 添加子代理配置,支持自定义子代理定义和运行时管理
2026-05-24 21:35:36 +08:00
f68e915b04
feat: 更新技能管理工具文档,明确技能创建和修改的正确流程及存储路径
2026-05-23 21:12:39 +08:00
oudecheng
c36650c9aa
feat: 优化技能管理工具,延迟解析禁用名称以提高执行效率
2026-05-22 18:23:18 +08:00
oudecheng
2724334d52
feat: 移除 SkillListTool,简化技能管理工具
2026-05-22 14:01:22 +08:00
oudecheng
efc8af12eb
feat: 添加参数提取工具函数,支持处理字符串化 JSON 数组,优化技能管理和会话发送功能
2026-05-21 17:00:22 +08:00
oudecheng
da9cec6d35
feat: 添加参数提取工具函数,优化 JSON 参数处理,确保处理空值和类型转换
2026-05-21 16:30:09 +08:00
oudecheng
32a9e2946e
feat: 优化 MemorySearchTool 的查询参数处理,支持多种格式的查询输入
2026-05-21 11:35:17 +08:00
oudecheng
1c6ee160e5
feat: 添加父话题 ID 支持,优化子智能体任务管理和会话关联
2026-05-20 18:11:16 +08:00
oudecheng
8d530dcd6b
feat: 添加确保会话存在的功能,优化子智能体会话管理
2026-05-20 17:21:14 +08:00
oudecheng
1dcdd24519
feat: 保存子智能体产生的所有消息到数据库,增强消息持久化功能
2026-05-20 16:23:24 +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
8f82009c32
feat: 重命名工具名称,简化工具调用接口
2026-05-19 15:18:04 +08:00
a43023fce2
feat: 在测试中使用默认的 ToolContext,简化测试用例的上下文设置
2026-05-17 13:09:24 +08:00
831832664d
feat: 重构会话管理逻辑,添加获取当前话题的方法,简化命令处理中的会话获取逻辑
2026-05-16 20:19:49 +08:00
6b5d45e3a5
feat: 添加探索类型最大执行时间配置,优化子代理任务执行逻辑
2026-05-16 17:05:03 +08:00
bee1a39a06
feat: add task management tool with subagent support
...
- Introduced `TaskConfig` struct to manage task-related configurations.
- Implemented `TaskTool` for creating and managing subagents for complex tasks.
- Added `TaskSession` and `TaskRepository` for handling task sessions and persistence.
- Created `DefaultSubAgentRuntime` to execute tasks with timeout and history support.
- Enhanced `ToolContext` to include `subagent_description` for better context tracking.
- Implemented error handling for task execution and session management.
- Updated `ToolRegistryFactory` to register task tools conditionally based on configuration.
- Added prompt builders for subagent tasks to improve interaction clarity.
2026-05-16 16:12:28 +08:00
9bf57c1132
feat: 移除任务管理相关功能,简化工具配置和依赖
2026-05-16 09:08:40 +08:00
020b7aa77a
feat: 添加任务管理功能,支持创建和恢复子代理任务,优化任务执行和状态管理
2026-05-16 08:50:15 +08:00
oudecheng
b33350c410
feat: 添加 GBK 解码支持,优化 BashTool 中的输出处理逻辑
2026-05-14 18:54:08 +08:00
oudecheng
102a4a63c5
feat: 更新 /save 命令,支持保存全部消息到指定路径;修改命令处理逻辑以包含新参数
2026-05-14 10:07:58 +08:00
oudecheng
ac2dfe39cc
feat: 默认创建静默任务,优化定时任务执行逻辑,减少主对话干扰
2026-05-13 12:02:16 +08:00
oudecheng
79f9e36871
feat: 更新工具描述,添加重要的目标配置说明以优化任务执行逻辑
2026-05-13 10:20:57 +08:00
oudecheng
03c95e6b8f
feat: 添加文件读取工具的字符截断逻辑,记录截断字符数量
2026-05-12 18:03:49 +08:00
33e6b78267
feat: 添加工具配置示例,支持工具启用/禁用功能;更新调度器管理工具描述以支持标准 cron 语法
2026-05-10 13:57:47 +08:00
oudecheng
f4758f8513
feat: 添加平台抽象层,支持跨平台兼容性;更新多个模块以使用临时目录和平台特定路径
2026-05-09 16:59:58 +08:00
oudecheng
e0a7f67dab
feat: 添加对 user_openclaw 技能源的支持,更新相关描述和逻辑
2026-05-09 14:38:06 +08:00
oudecheng
ba0e1c2473
feat: 添加对 project_openclaw 技能源的支持,更新相关描述和逻辑
2026-05-09 14:31:38 +08:00
69364e484b
feat: 添加技能禁用功能,支持批量禁用技能并更新运行时状态
2026-05-06 15:30:59 +08:00
597881f72e
feat: Implement WeChatBot SDK with error handling and message protocol
...
- Add WeChatBotError enum for error handling with various error types.
- Create a Result type alias for easier error management.
- Implement ILinkClient for low-level API interactions including QR code generation, message sending, and updates retrieval.
- Define message types and structures for handling incoming messages and media content.
- Add tests for error handling and message parsing to ensure reliability.
Co-authored-by: Copilot <copilot@github.com>
2026-05-06 14:18:47 +08:00
260266b90f
feat: 添加会话消息发送工具,支持文本和附件的发送,优化消息发送逻辑
2026-05-02 09:15:36 +08:00
fc5b2a359f
feat: 优化响应截断逻辑,支持多字节字符边界处理,并添加相关单元测试
2026-05-01 16:07:20 +08:00
90e44950cb
feat: 重构技能事件处理逻辑,移除 SkillEventSink,添加 SkillActivateTool 模块以优化技能激活流程
...
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 15:31:56 +08:00
396504dffb
Refactor agent and storage components to introduce SkillProvider and repository patterns
...
- Introduced `SkillProvider` trait to abstract skill-related functionalities.
- Replaced `SkillRuntime` with `EmptySkillProvider` in `AgentLoop` for default behavior.
- Updated `AgentFactory` to accept `SkillProvider` instead of `SkillRuntime`.
- Created `SessionHistory` struct to manage chat histories and interactions.
- Added `MemoryRepository`, `SchedulerJobRepository`, and `SkillEventRepository` traits for better storage abstraction.
- Refactored tools to use new repository traits for memory and scheduler management.
- Cleaned up session management logic by consolidating chat history handling into `SessionHistory`.
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 15:12:45 +08:00