gitextract_qqy1lifh/ ├── .github/ │ └── workflows/ │ └── run-ruff.yml ├── .gitignore ├── LICENSE ├── README.md ├── apps/ │ ├── collect-trace/ │ │ ├── README.md │ │ ├── pyproject.toml │ │ ├── scripts/ │ │ │ ├── collect_trace_claude37.sh │ │ │ ├── collect_trace_gpt41.sh │ │ │ ├── collect_trace_gpt5.sh │ │ │ └── collect_trace_qwen3.sh │ │ └── utils/ │ │ ├── converters/ │ │ │ ├── __init__.py │ │ │ ├── convert_non_oai_to_chatml.py │ │ │ ├── convert_oai_to_chatml.py │ │ │ ├── convert_to_chatml_auto_batch.py │ │ │ ├── example_usage.py │ │ │ └── system_prompts.py │ │ ├── merge_chatml_msgs_to_one_json.py │ │ └── process_logs.py │ ├── gradio-demo/ │ │ ├── README.md │ │ ├── main.py │ │ ├── prompt_patch.py │ │ ├── pyproject.toml │ │ └── utils.py │ ├── lobehub-compatibility/ │ │ ├── MiroThinkerToolParser.py │ │ ├── README.md │ │ ├── chat_template.jinja │ │ ├── requirements.txt │ │ ├── test_tool_parser.py │ │ └── unit_test.py │ ├── miroflow-agent/ │ │ ├── README.md │ │ ├── benchmarks/ │ │ │ ├── __init__.py │ │ │ ├── check_progress/ │ │ │ │ ├── check_progress_aime2025.py │ │ │ │ ├── check_progress_browsecomp.py │ │ │ │ ├── check_progress_browsecomp_zh.py │ │ │ │ ├── check_progress_deepsearchqa.py │ │ │ │ ├── check_progress_frames.py │ │ │ │ ├── check_progress_gaia-validation-text-103.py │ │ │ │ ├── check_progress_gaia-validation.py │ │ │ │ ├── check_progress_hle-text-2158.py │ │ │ │ ├── check_progress_hle-text-500.py │ │ │ │ ├── check_progress_hle.py │ │ │ │ ├── check_progress_seal-0.py │ │ │ │ ├── check_progress_webwalkerqa.py │ │ │ │ ├── check_progress_xbench_deepsearch.py │ │ │ │ └── common.py │ │ │ ├── common_benchmark.py │ │ │ ├── evaluators/ │ │ │ │ ├── __init__.py │ │ │ │ ├── calculate_average_score.py │ │ │ │ ├── eval_utils.py │ │ │ │ └── extract_futurex_results.py │ │ │ └── subset_extraction/ │ │ │ ├── gaia-text-103-grader.py │ │ │ └── gaia-to-text-103-mover.py │ │ ├── conf/ │ │ │ ├── __init__.py │ │ │ ├── agent/ │ │ │ │ ├── default.yaml │ │ │ │ ├── demo.yaml │ │ │ │ ├── mirothinker_1.7_keep5_max200.yaml │ │ │ │ ├── mirothinker_1.7_keep5_max300.yaml │ │ │ │ ├── mirothinker_v1.0.yaml │ │ │ │ ├── mirothinker_v1.0_keep5.yaml │ │ │ │ ├── mirothinker_v1.5.yaml │ │ │ │ ├── mirothinker_v1.5_keep5_max200.yaml │ │ │ │ ├── mirothinker_v1.5_keep5_max400.yaml │ │ │ │ ├── multi_agent.yaml │ │ │ │ ├── multi_agent_os.yaml │ │ │ │ ├── single_agent.yaml │ │ │ │ └── single_agent_keep5.yaml │ │ │ ├── benchmark/ │ │ │ │ ├── aime2025.yaml │ │ │ │ ├── browsecomp.yaml │ │ │ │ ├── browsecomp_zh.yaml │ │ │ │ ├── collect_trace.yaml │ │ │ │ ├── debug.yaml │ │ │ │ ├── deepsearchqa.yaml │ │ │ │ ├── default.yaml │ │ │ │ ├── frames.yaml │ │ │ │ ├── futurex.yaml │ │ │ │ ├── gaia-validation-text-103.yaml │ │ │ │ ├── gaia-validation.yaml │ │ │ │ ├── hle-text-2158.yaml │ │ │ │ ├── hle-text-500.yaml │ │ │ │ ├── hle.yaml │ │ │ │ ├── seal-0.yaml │ │ │ │ ├── webwalkerqa.yaml │ │ │ │ └── xbench_deepsearch.yaml │ │ │ ├── config.yaml │ │ │ └── llm/ │ │ │ ├── claude-3-7.yaml │ │ │ ├── default.yaml │ │ │ ├── gpt-5.yaml │ │ │ └── qwen-3.yaml │ │ ├── main.py │ │ ├── pyproject.toml │ │ ├── scripts/ │ │ │ ├── run_evaluate_multiple_runs_aime2025.sh │ │ │ ├── run_evaluate_multiple_runs_browsecomp.sh │ │ │ ├── run_evaluate_multiple_runs_browsecomp_zh.sh │ │ │ ├── run_evaluate_multiple_runs_debug.sh │ │ │ ├── run_evaluate_multiple_runs_deepsearchqa.sh │ │ │ ├── run_evaluate_multiple_runs_frames.sh │ │ │ ├── run_evaluate_multiple_runs_futurex.sh │ │ │ ├── run_evaluate_multiple_runs_gaia-validation-text-103.sh │ │ │ ├── run_evaluate_multiple_runs_gaia-validation.sh │ │ │ ├── run_evaluate_multiple_runs_hle-text-2158.sh │ │ │ ├── run_evaluate_multiple_runs_hle-text-500.sh │ │ │ ├── run_evaluate_multiple_runs_hle.sh │ │ │ ├── run_evaluate_multiple_runs_seal-0.sh │ │ │ ├── run_evaluate_multiple_runs_webwalkerqa.sh │ │ │ └── run_evaluate_multiple_runs_xbench_deepsearch.sh │ │ └── src/ │ │ ├── __init__.py │ │ ├── config/ │ │ │ ├── __init__.py │ │ │ └── settings.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── answer_generator.py │ │ │ ├── orchestrator.py │ │ │ ├── pipeline.py │ │ │ ├── stream_handler.py │ │ │ └── tool_executor.py │ │ ├── io/ │ │ │ ├── __init__.py │ │ │ ├── input_handler.py │ │ │ └── output_formatter.py │ │ ├── llm/ │ │ │ ├── __init__.py │ │ │ ├── base_client.py │ │ │ ├── factory.py │ │ │ ├── providers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── anthropic_client.py │ │ │ │ └── openai_client.py │ │ │ └── util.py │ │ ├── logging/ │ │ │ ├── __init__.py │ │ │ ├── summary_time_cost.py │ │ │ └── task_logger.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── parsing_utils.py │ │ ├── prompt_utils.py │ │ └── wrapper_utils.py │ └── visualize-trace/ │ ├── .python-version │ ├── README.md │ ├── app.py │ ├── pyproject.toml │ ├── requirements.txt │ ├── run.py │ ├── static/ │ │ ├── css/ │ │ │ └── style.css │ │ └── js/ │ │ └── script.js │ ├── templates/ │ │ └── index.html │ └── trace_analyzer.py ├── assets/ │ ├── LOCAL-TOOL-DEPLOYMENT.md │ ├── QA.md │ └── qwen3_nonthinking.jinja ├── justfile └── libs/ └── miroflow-tools/ ├── README.md ├── pyproject.toml └── src/ ├── __init__.py └── miroflow_tools/ ├── __init__.py ├── dev_mcp_servers/ │ ├── jina_scrape_llm_summary.py │ ├── search_and_scrape_webpage.py │ ├── stateless_python_server.py │ └── task_planner.py ├── manager.py └── mcp_servers/ ├── __init__.py ├── audio_mcp_server.py ├── audio_mcp_server_os.py ├── browser_session.py ├── python_mcp_server.py ├── reading_mcp_server.py ├── reasoning_mcp_server.py ├── reasoning_mcp_server_os.py ├── searching_google_mcp_server.py ├── searching_sogou_mcp_server.py ├── serper_mcp_server.py ├── utils/ │ ├── __init__.py │ └── url_unquote.py ├── vision_mcp_server.py └── vision_mcp_server_os.py