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
abc4154e2c
更新 version.py
2026-04-09 13:46:34 +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
ad40b99313
更新 version.py
2026-04-07 13:24:13 +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
02cb5dfc31
refactor(agent): optimize database-operation skill to read DB info from system prompt <system_info>
2026-04-07 07:37:39 +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
0ecbcb89fa
更新 SKILL.md
2026-04-07 07:16:18 +08:00
jxxghp
8f38c06424
feat(agent): add database-operation skill for SQL access with auto SQLite/PostgreSQL detection
2026-04-07 00:43:28 +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
b777e8cab1
删除 .DS_Store
2026-04-04 14:06:05 +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
5b892b3a63
fix: 修复Gemini 2.5思考模型工具调用时thought_signature缺失导致400错误
...
- Google provider统一使用ChatGoogleGenerativeAI原生接口,不再走OpenAI兼容端点
(OpenAI协议不支持thought_signature字段,导致思考模型工具调用必然失败)
- 通过client_args传递代理配置,替代原来的OpenAI兼容端点+openai_proxy方案
- 修补langchain-google-genai的_is_gemini_3_or_later()以覆盖Gemini 2.5模型
- 自动适配httpx代理参数名(proxies/proxy),修复代理配置被静默丢弃的问题
2026-04-04 07:24:47 +08:00
jxxghp
974d5f2f49
fix: 修复获取Google模型列表阻塞事件循环及缺少代理配置的问题
2026-04-04 06:58:39 +08:00
jxxghp
376c65335f
更新 version.py
2026-04-03 13:49:38 +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
4cda182ccd
fix: change logger warning to debug for empty Discord configs
2026-04-03 12:50:14 +08:00
jxxghp
ec0915e488
fix: 智能体唤醒后消息发送问题
2026-04-02 19:26:17 +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
c4cfd70f7c
更新 version.py
2026-04-02 16:54:50 +08:00
jxxghp
84b938c0d2
fix: 后台模式不发送工具调用消息
2026-03-31 18:25:55 +08:00
jxxghp
fc47382938
docs: 新增SKILL.md,补充MoviePilot重启与升级操作说明
2026-03-30 18:14:49 +08:00
jxxghp
2e034f7990
更新 version.py
2026-03-30 17:51:19 +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
8999c3a855
去除集图片的-thumb后缀,使图片名称与视频文件名称一致
2026-03-29 12:06:42 +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
jxxghp
b349aa2693
feat(agent): 支持图片消息处理
2026-03-29 09:56:53 +08:00
jxxghp
e3fee39043
agent提示词中注入PostgreSQL数据库密码
2026-03-29 09:07:46 +08:00
jxxghp
a1a72df6c6
feat(telegram): 保持正在输入状态直到消息发送完成
2026-03-29 09:04:42 +08:00
jxxghp
cdf40a7046
feat(agent): 添加PostgreSQL用户名到数据库信息
2026-03-29 08:05:40 +08:00
jxxghp
b9b19c9acc
feat(agent): 添加数据库信息到系统提示词
2026-03-29 08:05:01 +08:00
jxxghp
8c603baa43
更新 version.py
2026-03-29 07:40:24 +08:00
jxxghp
a977948f2b
优化Agent提示词:日期改为当前时间,注入系统安装目录,强调简洁回复
2026-03-29 07:21:11 +08:00
jxxghp
f70eaf9363
feat(agent): 添加reset方法支持流式消息原地更新
2026-03-28 23:08:06 +08:00
jxxghp
bfea0174dd
refactor: 优化工具消息发送逻辑
2026-03-28 22:38:20 +08:00
jxxghp
296d815e3e
refactor: 移除异步pop操作
2026-03-28 12:42:26 +08:00
jxxghp
c3b7a50642
refactor(prompt): 优化MoviePilot系统信息注入,统一日期与环境信息展示
2026-03-28 12:28:14 +08:00
jxxghp
8e0a9f94f6
feat(agent): 在系统提示词中注入MoviePilot配置信息
2026-03-28 11:03:02 +08:00
jxxghp
6806900436
refactor: Update agent package initialization and imports.
2026-03-28 07:58:47 +08:00
jxxghp
a8ecdc8206
refactor: Invert AI agent verbose mode condition and strengthen silence instructions for tool calls.
2026-03-27 22:01:08 +08:00
jxxghp
60e1e3c173
Merge remote-tracking branch 'origin/v2' into v2
2026-03-27 21:55:19 +08:00
jxxghp
f859d99d91
fix current_date
2026-03-27 21:55:09 +08:00
jxxghp
31640b780c
更新 __init__.py
2026-03-27 21:50:19 +08:00
jxxghp
aaeb4d2634
fix verbose_spec
2026-03-27 21:45:50 +08:00
jxxghp
75d4c0153c
v2.9.21
2026-03-27 21:05:04 +08:00
jxxghp
8d7ff2bd1d
feat(agent): 新增AI_AGENT_VERBOSE开关,控制工具调用过程回复及提示词输出
2026-03-27 20:12:01 +08:00
jxxghp
c3e96ae73f
更新 version.py
2026-03-27 18:06:54 +08:00
jxxghp
a25c709927
新增agent删除下载历史记录工具
2026-03-27 11:50:46 +08:00
jxxghp
d7c62fb55a
feat(agent): 支持Slack和Discord渠道的流式输出功能
...
- 为Slack添加MESSAGE_EDITING能力
- 为Slack添加edit_message和send_direct_message方法
- 为Discord添加edit_message和send_direct_message方法
- 修改Discord send_msg返回(bool, message_id)元组以支持流式输出
2026-03-27 07:02:50 +08:00
jxxghp
27cc559c86
更新 memory.py
2026-03-26 22:33:03 +08:00
jxxghp
e7d14691df
优化记忆结构
2026-03-26 22:29:09 +08:00
jxxghp
20387a0085
更新 version.py
2026-03-26 17:31:30 +08:00
jxxghp
740b0a1396
fix
2026-03-26 12:42:54 +08:00
jxxghp
7d0c790185
fix: agent过滤模型思考/推理内容,不输出thinking到用户
2026-03-26 12:37:45 +08:00
jxxghp
a12147d0f5
style: 调整默认回复风格,简洁干练但保留适度的俏皮和emoji
2026-03-26 07:45:08 +08:00
jxxghp
213a298813
feat: 记忆为空时自动引导用户设置偏好;优化默认回复风格为简约直接
2026-03-26 07:30:18 +08:00
jxxghp
c85d3adb34
refactor: 活动日志摘要改用 LLM 总结替代文本截取
2026-03-26 03:48:16 +08:00
jxxghp
83bf59dd4d
feat: 新增 ActivityLogMiddleware,自动记录每次交互的活动日志并注入系统提示词
2026-03-26 03:32:20 +08:00
jxxghp
d5d6442e1d
feat: 新增 moviepilot-api 技能,支持全量 REST API 调用;技能中间件自动同步内置技能到用户目录
2026-03-26 03:10:30 +08:00
jxxghp
a1fa469026
feat: 新增插件相关agent工具(查询插件、查询插件能力、运行插件命令)
2026-03-26 02:45:03 +08:00
jxxghp
4b4b808b76
feat: 流式输出消息超长时自动分段发送,消息长度限制纳入渠道能力管理
2026-03-26 01:56:11 +08:00
jxxghp
a6f16dcf8f
feat: 同一会话消息排队顺序处理,不同会话互不影响
2026-03-25 22:01:35 +08:00
jxxghp
c822782910
更新 version.py
2026-03-25 18:35:09 +08:00
jxxghp
e598d5edc4
fix: AI_AGENT_JOB_INTERVAL 默认为0
2026-03-25 18:28:44 +08:00
jxxghp
d38b6dfc0a
fix: 优化心跳提示词,后台任务只生成执行结果摘要
2026-03-25 18:18:34 +08:00
jxxghp
0a4091d93c
fix: 后台任务使用非流式执行,仅发送模型最后一条回复
2026-03-25 18:15:19 +08:00
jxxghp
0399ab73cf
feat: 后台任务(定时唤醒)跳过流式输出,仅广播最终结果
2026-03-25 17:10:48 +08:00
jxxghp
940cececf4
fix: 修复 channel 为空时系统提示词 markdown_spec 占位符未替换导致 KeyError
2026-03-25 13:17:41 +08:00
jxxghp
94c75eb1c7
feat: 智能体增加定时任务(Jobs)管理和心跳唤醒机制
...
- 新增 JobsMiddleware 中间件,支持通过 JOB.md 文件管理长期/重复性任务
- 智能体可创建一次性(once)和重复性(recurring)任务,自动跟踪执行状态
- 新增心跳唤醒机制,定时调度器周期性唤醒智能体检查并执行待处理任务
- 新增 AI_AGENT_JOB_INTERVAL 配置项控制检查间隔,默认24小时
- 每次心跳使用独立会话,执行完毕后清理资源
2026-03-25 13:02:20 +08:00