jxxghp
7fc496cf5b
更新 __init__.py
2026-04-29 07:31:52 +08:00
jxxghp
8789f35228
Improve non-verbose agent tool summaries
2026-04-29 07:07:33 +08:00
jxxghp
5c1487a9a6
Optimize agent tool async blocking paths
2026-04-28 20:36:49 +08:00
jxxghp
c5b716c231
feat: introduce unified agent runtime config and system task prompt framework
...
- Add structured runtime config files (AGENT_PROFILE.md, AGENT_WORKFLOW.md, AGENT_HOOKS.md, USER_PREFERENCES.md, SYSTEM_TASKS.md, CURRENT_PERSONA.md) for persona, workflow, hooks, and system tasks
- Implement agent_runtime_manager to load, validate, and render runtime config and system task prompts
- Refactor agent initialization to use runtime-managed directories for skills, jobs, memory, and activity logs
- Add AgentHooksMiddleware for structured pre/in/post hooks injection
- Replace hardcoded system task prompts with template-driven rendering from SYSTEM_TASKS.md
- Update tests to cover runtime config loading, migration, and system task prompt rendering
- Update .gitignore to exclude config/agent/
2026-04-28 13:04:28 +08:00
jxxghp
6a6bcf59a0
增强 execute_command 工具:支持输出截断、并发限制与进程组清理,新增单元测试
2026-04-27 10:05:25 +08:00
jxxghp
323844b26d
revert execute_command streaming changes
...
Restore the previous subprocess handling for execute_command and drop the new command streaming test so agent startup is unblocked.
2026-04-27 08:12:37 +08:00
jxxghp
140d224a9a
fix agent stream blocking during command execution
...
Offload synchronous message edits from the event loop and stream subprocess output so long-running commands stay responsive.
2026-04-27 07:57:32 +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
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
cefb60ba2c
refactor: unify message interactions
2026-04-22 15:18:04 +08:00
jxxghp
8c256d91bd
refine custom identifier skill scope
2026-04-21 17:31:37 +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
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