jxxghp
e0e21e39a2
refactor: generalize agent interaction requests
2026-04-16 22:51:51 +08:00
jxxghp
cc31c66b93
feat: add agent button choice workflow
2026-04-16 22:32:59 +08:00
jxxghp
04c2a1eb18
Add manual AI redo flow
2026-04-15 17:10:18 +08:00
jxxghp
13c3c082b8
Improve agent image capability routing
2026-04-15 08:55:32 +08:00
jxxghp
7a5e513f25
feat(agent): support file attachments and local file replies
2026-04-14 15:22:01 +08:00
jxxghp
e5f97cd299
feat(agent): add voice message support with TTS/STT for Telegram and WeChat
...
- Integrate voice message handling: detect and extract audio references from Telegram and WeChat messages, route to agent with voice reply preference.
- Add voice provider abstraction and OpenAI-based TTS/STT implementation.
- Implement agent tool `send_voice_message` for generating and sending voice replies, with fallback to text if voice is unavailable.
- Extend agent prompt and context to support voice reply instructions.
- Update notification and message schemas to support audio fields.
- Add Telegram and WeChat voice sending logic, including audio file conversion and temporary media upload for WeChat.
- Add tests for voice helper and agent voice routing.
2026-04-12 12:30:02 +08:00
jxxghp
6c5fae56d9
Add agent image support for Telegram and Slack
2026-04-11 20:40:02 +08:00
jxxghp
bf12a8679d
refactor: 移除 agent 批量重试逻辑中的多余 try 块并优化缩进
2026-04-10 15:03:49 +08:00
jxxghp
75fca971d4
refactor(agent): 重命名 can_edit_message 为 is_auto_flushing 更贴切语义
2026-04-09 23:29:29 +08:00
jxxghp
22f3244bf5
fix(agent): 流式+啰嗦模式下渠道不支持编辑时立即发送工具消息
...
渠道不支持编辑时没有定时刷新任务,emit 到 buffer 的内容不会被推送。
新增 can_edit_message 属性区分两种模式:支持编辑的继续 emit 到 buffer,
不支持编辑的 take 出 agent 文字与工具消息合并独立发送。
2026-04-09 23:26:39 +08:00
jxxghp
aafc4b3a39
fix(agent): start_streaming 始终标记流式状态以支持 buffer 收集
...
渠道不支持消息编辑时,仍需标记 streaming_enabled 为 True,
以便啰嗦模式下工具调用时能通过 is_streaming 进入流式分支
发送 agent 中间文字和工具消息。只是不启动定时刷新任务。
2026-04-09 23:19:34 +08:00
jxxghp
18906e5ab2
更新 __init__.py
2026-04-09 22:51:37 +08:00
jxxghp
9675d199f9
fix(agent): 非流式模式下不发送任何工具中间消息
2026-04-09 22:48:03 +08:00
jxxghp
78e8faa203
fix(agent): 非流式模式下啰嗦模式仍需发送工具调用中间消息
...
啰嗦模式+渠道不支持编辑时,虽然 is_streaming 为 False,
但 astream 仍会将 token 写入 buffer,需要在工具调用时
取出 agent 文字与工具消息合并发送
2026-04-09 22:23:00 +08:00
jxxghp
d5ed9bc654
fix(agent): 简化非流式模式下工具调用的消息处理逻辑
...
非流式模式下使用 ainvoke 执行,无流式 token 产出,
不需要操作 stream_handler 或发送中间消息
2026-04-09 22:20:09 +08:00
jxxghp
770065d9ed
feat(agent): 优化Agent流式输出与工具消息发送逻辑
...
- 新增 _should_stream() 方法,根据运行环境决定是否启用流式输出:
后台模式不启用;渠道支持编辑启用;啰嗦模式开启时也启用
- 非流式模式下使用非流式LLM + ainvoke,避免不必要的流式开销
- 非啰嗦模式下工具调用时不发送任何中间消息(agent文字和工具提示),直接清掉缓冲区
2026-04-09 22:12:20 +08:00
jxxghp
dc428e7de0
feat(skills): 内置技能支持版本号管理,更新时自动覆盖旧版本
...
SKILL.md frontmatter新增version字段,同步时比较版本号,
内置版本更高时直接覆盖用户目录中的旧版本。
2026-04-09 07:17:04 +08:00
jxxghp
0c51d79be7
feat(agent): 合并同批次整理失败的agent重试调用,避免重复浪费token
...
同一download_hash或同一源目录下的失败记录在5分钟缓冲期内合并为一次agent调用,
批量处理时只识别一次媒体信息后复用到所有文件。
2026-04-09 07:16:56 +08:00
jxxghp
3c7cd2186f
查询订阅历史工具有名称过滤时不分页直接返回所有匹配结果
2026-04-08 07:58:54 +08:00
jxxghp
5acfd683b9
agent工具支持翻页及取消数量限制
2026-04-08 07:41:34 +08:00
jxxghp
6b01901a4a
更新 search_web.py
2026-04-08 07:29:30 +08:00
jxxghp
1ca54afd6c
更新 search_person.py
2026-04-08 07:27:29 +08:00
jxxghp
9c75c2d22e
更新 search_media.py
2026-04-08 07:26:54 +08:00
jxxghp
79ec3ed2c3
更新 list_directory.py
2026-04-08 07:21:37 +08:00
jxxghp
7072d2cfe8
更新 query_installed_plugins.py
2026-04-08 07:15:13 +08:00
jxxghp
c0c08b0b84
更新 query_subscribe_history.py
2026-04-08 07:12:39 +08:00
jxxghp
01329195ee
更新 query_subscribes.py
2026-04-08 07:11:45 +08:00
jxxghp
1e338e48ab
fix(agent): 基于langgraph_step过滤中间步骤思考文本,抽离ThinkTagStripper类
...
- 利用metadata中的langgraph_step检测工具调用前的中间步骤,非VERBOSE模式下
自动reset清除模型输出的计划/推理文本(如NEXT STEPS、tool call描述等)
- 将<think>标签流式剥离逻辑抽离为独立的_ThinkTagStripper类,简化主流程
2026-04-07 12:42:46 +08:00
jxxghp
ac9c9598f4
feat(agent): add tools for querying and updating custom identifiers
2026-04-07 09:00:15 +08:00
jxxghp
8109ffb445
feat(agent): add /stop_agent command for emergency stop of agent reasoning
...
Add /stop_agent command that cancels the currently running agent reasoning
task without clearing the session or memory. Unlike /clear_session which
destroys the entire session, this allows users to stop a long-running or
stuck agent process and continue the conversation afterward.
2026-04-07 07:32:35 +08:00
jxxghp
902394f86e
fix(agent): resolve circular import by lazy-importing Command in run_slash_command and list_slash_commands
2026-04-07 00:16:09 +08:00
jxxghp
9fefd807f9
refactor(agent): rename list_all_commands to list_slash_commands and skill to command-dispatch
2026-04-07 00:00:10 +08:00
jxxghp
a8fb4a6d84
refactor(agent): rename run_plugin_command to run_slash_command to avoid confusion with execute_command (shell)
2026-04-06 23:53:49 +08:00
jxxghp
7806267e92
feat(agent): add command-execute skill for intelligent command dispatch
...
- Enhance run_plugin_command tool to support all registered commands (system preset + plugin + other), not just plugin commands
- Add list_all_commands tool to discover all available commands with descriptions and categories
- Add command-execute skill that guides the agent to recognize user intent from natural language and match it to available system/plugin commands
2026-04-06 23:45:48 +08:00
jxxghp
663e37bd03
refactor: SendMessageTool message_type 改为消息标题
2026-04-04 07:42:36 +08:00
jxxghp
8960620883
更新 __init__.py
2026-04-04 07:29:41 +08:00
jxxghp
d7a5c32b08
feat: 整理失败时AI智能体自动重试
...
- 新增 delete_transfer_history 工具供智能体删除失败历史记录
- 新增 transfer-failed-retry 技能引导智能体执行重试流程
- 新增 AI_AGENT_RETRY_TRANSFER 配置项控制是否启用
- AgentManager 新增 retry_failed_transfer() 方法创建独立会话执行重试
- 整理失败和媒体未识别时自动触发智能体重试
2026-04-03 13:33:27 +08:00
jxxghp
244112be5c
fix: 智能体唤醒后消息发送问题
2026-04-02 19:23:40 +08:00
jxxghp
1f526adbe7
feat: add NotificationType for Agent messages
2026-04-02 19:13:05 +08:00
jxxghp
84b938c0d2
fix: 后台模式不发送工具调用消息
2026-03-31 18:25:55 +08:00
jxxghp
e61299f748
refactor: 移除多余的空行,优化类型导入及方法为静态方法
2026-03-30 17:07:45 +08:00
jxxghp
cbff2fed17
agent工具增加管理员权限校验:查询站点、查询已安装插件、查询插件能力、查询站点用户数据、刮削元数据
2026-03-30 11:54:48 +08:00
jxxghp
9c51f73a72
feat(telegram): 优化Telegram文件下载与base64转换逻辑,重构消息发送相关代码
...
- 新增 TelegramModule.download_file_to_base64 方法,统一文件下载与base64编码
- Telegram 客户端新增 download_file 方法,简化文件下载流程
- 消息图片下载逻辑调整为通过模块方法调用,移除冗余静态方法
- 修复部分参数格式与空格风格,提升代码一致性
- 优化长消息发送异常处理与代码结构
2026-03-30 10:28:40 +08:00
jxxghp
70109635c7
feat(agent): 接入Exa API用于网络搜索
2026-03-30 07:11:29 +08:00
jxxghp
7bd775130e
fix: 修复QQ渠道key映射
2026-03-29 10:48:23 +08:00
jxxghp
4bba7dbe76
fix: 修复QQ渠道名称为qq
2026-03-29 10:47:16 +08:00
jxxghp
0cab21b83c
feat(agent): 为需要管理员权限的工具添加 require_admin 字段
...
- ExecuteCommandTool: 执行命令行
- DeleteDownloadHistoryTool: 删除下载历史
- EditFileTool: 编辑文件
- WriteFileTool: 写入文件
- TransferFileTool: 传输文件
- UpdateSiteTool: 更新站点
- UpdateSiteCookieTool: 更新站点Cookie
- UpdateSubscribeTool: 更新订阅
- DeleteSubscribeTool: 删除订阅
- DeleteDownloadTool: 删除下载
- ModifyDownloadTool: 修改下载
- RunSchedulerTool: 运行定时任务
- RunWorkflowTool: 运行工作流
- RunPluginCommandTool: 运行插件命令
- SendMessageTool: 发送消息
2026-03-29 10:46:35 +08:00
jxxghp
ca9cbc1160
fix(agent): 修复 MessageChannel.QQBot 不存在的错误
2026-03-29 10:38:52 +08:00
jxxghp
02439f55a9
feat(agent): 增加工具执行权限控制
...
- 工具执行前检查用户权限
- 支持渠道管理员名单验证
- 支持系统管理员验证
- 支持渠道配置用户ID验证
2026-03-29 10:30:09 +08:00
jxxghp
2d358e376c
refactor: 移除多余的局部导入
2026-03-29 09:59:22 +08:00