gitextract_03u1mqs9/ ├── .gemini/ │ └── styleguide.md ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── custom.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── copilot-instructions.md │ ├── scripts/ │ │ └── update_news.py │ └── workflows/ │ ├── pr-title-check.yml │ ├── pre-commit.yml │ ├── publish-pypi.yml │ ├── sphinx_docs.yml │ ├── stale.yml │ ├── toc.yml │ ├── unittest.yml │ └── update_news.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── CONTRIBUTING_zh.md ├── LICENSE ├── README.md ├── README_zh.md ├── docs/ │ ├── NEWS.md │ ├── NEWS_zh.md │ ├── changelog.md │ ├── roadmap.md │ └── tutorial/ │ ├── _static/ │ │ ├── css/ │ │ │ └── gallery.css │ │ └── language_switch.js │ ├── _templates/ │ │ ├── components/ │ │ │ └── language-switch.html │ │ ├── module.rst_t │ │ ├── package.rst_t │ │ ├── page.html │ │ └── sidebar/ │ │ └── navigation.html │ ├── en/ │ │ ├── Makefile │ │ ├── build.sh │ │ ├── conf.py │ │ ├── index.rst │ │ ├── make.bat │ │ └── src/ │ │ ├── README.md │ │ ├── faq.py │ │ ├── quickstart_agent.py │ │ ├── quickstart_installation.py │ │ ├── quickstart_key_concept.py │ │ ├── quickstart_message.py │ │ ├── task_a2a.py │ │ ├── task_agent.py │ │ ├── task_agent_skill.py │ │ ├── task_embedding.py │ │ ├── task_eval.py │ │ ├── task_eval_openjudge.py │ │ ├── task_hook.py │ │ ├── task_long_term_memory.py │ │ ├── task_mcp.py │ │ ├── task_memory.py │ │ ├── task_middleware.py │ │ ├── task_model.py │ │ ├── task_pipeline.py │ │ ├── task_plan.py │ │ ├── task_prompt.py │ │ ├── task_rag.py │ │ ├── task_realtime.py │ │ ├── task_state.py │ │ ├── task_studio.py │ │ ├── task_token.py │ │ ├── task_tool.py │ │ ├── task_tracing.py │ │ ├── task_tts.py │ │ ├── task_tuner.py │ │ ├── workflow_concurrent_agents.py │ │ ├── workflow_conversation.py │ │ ├── workflow_handoffs.py │ │ ├── workflow_multiagent_debate.py │ │ └── workflow_routing.py │ └── zh_CN/ │ ├── Makefile │ ├── build.sh │ ├── conf.py │ ├── index.rst │ ├── make.bat │ └── src/ │ ├── README.md │ ├── faq.py │ ├── quickstart_agent.py │ ├── quickstart_installation.py │ ├── quickstart_key_concept.py │ ├── quickstart_message.py │ ├── task_a2a.py │ ├── task_agent.py │ ├── task_agent_skill.py │ ├── task_embedding.py │ ├── task_eval.py │ ├── task_eval_openjudge.py │ ├── task_hook.py │ ├── task_long_term_memory.py │ ├── task_mcp.py │ ├── task_memory.py │ ├── task_middleware.py │ ├── task_model.py │ ├── task_pipeline.py │ ├── task_plan.py │ ├── task_prompt.py │ ├── task_rag.py │ ├── task_realtime.py │ ├── task_state.py │ ├── task_studio.py │ ├── task_token.py │ ├── task_tool.py │ ├── task_tracing.py │ ├── task_tts.py │ ├── task_tuner.py │ ├── workflow_concurrent_agents.py │ ├── workflow_conversation.py │ ├── workflow_handoffs.py │ ├── workflow_multiagent_debate.py │ └── workflow_routing.py ├── examples/ │ ├── agent/ │ │ ├── a2a_agent/ │ │ │ ├── README.md │ │ │ ├── agent_card.py │ │ │ ├── main.py │ │ │ └── setup_a2a_server.py │ │ ├── a2ui_agent/ │ │ │ ├── README.md │ │ │ └── samples/ │ │ │ ├── client/ │ │ │ │ ├── a2a_client.py │ │ │ │ └── lit/ │ │ │ │ ├── contact/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── client.ts │ │ │ │ │ ├── contact.ts │ │ │ │ │ ├── events/ │ │ │ │ │ │ └── events.ts │ │ │ │ │ ├── index.html │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ ├── a2a.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── package.json │ │ │ │ │ ├── theme/ │ │ │ │ │ │ └── theme.ts │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── types/ │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── ui/ │ │ │ │ │ │ ├── custom-components/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── org-chart.ts │ │ │ │ │ │ │ ├── premium-text-field.ts │ │ │ │ │ │ │ ├── register-components.ts │ │ │ │ │ │ │ └── test/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── org-chart-test.html │ │ │ │ │ │ │ ├── override-test.html │ │ │ │ │ │ │ └── override-test.ts │ │ │ │ │ │ ├── snackbar.ts │ │ │ │ │ │ └── ui.ts │ │ │ │ │ └── vite.config.ts │ │ │ │ ├── package.json │ │ │ │ └── shell/ │ │ │ │ ├── README.md │ │ │ │ ├── THEMING.md │ │ │ │ ├── app.ts │ │ │ │ ├── client.ts │ │ │ │ ├── configs/ │ │ │ │ │ ├── contacts.ts │ │ │ │ │ ├── restaurant.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── events/ │ │ │ │ │ └── events.ts │ │ │ │ ├── index.html │ │ │ │ ├── middleware/ │ │ │ │ │ ├── a2a.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── package.json │ │ │ │ ├── theme/ │ │ │ │ │ ├── clone-default-theme.ts │ │ │ │ │ └── default-theme.ts │ │ │ │ ├── tsconfig.json │ │ │ │ ├── types/ │ │ │ │ │ └── types.ts │ │ │ │ ├── ui/ │ │ │ │ │ ├── snackbar.ts │ │ │ │ │ └── ui.ts │ │ │ │ └── vite.config.ts │ │ │ └── general_agent/ │ │ │ ├── __main__.py │ │ │ ├── a2ui_utils.py │ │ │ ├── agent_card.py │ │ │ ├── prompt_builder.py │ │ │ ├── pyproject.toml │ │ │ ├── setup_a2ui_server.py │ │ │ └── skills/ │ │ │ └── A2UI_response_generator/ │ │ │ ├── SKILL.md │ │ │ ├── UI_templete_examples/ │ │ │ │ ├── __init__.py │ │ │ │ ├── booking_form.py │ │ │ │ ├── contact_form.py │ │ │ │ ├── email_compose_form.py │ │ │ │ ├── error_message.py │ │ │ │ ├── info_message.py │ │ │ │ ├── item_detail_card_with_image.py │ │ │ │ ├── profile_view.py │ │ │ │ ├── search_filter_form.py │ │ │ │ ├── selection_card.py │ │ │ │ ├── simple_column_list_without_image.py │ │ │ │ ├── single_column_list.py │ │ │ │ ├── success_confirmation_with_image.py │ │ │ │ └── two_column_list.py │ │ │ ├── __init__.py │ │ │ ├── schema/ │ │ │ │ ├── __init__.py │ │ │ │ └── base_schema.py │ │ │ ├── view_a2ui_examples.py │ │ │ └── view_a2ui_schema.py │ │ ├── browser_agent/ │ │ │ ├── README.md │ │ │ ├── browser_agent.py │ │ │ ├── build_in_helper/ │ │ │ │ ├── _file_download.py │ │ │ │ ├── _form_filling.py │ │ │ │ ├── _image_understanding.py │ │ │ │ └── _video_understanding.py │ │ │ ├── build_in_prompt/ │ │ │ │ ├── browser_agent_decompose_reflection_prompt.md │ │ │ │ ├── browser_agent_file_download_sys_prompt.md │ │ │ │ ├── browser_agent_form_filling_sys_prompt.md │ │ │ │ ├── browser_agent_observe_reasoning_prompt.md │ │ │ │ ├── browser_agent_pure_reasoning_prompt.md │ │ │ │ ├── browser_agent_subtask_revise_prompt.md │ │ │ │ ├── browser_agent_summarize_task.md │ │ │ │ ├── browser_agent_sys_prompt.md │ │ │ │ └── browser_agent_task_decomposition_prompt.md │ │ │ └── main.py │ │ ├── deep_research_agent/ │ │ │ ├── README.md │ │ │ ├── built_in_prompt/ │ │ │ │ ├── prompt_decompose_subtask.md │ │ │ │ ├── prompt_deeper_expansion.md │ │ │ │ ├── prompt_deepresearch_summary_report.md │ │ │ │ ├── prompt_inprocess_report.md │ │ │ │ ├── prompt_reflect_failure.md │ │ │ │ ├── prompt_tool_usage_rules.md │ │ │ │ ├── prompt_worker_additional_sys_prompt.md │ │ │ │ └── promptmodule.py │ │ │ ├── deep_research_agent.py │ │ │ ├── main.py │ │ │ └── utils.py │ │ ├── meta_planner_agent/ │ │ │ ├── README.md │ │ │ ├── main.py │ │ │ └── tool.py │ │ ├── react_agent/ │ │ │ ├── README.md │ │ │ └── main.py │ │ ├── realtime_voice_agent/ │ │ │ ├── README.md │ │ │ ├── chatbot.html │ │ │ └── run_server.py │ │ └── voice_agent/ │ │ ├── README.md │ │ └── main.py │ ├── deployment/ │ │ ├── README.md │ │ └── planning_agent/ │ │ ├── README.md │ │ ├── main.py │ │ ├── test_post.py │ │ └── tool.py │ ├── evaluation/ │ │ └── ace_bench/ │ │ ├── README.md │ │ └── main.py │ ├── functionality/ │ │ ├── agent_skill/ │ │ │ ├── README.md │ │ │ ├── main.py │ │ │ └── skill/ │ │ │ └── analyzing-agentscope-library/ │ │ │ ├── SKILL.md │ │ │ └── view_agentscope_module.py │ │ ├── long_term_memory/ │ │ │ ├── mem0/ │ │ │ │ ├── README.md │ │ │ │ └── memory_example.py │ │ │ └── reme/ │ │ │ ├── README.md │ │ │ ├── personal_memory_example.py │ │ │ ├── task_memory_example.py │ │ │ └── tool_memory_example.py │ │ ├── mcp/ │ │ │ ├── README.md │ │ │ ├── main.py │ │ │ ├── mcp_add.py │ │ │ └── mcp_multiply.py │ │ ├── plan/ │ │ │ ├── README.md │ │ │ ├── main_agent_managed_plan.py │ │ │ └── main_manual_plan.py │ │ ├── rag/ │ │ │ ├── README.md │ │ │ ├── agentic_usage.py │ │ │ ├── basic_usage.py │ │ │ ├── multimodal_rag.py │ │ │ └── react_agent_integration.py │ │ ├── session_with_sqlite/ │ │ │ ├── README.md │ │ │ ├── main.py │ │ │ └── sqlite_session.py │ │ ├── short_term_memory/ │ │ │ ├── memory_compression/ │ │ │ │ ├── README.md │ │ │ │ └── main.py │ │ │ └── reme/ │ │ │ ├── README.md │ │ │ ├── reme_short_term_memory.py │ │ │ └── short_term_memory_example.py │ │ ├── stream_printing_messages/ │ │ │ ├── README.md │ │ │ ├── multi_agent.py │ │ │ └── single_agent.py │ │ ├── structured_output/ │ │ │ ├── README.md │ │ │ └── main.py │ │ ├── tts/ │ │ │ ├── README.md │ │ │ └── main.py │ │ └── vector_store/ │ │ ├── alibabacloud_mysql_vector/ │ │ │ ├── README.md │ │ │ └── main.py │ │ ├── milvus_lite/ │ │ │ ├── README.md │ │ │ └── main.py │ │ ├── mongodb/ │ │ │ ├── README.md │ │ │ └── main.py │ │ └── oceanbase/ │ │ ├── README.md │ │ └── main.py │ ├── game/ │ │ └── werewolves/ │ │ ├── README.md │ │ ├── game.py │ │ ├── main.py │ │ ├── prompt.py │ │ ├── structured_model.py │ │ └── utils.py │ ├── integration/ │ │ ├── alibabacloud_api_mcp/ │ │ │ ├── README.md │ │ │ ├── main.py │ │ │ └── oauth_handler.py │ │ └── qwen_deep_research_model/ │ │ ├── README.md │ │ ├── main.py │ │ └── qwen_deep_research_agent.py │ ├── tuner/ │ │ └── react_agent/ │ │ ├── README.md │ │ ├── config.yaml │ │ └── main.py │ └── workflows/ │ ├── multiagent_concurrent/ │ │ ├── README.md │ │ └── main.py │ ├── multiagent_conversation/ │ │ ├── README.md │ │ └── main.py │ ├── multiagent_debate/ │ │ ├── README.md │ │ └── main.py │ └── multiagent_realtime/ │ ├── README.md │ ├── multi_agent.html │ └── run_server.py ├── pyproject.toml ├── src/ │ └── agentscope/ │ ├── __init__.py │ ├── _logging.py │ ├── _run_config.py │ ├── _utils/ │ │ ├── __init__.py │ │ ├── _common.py │ │ └── _mixin.py │ ├── _version.py │ ├── a2a/ │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── _file_resolver.py │ │ ├── _nacos_resolver.py │ │ └── _well_known_resolver.py │ ├── agent/ │ │ ├── __init__.py │ │ ├── _a2a_agent.py │ │ ├── _agent_base.py │ │ ├── _agent_meta.py │ │ ├── _react_agent.py │ │ ├── _react_agent_base.py │ │ ├── _realtime_agent.py │ │ ├── _user_agent.py │ │ ├── _user_input.py │ │ └── _utils.py │ ├── embedding/ │ │ ├── __init__.py │ │ ├── _cache_base.py │ │ ├── _dashscope_embedding.py │ │ ├── _dashscope_multimodal_embedding.py │ │ ├── _embedding_base.py │ │ ├── _embedding_response.py │ │ ├── _embedding_usage.py │ │ ├── _file_cache.py │ │ ├── _gemini_embedding.py │ │ ├── _ollama_embedding.py │ │ └── _openai_embedding.py │ ├── evaluate/ │ │ ├── __init__.py │ │ ├── _ace_benchmark/ │ │ │ ├── __init__.py │ │ │ ├── _ace_benchmark.py │ │ │ ├── _ace_metric.py │ │ │ ├── _ace_tools_api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _food_platform_api.py │ │ │ │ ├── _message_api.py │ │ │ │ ├── _reminder_api.py │ │ │ │ ├── _shared_state.py │ │ │ │ └── _travel_api.py │ │ │ └── _ace_tools_zh.py │ │ ├── _benchmark_base.py │ │ ├── _evaluator/ │ │ │ ├── __init__.py │ │ │ ├── _evaluator_base.py │ │ │ ├── _general_evaluator.py │ │ │ ├── _in_memory_exporter.py │ │ │ └── _ray_evaluator.py │ │ ├── _evaluator_storage/ │ │ │ ├── __init__.py │ │ │ ├── _evaluator_storage_base.py │ │ │ └── _file_evaluator_storage.py │ │ ├── _metric_base.py │ │ ├── _solution.py │ │ └── _task.py │ ├── exception/ │ │ ├── __init__.py │ │ ├── _exception_base.py │ │ └── _tool.py │ ├── formatter/ │ │ ├── __init__.py │ │ ├── _a2a_formatter.py │ │ ├── _anthropic_formatter.py │ │ ├── _dashscope_formatter.py │ │ ├── _deepseek_formatter.py │ │ ├── _formatter_base.py │ │ ├── _gemini_formatter.py │ │ ├── _ollama_formatter.py │ │ ├── _openai_formatter.py │ │ └── _truncated_formatter_base.py │ ├── hooks/ │ │ ├── __init__.py │ │ └── _studio_hooks.py │ ├── mcp/ │ │ ├── __init__.py │ │ ├── _client_base.py │ │ ├── _http_stateful_client.py │ │ ├── _http_stateless_client.py │ │ ├── _mcp_function.py │ │ ├── _stateful_client_base.py │ │ └── _stdio_stateful_client.py │ ├── memory/ │ │ ├── __init__.py │ │ ├── _long_term_memory/ │ │ │ ├── __init__.py │ │ │ ├── _long_term_memory_base.py │ │ │ ├── _mem0/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _mem0_long_term_memory.py │ │ │ │ └── _mem0_utils.py │ │ │ └── _reme/ │ │ │ ├── __init__.py │ │ │ ├── _reme_long_term_memory_base.py │ │ │ ├── _reme_personal_long_term_memory.py │ │ │ ├── _reme_task_long_term_memory.py │ │ │ └── _reme_tool_long_term_memory.py │ │ └── _working_memory/ │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── _in_memory_memory.py │ │ ├── _redis_memory.py │ │ └── _sqlalchemy_memory.py │ ├── message/ │ │ ├── __init__.py │ │ ├── _message_base.py │ │ └── _message_block.py │ ├── model/ │ │ ├── __init__.py │ │ ├── _anthropic_model.py │ │ ├── _dashscope_model.py │ │ ├── _gemini_model.py │ │ ├── _model_base.py │ │ ├── _model_response.py │ │ ├── _model_usage.py │ │ ├── _ollama_model.py │ │ ├── _openai_model.py │ │ └── _trinity_model.py │ ├── module/ │ │ ├── __init__.py │ │ └── _state_module.py │ ├── pipeline/ │ │ ├── __init__.py │ │ ├── _chat_room.py │ │ ├── _class.py │ │ ├── _functional.py │ │ └── _msghub.py │ ├── plan/ │ │ ├── __init__.py │ │ ├── _in_memory_storage.py │ │ ├── _plan_model.py │ │ ├── _plan_notebook.py │ │ └── _storage_base.py │ ├── py.typed │ ├── rag/ │ │ ├── __init__.py │ │ ├── _document.py │ │ ├── _knowledge_base.py │ │ ├── _reader/ │ │ │ ├── __init__.py │ │ │ ├── _excel_reader.py │ │ │ ├── _image_reader.py │ │ │ ├── _pdf_reader.py │ │ │ ├── _ppt_reader.py │ │ │ ├── _reader_base.py │ │ │ ├── _text_reader.py │ │ │ ├── _utils.py │ │ │ └── _word_reader.py │ │ ├── _simple_knowledge.py │ │ └── _store/ │ │ ├── __init__.py │ │ ├── _alibabacloud_mysql_store.py │ │ ├── _milvuslite_store.py │ │ ├── _mongodb_store.py │ │ ├── _oceanbase_store.py │ │ ├── _qdrant_store.py │ │ └── _store_base.py │ ├── realtime/ │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── _dashscope_realtime_model.py │ │ ├── _events/ │ │ │ ├── __init__.py │ │ │ ├── _client_event.py │ │ │ ├── _model_event.py │ │ │ ├── _server_event.py │ │ │ └── _utils.py │ │ ├── _gemini_realtime_model.py │ │ └── _openai_realtime_model.py │ ├── session/ │ │ ├── __init__.py │ │ ├── _json_session.py │ │ ├── _redis_session.py │ │ └── _session_base.py │ ├── token/ │ │ ├── __init__.py │ │ ├── _anthropic_token_counter.py │ │ ├── _char_token_counter.py │ │ ├── _gemini_token_counter.py │ │ ├── _huggingface_token_counter.py │ │ ├── _openai_token_counter.py │ │ └── _token_base.py │ ├── tool/ │ │ ├── __init__.py │ │ ├── _async_wrapper.py │ │ ├── _coding/ │ │ │ ├── __init__.py │ │ │ ├── _python.py │ │ │ └── _shell.py │ │ ├── _multi_modality/ │ │ │ ├── __init__.py │ │ │ ├── _dashscope_tools.py │ │ │ └── _openai_tools.py │ │ ├── _response.py │ │ ├── _text_file/ │ │ │ ├── __init__.py │ │ │ ├── _utils.py │ │ │ ├── _view_text_file.py │ │ │ └── _write_text_file.py │ │ ├── _toolkit.py │ │ └── _types.py │ ├── tracing/ │ │ ├── __init__.py │ │ ├── _attributes.py │ │ ├── _converter.py │ │ ├── _extractor.py │ │ ├── _setup.py │ │ ├── _trace.py │ │ └── _utils.py │ ├── tts/ │ │ ├── __init__.py │ │ ├── _dashscope_cosyvoice_realtime_tts_model.py │ │ ├── _dashscope_cosyvoice_tts_model.py │ │ ├── _dashscope_realtime_tts_model.py │ │ ├── _dashscope_tts_model.py │ │ ├── _gemini_tts_model.py │ │ ├── _openai_tts_model.py │ │ ├── _tts_base.py │ │ ├── _tts_response.py │ │ └── _utils.py │ ├── tune/ │ │ └── __init__.py │ ├── tuner/ │ │ ├── __init__.py │ │ ├── _algorithm.py │ │ ├── _config.py │ │ ├── _dataset.py │ │ ├── _judge.py │ │ ├── _model.py │ │ ├── _tune.py │ │ └── _workflow.py │ └── types/ │ ├── __init__.py │ ├── _hook.py │ ├── _json.py │ ├── _object.py │ └── _tool.py └── tests/ ├── a2a_agent_test.py ├── a2a_resolver_test.py ├── config_test.py ├── embedding_cache_test.py ├── evaluation_test.py ├── formatter_a2a_test.py ├── formatter_anthropic_test.py ├── formatter_dashscope_test.py ├── formatter_deepseek_test.py ├── formatter_gemini_test.py ├── formatter_ollama_test.py ├── formatter_openai_test.py ├── hook_test.py ├── mcp_sse_client_test.py ├── mcp_streamable_http_client_test.py ├── mem0_utils_test.py ├── memory_compression_test.py ├── memory_reme_test.py ├── memory_test.py ├── model_anthropic_test.py ├── model_dashscope_test.py ├── model_gemini_test.py ├── model_ollama_test.py ├── model_openai_test.py ├── pipeline_test.py ├── plan_test.py ├── rag_knowledge_test.py ├── rag_reader_test.py ├── rag_store_test.py ├── react_agent_test.py ├── realtime_dashscope_test.py ├── realtime_event_test.py ├── realtime_gemini_test.py ├── realtime_openai_test.py ├── session_test.py ├── test.docx ├── test.pptx ├── test.xlsx ├── token_anthropic_test.py ├── token_char_test.py ├── token_openai_test.py ├── tool_dashscope_test.py ├── tool_openai_test.py ├── tool_test.py ├── toolkit_basic_test.py ├── toolkit_meta_tool_test.py ├── toolkit_middleware_test.py ├── tracing_converter_test.py ├── tracing_extractor_test.py ├── tracing_test.py ├── tracing_utils_test.py ├── tts_dashscope_cosyvoice_test.py ├── tts_dashscope_test.py ├── tts_gemini_test.py ├── tts_openai_test.py ├── tuner_test.py └── user_input_test.py