InfinityPacer
6aec326d05
fix(transfer): fail stale queue tasks on errors
2026-04-14 14:45:18 +08:00
InfinityPacer
d36dd69ec3
fix(transfer): clean migrated queue jobs
2026-04-14 14:45:18 +08:00
ilvsx
1688063450
fix(subtitle): create missing download root before saving subtitles
2026-04-14 12:24:18 +08:00
InfinityPacer
ae5207f0e4
fix(plugin): handle 404 plugin index and None response safely
2026-04-13 18:34:44 +08:00
jxxghp
f1f4743936
fix #5661 插件package文件不存在时不报错
2026-04-13 09:06:45 +08:00
jxxghp
e09f9ad009
feat(agent): add audio message extraction and download support for Slack, QQ, Discord, SynologyChat, and VoceChat
2026-04-13 08:36:57 +08:00
InfinityPacer
8d938c2273
fix(system): expose backend dev flag only in dev mode
2026-04-13 06:54:33 +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
9dababbcfd
更新 version.py
v2.9.29
2026-04-12 10:27:01 +08:00
jxxghp
9d8bd5044b
更新 version.py
2026-04-12 08:46:09 +08:00
InfinityPacer
5d07381111
chore(subscribe): update last_update when refreshing episode totals
2026-04-11 22:58:24 +08:00
InfinityPacer
61c695b77d
fix(subscribe): reset tv episode counts in history response
2026-04-11 22:58:24 +08:00
InfinityPacer
1ceb8891b0
fix(subscribe): refresh total episodes before completion check
2026-04-11 22:58:24 +08:00
jxxghp
2f53fd3108
Expand image and edit support across messaging channels
2026-04-11 22:10:54 +08:00
jxxghp
bf2d2cbd03
Fix Telegram agent image download path
2026-04-11 21:11:03 +08:00
jxxghp
cb323653b8
Add tracing logs for agent image message flow
2026-04-11 20:58:20 +08:00
jxxghp
edf3946558
Fix forwarded image payload parsing for agent channels
2026-04-11 20:55:14 +08:00
jxxghp
6c5fae56d9
Add agent image support for Telegram and Slack
2026-04-11 20:40:02 +08:00
DDSRem
a4f2c574b0
fix(telegram): pass disable_web_page_preview through edit_message_text
...
Interactive plugin flows edit existing messages; the flag was only applied
on send_message, so link previews stayed enabled after edits.
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
2026-04-11 08:31:15 +08:00
InfinityPacer
815d83bfb3
fix(http): close helper responses consistently
2026-04-10 18:21:30 +08:00
InfinityPacer
df3294c9d2
fix(http): require 200 for share reporting requests
2026-04-10 18:21:30 +08:00
InfinityPacer
1af5f02832
fix(http): use explicit success checks in async callers
2026-04-10 18:21:30 +08:00
InfinityPacer
217fcfd1b2
fix(http): close non-success responses safely
2026-04-10 18:21:30 +08:00
jxxghp
80825584ac
更新 version.py
v2.9.28
2026-04-10 17:02:45 +08:00
jxxghp
10543eedd0
feat(search): 支持渐进式(SSE)搜索资源并实时返回搜索进度与结果
...
- 新增 /media/{mediaid}/stream 和 /title/stream 接口,支持基于 SSE 的渐进式搜索
- SearchChain 增加 async_search_by_title_stream、async_search_by_id_stream、async_process_stream、__async_search_all_sites_stream 方法
- 搜索结果按站点完成顺序实时推送,支持进度、候选、过滤、完成等阶段事件
- 优化参数解析与异常处理,提升大规模搜索体验
2026-04-10 16:50:23 +08:00
jxxghp
bf12a8679d
refactor: 移除 agent 批量重试逻辑中的多余 try 块并优化缩进
2026-04-10 15:03:49 +08:00
InfinityPacer
8cd12ab584
fix(plugin): avoid caching failed plugin index responses
2026-04-10 14:34:00 +08:00
InfinityPacer
351de8b4da
feat(plugin): reuse plugin wheels in batch dependency install
2026-04-10 13:32:30 +08:00
jxxghp
75fca971d4
refactor(agent): 重命名 can_edit_message 为 is_auto_flushing 更贴切语义
v2.9.27
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
DDSRem
fd6c9d5d34
feat(plugin): 聚合插件侧栏导航
...
- PluginManager.get_plugin_sidebar_nav:已启用 Vue 插件且实现 get_sidebar_nav
- schemas.PluginSidebarNavItem 与 verify_token 鉴权接口
2026-04-09 08:03:30 +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
DDSRem
1b489ba581
feat(transfer): TransferOverwriteCheck 支持插件提供源文件真实大小
...
strm → strm 整理场景下,源 .strm 的 fileitem.size 同样不准,
size 模式比较仍会失效,新增 source_size 输出字段允许插件同时
覆盖源/目标的真实媒体大小。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 17:28:24 +08:00
DDSRem
4d9f17b083
feat(transfer): 新增 TransferOverwriteCheck 事件支持插件介入覆盖判断
...
允许插件在覆盖模式判断前提供目标文件的真实大小或直接给出覆盖决策,
解决 .strm 等本地大小不准的场景下 size 模式失效的问题。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 17:28:24 +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