Commit Graph
100 Commits
Author SHA1 Message Date
jxxghp 7bc032d17c Revert Telegram duplicate edit fix 2026-04-27 07:36:13 +08:00
jxxghp 2df476dbff Fix Telegram duplicate message edits 2026-04-27 07:17:58 +08:00
jxxghp bae086d8b8 更新 __init__.py 2026-04-27 06:57:18 +08:00
jxxghp 221eb21694 refine internal middleware llm usage for streaming agents
Use a non-streaming model for middleware-only calls so internal outputs do not leak into user streams and model-based middleware stays consistent.
2026-04-27 06:55:41 +08:00
jxxghp 4208c79d72 refine tool提示语为更简洁风格,补充last_buffer_char属性及非VERBOSE模式流式输出换行逻辑,新增工具流式分隔符单元测试 2026-04-26 11:15:11 +08:00
jxxghp 90245a13e1 refine non-verbose prompt wording 2026-04-26 08:54:07 +08:00
jxxghp b5979b9b09 refine agent subscription defaults and silent tool prompts 2026-04-26 08:51:56 +08:00
jxxghp 0277288a41 feat: add agent session usage status reporting
Track per-session model and token usage so users can inspect context pressure and cumulative usage with /session_status.
2026-04-26 08:19:05 +08:00
jxxghp 79bfeaf2af 移除工具调用前的流重置,保留模型思考文本可见 2026-04-25 23:12:34 +08:00
jxxghp 4fe41ba5e9 更新 base.py 2026-04-25 22:16:15 +08:00
jxxghp 14d6e2febc Refine agent prompts for concise professional replies 2026-04-25 22:04:35 +08:00
jxxghp 97c7e71207 更新 Agent Prompt.txt 2026-04-25 21:51:47 +08:00
jxxghp 8f29a218ea chore: bump version to v2.10.5 2026-04-25 12:55:33 +08:00
jxxghp 4fd5aa3eb6 fix: improve DeepSeek reasoning_content payload handling and update langchain dependencies 2026-04-25 12:46:21 +08:00
jxxghp bfc27d151c 更新 ask_user_choice.py 2026-04-25 11:36:36 +08:00
jxxghp f2b56b8f40 更新 ask_user_choice.py 2026-04-25 11:35:32 +08:00
jxxghp a05ffc07d4 refactor: remove legacy LLM_DISABLE_THINKING and LLM_REASONING_EFFORT config, unify thinking_level handling
- Eliminate support for LLM_DISABLE_THINKING and LLM_REASONING_EFFORT in config, code, and tests
- Simplify LLM thinking level logic to rely solely on LLM_THINKING_LEVEL
- Refactor LLMHelper and related endpoints to remove legacy parameter handling
- Update system API and test utilities to match new configuration structure
- Minor code cleanup and formatting improvements
2026-04-25 10:42:03 +08:00
jxxghp 4a81417fb7 fix: preserve deepseek reasoning content in tool loops 2026-04-25 09:37:01 +08:00
jxxghp c7fa3dc863 feat: unify llm thinking level controls 2026-04-24 19:50:23 +08:00
jxxghp 28f9756dd6 feat: improve skill instructions with highlighted command formatting 2026-04-22 18:12:21 +08:00
jxxghp 4bffe2cff1 chore: bump version to v2.10.4 2026-04-22 18:02:28 +08:00
jxxghp fca478f1d8 feat: support custom skill sources in /skills 2026-04-22 18:00:57 +08:00
jxxghp 460b386004 feat: add searchable skills marketplace 2026-04-22 16:49:42 +08:00
jxxghp 89bf89c02d feat: add clawhub skill registry source 2026-04-22 16:22:10 +08:00
jxxghp cefb60ba2c refactor: unify message interactions 2026-04-22 15:18:04 +08:00
jxxghp 8c78627647 feat: add skills marketplace management 2026-04-22 14:55:00 +08:00
jxxghp 51189210c2 更新 config.py 2026-04-22 10:39:25 +08:00
jxxghp 38933d5882 feat(agent): support disabling model thinking 2026-04-22 10:36:36 +08:00
jxxghp 4619fc4042 更新 version.py 2026-04-21 22:25:57 +08:00
jxxghp ee7ba28235 Allow LLM test to use request payload 2026-04-21 22:14:19 +08:00
jxxghp 8c256d91bd refine custom identifier skill scope 2026-04-21 17:31:37 +08:00
jxxghp d1d3fc7f30 更新 media.py 2026-04-21 14:38:16 +08:00
jxxghp ae15eac0f8 feat: normalize internal system user ID in notification dispatch
- Add SYSTEM_INTERNAL_USER_ID constant and helpers to app.utils.identity
- Ensure internal user ID is normalized to None before dispatching notifications, preventing misrouting to external channels
- Refactor MessageChain to use normalization for all message dispatch methods
- Add tests for internal user ID normalization and notification dispatch behavior
2026-04-21 14:32:14 +08:00
jxxghp 1282ad5004 feat: improve local CLI startup management 2026-04-21 11:26:56 +08:00
jxxghp e5c64e73b5 docs: add English README 2026-04-20 19:46:34 +08:00
jxxghp 93a19b467b Add uninstall workflow to local CLI 2026-04-20 13:38:06 +08:00
jxxghp 4ba8d42272 fix #5688 2026-04-19 17:29:07 +08:00
jxxghp 32e247b4d5 更新 version.py 2026-04-19 15:44:22 +08:00
jxxghp 115fb40772 Allow known nettest redirects 2026-04-18 18:27:03 +08:00
jxxghp 10b0dbb5d3 Add nettest documentation comments 2026-04-18 17:52:01 +08:00
jxxghp 4c32ad902b Harden system nettest SSRF handling 2026-04-18 17:43:38 +08:00
jxxghp 787db8f5ac fix: 修复子进程环境下获取事件循环失败的问题 2026-04-17 13:02:28 +08:00
jxxghp df1b2067b6 fix: 修正 docker 和 update.sh 中 python_version 的格式以匹配 sites.cpython-* 命名规则 2026-04-17 11:05:26 +08:00
jxxghp f3d9f25d02 优化资源包下载逻辑,只下载对应操作系统和Python版本的sites文件 2026-04-17 08:37:50 +08:00
jxxghp eea7e3b55f feat(cli): optimize installation command and support initializing user password 2026-04-16 23:43:20 +08:00
jxxghp 810cb0a203 relax local install python requirement to 3.11 2026-04-16 23:13:45 +08:00
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 011535fbc3 feat: add retry actions for failed transfers 2026-04-16 22:07:21 +08:00
jxxghp 77b95d11fb bump version to v2.10.1 2026-04-16 19:55:35 +08:00
jxxghp 89f6164eba automate local bootstrap prerequisites 2026-04-16 19:47:56 +08:00
jxxghp 70350aa39f fix local update dirty check 2026-04-16 19:36:55 +08:00
jxxghp 61a0a66c47 support local restart and site auth wizard 2026-04-16 19:21:00 +08:00
jxxghp 6fcc5c84a6 bump version to v2.10.0 2026-04-16 17:14:30 +08:00
jxxghp 5995b3f3e8 extend setup wizard for database and agent 2026-04-16 17:10:25 +08:00
jxxghp 60996be71b fix local db initialization model registration 2026-04-16 17:05:57 +08:00
jxxghp 49b50e5975 run setup config step inside venv 2026-04-16 17:00:49 +08:00
jxxghp 262bd6808b update reused bootstrap repo before setup 2026-04-16 16:51:44 +08:00
jxxghp e9c8db9950 fix bootstrap script for macos bash 2026-04-16 16:43:21 +08:00
jxxghp 02a98f832f fix local cli install and config workflow 2026-04-16 14:55:31 +08:00
jxxghp 9a2a241a30 add full-stack local cli install flow 2026-04-16 09:52:15 +08:00
jxxghp 04c2a1eb18 Add manual AI redo flow 2026-04-15 17:10:18 +08:00
jxxghp 65a4b7438c 更新 config.py 2026-04-15 09:02:05 +08:00
jxxghp 13c3c082b8 Improve agent image capability routing 2026-04-15 08:55:32 +08:00
jxxghp bf127d6a70 更新 version.py 2026-04-14 18:10:22 +08:00
jxxghp 117672384c 更新 llm.py 2026-04-14 16:00:44 +08:00
jxxghp 2ae2ea8ef7 feat: expose AI agent flag in user global settings 2026-04-14 15:50:46 +08:00
jxxghp 7a5e513f25 feat(agent): support file attachments and local file replies 2026-04-14 15:22:01 +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
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 2026-04-12 10:27:01 +08:00
jxxghp 9d8bd5044b 更新 version.py 2026-04-12 08:46:09 +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
jxxghp 80825584ac 更新 version.py 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
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