From 318cfe68e97c48bdf128e59d9d8a8e8f1d5e60a9 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 27 Jun 2026 07:53:09 +0800 Subject: [PATCH] Refactor agent tool inputs and background activity logging --- app/agent/middleware/activity_log.py | 68 +++++++---- app/agent/middleware/skills.py | 11 +- app/agent/tools/base.py | 13 +-- .../tools/impl/add_custom_filter_rule.py | 2 - app/agent/tools/impl/add_download_tasks.py | 1 - app/agent/tools/impl/add_rule_group.py | 2 - app/agent/tools/impl/add_subscribe.py | 2 - app/agent/tools/impl/ask_user_choice.py | 8 -- app/agent/tools/impl/browse_webpage.py | 2 - .../tools/impl/delete_custom_filter_rule.py | 2 - .../tools/impl/delete_download_history.py | 2 - app/agent/tools/impl/delete_download_tasks.py | 2 - app/agent/tools/impl/delete_rule_group.py | 2 - app/agent/tools/impl/delete_subscribe.py | 2 - .../tools/impl/delete_transfer_history.py | 2 - app/agent/tools/impl/execute_command.py | 1 - app/agent/tools/impl/get_recommendations.py | 2 - app/agent/tools/impl/get_search_results.py | 2 - app/agent/tools/impl/install_plugin.py | 2 - app/agent/tools/impl/list_directory.py | 1 - app/agent/tools/impl/list_slash_commands.py | 2 - .../tools/impl/query_builtin_filter_rules.py | 2 - .../tools/impl/query_custom_filter_rules.py | 2 - .../tools/impl/query_custom_identifiers.py | 2 - .../tools/impl/query_directory_settings.py | 1 - app/agent/tools/impl/query_doctor_report.py | 4 - app/agent/tools/impl/query_download_tasks.py | 1 - app/agent/tools/impl/query_downloaders.py | 3 - .../tools/impl/query_episode_schedule.py | 1 - .../tools/impl/query_installed_plugins.py | 2 - app/agent/tools/impl/query_library_exists.py | 1 - app/agent/tools/impl/query_library_latest.py | 2 - app/agent/tools/impl/query_market_plugins.py | 2 - app/agent/tools/impl/query_media_detail.py | 1 - app/agent/tools/impl/query_personas.py | 2 - .../tools/impl/query_plugin_capabilities.py | 2 - app/agent/tools/impl/query_plugin_config.py | 2 - app/agent/tools/impl/query_plugin_data.py | 2 - .../tools/impl/query_popular_subscribes.py | 1 - app/agent/tools/impl/query_rule_groups.py | 2 - app/agent/tools/impl/query_schedulers.py | 3 - app/agent/tools/impl/query_site_userdata.py | 2 - app/agent/tools/impl/query_sites.py | 2 - .../tools/impl/query_subscribe_history.py | 2 - .../tools/impl/query_subscribe_shares.py | 1 - app/agent/tools/impl/query_subscribes.py | 2 - app/agent/tools/impl/query_system_settings.py | 2 - .../tools/impl/query_transfer_history.py | 1 - app/agent/tools/impl/query_workflows.py | 1 - app/agent/tools/impl/recognize_captcha.py | 4 - app/agent/tools/impl/recognize_media.py | 1 - app/agent/tools/impl/reload_plugin.py | 2 - app/agent/tools/impl/run_scheduler.py | 2 - app/agent/tools/impl/run_slash_command.py | 2 - app/agent/tools/impl/run_workflow.py | 2 - app/agent/tools/impl/scrape_metadata.py | 2 - app/agent/tools/impl/search_media.py | 1 - app/agent/tools/impl/search_person.py | 1 - app/agent/tools/impl/search_person_credits.py | 1 - app/agent/tools/impl/search_subscribe.py | 1 - app/agent/tools/impl/search_torrents.py | 1 - app/agent/tools/impl/search_web.py | 4 - app/agent/tools/impl/send_local_file.py | 2 - app/agent/tools/impl/send_message.py | 4 - app/agent/tools/impl/send_voice_message.py | 4 - app/agent/tools/impl/switch_persona.py | 2 - app/agent/tools/impl/test_site.py | 1 - app/agent/tools/impl/transfer_file.py | 2 - app/agent/tools/impl/uninstall_plugin.py | 2 - .../tools/impl/update_custom_filter_rule.py | 2 - .../tools/impl/update_custom_identifiers.py | 2 - app/agent/tools/impl/update_download_tasks.py | 4 - .../tools/impl/update_persona_definition.py | 2 - app/agent/tools/impl/update_plugin_config.py | 2 - app/agent/tools/impl/update_rule_group.py | 2 - app/agent/tools/impl/update_site.py | 2 - app/agent/tools/impl/update_site_cookie.py | 2 - app/agent/tools/impl/update_subscribe.py | 2 - .../tools/impl/update_system_settings.py | 2 - app/cli.py | 12 +- docs/mcp-api.md | 2 + skills/generate-identifiers/SKILL.md | 5 +- tests/test_agent_activity_log.py | 110 ++++++++++++++---- tests/test_agent_image_support.py | 2 - tests/test_agent_interaction.py | 1 + tests/test_agent_skills_middleware.py | 2 - tests/test_agent_tool_factory_cache.py | 70 ++++++++++- tests/test_agent_tool_streaming.py | 12 +- 88 files changed, 223 insertions(+), 238 deletions(-) diff --git a/app/agent/middleware/activity_log.py b/app/agent/middleware/activity_log.py index 01ce6c25..51d2b025 100644 --- a/app/agent/middleware/activity_log.py +++ b/app/agent/middleware/activity_log.py @@ -6,6 +6,7 @@ 并在每次 Agent 启动时注入轻量索引,完整日志由工具按需查询。 """ +import asyncio import json import os import re @@ -88,10 +89,6 @@ ACTIVITY_ENTRY_PATTERN = re.compile(r"^-\s+\*\*(?P