{
  "directed": false,
  "multigraph": false,
  "graph": {},
  "nodes": [
    {
      "label": "scrape_joinquant.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_research_scrape_joinquant_py",
      "community": 89,
      "norm_label": "scrape_joinquant.py"
    },
    {
      "label": "get_community_articles()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L21",
      "id": "research_scrape_joinquant_get_community_articles",
      "community": 89,
      "norm_label": "get_community_articles()"
    },
    {
      "label": "get_article_content()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L65",
      "id": "research_scrape_joinquant_get_article_content",
      "community": 89,
      "norm_label": "get_article_content()"
    },
    {
      "label": "filter_articles()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L122",
      "id": "research_scrape_joinquant_filter_articles",
      "community": 89,
      "norm_label": "filter_articles()"
    },
    {
      "label": "save_articles()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L141",
      "id": "research_scrape_joinquant_save_articles",
      "community": 89,
      "norm_label": "save_articles()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L177",
      "id": "research_scrape_joinquant_main",
      "community": 89,
      "norm_label": "main()"
    },
    {
      "label": "scrape_9_articles.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_research_scrape_9_articles_py",
      "community": 90,
      "norm_label": "scrape_9_articles.py"
    },
    {
      "label": "read_articles_from_file()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L21",
      "id": "research_scrape_9_articles_read_articles_from_file",
      "community": 90,
      "norm_label": "read_articles_from_file()"
    },
    {
      "label": "get_article_content()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L38",
      "id": "research_scrape_9_articles_get_article_content",
      "community": 90,
      "norm_label": "get_article_content()"
    },
    {
      "label": "save_articles()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L708",
      "id": "research_scrape_9_articles_save_articles",
      "community": 90,
      "norm_label": "save_articles()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L746",
      "id": "research_scrape_9_articles_main",
      "community": 90,
      "norm_label": "main()"
    },
    {
      "label": "\u83b7\u53d6\u6587\u7ae0\u5185\u5bb9\uff08\u6a21\u62df\uff0c\u56e0\u4e3a\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u805a\u5bbd\u793e\u533a\uff09",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L39",
      "id": "research_scrape_9_articles_rationale_39",
      "community": 90,
      "norm_label": "\u83b7\u53d6\u6587\u7ae0\u5185\u5bb9(\u6a21\u62df,\u56e0\u4e3a\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u805a\u5bbd\u793e\u533a)"
    },
    {
      "label": "download_final.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_final.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_download_final_py",
      "community": 3,
      "norm_label": "download_final.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_final.py",
      "source_location": "L14",
      "id": "backtest_download_final_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "test_fixed_v3.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v3.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_fixed_v3_py",
      "community": 3,
      "norm_label": "test_fixed_v3.py"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v3.py",
      "source_location": "L133",
      "id": "backtest_test_fixed_v3_test_run_strategy_backtest",
      "community": 3,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "test_final_fixed_v6.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v6_py",
      "community": 147,
      "norm_label": "test_final_fixed_v6.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L143",
      "id": "backtest_test_final_fixed_v6_str_to_interval",
      "community": 147,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L159",
      "id": "backtest_test_final_fixed_v6_parse_date",
      "community": 147,
      "norm_label": "parse_date()"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L167",
      "id": "backtest_test_final_fixed_v6_test_run_strategy_backtest",
      "community": 147,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "create_ultimate_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/create_ultimate_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_create_ultimate_test_py",
      "community": 190,
      "norm_label": "create_ultimate_test.py"
    },
    {
      "label": "create_final_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/create_final_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_create_final_test_py",
      "community": 191,
      "norm_label": "create_final_test.py"
    },
    {
      "label": "test_server_new_port.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_new_port_py",
      "community": 3,
      "norm_label": "test_server_new_port.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L55",
      "id": "backtest_test_server_new_port_run_strategy_backtest",
      "community": 3,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L141",
      "id": "backtest_test_server_new_port_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "run_on_windows.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_run_on_windows_py",
      "community": 92,
      "norm_label": "run_on_windows.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L76",
      "id": "backtest_run_on_windows_backtestrequest",
      "community": 92,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L88",
      "id": "backtest_run_on_windows_apiresponse",
      "community": 92,
      "norm_label": "apiresponse"
    },
    {
      "label": "run_backtest_core()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L98",
      "id": "backtest_run_on_windows_run_backtest_core",
      "community": 92,
      "norm_label": "run_backtest_core()"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L218",
      "id": "backtest_run_on_windows_root",
      "community": 92,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L233",
      "id": "backtest_run_on_windows_run_backtest",
      "community": 92,
      "norm_label": "run_backtest()"
    },
    {
      "label": "test_final_fixed_v2.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v2_py",
      "community": 146,
      "norm_label": "test_final_fixed_v2.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L131",
      "id": "backtest_test_final_fixed_v2_str_to_interval",
      "community": 146,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L147",
      "id": "backtest_test_final_fixed_v2_parse_date",
      "community": 146,
      "norm_label": "parse_date()"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L155",
      "id": "backtest_test_final_fixed_v2_test_run_strategy_backtest",
      "community": 146,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "complete_backtest_service.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_complete_backtest_service_py",
      "community": 67,
      "norm_label": "complete_backtest_service.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L86",
      "id": "backtest_complete_backtest_service_backtestrequest",
      "community": 67,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L99",
      "id": "backtest_complete_backtest_service_apiresponse",
      "community": 67,
      "norm_label": "apiresponse"
    },
    {
      "label": "run_strategy_backtest_core()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L106",
      "id": "backtest_complete_backtest_service_run_strategy_backtest_core",
      "community": 67,
      "norm_label": "run_strategy_backtest_core()"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L225",
      "id": "backtest_complete_backtest_service_root",
      "community": 67,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L242",
      "id": "backtest_complete_backtest_service_run_backtest",
      "community": 67,
      "norm_label": "run_backtest()"
    },
    {
      "label": "start_zmq_server()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L284",
      "id": "backtest_complete_backtest_service_start_zmq_server",
      "community": 67,
      "norm_label": "start_zmq_server()"
    },
    {
      "label": "\u6838\u5fc3\u56de\u6d4b\u51fd\u6570 - \u8fd9\u91cc\u786e\u4fddBacktesterEngine\u521d\u59cb\u5316\u7edd\u5bf9\u6b63\u786e",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L107",
      "id": "backtest_complete_backtest_service_rationale_107",
      "community": 67,
      "norm_label": "\u6838\u5fc3\u56de\u6d4b\u51fd\u6570 - \u8fd9\u91cc\u786e\u4fddbacktesterengine\u521d\u59cb\u5316\u7edd\u5bf9\u6b63\u786e"
    },
    {
      "label": "test_final_fixed_v3.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v3_py",
      "community": 3,
      "norm_label": "test_final_fixed_v3.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L131",
      "id": "backtest_test_final_fixed_v3_str_to_interval",
      "community": 3,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L147",
      "id": "backtest_test_final_fixed_v3_parse_date",
      "community": 3,
      "norm_label": "parse_date()"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L155",
      "id": "backtest_test_final_fixed_v3_test_run_strategy_backtest",
      "community": 3,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "create_test_task.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/create_test_task.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_create_test_task_py",
      "community": 192,
      "norm_label": "create_test_task.py"
    },
    {
      "label": "container_urllib_request.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/container_urllib_request.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_container_urllib_request_py",
      "community": 193,
      "norm_label": "container_urllib_request.py"
    },
    {
      "label": "court_success_final.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_success_final.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_court_success_final_py",
      "community": 194,
      "norm_label": "court_success_final.py"
    },
    {
      "label": "test_fixed_v2.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v2.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_fixed_v2_py",
      "community": 3,
      "norm_label": "test_fixed_v2.py"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v2.py",
      "source_location": "L127",
      "id": "backtest_test_fixed_v2_test_run_strategy_backtest",
      "community": 3,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "backtest_api_100_correct_mapped_8088.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_mapped_8088_py",
      "community": 108,
      "norm_label": "backtest_api_100_correct_mapped_8088.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L38",
      "id": "backtest_backtest_api_100_correct_mapped_8088_backtestrequest",
      "community": 108,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L51",
      "id": "backtest_backtest_api_100_correct_mapped_8088_apiresponse",
      "community": 108,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L59",
      "id": "backtest_backtest_api_100_correct_mapped_8088_root",
      "community": 108,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L76",
      "id": "backtest_backtest_api_100_correct_mapped_8088_run_backtest",
      "community": 108,
      "norm_label": "run_backtest()"
    },
    {
      "label": "backtest_api_new_port_8089.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_8089_py",
      "community": 109,
      "norm_label": "backtest_api_new_port_8089.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L38",
      "id": "backtest_backtest_api_new_port_8089_backtestrequest",
      "community": 109,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L51",
      "id": "backtest_backtest_api_new_port_8089_apiresponse",
      "community": 109,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L59",
      "id": "backtest_backtest_api_new_port_8089_root",
      "community": 109,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L76",
      "id": "backtest_backtest_api_new_port_8089_run_backtest",
      "community": 109,
      "norm_label": "run_backtest()"
    },
    {
      "label": "test_local_backtest.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_local_backtest_py",
      "community": 165,
      "norm_label": "test_local_backtest.py"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest.py",
      "source_location": "L61",
      "id": "backtest_test_local_backtest_test_run_strategy_backtest",
      "community": 165,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "\u76f4\u63a5\u6d4b\u8bd5run_strategy_backtest",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest.py",
      "source_location": "L62",
      "id": "backtest_test_local_backtest_rationale_62",
      "community": 165,
      "norm_label": "\u76f4\u63a5\u6d4b\u8bd5run_strategy_backtest"
    },
    {
      "label": "test_server_100_correct_8006.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_8006_py",
      "community": 169,
      "norm_label": "test_server_100_correct_8006.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L57",
      "id": "backtest_test_server_100_correct_8006_run_strategy_backtest",
      "community": 169,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L160",
      "id": "backtest_test_server_100_correct_8006_main",
      "community": 169,
      "norm_label": "main()"
    },
    {
      "label": "container_api_request.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/container_api_request.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_container_api_request_py",
      "community": 195,
      "norm_label": "container_api_request.py"
    },
    {
      "label": "test_memory_optimized_1year.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_memory_optimized_1year.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_memory_optimized_1year_py",
      "community": 196,
      "norm_label": "test_memory_optimized_1year.py"
    },
    {
      "label": "test_final_fixed.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_py",
      "community": 3,
      "norm_label": "test_final_fixed.py"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L130",
      "id": "backtest_test_final_fixed_parse_date",
      "community": 3,
      "norm_label": "parse_date()"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L138",
      "id": "backtest_test_final_fixed_test_run_strategy_backtest",
      "community": 3,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "backtest_api_100_correct_8006_8088.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8006_8088_py",
      "community": 110,
      "norm_label": "backtest_api_100_correct_8006_8088.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L39",
      "id": "backtest_backtest_api_100_correct_8006_8088_backtestrequest",
      "community": 110,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L52",
      "id": "backtest_backtest_api_100_correct_8006_8088_apiresponse",
      "community": 110,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L60",
      "id": "backtest_backtest_api_100_correct_8006_8088_root",
      "community": 110,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L77",
      "id": "backtest_backtest_api_100_correct_8006_8088_run_backtest",
      "community": 110,
      "norm_label": "run_backtest()"
    },
    {
      "label": "backtest_api_final_correct.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_py",
      "community": 111,
      "norm_label": "backtest_api_final_correct.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L38",
      "id": "backtest_backtest_api_final_correct_backtestrequest",
      "community": 111,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L51",
      "id": "backtest_backtest_api_final_correct_apiresponse",
      "community": 111,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L59",
      "id": "backtest_backtest_api_final_correct_root",
      "community": 111,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L75",
      "id": "backtest_backtest_api_final_correct_run_backtest",
      "community": 111,
      "norm_label": "run_backtest()"
    },
    {
      "label": "test_local_backtest_embedded.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest_embedded.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_local_backtest_embedded_py",
      "community": 168,
      "norm_label": "test_local_backtest_embedded.py"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest_embedded.py",
      "source_location": "L188",
      "id": "backtest_test_local_backtest_embedded_test_run_strategy_backtest",
      "community": 168,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "\u76f4\u63a5\u6d4b\u8bd5run_strategy_backtest",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest_embedded.py",
      "source_location": "L189",
      "id": "backtest_test_local_backtest_embedded_rationale_189",
      "community": 168,
      "norm_label": "\u76f4\u63a5\u6d4b\u8bd5run_strategy_backtest"
    },
    {
      "label": "test_server_debug_8007.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_debug_8007_py",
      "community": 3,
      "norm_label": "test_server_debug_8007.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L57",
      "id": "backtest_test_server_debug_8007_run_strategy_backtest",
      "community": 3,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L166",
      "id": "backtest_test_server_debug_8007_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "fix_backtester_init.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/fix_backtester_init.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_fix_backtester_init_py",
      "community": 197,
      "norm_label": "fix_backtester_init.py"
    },
    {
      "label": "backtest_api_final_correct_8090.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_8090_py",
      "community": 124,
      "norm_label": "backtest_api_final_correct_8090.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L38",
      "id": "backtest_backtest_api_final_correct_8090_backtestrequest",
      "community": 124,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L51",
      "id": "backtest_backtest_api_final_correct_8090_apiresponse",
      "community": 124,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L59",
      "id": "backtest_backtest_api_final_correct_8090_root",
      "community": 124,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L75",
      "id": "backtest_backtest_api_final_correct_8090_run_backtest",
      "community": 124,
      "norm_label": "run_backtest()"
    },
    {
      "label": "backtest_api_fixed.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_fixed_py",
      "community": 112,
      "norm_label": "backtest_api_fixed.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L38",
      "id": "backtest_backtest_api_fixed_backtestrequest",
      "community": 112,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L51",
      "id": "backtest_backtest_api_fixed_apiresponse",
      "community": 112,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L59",
      "id": "backtest_backtest_api_fixed_root",
      "community": 112,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L63",
      "id": "backtest_backtest_api_fixed_run_backtest",
      "community": 112,
      "norm_label": "run_backtest()"
    },
    {
      "label": "run_in_container_api.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_in_container_api.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_run_in_container_api_py",
      "community": 198,
      "norm_label": "run_in_container_api.py"
    },
    {
      "label": "court_discuss_client.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "community": 49,
      "norm_label": "court_discuss_client.py"
    },
    {
      "label": "print_separator()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L29",
      "id": "backtest_court_discuss_client_print_separator",
      "community": 49,
      "norm_label": "print_separator()"
    },
    {
      "label": "list_officials()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L36",
      "id": "backtest_court_discuss_client_list_officials",
      "community": 49,
      "norm_label": "list_officials()"
    },
    {
      "label": "create_session()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L53",
      "id": "backtest_court_discuss_client_create_session",
      "community": 49,
      "norm_label": "create_session()"
    },
    {
      "label": "advance_discussion()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L83",
      "id": "backtest_court_discuss_client_advance_discussion",
      "community": 49,
      "norm_label": "advance_discussion()"
    },
    {
      "label": "get_session()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L134",
      "id": "backtest_court_discuss_client_get_session",
      "community": 49,
      "norm_label": "get_session()"
    },
    {
      "label": "list_sessions()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L178",
      "id": "backtest_court_discuss_client_list_sessions",
      "community": 49,
      "norm_label": "list_sessions()"
    },
    {
      "label": "conclude_session()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L204",
      "id": "backtest_court_discuss_client_conclude_session",
      "community": 49,
      "norm_label": "conclude_session()"
    },
    {
      "label": "get_fate_event()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L224",
      "id": "backtest_court_discuss_client_get_fate_event",
      "community": 49,
      "norm_label": "get_fate_event()"
    },
    {
      "label": "demo_full_flow()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L241",
      "id": "backtest_court_discuss_client_demo_full_flow",
      "community": 49,
      "norm_label": "demo_full_flow()"
    },
    {
      "label": "interactive_mode()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L288",
      "id": "backtest_court_discuss_client_interactive_mode",
      "community": 49,
      "norm_label": "interactive_mode()"
    },
    {
      "label": "final_rpc_correct.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "community": 6,
      "norm_label": "final_rpc_correct.py"
    },
    {
      "label": "DataSource",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L90",
      "id": "backtest_final_rpc_correct_datasource",
      "community": 6,
      "norm_label": "datasource"
    },
    {
      "label": "ABC",
      "file_type": "code",
      "source_file": "",
      "source_location": "",
      "id": "abc",
      "community": 6,
      "norm_label": "abc"
    },
    {
      "label": "load_bars()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L99",
      "id": "backtest_final_rpc_correct_load_bars",
      "community": 6,
      "norm_label": "load_bars()"
    },
    {
      "label": "get_name()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L104",
      "id": "backtest_final_rpc_correct_get_name",
      "community": 6,
      "norm_label": "get_name()"
    },
    {
      "label": "SqliteDataSource",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L108",
      "id": "backtest_final_rpc_correct_sqlitedatasource",
      "community": 6,
      "norm_label": "sqlitedatasource"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L115",
      "id": "backtest_final_rpc_correct_sqlitedatasource_init",
      "community": 6,
      "norm_label": ".__init__()"
    },
    {
      "label": ".get_name()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L119",
      "id": "backtest_final_rpc_correct_sqlitedatasource_get_name",
      "community": 6,
      "norm_label": ".get_name()"
    },
    {
      "label": ".load_bars()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L122",
      "id": "backtest_final_rpc_correct_sqlitedatasource_load_bars",
      "community": 6,
      "norm_label": ".load_bars()"
    },
    {
      "label": "LocalCsvDataSource",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L125",
      "id": "backtest_final_rpc_correct_localcsvdatasource",
      "community": 6,
      "norm_label": "localcsvdatasource"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L132",
      "id": "backtest_final_rpc_correct_localcsvdatasource_init",
      "community": 6,
      "norm_label": ".__init__()"
    },
    {
      "label": ".get_name()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L135",
      "id": "backtest_final_rpc_correct_localcsvdatasource_get_name",
      "community": 6,
      "norm_label": ".get_name()"
    },
    {
      "label": ".load_bars()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L138",
      "id": "backtest_final_rpc_correct_localcsvdatasource_load_bars",
      "community": 6,
      "norm_label": ".load_bars()"
    },
    {
      "label": "NetworkDataSource",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L184",
      "id": "backtest_final_rpc_correct_networkdatasource",
      "community": 6,
      "norm_label": "networkdatasource"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L190",
      "id": "backtest_final_rpc_correct_networkdatasource_init",
      "community": 6,
      "norm_label": ".__init__()"
    },
    {
      "label": ".get_name()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L193",
      "id": "backtest_final_rpc_correct_networkdatasource_get_name",
      "community": 6,
      "norm_label": ".get_name()"
    },
    {
      "label": ".load_bars()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L196",
      "id": "backtest_final_rpc_correct_networkdatasource_load_bars",
      "community": 6,
      "norm_label": ".load_bars()"
    },
    {
      "label": "DataSourceManager",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L252",
      "id": "backtest_final_rpc_correct_datasourcemanager",
      "community": 6,
      "norm_label": "datasourcemanager"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L255",
      "id": "backtest_final_rpc_correct_datasourcemanager_init",
      "community": 6,
      "norm_label": ".__init__()"
    },
    {
      "label": ".register_source()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L261",
      "id": "backtest_final_rpc_correct_datasourcemanager_register_source",
      "community": 6,
      "norm_label": ".register_source()"
    },
    {
      "label": ".get_source()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L266",
      "id": "backtest_final_rpc_correct_datasourcemanager_get_source",
      "community": 6,
      "norm_label": ".get_source()"
    },
    {
      "label": ".load_bars()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L270",
      "id": "backtest_final_rpc_correct_datasourcemanager_load_bars",
      "community": 6,
      "norm_label": ".load_bars()"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L326",
      "id": "backtest_final_rpc_correct_str_to_interval",
      "community": 6,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L342",
      "id": "backtest_final_rpc_correct_parse_date",
      "community": 6,
      "norm_label": "parse_date()"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L377",
      "id": "backtest_final_rpc_correct_run_strategy_backtest",
      "community": 6,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L635",
      "id": "backtest_final_rpc_correct_main",
      "community": 6,
      "norm_label": "main()"
    },
    {
      "label": "\u6570\u636e\u6e90\u62bd\u8c61\u57fa\u7c7b          \u8bbe\u8ba1\u539f\u5219\uff1a     - RPC\u670d\u52a1\u7aef\u53ea\u8bfb\u53d6\u6570\u636e\uff0c\u4e0d\u5199\u5165\u6570\u636e     - \u6570\u636e\u5199\u5165\u3001\u540c\u6b65\u3001\u66f4\u65b0\u7531\u8d75\u4e91\u8d1f\u8d23     - \u907f\u514d\u6570\u636e\u8986",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L91",
      "id": "backtest_final_rpc_correct_rationale_91",
      "community": 6,
      "norm_label": "\u6570\u636e\u6e90\u62bd\u8c61\u57fa\u7c7b          \u8bbe\u8ba1\u539f\u5219:     - rpc\u670d\u52a1\u7aef\u53ea\u8bfb\u53d6\u6570\u636e,\u4e0d\u5199\u5165\u6570\u636e     - \u6570\u636e\u5199\u5165\u3001\u540c\u6b65\u3001\u66f4\u65b0\u7531\u8d75\u4e91\u8d1f\u8d23     - \u907f\u514d\u6570\u636e\u8986"
    },
    {
      "label": "vnpy SQLite\u6570\u636e\u5e93\u6570\u636e\u6e90          - \u6570\u636e\u7531\u8d75\u4e91\u8d1f\u8d23\u5bfc\u5165\u548c\u66f4\u65b0     - \u672c\u670d\u52a1\u53ea\u8bfb\u53d6\uff0c\u4e0d\u5199\u5165     - \u4e0d\u4f1a\u8986\u76d6\u5df2\u6709\u6570\u636e",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L109",
      "id": "backtest_final_rpc_correct_rationale_109",
      "community": 6,
      "norm_label": "vnpy sqlite\u6570\u636e\u5e93\u6570\u636e\u6e90          - \u6570\u636e\u7531\u8d75\u4e91\u8d1f\u8d23\u5bfc\u5165\u548c\u66f4\u65b0     - \u672c\u670d\u52a1\u53ea\u8bfb\u53d6,\u4e0d\u5199\u5165     - \u4e0d\u4f1a\u8986\u76d6\u5df2\u6709\u6570\u636e"
    },
    {
      "label": "\u672c\u5730CSV\u6587\u4ef6\u6570\u636e\u6e90          - \u8d75\u4e91\u4e0b\u8f7d\u597d\u7684CSV\u6570\u636e\u653e\u5728data\u76ee\u5f55     - \u672c\u670d\u52a1\u53ea\u8bfb\u53d6\uff0c\u4e0d\u4fee\u6539     - \u6587\u4ef6\u540d\u81ea\u52a8\u5339\u914d\uff1a{symbol",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L126",
      "id": "backtest_final_rpc_correct_rationale_126",
      "community": 6,
      "norm_label": "\u672c\u5730csv\u6587\u4ef6\u6570\u636e\u6e90          - \u8d75\u4e91\u4e0b\u8f7d\u597d\u7684csv\u6570\u636e\u653e\u5728data\u76ee\u5f55     - \u672c\u670d\u52a1\u53ea\u8bfb\u53d6,\u4e0d\u4fee\u6539     - \u6587\u4ef6\u540d\u81ea\u52a8\u5339\u914d:{symbol"
    },
    {
      "label": "CSV\u683c\u5f0f\u8981\u6c42\uff1a         \u5fc5\u987b\u5305\u542b\u5217\uff1atrade_date, open, high, low, close, volume, amount",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L139",
      "id": "backtest_final_rpc_correct_rationale_139",
      "community": 6,
      "norm_label": "csv\u683c\u5f0f\u8981\u6c42:         \u5fc5\u987b\u5305\u542b\u5217:trade_date, open, high, low, close, volume, amount"
    },
    {
      "label": "\u7f51\u7edc\u6570\u636e\u6e90\uff08\u901a\u8fc7HTTP API\u83b7\u53d6\uff09          - \u5bf9\u63a5\u5916\u90e8\u6570\u636eAPI\uff0c\u6bd4\u5982akshare\u63a5\u53e3     - \u5b9e\u65f6\u83b7\u53d6\u6570\u636e\uff0c\u4e0d\u9700\u8981\u63d0\u524d\u5bfc\u5165\u6570\u636e\u5e93",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L185",
      "id": "backtest_final_rpc_correct_rationale_185",
      "community": 6,
      "norm_label": "\u7f51\u7edc\u6570\u636e\u6e90(\u901a\u8fc7http api\u83b7\u53d6)          - \u5bf9\u63a5\u5916\u90e8\u6570\u636eapi,\u6bd4\u5982akshare\u63a5\u53e3     - \u5b9e\u65f6\u83b7\u53d6\u6570\u636e,\u4e0d\u9700\u8981\u63d0\u524d\u5bfc\u5165\u6570\u636e\u5e93"
    },
    {
      "label": "\u901a\u8fc7\u7f51\u7edcAPI\u83b7\u53d6\u6570\u636e         \u53ef\u4ee5\u5bf9\u63a5akshare\u3001tushare\u7b49\u7f51\u7edc\u63a5\u53e3",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L197",
      "id": "backtest_final_rpc_correct_rationale_197",
      "community": 6,
      "norm_label": "\u901a\u8fc7\u7f51\u7edcapi\u83b7\u53d6\u6570\u636e         \u53ef\u4ee5\u5bf9\u63a5akshare\u3001tushare\u7b49\u7f51\u7edc\u63a5\u53e3"
    },
    {
      "label": "\u6570\u636e\u6e90\u7ba1\u7406\u5668 - \u652f\u6301\u591a\u79cd\u6570\u636e\u6e90\uff0c\u81ea\u52a8\u9009\u62e9",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L253",
      "id": "backtest_final_rpc_correct_rationale_253",
      "community": 6,
      "norm_label": "\u6570\u636e\u6e90\u7ba1\u7406\u5668 - \u652f\u6301\u591a\u79cd\u6570\u636e\u6e90,\u81ea\u52a8\u9009\u62e9"
    },
    {
      "label": "\u89e3\u6790\u65e5\u671f\uff1a\u652f\u6301\u4e24\u79cd\u683c\u5f0f\uff1a     1. YYYYMMDD \u6574\u6570\uff08\u957f\u5ea68\u4f4d\uff09\uff0c\u6bd4\u5982 20210101 \u2192 2021\u5e741\u67081\u65e5     2. Unix\u65f6\u95f4\u6233\uff08\u957f\u5ea61",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L343",
      "id": "backtest_final_rpc_correct_rationale_343",
      "community": 6,
      "norm_label": "\u89e3\u6790\u65e5\u671f:\u652f\u6301\u4e24\u79cd\u683c\u5f0f:     1. yyyymmdd \u6574\u6570(\u957f\u5ea68\u4f4d),\u6bd4\u5982 20210101 \u2192 2021\u5e741\u67081\u65e5     2. unix\u65f6\u95f4\u6233(\u957f\u5ea61"
    },
    {
      "label": "RPC\u65b9\u6cd5\uff1a\u8fd0\u884c\u7b56\u7565\u56de\u6d4b - \u5b8c\u5168\u9075\u5faavnpy 4.x\u5b98\u65b9\u6e90\u7801\u67b6\u6784     \ud83d\udd25 \u5f7b\u5e95\u89e3\u51b3\u5185\u5b58\u6cc4\u6f0f\uff1a     - \u4f7f\u7528\u5168\u5c40\u5f15\u64ce\uff0c\u53ea\u521b\u5efa\u4e00\u6b21\uff0c\u6c38\u4e45\u91cd\u7528     -",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L378",
      "id": "backtest_final_rpc_correct_rationale_378",
      "community": 6,
      "norm_label": "rpc\u65b9\u6cd5:\u8fd0\u884c\u7b56\u7565\u56de\u6d4b - \u5b8c\u5168\u9075\u5faavnpy 4.x\u5b98\u65b9\u6e90\u7801\u67b6\u6784     \ud83d\udd25 \u5f7b\u5e95\u89e3\u51b3\u5185\u5b58\u6cc4\u6f0f:     - \u4f7f\u7528\u5168\u5c40\u5f15\u64ce,\u53ea\u521b\u5efa\u4e00\u6b21,\u6c38\u4e45\u91cd\u7528     -"
    },
    {
      "label": "\u4e3b\u51fd\u6570     \ud83d\udd25 \u5f7b\u5e95\u89e3\u51b3\u5185\u5b58\u6cc4\u6f0f\u7248\u672c\uff1a     - \u6309\u7167\u5b98\u65b9\u8bbe\u8ba1\uff1a\u5168\u5c40\u53ea\u521b\u5efa\u4e00\u6b21\u5f15\u64ce\uff0c\u6c38\u4e45\u91cd\u7528     - \u6bcf\u6b21\u56de\u6d4b\u53ea\u8c03\u7528clear_data\u6e05\u9664\u6570\u636e",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L636",
      "id": "backtest_final_rpc_correct_rationale_636",
      "community": 6,
      "norm_label": "\u4e3b\u51fd\u6570     \ud83d\udd25 \u5f7b\u5e95\u89e3\u51b3\u5185\u5b58\u6cc4\u6f0f\u7248\u672c:     - \u6309\u7167\u5b98\u65b9\u8bbe\u8ba1:\u5168\u5c40\u53ea\u521b\u5efa\u4e00\u6b21\u5f15\u64ce,\u6c38\u4e45\u91cd\u7528     - \u6bcf\u6b21\u56de\u6d4b\u53ea\u8c03\u7528clear_data\u6e05\u9664\u6570\u636e"
    },
    {
      "label": "continuous_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/continuous_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_continuous_test_py",
      "community": 199,
      "norm_label": "continuous_test.py"
    },
    {
      "label": "backtest_api_new_port.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_py",
      "community": 113,
      "norm_label": "backtest_api_new_port.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L38",
      "id": "backtest_backtest_api_new_port_backtestrequest",
      "community": 113,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L51",
      "id": "backtest_backtest_api_new_port_apiresponse",
      "community": 113,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L59",
      "id": "backtest_backtest_api_new_port_root",
      "community": 113,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L71",
      "id": "backtest_backtest_api_new_port_run_backtest",
      "community": 113,
      "norm_label": "run_backtest()"
    },
    {
      "label": "test_data_load.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_data_load.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_data_load_py",
      "community": 200,
      "norm_label": "test_data_load.py"
    },
    {
      "label": "\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_py",
      "community": 94,
      "norm_label": "\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L72",
      "id": "backtest_backtestrequest",
      "community": 94,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L84",
      "id": "backtest_apiresponse",
      "community": 94,
      "norm_label": "apiresponse"
    },
    {
      "label": "run_backtest_core()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L94",
      "id": "backtest_run_backtest_core",
      "community": 94,
      "norm_label": "run_backtest_core()"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L217",
      "id": "backtest_root",
      "community": 94,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L233",
      "id": "backtest_run_backtest",
      "community": 94,
      "norm_label": "run_backtest()"
    },
    {
      "label": "call_rpc_direct.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/call_rpc_direct.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_call_rpc_direct_py",
      "community": 201,
      "norm_label": "call_rpc_direct.py"
    },
    {
      "label": "backtest_api_100_correct_8091.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8091_py",
      "community": 114,
      "norm_label": "backtest_api_100_correct_8091.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L39",
      "id": "backtest_backtest_api_100_correct_8091_backtestrequest",
      "community": 114,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L52",
      "id": "backtest_backtest_api_100_correct_8091_apiresponse",
      "community": 114,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L60",
      "id": "backtest_backtest_api_100_correct_8091_root",
      "community": 114,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L76",
      "id": "backtest_backtest_api_100_correct_8091_run_backtest",
      "community": 114,
      "norm_label": "run_backtest()"
    },
    {
      "label": "test_vnpy_data.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_vnpy_data_py",
      "community": 29,
      "norm_label": "test_vnpy_data.py"
    },
    {
      "label": "test_adapter_basic()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L17",
      "id": "backtest_test_vnpy_data_test_adapter_basic",
      "community": 29,
      "norm_label": "test_adapter_basic()"
    },
    {
      "label": "test_data_loading()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L53",
      "id": "backtest_test_vnpy_data_test_data_loading",
      "community": 29,
      "norm_label": "test_data_loading()"
    },
    {
      "label": "test_converter()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L110",
      "id": "backtest_test_vnpy_data_test_converter",
      "community": 29,
      "norm_label": "test_converter()"
    },
    {
      "label": "test_integration_with_strategy()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L160",
      "id": "backtest_test_vnpy_data_test_integration_with_strategy",
      "community": 29,
      "norm_label": "test_integration_with_strategy()"
    },
    {
      "label": "generate_implementation_guide()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L221",
      "id": "backtest_test_vnpy_data_generate_implementation_guide",
      "community": 29,
      "norm_label": "generate_implementation_guide()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L273",
      "id": "backtest_test_vnpy_data_main",
      "community": 29,
      "norm_label": "main()"
    },
    {
      "label": "test_server_100_correct.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_py",
      "community": 3,
      "norm_label": "test_server_100_correct.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L56",
      "id": "backtest_test_server_100_correct_run_strategy_backtest",
      "community": 3,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L159",
      "id": "backtest_test_server_100_correct_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "guanyu_full_interval_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/guanyu_full_interval_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_guanyu_full_interval_test_py",
      "community": 202,
      "norm_label": "guanyu_full_interval_test.py"
    },
    {
      "label": "final_backtest_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_final_backtest_test_py",
      "community": 115,
      "norm_label": "final_backtest_test.py"
    },
    {
      "label": "test_health()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L10",
      "id": "backtest_final_backtest_test_test_health",
      "community": 115,
      "norm_label": "test_health()"
    },
    {
      "label": "test_swagger()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L22",
      "id": "backtest_final_backtest_test_test_swagger",
      "community": 115,
      "norm_label": "test_swagger()"
    },
    {
      "label": "test_backtest_simple()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L38",
      "id": "backtest_final_backtest_test_test_backtest_simple",
      "community": 115,
      "norm_label": "test_backtest_simple()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L119",
      "id": "backtest_final_backtest_test_main",
      "community": 115,
      "norm_label": "main()"
    },
    {
      "label": "run_backtest_final.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_backtest_final.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_run_backtest_final_py",
      "community": 203,
      "norm_label": "run_backtest_final.py"
    },
    {
      "label": "simple_download_510300.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_download_510300.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_simple_download_510300_py",
      "community": 3,
      "norm_label": "simple_download_510300.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_download_510300.py",
      "source_location": "L13",
      "id": "backtest_simple_download_510300_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "run_simayi_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_run_simayi_test_py",
      "community": 11,
      "norm_label": "run_simayi_test.py"
    },
    {
      "label": "check_simayi_scripts()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L10",
      "id": "backtest_run_simayi_test_check_simayi_scripts",
      "community": 11,
      "norm_label": "check_simayi_scripts()"
    },
    {
      "label": "create_simayi_test_script()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L49",
      "id": "backtest_run_simayi_test_create_simayi_test_script",
      "community": 11,
      "norm_label": "create_simayi_test_script()"
    },
    {
      "label": "TestStrategy",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L97",
      "id": "backtest_run_simayi_test_teststrategy",
      "community": 11,
      "norm_label": "teststrategy"
    },
    {
      "label": "CtaTemplate",
      "file_type": "code",
      "source_file": "",
      "source_location": "",
      "id": "ctatemplate",
      "community": 11,
      "norm_label": "ctatemplate"
    },
    {
      "label": ".on_init()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L100",
      "id": "backtest_run_simayi_test_teststrategy_on_init",
      "community": 11,
      "norm_label": ".on_init()"
    },
    {
      "label": ".on_bar()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L103",
      "id": "backtest_run_simayi_test_teststrategy_on_bar",
      "community": 11,
      "norm_label": ".on_bar()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L192",
      "id": "backtest_run_simayi_test_main",
      "community": 11,
      "norm_label": "main()"
    },
    {
      "label": "download_510300_to_vnpy.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_download_510300_to_vnpy_py",
      "community": 116,
      "norm_label": "download_510300_to_vnpy.py"
    },
    {
      "label": "create_vnpy_database()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L17",
      "id": "backtest_download_510300_to_vnpy_create_vnpy_database",
      "community": 116,
      "norm_label": "create_vnpy_database()"
    },
    {
      "label": "download_510300_data()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L82",
      "id": "backtest_download_510300_to_vnpy_download_510300_data",
      "community": 116,
      "norm_label": "download_510300_data()"
    },
    {
      "label": "import_to_vnpy_database()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L127",
      "id": "backtest_download_510300_to_vnpy_import_to_vnpy_database",
      "community": 116,
      "norm_label": "import_to_vnpy_database()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L194",
      "id": "backtest_download_510300_to_vnpy_main",
      "community": 116,
      "norm_label": "main()"
    },
    {
      "label": "backtest_in_container.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_in_container.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_in_container_py",
      "community": 204,
      "norm_label": "backtest_in_container.py"
    },
    {
      "label": "test_server_fixed.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_fixed_py",
      "community": 3,
      "norm_label": "test_server_fixed.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L16",
      "id": "backtest_test_server_fixed_run_strategy_backtest",
      "community": 3,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L87",
      "id": "backtest_test_server_fixed_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "debug_create.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/debug_create.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_debug_create_py",
      "community": 205,
      "norm_label": "debug_create.py"
    },
    {
      "label": "api_for_fixed_rpc.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_api_for_fixed_rpc_py",
      "community": 117,
      "norm_label": "api_for_fixed_rpc.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L38",
      "id": "backtest_api_for_fixed_rpc_backtestrequest",
      "community": 117,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L51",
      "id": "backtest_api_for_fixed_rpc_apiresponse",
      "community": 117,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L59",
      "id": "backtest_api_for_fixed_rpc_root",
      "community": 117,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L78",
      "id": "backtest_api_for_fixed_rpc_run_backtest",
      "community": 117,
      "norm_label": "run_backtest()"
    },
    {
      "label": "test_server_final_fixed.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_final_fixed_py",
      "community": 166,
      "norm_label": "test_server_final_fixed.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L56",
      "id": "backtest_test_server_final_fixed_run_strategy_backtest",
      "community": 166,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L136",
      "id": "backtest_test_server_final_fixed_main",
      "community": 166,
      "norm_label": "main()"
    },
    {
      "label": "test_server_100_correct_8005.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_8005_py",
      "community": 171,
      "norm_label": "test_server_100_correct_8005.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L56",
      "id": "backtest_test_server_100_correct_8005_run_strategy_backtest",
      "community": 171,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L159",
      "id": "backtest_test_server_100_correct_8005_main",
      "community": 171,
      "norm_label": "main()"
    },
    {
      "label": "guanyu_full_request.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/guanyu_full_request.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_guanyu_full_request_py",
      "community": 206,
      "norm_label": "guanyu_full_request.py"
    },
    {
      "label": "monitor_e2e.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/monitor_e2e.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_monitor_e2e_py",
      "community": 207,
      "norm_label": "monitor_e2e.py"
    },
    {
      "label": "backtest_api_final_mapped_port.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_mapped_port_py",
      "community": 118,
      "norm_label": "backtest_api_final_mapped_port.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L37",
      "id": "backtest_backtest_api_final_mapped_port_backtestrequest",
      "community": 118,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L50",
      "id": "backtest_backtest_api_final_mapped_port_apiresponse",
      "community": 118,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L58",
      "id": "backtest_backtest_api_final_mapped_port_root",
      "community": 118,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L74",
      "id": "backtest_backtest_api_final_mapped_port_run_backtest",
      "community": 118,
      "norm_label": "run_backtest()"
    },
    {
      "label": "test_510300_new_api.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_510300_new_api.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_510300_new_api_py",
      "community": 174,
      "norm_label": "test_510300_new_api.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_510300_new_api.py",
      "source_location": "L10",
      "id": "backtest_test_510300_new_api_main",
      "community": 174,
      "norm_label": "main()"
    },
    {
      "label": "debug_create_task.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/debug_create_task.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_debug_create_task_py",
      "community": 208,
      "norm_label": "debug_create_task.py"
    },
    {
      "label": "test_server_final_correct.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_final_correct_py",
      "community": 167,
      "norm_label": "test_server_final_correct.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L54",
      "id": "backtest_test_server_final_correct_run_strategy_backtest",
      "community": 167,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L158",
      "id": "backtest_test_server_final_correct_main",
      "community": 167,
      "norm_label": "main()"
    },
    {
      "label": "run_backtest_via_rpc.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_backtest_via_rpc.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_run_backtest_via_rpc_py",
      "community": 209,
      "norm_label": "run_backtest_via_rpc.py"
    },
    {
      "label": "run_guanyu_backtest.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_guanyu_backtest.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_run_guanyu_backtest_py",
      "community": 210,
      "norm_label": "run_guanyu_backtest.py"
    },
    {
      "label": "test_510300_backtest.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_510300_backtest.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_510300_backtest_py",
      "community": 175,
      "norm_label": "test_510300_backtest.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_510300_backtest.py",
      "source_location": "L11",
      "id": "backtest_test_510300_backtest_main",
      "community": 175,
      "norm_label": "main()"
    },
    {
      "label": "fix_server.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/fix_server.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_fix_server_py",
      "community": 211,
      "norm_label": "fix_server.py"
    },
    {
      "label": "test_fixed.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_fixed_py",
      "community": 3,
      "norm_label": "test_fixed.py"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed.py",
      "source_location": "L127",
      "id": "backtest_test_fixed_test_run_strategy_backtest",
      "community": 3,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "simple_backtest_v2.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_simple_backtest_v2_py",
      "community": 11,
      "norm_label": "simple_backtest_v2.py"
    },
    {
      "label": "TestStrategy",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L33",
      "id": "backtest_simple_backtest_v2_teststrategy",
      "community": 11,
      "norm_label": "teststrategy"
    },
    {
      "label": ".on_init()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L38",
      "id": "backtest_simple_backtest_v2_teststrategy_on_init",
      "community": 11,
      "norm_label": ".on_init()"
    },
    {
      "label": ".on_bar()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L42",
      "id": "backtest_simple_backtest_v2_teststrategy_on_bar",
      "community": 11,
      "norm_label": ".on_bar()"
    },
    {
      "label": "backtest_api_debug_8007_8088.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_debug_8007_8088_py",
      "community": 119,
      "norm_label": "backtest_api_debug_8007_8088.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L37",
      "id": "backtest_backtest_api_debug_8007_8088_backtestrequest",
      "community": 119,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L50",
      "id": "backtest_backtest_api_debug_8007_8088_apiresponse",
      "community": 119,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L58",
      "id": "backtest_backtest_api_debug_8007_8088_root",
      "community": 119,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L74",
      "id": "backtest_backtest_api_debug_8007_8088_run_backtest",
      "community": 119,
      "norm_label": "run_backtest()"
    },
    {
      "label": "simple_court_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_court_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_simple_court_test_py",
      "community": 212,
      "norm_label": "simple_court_test.py"
    },
    {
      "label": "monitor_task_v2.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/monitor_task_v2.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_monitor_task_v2_py",
      "community": 213,
      "norm_label": "monitor_task_v2.py"
    },
    {
      "label": "simple_backtest.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_simple_backtest_py",
      "community": 11,
      "norm_label": "simple_backtest.py"
    },
    {
      "label": "TestStrategy",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L33",
      "id": "backtest_simple_backtest_teststrategy",
      "community": 11,
      "norm_label": "teststrategy"
    },
    {
      "label": ".on_init()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L38",
      "id": "backtest_simple_backtest_teststrategy_on_init",
      "community": 11,
      "norm_label": ".on_init()"
    },
    {
      "label": ".on_bar()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L42",
      "id": "backtest_simple_backtest_teststrategy_on_bar",
      "community": 11,
      "norm_label": ".on_bar()"
    },
    {
      "label": "test_server_final_fixed_vnpy.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_final_fixed_vnpy_py",
      "community": 170,
      "norm_label": "test_server_final_fixed_vnpy.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L55",
      "id": "backtest_test_server_final_fixed_vnpy_run_strategy_backtest",
      "community": 170,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L151",
      "id": "backtest_test_server_final_fixed_vnpy_main",
      "community": 170,
      "norm_label": "main()"
    },
    {
      "label": "test_court_success.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_court_success.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_court_success_py",
      "community": 214,
      "norm_label": "test_court_success.py"
    },
    {
      "label": "monitor_task.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/monitor_task.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_monitor_task_py",
      "community": 215,
      "norm_label": "monitor_task.py"
    },
    {
      "label": "test_server_alternative.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_alternative.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_server_alternative_py",
      "community": 3,
      "norm_label": "test_server_alternative.py"
    },
    {
      "label": "run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_alternative.py",
      "source_location": "L17",
      "id": "backtest_test_server_alternative_run_strategy_backtest",
      "community": 3,
      "norm_label": "run_strategy_backtest()"
    },
    {
      "label": "test_final_fixed_v4.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v4_py",
      "community": 145,
      "norm_label": "test_final_fixed_v4.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L131",
      "id": "backtest_test_final_fixed_v4_str_to_interval",
      "community": 145,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L147",
      "id": "backtest_test_final_fixed_v4_parse_date",
      "community": 145,
      "norm_label": "parse_date()"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L155",
      "id": "backtest_test_final_fixed_v4_test_run_strategy_backtest",
      "community": 145,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "backtest_container.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_container.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_container_py",
      "community": 216,
      "norm_label": "backtest_container.py"
    },
    {
      "label": "run_backtest_direct.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_backtest_direct.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_run_backtest_direct_py",
      "community": 176,
      "norm_label": "run_backtest_direct.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_backtest_direct.py",
      "source_location": "L42",
      "id": "backtest_run_backtest_direct_str_to_interval",
      "community": 176,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "test_final_fixed_v5.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v5_py",
      "community": 148,
      "norm_label": "test_final_fixed_v5.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L131",
      "id": "backtest_test_final_fixed_v5_str_to_interval",
      "community": 148,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L147",
      "id": "backtest_test_final_fixed_v5_parse_date",
      "community": 148,
      "norm_label": "parse_date()"
    },
    {
      "label": "test_run_strategy_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L155",
      "id": "backtest_test_final_fixed_v5_test_run_strategy_backtest",
      "community": 148,
      "norm_label": "test_run_strategy_backtest()"
    },
    {
      "label": "final_correct_service.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_final_correct_service_py",
      "community": 75,
      "norm_label": "final_correct_service.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L78",
      "id": "backtest_final_correct_service_backtestrequest",
      "community": 75,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L91",
      "id": "backtest_final_correct_service_apiresponse",
      "community": 75,
      "norm_label": "apiresponse"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L98",
      "id": "backtest_final_correct_service_run_backtest",
      "community": 75,
      "norm_label": "run_backtest()"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L211",
      "id": "backtest_final_correct_service_root",
      "community": 75,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest_handler()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L230",
      "id": "backtest_final_correct_service_run_backtest_handler",
      "community": 75,
      "norm_label": "run_backtest_handler()"
    },
    {
      "label": "\u56de\u6d4b\u6838\u5fc3\u51fd\u6570 - \u6309\u7167\u5173\u7fbd\u5c06\u519b\u6307\u793a\u7684\u6b63\u786e\u5199\u6cd5",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L99",
      "id": "backtest_final_correct_service_rationale_99",
      "community": 75,
      "norm_label": "\u56de\u6d4b\u6838\u5fc3\u51fd\u6570 - \u6309\u7167\u5173\u7fbd\u5c06\u519b\u6307\u793a\u7684\u6b63\u786e\u5199\u6cd5"
    },
    {
      "label": "short_interval_test.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_short_interval_test_py",
      "community": 11,
      "norm_label": "short_interval_test.py"
    },
    {
      "label": "SimpleTestStrategy",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L27",
      "id": "backtest_short_interval_test_simpleteststrategy",
      "community": 11,
      "norm_label": "simpleteststrategy"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L32",
      "id": "backtest_short_interval_test_simpleteststrategy_init",
      "community": 11,
      "norm_label": ".__init__()"
    },
    {
      "label": ".on_init()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L38",
      "id": "backtest_short_interval_test_simpleteststrategy_on_init",
      "community": 11,
      "norm_label": ".on_init()"
    },
    {
      "label": ".on_bar()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L42",
      "id": "backtest_short_interval_test_simpleteststrategy_on_bar",
      "community": 11,
      "norm_label": ".on_bar()"
    },
    {
      "label": "backtest_api_100_correct_8089.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8089_py",
      "community": 120,
      "norm_label": "backtest_api_100_correct_8089.py"
    },
    {
      "label": "BacktestRequest",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L39",
      "id": "backtest_backtest_api_100_correct_8089_backtestrequest",
      "community": 120,
      "norm_label": "backtestrequest"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L52",
      "id": "backtest_backtest_api_100_correct_8089_apiresponse",
      "community": 120,
      "norm_label": "apiresponse"
    },
    {
      "label": "root()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L60",
      "id": "backtest_backtest_api_100_correct_8089_root",
      "community": 120,
      "norm_label": "root()"
    },
    {
      "label": "run_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L76",
      "id": "backtest_backtest_api_100_correct_8089_run_backtest",
      "community": 120,
      "norm_label": "run_backtest()"
    },
    {
      "label": "guanyu_rpc_full.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/guanyu_rpc_full.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_backtest_guanyu_rpc_full_py",
      "community": 217,
      "norm_label": "guanyu_rpc_full.py"
    },
    {
      "label": "rpc_direct_container.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/rpc_direct_container.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_rpc_rpc_direct_container_py",
      "community": 218,
      "norm_label": "rpc_direct_container.py"
    },
    {
      "label": "test_internal.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_internal.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_rpc_test_internal_py",
      "community": 219,
      "norm_label": "test_internal.py"
    },
    {
      "label": "rpc_one_month.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/rpc_one_month.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_rpc_rpc_one_month_py",
      "community": 220,
      "norm_label": "rpc_one_month.py"
    },
    {
      "label": "rpc_short_interval.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/rpc_short_interval.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_rpc_rpc_short_interval_py",
      "community": 221,
      "norm_label": "rpc_short_interval.py"
    },
    {
      "label": "simple_test_rpc.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/simple_test_rpc.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_rpc_simple_test_rpc_py",
      "community": 222,
      "norm_label": "simple_test_rpc.py"
    },
    {
      "label": "test_simple_strategy.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_rpc_test_simple_strategy_py",
      "community": 11,
      "norm_label": "test_simple_strategy.py"
    },
    {
      "label": "SimpleTestStrategy",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L12",
      "id": "rpc_test_simple_strategy_simpleteststrategy",
      "community": 11,
      "norm_label": "simpleteststrategy"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L28",
      "id": "rpc_test_simple_strategy_simpleteststrategy_init",
      "community": 11,
      "norm_label": ".__init__()"
    },
    {
      "label": ".on_init()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L37",
      "id": "rpc_test_simple_strategy_simpleteststrategy_on_init",
      "community": 11,
      "norm_label": ".on_init()"
    },
    {
      "label": ".on_start()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L43",
      "id": "rpc_test_simple_strategy_simpleteststrategy_on_start",
      "community": 11,
      "norm_label": ".on_start()"
    },
    {
      "label": ".on_stop()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L47",
      "id": "rpc_test_simple_strategy_simpleteststrategy_on_stop",
      "community": 11,
      "norm_label": ".on_stop()"
    },
    {
      "label": ".on_tick()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L51",
      "id": "rpc_test_simple_strategy_simpleteststrategy_on_tick",
      "community": 11,
      "norm_label": ".on_tick()"
    },
    {
      "label": ".on_bar()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L55",
      "id": "rpc_test_simple_strategy_simpleteststrategy_on_bar",
      "community": 11,
      "norm_label": ".on_bar()"
    },
    {
      "label": "rpc_half_year.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/rpc_half_year.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_test_rpc_rpc_half_year_py",
      "community": 223,
      "norm_label": "rpc_half_year.py"
    },
    {
      "label": "check_version_conflict.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_verify_check_version_conflict_py",
      "community": 138,
      "norm_label": "check_version_conflict.py"
    },
    {
      "label": "parse_requirements()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L15",
      "id": "verify_check_version_conflict_parse_requirements",
      "community": 138,
      "norm_label": "parse_requirements()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L32",
      "id": "verify_check_version_conflict_main",
      "community": 138,
      "norm_label": "main()"
    },
    {
      "label": "\u89e3\u6790requirements\u6587\u4ef6\uff0c\u8fd4\u56de{package: version_spec}",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L16",
      "id": "verify_check_version_conflict_rationale_16",
      "community": 138,
      "norm_label": "\u89e3\u6790requirements\u6587\u4ef6,\u8fd4\u56de{package: version_spec}"
    },
    {
      "label": "import_from_csv.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_from_csv.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_import_from_csv_py",
      "community": 177,
      "norm_label": "import_from_csv.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_from_csv.py",
      "source_location": "L13",
      "id": "utils_import_from_csv_main",
      "community": 177,
      "norm_label": "main()"
    },
    {
      "label": "get_result_json_fixed.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/get_result_json_fixed.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_get_result_json_fixed_py",
      "community": 161,
      "norm_label": "get_result_json_fixed.py"
    },
    {
      "label": "NumpyEncoder",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/get_result_json_fixed.py",
      "source_location": "L10",
      "id": "utils_get_result_json_fixed_numpyencoder",
      "community": 161,
      "norm_label": "numpyencoder"
    },
    {
      "label": ".default()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/get_result_json_fixed.py",
      "source_location": "L11",
      "id": "utils_get_result_json_fixed_numpyencoder_default",
      "community": 161,
      "norm_label": ".default()"
    },
    {
      "label": "check_tasks.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_tasks.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_tasks_py",
      "community": 224,
      "norm_label": "check_tasks.py"
    },
    {
      "label": "get_result_json.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/get_result_json.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_get_result_json_py",
      "community": 225,
      "norm_label": "get_result_json.py"
    },
    {
      "label": "create_vnpy_app_compatibility.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_create_vnpy_app_compatibility_py",
      "community": 139,
      "norm_label": "create_vnpy_app_compatibility.py"
    },
    {
      "label": "create_vnpy_app_module()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L11",
      "id": "utils_create_vnpy_app_compatibility_create_vnpy_app_module",
      "community": 139,
      "norm_label": "create_vnpy_app_module()"
    },
    {
      "label": "test_imports()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L87",
      "id": "utils_create_vnpy_app_compatibility_test_imports",
      "community": 139,
      "norm_label": "test_imports()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L108",
      "id": "utils_create_vnpy_app_compatibility_main",
      "community": 139,
      "norm_label": "main()"
    },
    {
      "label": "import_from_file.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_from_file.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_import_from_file_py",
      "community": 178,
      "norm_label": "import_from_file.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_from_file.py",
      "source_location": "L14",
      "id": "utils_import_from_file_main",
      "community": 178,
      "norm_label": "main()"
    },
    {
      "label": "database_config.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_database_config_py",
      "community": 0,
      "norm_label": "database_config.py"
    },
    {
      "label": "DatabaseSettings",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L10",
      "id": "utils_database_config_databasesettings",
      "community": 0,
      "norm_label": "databasesettings"
    },
    {
      "label": "BaseSettings",
      "file_type": "code",
      "source_file": "",
      "source_location": "",
      "id": "basesettings",
      "community": 0,
      "norm_label": "basesettings"
    },
    {
      "label": "Config",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L35",
      "id": "utils_database_config_config",
      "community": 0,
      "norm_label": "config"
    },
    {
      "label": ".get_database_url()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L39",
      "id": "utils_database_config_databasesettings_get_database_url",
      "community": 0,
      "norm_label": ".get_database_url()"
    },
    {
      "label": "\u6570\u636e\u5e93\u914d\u7f6e\u6587\u4ef6 \u652f\u6301 SQLite\uff08\u65b9\u6848\u96f6\uff09\u548c PostgreSQL\uff08\u65b9\u6848\u4e00\uff09",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L1",
      "id": "utils_database_config_rationale_1",
      "community": 0,
      "norm_label": "\u6570\u636e\u5e93\u914d\u7f6e\u6587\u4ef6 \u652f\u6301 sqlite(\u65b9\u6848\u96f6)\u548c postgresql(\u65b9\u6848\u4e00)"
    },
    {
      "label": "vnpy_app_compatibility.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_vnpy_app_compatibility_py",
      "community": 91,
      "norm_label": "vnpy_app_compatibility.py"
    },
    {
      "label": "VnpyAppCompatibility",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L11",
      "id": "utils_vnpy_app_compatibility_vnpyappcompatibility",
      "community": 91,
      "norm_label": "vnpyappcompatibility"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L14",
      "id": "utils_vnpy_app_compatibility_vnpyappcompatibility_init",
      "community": 91,
      "norm_label": ".__init__()"
    },
    {
      "label": "._setup_compatibility()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L17",
      "id": "utils_vnpy_app_compatibility_vnpyappcompatibility_setup_compatibility",
      "community": 91,
      "norm_label": "._setup_compatibility()"
    },
    {
      "label": "._map_modules()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L51",
      "id": "utils_vnpy_app_compatibility_vnpyappcompatibility_map_modules",
      "community": 91,
      "norm_label": "._map_modules()"
    },
    {
      "label": ".test_import()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L105",
      "id": "utils_vnpy_app_compatibility_vnpyappcompatibility_test_import",
      "community": 91,
      "norm_label": ".test_import()"
    },
    {
      "label": "import_data_to_sqlite.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_data_to_sqlite.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_import_data_to_sqlite_py",
      "community": 179,
      "norm_label": "import_data_to_sqlite.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_data_to_sqlite.py",
      "source_location": "L49",
      "id": "utils_import_data_to_sqlite_main",
      "community": 179,
      "norm_label": "main()"
    },
    {
      "label": "check_environment.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_environment_py",
      "community": 76,
      "norm_label": "check_environment.py"
    },
    {
      "label": "check_python_version()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L12",
      "id": "utils_check_environment_check_python_version",
      "community": 76,
      "norm_label": "check_python_version()"
    },
    {
      "label": "check_dependencies()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L24",
      "id": "utils_check_environment_check_dependencies",
      "community": 76,
      "norm_label": "check_dependencies()"
    },
    {
      "label": "check_directories()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L50",
      "id": "utils_check_environment_check_directories",
      "community": 76,
      "norm_label": "check_directories()"
    },
    {
      "label": "check_virtual_environment()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L69",
      "id": "utils_check_environment_check_virtual_environment",
      "community": 76,
      "norm_label": "check_virtual_environment()"
    },
    {
      "label": "check_system_info()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L79",
      "id": "utils_check_environment_check_system_info",
      "community": 76,
      "norm_label": "check_system_info()"
    },
    {
      "label": "generate_report()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L89",
      "id": "utils_check_environment_generate_report",
      "community": 76,
      "norm_label": "generate_report()"
    },
    {
      "label": "check_port.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_port.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_port_py",
      "community": 226,
      "norm_label": "check_port.py"
    },
    {
      "label": "git_webhook_server.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/git_webhook_server.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_git_webhook_server_py",
      "community": 164,
      "norm_label": "git_webhook_server.py"
    },
    {
      "label": "webhook()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/git_webhook_server.py",
      "source_location": "L27",
      "id": "utils_git_webhook_server_webhook",
      "community": 164,
      "norm_label": "webhook()"
    },
    {
      "label": "index()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/git_webhook_server.py",
      "source_location": "L55",
      "id": "utils_git_webhook_server_index",
      "community": 164,
      "norm_label": "index()"
    },
    {
      "label": "clean_ports_in_container.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_ports_in_container.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_clean_ports_in_container_py",
      "community": 180,
      "norm_label": "clean_ports_in_container.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_ports_in_container.py",
      "source_location": "L9",
      "id": "utils_clean_ports_in_container_main",
      "community": 180,
      "norm_label": "main()"
    },
    {
      "label": "check_vnpy_data_simple.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_simple_py",
      "community": 121,
      "norm_label": "check_vnpy_data_simple.py"
    },
    {
      "label": "find_vnpy_database()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L10",
      "id": "utils_check_vnpy_data_simple_find_vnpy_database",
      "community": 121,
      "norm_label": "find_vnpy_database()"
    },
    {
      "label": "check_symbol_in_db()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L30",
      "id": "utils_check_vnpy_data_simple_check_symbol_in_db",
      "community": 121,
      "norm_label": "check_symbol_in_db()"
    },
    {
      "label": "check_data_paths()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L95",
      "id": "utils_check_vnpy_data_simple_check_data_paths",
      "community": 121,
      "norm_label": "check_data_paths()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L112",
      "id": "utils_check_vnpy_data_simple_main",
      "community": 121,
      "norm_label": "main()"
    },
    {
      "label": "check_symbol_formats.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_symbol_formats_py",
      "community": 140,
      "norm_label": "check_symbol_formats.py"
    },
    {
      "label": "check_all_symbols()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L9",
      "id": "utils_check_symbol_formats_check_all_symbols",
      "community": 140,
      "norm_label": "check_all_symbols()"
    },
    {
      "label": "check_510300_variants()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L49",
      "id": "utils_check_symbol_formats_check_510300_variants",
      "community": 140,
      "norm_label": "check_510300_variants()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L83",
      "id": "utils_check_symbol_formats_main",
      "community": 140,
      "norm_label": "main()"
    },
    {
      "label": "verify_510300_data.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_510300_data.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_verify_510300_data_py",
      "community": 181,
      "norm_label": "verify_510300_data.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_510300_data.py",
      "source_location": "L10",
      "id": "utils_verify_510300_data_main",
      "community": 181,
      "norm_label": "main()"
    },
    {
      "label": "check_database_v2.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_database_v2.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_database_v2_py",
      "community": 227,
      "norm_label": "check_database_v2.py"
    },
    {
      "label": "diagnose_exchange.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_exchange.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_diagnose_exchange_py",
      "community": 3,
      "norm_label": "diagnose_exchange.py"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_exchange.py",
      "source_location": "L50",
      "id": "utils_diagnose_exchange_parse_date",
      "community": 3,
      "norm_label": "parse_date()"
    },
    {
      "label": "create_database_in_container.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_database_in_container.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_create_database_in_container_py",
      "community": 228,
      "norm_label": "create_database_in_container.py"
    },
    {
      "label": "generate_import_sql.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/generate_import_sql.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_generate_import_sql_py",
      "community": 229,
      "norm_label": "generate_import_sql.py"
    },
    {
      "label": "generate_b64.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/generate_b64.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_generate_b64_py",
      "community": 230,
      "norm_label": "generate_b64.py"
    },
    {
      "label": "get_full_result.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/get_full_result.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_get_full_result_py",
      "community": 231,
      "norm_label": "get_full_result.py"
    },
    {
      "label": "check_database.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_database.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_database_py",
      "community": 232,
      "norm_label": "check_database.py"
    },
    {
      "label": "diagnose_data_v2.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data_v2.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_diagnose_data_v2_py",
      "community": 3,
      "norm_label": "diagnose_data_v2.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data_v2.py",
      "source_location": "L52",
      "id": "utils_diagnose_data_v2_str_to_interval",
      "community": 3,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data_v2.py",
      "source_location": "L68",
      "id": "utils_diagnose_data_v2_parse_date",
      "community": 3,
      "norm_label": "parse_date()"
    },
    {
      "label": "verify_simayi_fix.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_verify_simayi_fix_py",
      "community": 141,
      "norm_label": "verify_simayi_fix.py"
    },
    {
      "label": "test_vnpy_installation()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L9",
      "id": "utils_verify_simayi_fix_test_vnpy_installation",
      "community": 141,
      "norm_label": "test_vnpy_installation()"
    },
    {
      "label": "test_api_service()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L47",
      "id": "utils_verify_simayi_fix_test_api_service",
      "community": 141,
      "norm_label": "test_api_service()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L104",
      "id": "utils_verify_simayi_fix_main",
      "community": 141,
      "norm_label": "main()"
    },
    {
      "label": "check_listen.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_listen.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_listen_py",
      "community": 233,
      "norm_label": "check_listen.py"
    },
    {
      "label": "check_docker_volume_mapping.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_docker_volume_mapping.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_docker_volume_mapping_py",
      "community": 182,
      "norm_label": "check_docker_volume_mapping.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_docker_volume_mapping.py",
      "source_location": "L10",
      "id": "utils_check_docker_volume_mapping_main",
      "community": 182,
      "norm_label": "main()"
    },
    {
      "label": "import_parquet_to_vnpy.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_parquet_to_vnpy.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_import_parquet_to_vnpy_py",
      "community": 3,
      "norm_label": "import_parquet_to_vnpy.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_parquet_to_vnpy.py",
      "source_location": "L11",
      "id": "utils_import_parquet_to_vnpy_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "convert_to_csv.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/convert_to_csv.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_convert_to_csv_py",
      "community": 234,
      "norm_label": "convert_to_csv.py"
    },
    {
      "label": "check_interval.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_interval.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_interval_py",
      "community": 235,
      "norm_label": "check_interval.py"
    },
    {
      "label": "clean_restart_services.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_restart_services.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_clean_restart_services_py",
      "community": 162,
      "norm_label": "clean_restart_services.py"
    },
    {
      "label": "kill_port_process()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_restart_services.py",
      "source_location": "L10",
      "id": "utils_clean_restart_services_kill_port_process",
      "community": 162,
      "norm_label": "kill_port_process()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_restart_services.py",
      "source_location": "L34",
      "id": "utils_clean_restart_services_main",
      "community": 162,
      "norm_label": "main()"
    },
    {
      "label": "diagnose_data.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_diagnose_data_py",
      "community": 3,
      "norm_label": "diagnose_data.py"
    },
    {
      "label": "str_to_interval()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data.py",
      "source_location": "L50",
      "id": "utils_diagnose_data_str_to_interval",
      "community": 3,
      "norm_label": "str_to_interval()"
    },
    {
      "label": "parse_date()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data.py",
      "source_location": "L66",
      "id": "utils_diagnose_data_parse_date",
      "community": 3,
      "norm_label": "parse_date()"
    },
    {
      "label": "data_convert_tool.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_data_convert_tool_py",
      "community": 29,
      "norm_label": "data_convert_tool.py"
    },
    {
      "label": "DataConverter",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L27",
      "id": "utils_data_convert_tool_dataconverter",
      "community": 29,
      "norm_label": "dataconverter"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L60",
      "id": "utils_data_convert_tool_dataconverter_init",
      "community": 29,
      "norm_label": ".__init__()"
    },
    {
      "label": ".analyze_zhaoyun_structure()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L85",
      "id": "utils_data_convert_tool_dataconverter_analyze_zhaoyun_structure",
      "community": 29,
      "norm_label": ".analyze_zhaoyun_structure()"
    },
    {
      "label": ".convert_daily_data()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L142",
      "id": "utils_data_convert_tool_dataconverter_convert_daily_data",
      "community": 29,
      "norm_label": ".convert_daily_data()"
    },
    {
      "label": ".convert_stock_info()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L283",
      "id": "utils_data_convert_tool_dataconverter_convert_stock_info",
      "community": 29,
      "norm_label": ".convert_stock_info()"
    },
    {
      "label": ".create_config_file()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L350",
      "id": "utils_data_convert_tool_dataconverter_create_config_file",
      "community": 29,
      "norm_label": ".create_config_file()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L451",
      "id": "utils_data_convert_tool_main",
      "community": 29,
      "norm_label": "main()"
    },
    {
      "label": "\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u5668     \u8d75\u4e91\u683c\u5f0f \u2192 vn.py\u683c\u5f0f",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L28",
      "id": "utils_data_convert_tool_rationale_28",
      "community": 29,
      "norm_label": "\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u5668     \u8d75\u4e91\u683c\u5f0f \u2192 vn.py\u683c\u5f0f"
    },
    {
      "label": "\u521d\u59cb\u5316\u8f6c\u6362\u5668                  Args:             zhaoyun_data_dir: \u8d75\u4e91\u6570\u636e\u76ee\u5f55             o",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L61",
      "id": "utils_data_convert_tool_rationale_61",
      "community": 29,
      "norm_label": "\u521d\u59cb\u5316\u8f6c\u6362\u5668                  args:             zhaoyun_data_dir: \u8d75\u4e91\u6570\u636e\u76ee\u5f55             o"
    },
    {
      "label": "\u5206\u6790\u8d75\u4e91\u6570\u636e\u76ee\u5f55\u7ed3\u6784                  Returns:             \u7ed3\u6784\u5206\u6790\u62a5\u544a",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L86",
      "id": "utils_data_convert_tool_rationale_86",
      "community": 29,
      "norm_label": "\u5206\u6790\u8d75\u4e91\u6570\u636e\u76ee\u5f55\u7ed3\u6784                  returns:             \u7ed3\u6784\u5206\u6790\u62a5\u544a"
    },
    {
      "label": "\u8f6c\u6362\u65e5\u7ebf\u6570\u636e                  Args:             year: \u6307\u5b9a\u5e74\u4efd\uff0cNone\u8868\u793a\u6240\u6709\u5e74\u4efd             symb",
      "file_type": "rationale",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L143",
      "id": "utils_data_convert_tool_rationale_143",
      "community": 29,
      "norm_label": "\u8f6c\u6362\u65e5\u7ebf\u6570\u636e                  args:             year: \u6307\u5b9a\u5e74\u4efd,none\u8868\u793a\u6240\u6709\u5e74\u4efd             symb"
    },
    {
      "label": "import_direct.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_direct.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_import_direct_py",
      "community": 183,
      "norm_label": "import_direct.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_direct.py",
      "source_location": "L14",
      "id": "utils_import_direct_main",
      "community": 183,
      "norm_label": "main()"
    },
    {
      "label": "kill_and_restart.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_kill_and_restart_py",
      "community": 142,
      "norm_label": "kill_and_restart.py"
    },
    {
      "label": "get_pid_using_port()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L10",
      "id": "utils_kill_and_restart_get_pid_using_port",
      "community": 142,
      "norm_label": "get_pid_using_port()"
    },
    {
      "label": "kill_pid()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L23",
      "id": "utils_kill_and_restart_kill_pid",
      "community": 142,
      "norm_label": "kill_pid()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L29",
      "id": "utils_kill_and_restart_main",
      "community": 142,
      "norm_label": "main()"
    },
    {
      "label": "force_restart_services.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/force_restart_services.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_force_restart_services_py",
      "community": 184,
      "norm_label": "force_restart_services.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/force_restart_services.py",
      "source_location": "L10",
      "id": "utils_force_restart_services_main",
      "community": 184,
      "norm_label": "main()"
    },
    {
      "label": "check_vnpy_data.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_py",
      "community": 143,
      "norm_label": "check_vnpy_data.py"
    },
    {
      "label": "find_vnpy_database()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L11",
      "id": "utils_check_vnpy_data_find_vnpy_database",
      "community": 143,
      "norm_label": "find_vnpy_database()"
    },
    {
      "label": "check_symbol_in_db()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L29",
      "id": "utils_check_vnpy_data_check_symbol_in_db",
      "community": 143,
      "norm_label": "check_symbol_in_db()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L115",
      "id": "utils_check_vnpy_data_main",
      "community": 143,
      "norm_label": "main()"
    },
    {
      "label": "inspect_backtester.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/inspect_backtester.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_utils_inspect_backtester_py",
      "community": 236,
      "norm_label": "inspect_backtester.py"
    },
    {
      "label": "generate_test_data_510300.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/generate_test_data_510300.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_generate_test_data_510300_py",
      "community": 163,
      "norm_label": "generate_test_data_510300.py"
    },
    {
      "label": "generate_test_data()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/generate_test_data_510300.py",
      "source_location": "L13",
      "id": "deployment_generate_test_data_510300_generate_test_data",
      "community": 163,
      "norm_label": "generate_test_data()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/generate_test_data_510300.py",
      "source_location": "L167",
      "id": "deployment_generate_test_data_510300_main",
      "community": 163,
      "norm_label": "main()"
    },
    {
      "label": "test_database.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_database.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_test_database_py",
      "community": 3,
      "norm_label": "test_database.py"
    },
    {
      "label": "test_database_connection()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_database.py",
      "source_location": "L11",
      "id": "deployment_test_database_test_database_connection",
      "community": 3,
      "norm_label": "test_database_connection()"
    },
    {
      "label": "test_api_timeout.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_test_api_timeout_py",
      "community": 122,
      "norm_label": "test_api_timeout.py"
    },
    {
      "label": "test_simple_strategy()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L11",
      "id": "deployment_test_api_timeout_test_simple_strategy",
      "community": 122,
      "norm_label": "test_simple_strategy()"
    },
    {
      "label": "test_minimal_request()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L95",
      "id": "deployment_test_api_timeout_test_minimal_request",
      "community": 122,
      "norm_label": "test_minimal_request()"
    },
    {
      "label": "check_zmq_service()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L144",
      "id": "deployment_test_api_timeout_check_zmq_service",
      "community": 122,
      "norm_label": "check_zmq_service()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L175",
      "id": "deployment_test_api_timeout_main",
      "community": 122,
      "norm_label": "main()"
    },
    {
      "label": "start_on_new_port.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/start_on_new_port.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_start_on_new_port_py",
      "community": 237,
      "norm_label": "start_on_new_port.py"
    },
    {
      "label": "fix_akshare_download.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_fix_akshare_download_py",
      "community": 144,
      "norm_label": "fix_akshare_download.py"
    },
    {
      "label": "test_different_interfaces()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L13",
      "id": "deployment_fix_akshare_download_test_different_interfaces",
      "community": 144,
      "norm_label": "test_different_interfaces()"
    },
    {
      "label": "download_to_vnpy()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L66",
      "id": "deployment_fix_akshare_download_download_to_vnpy",
      "community": 144,
      "norm_label": "download_to_vnpy()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L203",
      "id": "deployment_fix_akshare_download_main",
      "community": 144,
      "norm_label": "main()"
    },
    {
      "label": "fix_vnpy_imports.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_fix_vnpy_imports_py",
      "community": 123,
      "norm_label": "fix_vnpy_imports.py"
    },
    {
      "label": "check_vnpy_structure()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L10",
      "id": "deployment_fix_vnpy_imports_check_vnpy_structure",
      "community": 123,
      "norm_label": "check_vnpy_structure()"
    },
    {
      "label": "check_imports()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L43",
      "id": "deployment_fix_vnpy_imports_check_imports",
      "community": 123,
      "norm_label": "check_imports()"
    },
    {
      "label": "create_import_fix_guide()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L80",
      "id": "deployment_fix_vnpy_imports_create_import_fix_guide",
      "community": 123,
      "norm_label": "create_import_fix_guide()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L203",
      "id": "deployment_fix_vnpy_imports_main",
      "community": 123,
      "norm_label": "main()"
    },
    {
      "label": "restart_rpc.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/restart_rpc.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_restart_rpc_py",
      "community": 238,
      "norm_label": "restart_rpc.py"
    },
    {
      "label": "restart_final_services.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/restart_final_services.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_restart_final_services_py",
      "community": 185,
      "norm_label": "restart_final_services.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/restart_final_services.py",
      "source_location": "L10",
      "id": "deployment_restart_final_services_main",
      "community": 185,
      "norm_label": "main()"
    },
    {
      "label": "auto_watcher.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_auto_watcher_py",
      "community": 93,
      "norm_label": "auto_watcher.py"
    },
    {
      "label": "SanguoChangeHandler",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L31",
      "id": "deployment_auto_watcher_sanguochangehandler",
      "community": 93,
      "norm_label": "sanguochangehandler"
    },
    {
      "label": "FileSystemEventHandler",
      "file_type": "code",
      "source_file": "",
      "source_location": "",
      "id": "filesystemeventhandler",
      "community": 93,
      "norm_label": "filesystemeventhandler"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L32",
      "id": "deployment_auto_watcher_sanguochangehandler_init",
      "community": 93,
      "norm_label": ".__init__()"
    },
    {
      "label": ".on_any_event()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L36",
      "id": "deployment_auto_watcher_sanguochangehandler_on_any_event",
      "community": 93,
      "norm_label": ".on_any_event()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L86",
      "id": "deployment_auto_watcher_main",
      "community": 93,
      "norm_label": "main()"
    },
    {
      "label": "fix_vnpy_imports_script.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports_script.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_fix_vnpy_imports_script_py",
      "community": 186,
      "norm_label": "fix_vnpy_imports_script.py"
    },
    {
      "label": "fix_vnpy_imports()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports_script.py",
      "source_location": "L9",
      "id": "deployment_fix_vnpy_imports_script_fix_vnpy_imports",
      "community": 186,
      "norm_label": "fix_vnpy_imports()"
    },
    {
      "label": "test_api_timeout_simple.py",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout_simple.py",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_scripts_deployment_test_api_timeout_simple_py",
      "community": 187,
      "norm_label": "test_api_timeout_simple.py"
    },
    {
      "label": "test_minimal_backtest()",
      "file_type": "code",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout_simple.py",
      "source_location": "L9",
      "id": "deployment_test_api_timeout_simple_test_minimal_backtest",
      "community": 187,
      "norm_label": "test_minimal_backtest()"
    },
    {
      "label": "validator.py",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L1",
      "id": "data_platform_validator_py",
      "community": 59,
      "norm_label": "validator.py"
    },
    {
      "label": "ValidationResult",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L8",
      "id": "data_platform_validator_validationresult",
      "community": 59,
      "norm_label": "validationresult"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L9",
      "id": "data_platform_validator_validationresult_init",
      "community": 59,
      "norm_label": ".__init__()"
    },
    {
      "label": ".__repr__()",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L16",
      "id": "data_platform_validator_validationresult_repr",
      "community": 59,
      "norm_label": ".__repr__()"
    },
    {
      "label": ".to_dict()",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L21",
      "id": "data_platform_validator_validationresult_to_dict",
      "community": 59,
      "norm_label": ".to_dict()"
    },
    {
      "label": "DataValidator",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L31",
      "id": "data_platform_validator_datavalidator",
      "community": 59,
      "norm_label": "datavalidator"
    },
    {
      "label": ".validate()",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L34",
      "id": "data_platform_validator_datavalidator_validate",
      "community": 59,
      "norm_label": ".validate()"
    },
    {
      "label": ".validate_realtime_dict()",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L48",
      "id": "data_platform_validator_datavalidator_validate_realtime_dict",
      "community": 59,
      "norm_label": ".validate_realtime_dict()"
    },
    {
      "label": "._validate_daily()",
      "file_type": "code",
      "source_file": "data_platform/validator.py",
      "source_location": "L69",
      "id": "data_platform_validator_datavalidator_validate_daily",
      "community": 59,
      "norm_label": "._validate_daily()"
    },
    {
      "label": "daily_all_update.py",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1",
      "id": "data_platform_daily_all_update_py",
      "community": 2,
      "norm_label": "daily_all_update.py"
    },
    {
      "label": "setup_logging()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L107",
      "id": "data_platform_daily_all_update_setup_logging",
      "community": 2,
      "norm_label": "setup_logging()"
    },
    {
      "label": "_make_opener()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L125",
      "id": "data_platform_daily_all_update_make_opener",
      "community": 2,
      "norm_label": "_make_opener()"
    },
    {
      "label": "get_market_prefix()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L131",
      "id": "data_platform_daily_all_update_get_market_prefix",
      "community": 2,
      "norm_label": "get_market_prefix()"
    },
    {
      "label": "code_to_baostock()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L139",
      "id": "data_platform_daily_all_update_code_to_baostock",
      "community": 2,
      "norm_label": "code_to_baostock()"
    },
    {
      "label": "get_all_codes()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L145",
      "id": "data_platform_daily_all_update_get_all_codes",
      "community": 2,
      "norm_label": "get_all_codes()"
    },
    {
      "label": "nas_mounted()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L153",
      "id": "data_platform_daily_all_update_nas_mounted",
      "community": 2,
      "norm_label": "nas_mounted()"
    },
    {
      "label": "rotate_db_backup()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L159",
      "id": "data_platform_daily_all_update_rotate_db_backup",
      "community": 2,
      "norm_label": "rotate_db_backup()"
    },
    {
      "label": "load_progress()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L191",
      "id": "data_platform_daily_all_update_load_progress",
      "community": 2,
      "norm_label": "load_progress()"
    },
    {
      "label": "save_progress()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L204",
      "id": "data_platform_daily_all_update_save_progress",
      "community": 2,
      "norm_label": "save_progress()"
    },
    {
      "label": "SourceHealthMonitor",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L216",
      "id": "data_platform_daily_all_update_sourcehealthmonitor",
      "community": 2,
      "norm_label": "sourcehealthmonitor"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L219",
      "id": "data_platform_daily_all_update_sourcehealthmonitor_init",
      "community": 2,
      "norm_label": ".__init__()"
    },
    {
      "label": ".report()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L224",
      "id": "data_platform_daily_all_update_sourcehealthmonitor_report",
      "community": 2,
      "norm_label": ".report()"
    },
    {
      "label": "fetch_baostock_daily()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L242",
      "id": "data_platform_daily_all_update_fetch_baostock_daily",
      "community": 2,
      "norm_label": "fetch_baostock_daily()"
    },
    {
      "label": "fetch_baostock_15min()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L273",
      "id": "data_platform_daily_all_update_fetch_baostock_15min",
      "community": 2,
      "norm_label": "fetch_baostock_15min()"
    },
    {
      "label": "_get_em_secid()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L310",
      "id": "data_platform_daily_all_update_get_em_secid",
      "community": 77,
      "norm_label": "_get_em_secid()"
    },
    {
      "label": "_parse_em_klines()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L316",
      "id": "data_platform_daily_all_update_parse_em_klines",
      "community": 77,
      "norm_label": "_parse_em_klines()"
    },
    {
      "label": "fetch_eastmoney_daily()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L339",
      "id": "data_platform_daily_all_update_fetch_eastmoney_daily",
      "community": 77,
      "norm_label": "fetch_eastmoney_daily()"
    },
    {
      "label": "fetch_eastmoney_15min()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L377",
      "id": "data_platform_daily_all_update_fetch_eastmoney_15min",
      "community": 77,
      "norm_label": "fetch_eastmoney_15min()"
    },
    {
      "label": "fetch_tencent_daily()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L439",
      "id": "data_platform_daily_all_update_fetch_tencent_daily",
      "community": 2,
      "norm_label": "fetch_tencent_daily()"
    },
    {
      "label": "try_sina_15min()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L479",
      "id": "data_platform_daily_all_update_try_sina_15min",
      "community": 2,
      "norm_label": "try_sina_15min()"
    },
    {
      "label": "fetch_with_fallback()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L508",
      "id": "data_platform_daily_all_update_fetch_with_fallback",
      "community": 2,
      "norm_label": "fetch_with_fallback()"
    },
    {
      "label": "get_daily_last_date()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L558",
      "id": "data_platform_daily_all_update_get_daily_last_date",
      "community": 2,
      "norm_label": "get_daily_last_date()"
    },
    {
      "label": "update_daily_parquet()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L573",
      "id": "data_platform_daily_all_update_update_daily_parquet",
      "community": 2,
      "norm_label": "update_daily_parquet()"
    },
    {
      "label": "run_daily_update()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L602",
      "id": "data_platform_daily_all_update_run_daily_update",
      "community": 2,
      "norm_label": "run_daily_update()"
    },
    {
      "label": "get_15min_last_date()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L694",
      "id": "data_platform_daily_all_update_get_15min_last_date",
      "community": 2,
      "norm_label": "get_15min_last_date()"
    },
    {
      "label": "fetch_15min_with_fallback()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L707",
      "id": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "community": 2,
      "norm_label": "fetch_15min_with_fallback()"
    },
    {
      "label": "run_15min_update()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L751",
      "id": "data_platform_daily_all_update_run_15min_update",
      "community": 2,
      "norm_label": "run_15min_update()"
    },
    {
      "label": "init_local_db()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L877",
      "id": "data_platform_daily_all_update_init_local_db",
      "community": 2,
      "norm_label": "init_local_db()"
    },
    {
      "label": "_write_local_db()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L928",
      "id": "data_platform_daily_all_update_write_local_db",
      "community": 2,
      "norm_label": "_write_local_db()"
    },
    {
      "label": "_update_overview_incremental()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L947",
      "id": "data_platform_daily_all_update_update_overview_incremental",
      "community": 2,
      "norm_label": "_update_overview_incremental()"
    },
    {
      "label": "sync_db_to_nas()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L966",
      "id": "data_platform_daily_all_update_sync_db_to_nas",
      "community": 2,
      "norm_label": "sync_db_to_nas()"
    },
    {
      "label": "check_failure_rate()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1003",
      "id": "data_platform_daily_all_update_check_failure_rate",
      "community": 2,
      "norm_label": "check_failure_rate()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1021",
      "id": "data_platform_daily_all_update_main",
      "community": 2,
      "norm_label": "main()"
    },
    {
      "label": "\u8fd4\u56de (prefix, clean_code)\uff1ash/sz + 6\u4f4d\u6570\u5b57",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L132",
      "id": "data_platform_daily_all_update_rationale_132",
      "community": 2,
      "norm_label": "\u8fd4\u56de (prefix, clean_code):sh/sz + 6\u4f4d\u6570\u5b57"
    },
    {
      "label": "\u7eaf6\u4f4d\u4ee3\u7801\u8f6cBaoStock\u683c\u5f0f\uff1ash.600000",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L140",
      "id": "data_platform_daily_all_update_rationale_140",
      "community": 2,
      "norm_label": "\u7eaf6\u4f4d\u4ee3\u7801\u8f6cbaostock\u683c\u5f0f:sh.600000"
    },
    {
      "label": "\u8f6e\u8f6c\u5907\u4efdNAS vnpy DB\uff0c\u4fdd\u7559\u6700\u8fd1N\u5929",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L160",
      "id": "data_platform_daily_all_update_rationale_160",
      "community": 2,
      "norm_label": "\u8f6e\u8f6c\u5907\u4efdnas vnpy db,\u4fdd\u7559\u6700\u8fd1n\u5929"
    },
    {
      "label": "\u6ed1\u52a8\u7a97\u53e3\u5931\u8d25\u7387\u68c0\u6d4b\uff1a\u6700\u8fd1N\u53ea\u4e2d\u5931\u8d25\u7387>T\u5219\u5224\u5b9a\u6e90\u4e0d\u53ef\u7528",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L217",
      "id": "data_platform_daily_all_update_rationale_217",
      "community": 2,
      "norm_label": "\u6ed1\u52a8\u7a97\u53e3\u5931\u8d25\u7387\u68c0\u6d4b:\u6700\u8fd1n\u53ea\u4e2d\u5931\u8d25\u7387>t\u5219\u5224\u5b9a\u6e90\u4e0d\u53ef\u7528"
    },
    {
      "label": "\u62a5\u544a\u5355\u53ea\u7ed3\u679c\uff0c\u8fd4\u56deTrue=\u6e90\u5065\u5eb7\uff0cFalse=\u6e90\u4e0d\u53ef\u7528\u5e94\u7ec8\u6b62",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L225",
      "id": "data_platform_daily_all_update_rationale_225",
      "community": 2,
      "norm_label": "\u62a5\u544a\u5355\u53ea\u7ed3\u679c,\u8fd4\u56detrue=\u6e90\u5065\u5eb7,false=\u6e90\u4e0d\u53ef\u7528\u5e94\u7ec8\u6b62"
    },
    {
      "label": "BaoStock\u65e5\u7ebf\uff1a\u5168\u91cf\u5386\u53f2\uff0c\u65e0\u53cd\u722c\uff0camount\u771f\u5b9e\uff0cT+1\u5ef6\u8fdf",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L243",
      "id": "data_platform_daily_all_update_rationale_243",
      "community": 2,
      "norm_label": "baostock\u65e5\u7ebf:\u5168\u91cf\u5386\u53f2,\u65e0\u53cd\u722c,amount\u771f\u5b9e,t+1\u5ef6\u8fdf"
    },
    {
      "label": "BaoStock 15min\uff1a\u5168\u91cf\u5386\u53f2\uff0c\u65e0\u53cd\u722c\uff0camount\u771f\u5b9e\uff0cT+1\u5ef6\u8fdf",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L274",
      "id": "data_platform_daily_all_update_rationale_274",
      "community": 2,
      "norm_label": "baostock 15min:\u5168\u91cf\u5386\u53f2,\u65e0\u53cd\u722c,amount\u771f\u5b9e,t+1\u5ef6\u8fdf"
    },
    {
      "label": "\u89e3\u6790\u4e1c\u65b9\u8d22\u5bccK\u7ebf\u6570\u636e\uff08\u65e5\u7ebf\u548c15min\u901a\u7528\uff09",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L317",
      "id": "data_platform_daily_all_update_rationale_317",
      "community": 77,
      "norm_label": "\u89e3\u6790\u4e1c\u65b9\u8d22\u5bcck\u7ebf\u6570\u636e(\u65e5\u7ebf\u548c15min\u901a\u7528)"
    },
    {
      "label": "\u4e1c\u65b9\u8d22\u5bcc\u65e5\u7ebf\uff1a\u5f53\u5929\u5b9e\u65f6\uff0camount\u771f\u5b9e\uff0c4s\u9650\u9891",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L340",
      "id": "data_platform_daily_all_update_rationale_340",
      "community": 77,
      "norm_label": "\u4e1c\u65b9\u8d22\u5bcc\u65e5\u7ebf:\u5f53\u5929\u5b9e\u65f6,amount\u771f\u5b9e,4s\u9650\u9891"
    },
    {
      "label": "\u4e1c\u65b9\u8d22\u5bcc15min\uff1a\u5f53\u5929\u5b9e\u65f6\uff0c\u7ea67\u5468\u5386\u53f2\uff0c4s\u9650\u9891",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L378",
      "id": "data_platform_daily_all_update_rationale_378",
      "community": 77,
      "norm_label": "\u4e1c\u65b9\u8d22\u5bcc15min:\u5f53\u5929\u5b9e\u65f6,\u7ea67\u5468\u5386\u53f2,4s\u9650\u9891"
    },
    {
      "label": "\u65b0\u6d6a15\u5206\u949fK\u7ebfAPI\uff08\u5f53\u524d\u5df2\u6302\uff0c\u4fdd\u7559\u4f5c\u4e3afallback\uff09",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L480",
      "id": "data_platform_daily_all_update_rationale_480",
      "community": 2,
      "norm_label": "\u65b0\u6d6a15\u5206\u949fk\u7ebfapi(\u5f53\u524d\u5df2\u6302,\u4fdd\u7559\u4f5c\u4e3afallback)"
    },
    {
      "label": "\u591a\u6e90fallback\u83b7\u53d6\u6570\u636e     sources: [(name, fetch_fn, interval_seconds), ...]     \u8fd4\u56de: (D",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L515",
      "id": "data_platform_daily_all_update_rationale_515",
      "community": 2,
      "norm_label": "\u591a\u6e90fallback\u83b7\u53d6\u6570\u636e     sources: [(name, fetch_fn, interval_seconds), ...]     \u8fd4\u56de: (d"
    },
    {
      "label": "\u589e\u91cf\u5199\u5165\u65e5\u7ebfParquet\uff08v2.0\uff1a\u6309\u6570\u636e\u65e5\u671f\u5206\u5e74\u76ee\u5f55\uff09",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L574",
      "id": "data_platform_daily_all_update_rationale_574",
      "community": 2,
      "norm_label": "\u589e\u91cf\u5199\u5165\u65e5\u7ebfparquet(v2.0:\u6309\u6570\u636e\u65e5\u671f\u5206\u5e74\u76ee\u5f55)"
    },
    {
      "label": "\u83b7\u53d615min Parquet\u4e2d\u6700\u540e\u4e00\u6761\u65f6\u95f4\u6233",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L695",
      "id": "data_platform_daily_all_update_rationale_695",
      "community": 2,
      "norm_label": "\u83b7\u53d615min parquet\u4e2d\u6700\u540e\u4e00\u6761\u65f6\u95f4\u6233"
    },
    {
      "label": "15min\u591a\u6e90fallback\uff08\u7279\u6b8a\u5904\u7406\u65b0\u6d6a\u63a5\u53e3\u4e0d\u540c\uff09",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L708",
      "id": "data_platform_daily_all_update_rationale_708",
      "community": 2,
      "norm_label": "15min\u591a\u6e90fallback(\u7279\u6b8a\u5904\u7406\u65b0\u6d6a\u63a5\u53e3\u4e0d\u540c)"
    },
    {
      "label": "\u521d\u59cb\u5316\u672c\u5730vnpy DB\uff1a\u4eceNAS\u590d\u5236\u6216\u521b\u5efa\u65b0\u7684",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L878",
      "id": "data_platform_daily_all_update_rationale_878",
      "community": 2,
      "norm_label": "\u521d\u59cb\u5316\u672c\u5730vnpy db:\u4ecenas\u590d\u5236\u6216\u521b\u5efa\u65b0\u7684"
    },
    {
      "label": "\u589e\u91cf\u66f4\u65b0overview\uff1a\u53ea\u66f4\u65b0\u672c\u6b21\u6d89\u53ca\u7684(symbol, exchange, interval)",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L948",
      "id": "data_platform_daily_all_update_rationale_948",
      "community": 2,
      "norm_label": "\u589e\u91cf\u66f4\u65b0overview:\u53ea\u66f4\u65b0\u672c\u6b21\u6d89\u53ca\u7684(symbol, exchange, interval)"
    },
    {
      "label": "\u672c\u5730DB \u2192 NAS mv\u539f\u5b50\u91cd\u547d\u540d\uff08v2.0\uff09",
      "file_type": "rationale",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L967",
      "id": "data_platform_daily_all_update_rationale_967",
      "community": 2,
      "norm_label": "\u672c\u5730db \u2192 nas mv\u539f\u5b50\u91cd\u547d\u540d(v2.0)"
    },
    {
      "label": "backfill_15min_baostock.py",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L1",
      "id": "data_platform_backfill_15min_baostock_py",
      "community": 42,
      "norm_label": "backfill_15min_baostock.py"
    },
    {
      "label": "setup_logging()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L58",
      "id": "data_platform_backfill_15min_baostock_setup_logging",
      "community": 42,
      "norm_label": "setup_logging()"
    },
    {
      "label": "get_all_codes()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L79",
      "id": "data_platform_backfill_15min_baostock_get_all_codes",
      "community": 42,
      "norm_label": "get_all_codes()"
    },
    {
      "label": "code_to_baostock()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L87",
      "id": "data_platform_backfill_15min_baostock_code_to_baostock",
      "community": 42,
      "norm_label": "code_to_baostock()"
    },
    {
      "label": "is_backfilled()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L95",
      "id": "data_platform_backfill_15min_baostock_is_backfilled",
      "community": 42,
      "norm_label": "is_backfilled()"
    },
    {
      "label": "load_progress()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L102",
      "id": "data_platform_backfill_15min_baostock_load_progress",
      "community": 42,
      "norm_label": "load_progress()"
    },
    {
      "label": "save_progress()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L112",
      "id": "data_platform_backfill_15min_baostock_save_progress",
      "community": 42,
      "norm_label": "save_progress()"
    },
    {
      "label": "fetch_bs_15min()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L123",
      "id": "data_platform_backfill_15min_baostock_fetch_bs_15min",
      "community": 42,
      "norm_label": "fetch_bs_15min()"
    },
    {
      "label": "backfill_one()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L170",
      "id": "data_platform_backfill_15min_baostock_backfill_one",
      "community": 42,
      "norm_label": "backfill_one()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L218",
      "id": "data_platform_backfill_15min_baostock_main",
      "community": 42,
      "norm_label": "main()"
    },
    {
      "label": "6\u4f4d\u4ee3\u7801 \u2192 (BaoStock\u683c\u5f0f, parquet\u524d\u7f00)",
      "file_type": "rationale",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L88",
      "id": "data_platform_backfill_15min_baostock_rationale_88",
      "community": 42,
      "norm_label": "6\u4f4d\u4ee3\u7801 \u2192 (baostock\u683c\u5f0f, parquet\u524d\u7f00)"
    },
    {
      "label": "\u4eceBaoStock\u83b7\u53d615min\u4e0d\u590d\u6743\u6570\u636e",
      "file_type": "rationale",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L124",
      "id": "data_platform_backfill_15min_baostock_rationale_124",
      "community": 42,
      "norm_label": "\u4ecebaostock\u83b7\u53d615min\u4e0d\u590d\u6743\u6570\u636e"
    },
    {
      "label": "\u5168\u91cf\u91cd\u5efa\u5355\u53ea\u80a1\u7968\u768415min\u5386\u53f2     \u8fd4\u56de: (status, total_rows)",
      "file_type": "rationale",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L171",
      "id": "data_platform_backfill_15min_baostock_rationale_171",
      "community": 42,
      "norm_label": "\u5168\u91cf\u91cd\u5efa\u5355\u53ea\u80a1\u7968\u768415min\u5386\u53f2     \u8fd4\u56de: (status, total_rows)"
    },
    {
      "label": "realtime.py",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L1",
      "id": "data_platform_realtime_py",
      "community": 33,
      "norm_label": "realtime.py"
    },
    {
      "label": "_fetch_url()",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L21",
      "id": "data_platform_realtime_fetch_url",
      "community": 33,
      "norm_label": "_fetch_url()"
    },
    {
      "label": "_parse_sina()",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L31",
      "id": "data_platform_realtime_parse_sina",
      "community": 33,
      "norm_label": "_parse_sina()"
    },
    {
      "label": "_parse_tencent()",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L56",
      "id": "data_platform_realtime_parse_tencent",
      "community": 33,
      "norm_label": "_parse_tencent()"
    },
    {
      "label": "_parse_eastmoney()",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L83",
      "id": "data_platform_realtime_parse_eastmoney",
      "community": 33,
      "norm_label": "_parse_eastmoney()"
    },
    {
      "label": "_get_prefix()",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L105",
      "id": "data_platform_realtime_get_prefix",
      "community": 33,
      "norm_label": "_get_prefix()"
    },
    {
      "label": "_em_secid()",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L112",
      "id": "data_platform_realtime_em_secid",
      "community": 33,
      "norm_label": "_em_secid()"
    },
    {
      "label": "get_realtime_quote()",
      "file_type": "code",
      "source_file": "data_platform/realtime.py",
      "source_location": "L118",
      "id": "data_platform_realtime_get_realtime_quote",
      "community": 33,
      "norm_label": "get_realtime_quote()"
    },
    {
      "label": "updater.py",
      "file_type": "code",
      "source_file": "data_platform/updater.py",
      "source_location": "L1",
      "id": "data_platform_updater_py",
      "community": 78,
      "norm_label": "updater.py"
    },
    {
      "label": "parse_filename()",
      "file_type": "code",
      "source_file": "data_platform/updater.py",
      "source_location": "L26",
      "id": "data_platform_updater_parse_filename",
      "community": 78,
      "norm_label": "parse_filename()"
    },
    {
      "label": "get_all_symbols()",
      "file_type": "code",
      "source_file": "data_platform/updater.py",
      "source_location": "L33",
      "id": "data_platform_updater_get_all_symbols",
      "community": 78,
      "norm_label": "get_all_symbols()"
    },
    {
      "label": "get_last_date()",
      "file_type": "code",
      "source_file": "data_platform/updater.py",
      "source_location": "L44",
      "id": "data_platform_updater_get_last_date",
      "community": 78,
      "norm_label": "get_last_date()"
    },
    {
      "label": "fetch_tencent_daily()",
      "file_type": "code",
      "source_file": "data_platform/updater.py",
      "source_location": "L62",
      "id": "data_platform_updater_fetch_tencent_daily",
      "community": 78,
      "norm_label": "fetch_tencent_daily()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "data_platform/updater.py",
      "source_location": "L102",
      "id": "data_platform_updater_main",
      "community": 78,
      "norm_label": "main()"
    },
    {
      "label": "\u83b7\u53d6\u67d0\u53ea\u80a1\u7968\u5728NAS Parquet\u4e2d\u7684\u6700\u540e\u65e5\u671f",
      "file_type": "rationale",
      "source_file": "data_platform/updater.py",
      "source_location": "L45",
      "id": "data_platform_updater_rationale_45",
      "community": 78,
      "norm_label": "\u83b7\u53d6\u67d0\u53ea\u80a1\u7968\u5728nas parquet\u4e2d\u7684\u6700\u540e\u65e5\u671f"
    },
    {
      "label": "import_vnpy_minute.py",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L1",
      "id": "data_platform_import_vnpy_minute_py",
      "community": 95,
      "norm_label": "import_vnpy_minute.py"
    },
    {
      "label": "parse_filename()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L42",
      "id": "data_platform_import_vnpy_minute_parse_filename",
      "community": 95,
      "norm_label": "parse_filename()"
    },
    {
      "label": "import_file()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L51",
      "id": "data_platform_import_vnpy_minute_import_file",
      "community": 95,
      "norm_label": "import_file()"
    },
    {
      "label": "get_stock_list()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L109",
      "id": "data_platform_import_vnpy_minute_get_stock_list",
      "community": 95,
      "norm_label": "get_stock_list()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L128",
      "id": "data_platform_import_vnpy_minute_main",
      "community": 95,
      "norm_label": "main()"
    },
    {
      "label": "\u89e3\u6790\u6587\u4ef6\u540d: sz000001_15min.parquet -> (code, exchange)",
      "file_type": "rationale",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L43",
      "id": "data_platform_import_vnpy_minute_rationale_43",
      "community": 95,
      "norm_label": "\u89e3\u6790\u6587\u4ef6\u540d: sz000001_15min.parquet -> (code, exchange)"
    },
    {
      "label": "download_minute.py",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L1",
      "id": "data_platform_download_minute_py",
      "community": 32,
      "norm_label": "download_minute.py"
    },
    {
      "label": "_make_opener()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L57",
      "id": "data_platform_download_minute_make_opener",
      "community": 32,
      "norm_label": "_make_opener()"
    },
    {
      "label": "try_sina_15min()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L63",
      "id": "data_platform_download_minute_try_sina_15min",
      "community": 32,
      "norm_label": "try_sina_15min()"
    },
    {
      "label": "try_minute_query_aggregate()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L98",
      "id": "data_platform_download_minute_try_minute_query_aggregate",
      "community": 32,
      "norm_label": "try_minute_query_aggregate()"
    },
    {
      "label": "_aggregate_1m_to_15m()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L132",
      "id": "data_platform_download_minute_aggregate_1m_to_15m",
      "community": 32,
      "norm_label": "_aggregate_1m_to_15m()"
    },
    {
      "label": "get_market_prefix()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L159",
      "id": "data_platform_download_minute_get_market_prefix",
      "community": 32,
      "norm_label": "get_market_prefix()"
    },
    {
      "label": "download_single()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L166",
      "id": "data_platform_download_minute_download_single",
      "community": 32,
      "norm_label": "download_single()"
    },
    {
      "label": "download_with_increment()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L185",
      "id": "data_platform_download_minute_download_with_increment",
      "community": 32,
      "norm_label": "download_with_increment()"
    },
    {
      "label": "load_progress()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L236",
      "id": "data_platform_download_minute_load_progress",
      "community": 32,
      "norm_label": "load_progress()"
    },
    {
      "label": "save_progress()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L242",
      "id": "data_platform_download_minute_save_progress",
      "community": 32,
      "norm_label": "save_progress()"
    },
    {
      "label": "get_stock_list()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L248",
      "id": "data_platform_download_minute_get_stock_list",
      "community": 32,
      "norm_label": "get_stock_list()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L265",
      "id": "data_platform_download_minute_main",
      "community": 32,
      "norm_label": "main()"
    },
    {
      "label": "\u521b\u5efa\u65e0\u4ee3\u7406opener\uff0c\u907f\u514dakshare\u4ee3\u7406\u6c61\u67d3",
      "file_type": "rationale",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L58",
      "id": "data_platform_download_minute_rationale_58",
      "community": 32,
      "norm_label": "\u521b\u5efa\u65e0\u4ee3\u7406opener,\u907f\u514dakshare\u4ee3\u7406\u6c61\u67d3"
    },
    {
      "label": "\u65b0\u6d6a\u8d22\u7ecf15\u5206\u949fK\u7ebfAPI     symbol: sz000001 \u6216 sh600519     datalen: \u8fd4\u56de\u6761\u6570\uff08\u6700\u5927\u7ea6800\uff09     \u8fd4\u56de:",
      "file_type": "rationale",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L64",
      "id": "data_platform_download_minute_rationale_64",
      "community": 32,
      "norm_label": "\u65b0\u6d6a\u8d22\u7ecf15\u5206\u949fk\u7ebfapi     symbol: sz000001 \u6216 sh600519     datalen: \u8fd4\u56de\u6761\u6570(\u6700\u5927\u7ea6800)     \u8fd4\u56de:"
    },
    {
      "label": "\u817e\u8bafminute/query API\uff0c\u8fd4\u56de1\u5206\u949f\u7ebf\uff0c\u805a\u5408\u4e3a15\u5206\u949f\u7ebf     symbol: sz000001     date: 20260502",
      "file_type": "rationale",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L99",
      "id": "data_platform_download_minute_rationale_99",
      "community": 32,
      "norm_label": "\u817e\u8bafminute/query api,\u8fd4\u56de1\u5206\u949f\u7ebf,\u805a\u5408\u4e3a15\u5206\u949f\u7ebf     symbol: sz000001     date: 20260502"
    },
    {
      "label": "1\u5206\u949f\u7ebf\u805a\u5408\u4e3a15\u5206\u949f\u7ebf\uff08end-of-bar\u65f6\u95f4\u6233\uff09",
      "file_type": "rationale",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L133",
      "id": "data_platform_download_minute_rationale_133",
      "community": 32,
      "norm_label": "1\u5206\u949f\u7ebf\u805a\u5408\u4e3a15\u5206\u949f\u7ebf(end-of-bar\u65f6\u95f4\u6233)"
    },
    {
      "label": "\u4e0b\u8f7d\u5355\u53ea\u80a1\u796815\u5206\u949f\u7ebf\uff0c\u8fd4\u56de(df, source)",
      "file_type": "rationale",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L167",
      "id": "data_platform_download_minute_rationale_167",
      "community": 32,
      "norm_label": "\u4e0b\u8f7d\u5355\u53ea\u80a1\u796815\u5206\u949f\u7ebf,\u8fd4\u56de(df, source)"
    },
    {
      "label": "import_vnpy_daily_fast.py",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L1",
      "id": "data_platform_import_vnpy_daily_fast_py",
      "community": 149,
      "norm_label": "import_vnpy_daily_fast.py"
    },
    {
      "label": "parse_filename()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L19",
      "id": "data_platform_import_vnpy_daily_fast_parse_filename",
      "community": 149,
      "norm_label": "parse_filename()"
    },
    {
      "label": "import_year()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L27",
      "id": "data_platform_import_vnpy_daily_fast_import_year",
      "community": 149,
      "norm_label": "import_year()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L87",
      "id": "data_platform_import_vnpy_daily_fast_main",
      "community": 149,
      "norm_label": "main()"
    },
    {
      "label": "fallback.py",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L1",
      "id": "data_platform_fallback_py",
      "community": 33,
      "norm_label": "fallback.py"
    },
    {
      "label": "FallbackManager",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L14",
      "id": "data_platform_fallback_fallbackmanager",
      "community": 33,
      "norm_label": "fallbackmanager"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L15",
      "id": "data_platform_fallback_fallbackmanager_init",
      "community": 33,
      "norm_label": ".__init__()"
    },
    {
      "label": ".get_source_used()",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L18",
      "id": "data_platform_fallback_fallbackmanager_get_source_used",
      "community": 33,
      "norm_label": ".get_source_used()"
    },
    {
      "label": ".get_daily()",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L21",
      "id": "data_platform_fallback_fallbackmanager_get_daily",
      "community": 33,
      "norm_label": ".get_daily()"
    },
    {
      "label": ".get_realtime()",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L43",
      "id": "data_platform_fallback_fallbackmanager_get_realtime",
      "community": 33,
      "norm_label": ".get_realtime()"
    },
    {
      "label": "._fetch_akshare_daily()",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L50",
      "id": "data_platform_fallback_fallbackmanager_fetch_akshare_daily",
      "community": 33,
      "norm_label": "._fetch_akshare_daily()"
    },
    {
      "label": "._fetch_tencent_daily()",
      "file_type": "code",
      "source_file": "data_platform/fallback.py",
      "source_location": "L66",
      "id": "data_platform_fallback_fallbackmanager_fetch_tencent_daily",
      "community": 33,
      "norm_label": "._fetch_tencent_daily()"
    },
    {
      "label": "\u83b7\u53d6\u65e5\u7ebf\u6570\u636e\uff0c\u964d\u7ea7\u94fe\uff1aakshare \u2192 \u817e\u8bafK\u7ebf",
      "file_type": "rationale",
      "source_file": "data_platform/fallback.py",
      "source_location": "L22",
      "id": "data_platform_fallback_rationale_22",
      "community": 33,
      "norm_label": "\u83b7\u53d6\u65e5\u7ebf\u6570\u636e,\u964d\u7ea7\u94fe:akshare \u2192 \u817e\u8bafk\u7ebf"
    },
    {
      "label": "import_vnpy_daily.py",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L1",
      "id": "data_platform_import_vnpy_daily_py",
      "community": 96,
      "norm_label": "import_vnpy_daily.py"
    },
    {
      "label": "parse_filename()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L20",
      "id": "data_platform_import_vnpy_daily_parse_filename",
      "community": 96,
      "norm_label": "parse_filename()"
    },
    {
      "label": "import_year()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L30",
      "id": "data_platform_import_vnpy_daily_import_year",
      "community": 96,
      "norm_label": "import_year()"
    },
    {
      "label": "update_overview()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L104",
      "id": "data_platform_import_vnpy_daily_update_overview",
      "community": 96,
      "norm_label": "update_overview()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L121",
      "id": "data_platform_import_vnpy_daily_main",
      "community": 96,
      "norm_label": "main()"
    },
    {
      "label": "sh600519_daily.parquet \u2192 ('600519', 'SSE')",
      "file_type": "rationale",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L21",
      "id": "data_platform_import_vnpy_daily_rationale_21",
      "community": 96,
      "norm_label": "sh600519_daily.parquet \u2192 ('600519', 'sse')"
    },
    {
      "label": "vnpy_local_data_adapter.py",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L1",
      "id": "src_adapters_vnpy_local_data_adapter_py",
      "community": 13,
      "norm_label": "vnpy_local_data_adapter.py"
    },
    {
      "label": "VnpyLocalDataAdapter",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L27",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "community": 13,
      "norm_label": "vnpylocaldataadapter"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L56",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_init",
      "community": 13,
      "norm_label": ".__init__()"
    },
    {
      "label": "._validate_data_dirs()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L66",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_validate_data_dirs",
      "community": 13,
      "norm_label": "._validate_data_dirs()"
    },
    {
      "label": "._parse_symbol()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L74",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_parse_symbol",
      "community": 13,
      "norm_label": "._parse_symbol()"
    },
    {
      "label": "._get_local_daily_file_path()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L102",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_local_daily_file_path",
      "community": 13,
      "norm_label": "._get_local_daily_file_path()"
    },
    {
      "label": ".load_local_daily_data()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L137",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_load_local_daily_data",
      "community": 13,
      "norm_label": ".load_local_daily_data()"
    },
    {
      "label": ".fetch_akshare_daily_data()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L197",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_fetch_akshare_daily_data",
      "community": 13,
      "norm_label": ".fetch_akshare_daily_data()"
    },
    {
      "label": ".get_daily_data()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L257",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_daily_data",
      "community": 13,
      "norm_label": ".get_daily_data()"
    },
    {
      "label": ".verify_local_data_structure()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L284",
      "id": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_verify_local_data_structure",
      "community": 13,
      "norm_label": ".verify_local_data_structure()"
    },
    {
      "label": "DataConvertTool",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L341",
      "id": "adapters_vnpy_local_data_adapter_dataconverttool",
      "community": 13,
      "norm_label": "dataconverttool"
    },
    {
      "label": "convert_zhaoyun_to_vnpy()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L348",
      "id": "adapters_vnpy_local_data_adapter_convert_zhaoyun_to_vnpy",
      "community": 13,
      "norm_label": "convert_zhaoyun_to_vnpy()"
    },
    {
      "label": "VnpyDataManagerWrapper",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L401",
      "id": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper",
      "community": 13,
      "norm_label": "vnpydatamanagerwrapper"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L407",
      "id": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_init",
      "community": 13,
      "norm_label": ".__init__()"
    },
    {
      "label": "._patch_methods()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L419",
      "id": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_patch_methods",
      "community": 13,
      "norm_label": "._patch_methods()"
    },
    {
      "label": ".get_daily_bar_data()",
      "file_type": "code",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L426",
      "id": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_get_daily_bar_data",
      "community": 13,
      "norm_label": ".get_daily_bar_data()"
    },
    {
      "label": "vn.py\u672c\u5730\u6570\u636e\u9002\u914d\u5668     \u5b9e\u73b0\u7b56\u7565\uff1a\u4f18\u5148\u672c\u5730 \u2192 fallback akshare",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L28",
      "id": "adapters_vnpy_local_data_adapter_rationale_28",
      "community": 13,
      "norm_label": "vn.py\u672c\u5730\u6570\u636e\u9002\u914d\u5668     \u5b9e\u73b0\u7b56\u7565:\u4f18\u5148\u672c\u5730 \u2192 fallback akshare"
    },
    {
      "label": "\u521d\u59cb\u5316\u9002\u914d\u5668                  Args:             use_local_first: \u662f\u5426\u4f18\u5148\u4f7f\u7528\u672c\u5730\u6570\u636e",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L57",
      "id": "adapters_vnpy_local_data_adapter_rationale_57",
      "community": 13,
      "norm_label": "\u521d\u59cb\u5316\u9002\u914d\u5668                  args:             use_local_first: \u662f\u5426\u4f18\u5148\u4f7f\u7528\u672c\u5730\u6570\u636e"
    },
    {
      "label": "\u89e3\u6790\u80a1\u7968\u4ee3\u7801\uff0c\u8fd4\u56de\u6807\u51c6\u5316\u4ee3\u7801\u548c\u4ea4\u6613\u6240                  Args:             symbol: \u80a1\u7968\u4ee3\u7801\uff0c\u5982 \"000001.SZ\"",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L75",
      "id": "adapters_vnpy_local_data_adapter_rationale_75",
      "community": 13,
      "norm_label": "\u89e3\u6790\u80a1\u7968\u4ee3\u7801,\u8fd4\u56de\u6807\u51c6\u5316\u4ee3\u7801\u548c\u4ea4\u6613\u6240                  args:             symbol: \u80a1\u7968\u4ee3\u7801,\u5982 \"000001.sz\""
    },
    {
      "label": "\u83b7\u53d6\u672c\u5730\u65e5\u7ebf\u6570\u636e\u6587\u4ef6\u8def\u5f84                  Args:             symbol: \u80a1\u7968\u4ee3\u7801             year: \u5e74",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L103",
      "id": "adapters_vnpy_local_data_adapter_rationale_103",
      "community": 13,
      "norm_label": "\u83b7\u53d6\u672c\u5730\u65e5\u7ebf\u6570\u636e\u6587\u4ef6\u8def\u5f84                  args:             symbol: \u80a1\u7968\u4ee3\u7801             year: \u5e74"
    },
    {
      "label": "\u4ece\u8d75\u4e91\u672c\u5730\u6570\u636e\u52a0\u8f7d\u65e5\u7ebf\u6570\u636e                  Args:             symbol: \u80a1\u7968\u4ee3\u7801             start_",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L138",
      "id": "adapters_vnpy_local_data_adapter_rationale_138",
      "community": 13,
      "norm_label": "\u4ece\u8d75\u4e91\u672c\u5730\u6570\u636e\u52a0\u8f7d\u65e5\u7ebf\u6570\u636e                  args:             symbol: \u80a1\u7968\u4ee3\u7801             start_"
    },
    {
      "label": "\u4eceakshare\u83b7\u53d6\u65e5\u7ebf\u6570\u636e\uff08fallback\u65b9\u6848\uff09                  Args:             symbol: \u80a1\u7968\u4ee3\u7801",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L198",
      "id": "adapters_vnpy_local_data_adapter_rationale_198",
      "community": 13,
      "norm_label": "\u4eceakshare\u83b7\u53d6\u65e5\u7ebf\u6570\u636e(fallback\u65b9\u6848)                  args:             symbol: \u80a1\u7968\u4ee3\u7801"
    },
    {
      "label": "\u83b7\u53d6\u65e5\u7ebf\u6570\u636e\uff08\u4f18\u5148\u672c\u5730\uff0cfallback akshare\uff09                  Args:             symbol: \u80a1\u7968\u4ee3\u7801",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L258",
      "id": "adapters_vnpy_local_data_adapter_rationale_258",
      "community": 13,
      "norm_label": "\u83b7\u53d6\u65e5\u7ebf\u6570\u636e(\u4f18\u5148\u672c\u5730,fallback akshare)                  args:             symbol: \u80a1\u7968\u4ee3\u7801"
    },
    {
      "label": "\u9a8c\u8bc1\u672c\u5730\u6570\u636e\u7ed3\u6784\u662f\u5426\u7b26\u5408vn.py\u8981\u6c42                  Args:             symbol: \u80a1\u7968\u4ee3\u7801",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L285",
      "id": "adapters_vnpy_local_data_adapter_rationale_285",
      "community": 13,
      "norm_label": "\u9a8c\u8bc1\u672c\u5730\u6570\u636e\u7ed3\u6784\u662f\u5426\u7b26\u5408vn.py\u8981\u6c42                  args:             symbol: \u80a1\u7968\u4ee3\u7801"
    },
    {
      "label": "\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u5de5\u5177     \u7528\u4e8e\u5c06\u8d75\u4e91\u7684\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u4e3avn.py\u9700\u8981\u7684\u683c\u5f0f",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L342",
      "id": "adapters_vnpy_local_data_adapter_rationale_342",
      "community": 13,
      "norm_label": "\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u5de5\u5177     \u7528\u4e8e\u5c06\u8d75\u4e91\u7684\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u4e3avn.py\u9700\u8981\u7684\u683c\u5f0f"
    },
    {
      "label": "\u5c06\u8d75\u4e91\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u4e3avn.py\u683c\u5f0f                  Args:             input_path: \u8d75\u4e91\u6570\u636e\u6587\u4ef6\u8def\u5f84",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L349",
      "id": "adapters_vnpy_local_data_adapter_rationale_349",
      "community": 239,
      "norm_label": "\u5c06\u8d75\u4e91\u6570\u636e\u683c\u5f0f\u8f6c\u6362\u4e3avn.py\u683c\u5f0f                  args:             input_path: \u8d75\u4e91\u6570\u636e\u6587\u4ef6\u8def\u5f84"
    },
    {
      "label": "vn.py\u6570\u636e\u7ba1\u7406\u5668\u5305\u88c5\u5668     \u66ff\u6362vn.py\u9ed8\u8ba4\u7684\u6570\u636e\u83b7\u53d6\u903b\u8f91",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L402",
      "id": "adapters_vnpy_local_data_adapter_rationale_402",
      "community": 13,
      "norm_label": "vn.py\u6570\u636e\u7ba1\u7406\u5668\u5305\u88c5\u5668     \u66ff\u6362vn.py\u9ed8\u8ba4\u7684\u6570\u636e\u83b7\u53d6\u903b\u8f91"
    },
    {
      "label": "\u521d\u59cb\u5316\u5305\u88c5\u5668                  Args:             original_data_manager: \u539f\u59cbvn.py\u6570\u636e\u7ba1\u7406\u5668",
      "file_type": "rationale",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L408",
      "id": "adapters_vnpy_local_data_adapter_rationale_408",
      "community": 13,
      "norm_label": "\u521d\u59cb\u5316\u5305\u88c5\u5668                  args:             original_data_manager: \u539f\u59cbvn.py\u6570\u636e\u7ba1\u7406\u5668"
    },
    {
      "label": "start_backtest_service.py",
      "file_type": "code",
      "source_file": "src/scripts/start_backtest_service.py",
      "source_location": "L1",
      "id": "src_scripts_start_backtest_service_py",
      "community": 240,
      "norm_label": "start_backtest_service.py"
    },
    {
      "label": "start_web_trader.py",
      "file_type": "code",
      "source_file": "src/scripts/start_web_trader.py",
      "source_location": "L1",
      "id": "src_scripts_start_web_trader_py",
      "community": 188,
      "norm_label": "start_web_trader.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "src/scripts/start_web_trader.py",
      "source_location": "L13",
      "id": "scripts_start_web_trader_main",
      "community": 188,
      "norm_label": "main()"
    },
    {
      "label": "start_rpc_server.py",
      "file_type": "code",
      "source_file": "src/scripts/start_rpc_server.py",
      "source_location": "L1",
      "id": "src_scripts_start_rpc_server_py",
      "community": 189,
      "norm_label": "start_rpc_server.py"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "src/scripts/start_rpc_server.py",
      "source_location": "L27",
      "id": "scripts_start_rpc_server_main",
      "community": 189,
      "norm_label": "main()"
    },
    {
      "label": "task_queue.py",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L1",
      "id": "src_backtest_service_task_queue_py",
      "community": 0,
      "norm_label": "task_queue.py"
    },
    {
      "label": "TaskQueue",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L18",
      "id": "backtest_service_task_queue_taskqueue",
      "community": 0,
      "norm_label": "taskqueue"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L21",
      "id": "backtest_service_task_queue_taskqueue_init",
      "community": 0,
      "norm_label": ".__init__()"
    },
    {
      "label": "._generate_task_id()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L30",
      "id": "backtest_service_task_queue_taskqueue_generate_task_id",
      "community": 0,
      "norm_label": "._generate_task_id()"
    },
    {
      "label": ".submit_task()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L33",
      "id": "backtest_service_task_queue_taskqueue_submit_task",
      "community": 0,
      "norm_label": ".submit_task()"
    },
    {
      "label": ".list_tasks()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L49",
      "id": "backtest_service_task_queue_taskqueue_list_tasks",
      "community": 0,
      "norm_label": ".list_tasks()"
    },
    {
      "label": ".get_task()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L85",
      "id": "backtest_service_task_queue_taskqueue_get_task",
      "community": 0,
      "norm_label": ".get_task()"
    },
    {
      "label": "._worker_loop()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L92",
      "id": "backtest_service_task_queue_taskqueue_worker_loop",
      "community": 0,
      "norm_label": "._worker_loop()"
    },
    {
      "label": ".start_worker_pool()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L125",
      "id": "backtest_service_task_queue_taskqueue_start_worker_pool",
      "community": 0,
      "norm_label": ".start_worker_pool()"
    },
    {
      "label": ".close_worker_pool()",
      "file_type": "code",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L133",
      "id": "backtest_service_task_queue_taskqueue_close_worker_pool",
      "community": 0,
      "norm_label": ".close_worker_pool()"
    },
    {
      "label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4efb\u52a1\u961f\u5217 \u7b80\u5355\u540e\u53f0\u7ebf\u7a0b\u8c03\u5ea6\uff1asubmit\u540e\u81ea\u52a8\u89e6\u53d1\u6267\u884c\uff0c\u540c\u4e00\u65f6\u95f4\u53ea\u8dd1\u4e00\u4e2a\u56de\u6d4b",
      "file_type": "rationale",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L1",
      "id": "backtest_service_task_queue_rationale_1",
      "community": 0,
      "norm_label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4efb\u52a1\u961f\u5217 \u7b80\u5355\u540e\u53f0\u7ebf\u7a0b\u8c03\u5ea6:submit\u540e\u81ea\u52a8\u89e6\u53d1\u6267\u884c,\u540c\u4e00\u65f6\u95f4\u53ea\u8dd1\u4e00\u4e2a\u56de\u6d4b"
    },
    {
      "label": "\u540e\u53f0\u5de5\u4f5c\u7ebf\u7a0b\uff1a\u5faa\u73af\u68c0\u67e5pending\u4efb\u52a1\u5e76\u6267\u884c",
      "file_type": "rationale",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L93",
      "id": "backtest_service_task_queue_rationale_93",
      "community": 0,
      "norm_label": "\u540e\u53f0\u5de5\u4f5c\u7ebf\u7a0b:\u5faa\u73af\u68c0\u67e5pending\u4efb\u52a1\u5e76\u6267\u884c"
    },
    {
      "label": "config.py",
      "file_type": "code",
      "source_file": "src/backtest-service/config.py",
      "source_location": "L1",
      "id": "src_backtest_service_config_py",
      "community": 0,
      "norm_label": "config.py"
    },
    {
      "label": "Settings",
      "file_type": "code",
      "source_file": "src/backtest-service/config.py",
      "source_location": "L7",
      "id": "backtest_service_config_settings",
      "community": 0,
      "norm_label": "settings"
    },
    {
      "label": "models.py",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L1",
      "id": "src_backtest_service_models_py",
      "community": 0,
      "norm_label": "models.py"
    },
    {
      "label": "TaskStatus",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L10",
      "id": "backtest_service_models_taskstatus",
      "community": 0,
      "norm_label": "taskstatus"
    },
    {
      "label": "str",
      "file_type": "code",
      "source_file": "",
      "source_location": "",
      "id": "str",
      "community": 3,
      "norm_label": "str"
    },
    {
      "label": "Enum",
      "file_type": "code",
      "source_file": "",
      "source_location": "",
      "id": "enum",
      "community": 0,
      "norm_label": "enum"
    },
    {
      "label": "BacktestTask",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L18",
      "id": "backtest_service_models_backtesttask",
      "community": 0,
      "norm_label": "backtesttask"
    },
    {
      "label": "BaseModel",
      "file_type": "code",
      "source_file": "",
      "source_location": "",
      "id": "basemodel",
      "community": 0,
      "norm_label": "basemodel"
    },
    {
      "label": "BacktestTaskWithId",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L31",
      "id": "backtest_service_models_backtesttaskwithid",
      "community": 0,
      "norm_label": "backtesttaskwithid"
    },
    {
      "label": "BacktestStatistics",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L40",
      "id": "backtest_service_models_backteststatistics",
      "community": 0,
      "norm_label": "backteststatistics"
    },
    {
      "label": "BacktestResult",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L59",
      "id": "backtest_service_models_backtestresult",
      "community": 0,
      "norm_label": "backtestresult"
    },
    {
      "label": "TaskListResponse",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L74",
      "id": "backtest_service_models_tasklistresponse",
      "community": 0,
      "norm_label": "tasklistresponse"
    },
    {
      "label": "ApiResponse",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L84",
      "id": "backtest_service_models_apiresponse",
      "community": 0,
      "norm_label": "apiresponse"
    },
    {
      "label": "HealthCheckResponse",
      "file_type": "code",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L91",
      "id": "backtest_service_models_healthcheckresponse",
      "community": 0,
      "norm_label": "healthcheckresponse"
    },
    {
      "label": "result_storage.py",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L1",
      "id": "src_backtest_service_result_storage_py",
      "community": 0,
      "norm_label": "result_storage.py"
    },
    {
      "label": "_json_serial()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L12",
      "id": "backtest_service_result_storage_json_serial",
      "community": 0,
      "norm_label": "_json_serial()"
    },
    {
      "label": "ResultStorage",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L19",
      "id": "backtest_service_result_storage_resultstorage",
      "community": 0,
      "norm_label": "resultstorage"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L22",
      "id": "backtest_service_result_storage_resultstorage_init",
      "community": 0,
      "norm_label": ".__init__()"
    },
    {
      "label": "._ensure_dirs()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L26",
      "id": "backtest_service_result_storage_resultstorage_ensure_dirs",
      "community": 0,
      "norm_label": "._ensure_dirs()"
    },
    {
      "label": "._task_dir()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L32",
      "id": "backtest_service_result_storage_resultstorage_task_dir",
      "community": 0,
      "norm_label": "._task_dir()"
    },
    {
      "label": ".save_task()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L36",
      "id": "backtest_service_result_storage_resultstorage_save_task",
      "community": 0,
      "norm_label": ".save_task()"
    },
    {
      "label": ".load_task()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L45",
      "id": "backtest_service_result_storage_resultstorage_load_task",
      "community": 0,
      "norm_label": ".load_task()"
    },
    {
      "label": ".save_result()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L58",
      "id": "backtest_service_result_storage_resultstorage_save_result",
      "community": 0,
      "norm_label": ".save_result()"
    },
    {
      "label": ".load_result()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L67",
      "id": "backtest_service_result_storage_resultstorage_load_result",
      "community": 0,
      "norm_label": ".load_result()"
    },
    {
      "label": ".find_task()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L80",
      "id": "backtest_service_result_storage_resultstorage_find_task",
      "community": 0,
      "norm_label": ".find_task()"
    },
    {
      "label": ".find_result()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L88",
      "id": "backtest_service_result_storage_resultstorage_find_result",
      "community": 0,
      "norm_label": ".find_result()"
    },
    {
      "label": ".get_task_path()",
      "file_type": "code",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L96",
      "id": "backtest_service_result_storage_resultstorage_get_task_path",
      "community": 0,
      "norm_label": ".get_task_path()"
    },
    {
      "label": "JSON\u5e8f\u5217\u5316\u8f85\u52a9\uff1a\u5904\u7406date/datetime",
      "file_type": "rationale",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L13",
      "id": "backtest_service_result_storage_rationale_13",
      "community": 0,
      "norm_label": "json\u5e8f\u5217\u5316\u8f85\u52a9:\u5904\u7406date/datetime"
    },
    {
      "label": "api.py",
      "file_type": "code",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L1",
      "id": "src_backtest_service_api_py",
      "community": 0,
      "norm_label": "api.py"
    },
    {
      "label": "submit_task()",
      "file_type": "code",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L24",
      "id": "backtest_service_api_submit_task",
      "community": 0,
      "norm_label": "submit_task()"
    },
    {
      "label": "list_tasks()",
      "file_type": "code",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L36",
      "id": "backtest_service_api_list_tasks",
      "community": 0,
      "norm_label": "list_tasks()"
    },
    {
      "label": "get_status()",
      "file_type": "code",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L51",
      "id": "backtest_service_api_get_status",
      "community": 0,
      "norm_label": "get_status()"
    },
    {
      "label": "get_result()",
      "file_type": "code",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L60",
      "id": "backtest_service_api_get_result",
      "community": 0,
      "norm_label": "get_result()"
    },
    {
      "label": "delete_task()",
      "file_type": "code",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L72",
      "id": "backtest_service_api_delete_task",
      "community": 0,
      "norm_label": "delete_task()"
    },
    {
      "label": "health_check()",
      "file_type": "code",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L80",
      "id": "backtest_service_api_health_check",
      "community": 0,
      "norm_label": "health_check()"
    },
    {
      "label": "# TODO: \u5b9e\u73b0\u7269\u7406\u5220\u9664",
      "file_type": "rationale",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L74",
      "id": "backtest_service_api_rationale_74",
      "community": 0,
      "norm_label": "# todo: \u5b9e\u73b0\u7269\u7406\u5220\u9664"
    },
    {
      "label": "main.py",
      "file_type": "code",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L1",
      "id": "src_backtest_service_main_py",
      "community": 0,
      "norm_label": "main.py"
    },
    {
      "label": "lifespan()",
      "file_type": "code",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L18",
      "id": "backtest_service_main_lifespan",
      "community": 0,
      "norm_label": "lifespan()"
    },
    {
      "label": "health()",
      "file_type": "code",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L51",
      "id": "backtest_service_main_health",
      "community": 0,
      "norm_label": "health()"
    },
    {
      "label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4e3b\u5165\u53e3 \u542f\u52a8 FastAPI \u670d\u52a1\uff0c\u63a5\u53d7\u56de\u6d4b\u4efb\u52a1\u63d0\u4ea4\uff0c\u6267\u884c\u56de\u6d4b\uff0c\u8fd4\u56de\u7ed3\u679c \u9075\u5faa vnpy \u539f\u751f\u8bbe\u8ba1\uff0c\u53ea\u505a\u5916\u5c42\u5c01\u88c5",
      "file_type": "rationale",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L1",
      "id": "backtest_service_main_rationale_1",
      "community": 0,
      "norm_label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4e3b\u5165\u53e3 \u542f\u52a8 fastapi \u670d\u52a1,\u63a5\u53d7\u56de\u6d4b\u4efb\u52a1\u63d0\u4ea4,\u6267\u884c\u56de\u6d4b,\u8fd4\u56de\u7ed3\u679c \u9075\u5faa vnpy \u539f\u751f\u8bbe\u8ba1,\u53ea\u505a\u5916\u5c42\u5c01\u88c5"
    },
    {
      "label": "\u5e94\u7528\u751f\u547d\u5468\u671f\uff1a\u542f\u52a8\u65f6\u5f00\u542fworker\u7ebf\u7a0b\uff0c\u5173\u95ed\u65f6\u505c\u6b62",
      "file_type": "rationale",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L19",
      "id": "backtest_service_main_rationale_19",
      "community": 0,
      "norm_label": "\u5e94\u7528\u751f\u547d\u5468\u671f:\u542f\u52a8\u65f6\u5f00\u542fworker\u7ebf\u7a0b,\u5173\u95ed\u65f6\u505c\u6b62"
    },
    {
      "label": "executor.py",
      "file_type": "code",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L1",
      "id": "src_backtest_service_executor_py",
      "community": 0,
      "norm_label": "executor.py"
    },
    {
      "label": "_parse_vt_symbol()",
      "file_type": "code",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L52",
      "id": "backtest_service_executor_parse_vt_symbol",
      "community": 0,
      "norm_label": "_parse_vt_symbol()"
    },
    {
      "label": "BacktestExecutor",
      "file_type": "code",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L70",
      "id": "backtest_service_executor_backtestexecutor",
      "community": 0,
      "norm_label": "backtestexecutor"
    },
    {
      "label": ".__init__()",
      "file_type": "code",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L73",
      "id": "backtest_service_executor_backtestexecutor_init",
      "community": 0,
      "norm_label": ".__init__()"
    },
    {
      "label": "._load_strategy()",
      "file_type": "code",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L76",
      "id": "backtest_service_executor_backtestexecutor_load_strategy",
      "community": 0,
      "norm_label": "._load_strategy()"
    },
    {
      "label": ".execute_backtest()",
      "file_type": "code",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L107",
      "id": "backtest_service_executor_backtestexecutor_execute_backtest",
      "community": 0,
      "norm_label": ".execute_backtest()"
    },
    {
      "label": "._plot_equity_curve()",
      "file_type": "code",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L240",
      "id": "backtest_service_executor_backtestexecutor_plot_equity_curve",
      "community": 0,
      "norm_label": "._plot_equity_curve()"
    },
    {
      "label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4efb\u52a1\u6267\u884c\u5668 \u8c03\u7528 vnpy 4.x BacktestingEngine \u6267\u884c\u56de\u6d4b",
      "file_type": "rationale",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L1",
      "id": "backtest_service_executor_rationale_1",
      "community": 0,
      "norm_label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4efb\u52a1\u6267\u884c\u5668 \u8c03\u7528 vnpy 4.x backtestingengine \u6267\u884c\u56de\u6d4b"
    },
    {
      "label": "\u89e3\u6790vt_symbol\u4e3asymbol\u548cexchange\uff0c\u5982 '000001.SZ' \u2192 ('000001', Exchange.SZSE)",
      "file_type": "rationale",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L53",
      "id": "backtest_service_executor_rationale_53",
      "community": 0,
      "norm_label": "\u89e3\u6790vt_symbol\u4e3asymbol\u548cexchange,\u5982 '000001.sz' \u2192 ('000001', exchange.szse)"
    },
    {
      "label": "README.md",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L1",
      "id": "readme_md",
      "community": 60,
      "norm_label": "readme.md"
    },
    {
      "label": "\u4e09\u56fd\u91cf\u5316\u4ea4\u6613\u5e73\u53f0\uff08sanguo_vnpy\uff09",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L1",
      "id": "sanguo_vnpy_readme_sanguo_vnpy",
      "community": 60,
      "norm_label": "\u4e09\u56fd\u91cf\u5316\u4ea4\u6613\u5e73\u53f0(sanguo_vnpy)"
    },
    {
      "label": "\u9879\u76ee\u5b9a\u4f4d",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L5",
      "id": "sanguo_vnpy_readme",
      "community": 60,
      "norm_label": "\u9879\u76ee\u5b9a\u4f4d"
    },
    {
      "label": "\u6587\u6863\u5bfc\u822a",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L11",
      "id": "sanguo_vnpy_readme_11",
      "community": 60,
      "norm_label": "\u6587\u6863\u5bfc\u822a"
    },
    {
      "label": "\u76ee\u5f55\u7ed3\u6784",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L21",
      "id": "sanguo_vnpy_readme_21",
      "community": 60,
      "norm_label": "\u76ee\u5f55\u7ed3\u6784"
    },
    {
      "label": "code:block1 (sanguo_vnpy/)",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L23",
      "id": "sanguo_vnpy_readme_codeblock_1",
      "community": 60,
      "norm_label": "code:block1 (sanguo_vnpy/)"
    },
    {
      "label": "\u5feb\u901f\u5f00\u59cb",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L48",
      "id": "sanguo_vnpy_readme_48",
      "community": 60,
      "norm_label": "\u5feb\u901f\u5f00\u59cb"
    },
    {
      "label": "\u6280\u672f\u6808",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L52",
      "id": "sanguo_vnpy_readme_52",
      "community": 60,
      "norm_label": "\u6280\u672f\u6808"
    },
    {
      "label": "\u76f8\u5173\u9879\u76ee",
      "file_type": "document",
      "source_file": "README.md",
      "source_location": "L60",
      "id": "sanguo_vnpy_readme_60",
      "community": 60,
      "norm_label": "\u76f8\u5173\u9879\u76ee"
    },
    {
      "label": "9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L1",
      "id": "research_jq_essence_articles_9_md",
      "community": 50,
      "norm_label": "9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md"
    },
    {
      "label": "\u805a\u5bbd\u793e\u533a9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L1",
      "id": "jq_essence_articles_9_9",
      "community": 50,
      "norm_label": "\u805a\u5bbd\u793e\u533a9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a"
    },
    {
      "label": "\u4e00\u3001\u4efb\u52a1\u6982\u8ff0",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L9",
      "id": "jq_essence_articles_9",
      "community": 126,
      "norm_label": "\u4e00\u3001\u4efb\u52a1\u6982\u8ff0"
    },
    {
      "label": "\u4efb\u52a1\u76ee\u6807",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L11",
      "id": "jq_essence_articles_9_11",
      "community": 126,
      "norm_label": "\u4efb\u52a1\u76ee\u6807"
    },
    {
      "label": "\u5b8c\u6210\u60c5\u51b5",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L18",
      "id": "jq_essence_articles_9_18",
      "community": 126,
      "norm_label": "\u5b8c\u6210\u60c5\u51b5"
    },
    {
      "label": "\u4e8c\u3001\u6587\u7ae0\u6e05\u5355",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L26",
      "id": "jq_essence_articles_9_26",
      "community": 50,
      "norm_label": "\u4e8c\u3001\u6587\u7ae0\u6e05\u5355"
    },
    {
      "label": "2.1 \u56de\u6d4b\u6846\u67b6\uff085\u7bc7\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L28",
      "id": "jq_essence_articles_9_2_1_5",
      "community": 50,
      "norm_label": "2.1 \u56de\u6d4b\u6846\u67b6(5\u7bc7)"
    },
    {
      "label": "2.2 \u5b9e\u76d8\u7ecf\u9a8c\uff084\u7bc7\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L38",
      "id": "jq_essence_articles_9_2_2_4",
      "community": 50,
      "norm_label": "2.2 \u5b9e\u76d8\u7ecf\u9a8c(4\u7bc7)"
    },
    {
      "label": "\u4e09\u3001\u56de\u6d4b\u4f18\u5316\u6838\u5fc3\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L49",
      "id": "jq_essence_articles_9_49",
      "community": 68,
      "norm_label": "\u4e09\u3001\u56de\u6d4b\u4f18\u5316\u6838\u5fc3\u603b\u7ed3"
    },
    {
      "label": "3.1 \u6027\u80fd\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L51",
      "id": "jq_essence_articles_9_3_1",
      "community": 151,
      "norm_label": "3.1 \u6027\u80fd\u4f18\u5316"
    },
    {
      "label": "1. \u6570\u636e\u5c42\u9762\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L53",
      "id": "jq_essence_articles_9_1",
      "community": 151,
      "norm_label": "1. \u6570\u636e\u5c42\u9762\u4f18\u5316"
    },
    {
      "label": "2. \u4ee3\u7801\u5c42\u9762\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L60",
      "id": "jq_essence_articles_9_2",
      "community": 151,
      "norm_label": "2. \u4ee3\u7801\u5c42\u9762\u4f18\u5316"
    },
    {
      "label": "3. \u56de\u6d4b\u7b56\u7565\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L67",
      "id": "jq_essence_articles_9_3",
      "community": 151,
      "norm_label": "3. \u56de\u6d4b\u7b56\u7565\u4f18\u5316"
    },
    {
      "label": "3.2 \u56de\u6d4b\u8d28\u91cf\u63a7\u5236",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L73",
      "id": "jq_essence_articles_9_3_2",
      "community": 68,
      "norm_label": "3.2 \u56de\u6d4b\u8d28\u91cf\u63a7\u5236"
    },
    {
      "label": "1. \u53c2\u6570\u8bbe\u7f6e",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L75",
      "id": "jq_essence_articles_9_1_75",
      "community": 68,
      "norm_label": "1. \u53c2\u6570\u8bbe\u7f6e"
    },
    {
      "label": "2. \u7ed3\u679c\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L81",
      "id": "jq_essence_articles_9_2_81",
      "community": 68,
      "norm_label": "2. \u7ed3\u679c\u9a8c\u8bc1"
    },
    {
      "label": "3.3 \u56de\u6d4b\u9677\u9631\u89c4\u907f",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L87",
      "id": "jq_essence_articles_9_3_3",
      "community": 68,
      "norm_label": "3.3 \u56de\u6d4b\u9677\u9631\u89c4\u907f"
    },
    {
      "label": "1. \u6570\u636e\u76f8\u5173\u9677\u9631",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L89",
      "id": "jq_essence_articles_9_1_89",
      "community": 68,
      "norm_label": "1. \u6570\u636e\u76f8\u5173\u9677\u9631"
    },
    {
      "label": "2. \u56de\u6d4b\u8bbe\u7f6e\u9677\u9631",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L100",
      "id": "jq_essence_articles_9_2_100",
      "community": 68,
      "norm_label": "2. \u56de\u6d4b\u8bbe\u7f6e\u9677\u9631"
    },
    {
      "label": "3. \u7b56\u7565\u903b\u8f91\u9677\u9631",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L111",
      "id": "jq_essence_articles_9_3_111",
      "community": 68,
      "norm_label": "3. \u7b56\u7565\u903b\u8f91\u9677\u9631"
    },
    {
      "label": "3.4 \u56de\u6d4b\u7cfb\u7edf\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L121",
      "id": "jq_essence_articles_9_3_4",
      "community": 153,
      "norm_label": "3.4 \u56de\u6d4b\u7cfb\u7edf\u67b6\u6784"
    },
    {
      "label": "1. \u6838\u5fc3\u6a21\u5757",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L123",
      "id": "jq_essence_articles_9_1_123",
      "community": 153,
      "norm_label": "1. \u6838\u5fc3\u6a21\u5757"
    },
    {
      "label": "2. \u67b6\u6784\u539f\u5219",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L130",
      "id": "jq_essence_articles_9_2_130",
      "community": 153,
      "norm_label": "2. \u67b6\u6784\u539f\u5219"
    },
    {
      "label": "3. \u4e8b\u4ef6\u9a71\u52a8\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L136",
      "id": "jq_essence_articles_9_3_136",
      "community": 153,
      "norm_label": "3. \u4e8b\u4ef6\u9a71\u52a8\u67b6\u6784"
    },
    {
      "label": "3.5 \u56de\u6d4b\u7ed3\u679c\u5206\u6790",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L140",
      "id": "jq_essence_articles_9_3_5",
      "community": 150,
      "norm_label": "3.5 \u56de\u6d4b\u7ed3\u679c\u5206\u6790"
    },
    {
      "label": "1. \u57fa\u7840\u6307\u6807",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L142",
      "id": "jq_essence_articles_9_1_142",
      "community": 150,
      "norm_label": "1. \u57fa\u7840\u6307\u6807"
    },
    {
      "label": "2. \u6df1\u5165\u5206\u6790",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L146",
      "id": "jq_essence_articles_9_2_146",
      "community": 150,
      "norm_label": "2. \u6df1\u5165\u5206\u6790"
    },
    {
      "label": "3. \u9a8c\u8bc1\u65b9\u6cd5",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L151",
      "id": "jq_essence_articles_9_3_151",
      "community": 150,
      "norm_label": "3. \u9a8c\u8bc1\u65b9\u6cd5"
    },
    {
      "label": "\u56db\u3001\u5b9e\u76d8\u7ecf\u9a8c\u6838\u5fc3\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L158",
      "id": "jq_essence_articles_9_158",
      "community": 61,
      "norm_label": "\u56db\u3001\u5b9e\u76d8\u7ecf\u9a8c\u6838\u5fc3\u603b\u7ed3"
    },
    {
      "label": "4.1 \u5b9e\u76d8\u524d\u51c6\u5907",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L160",
      "id": "jq_essence_articles_9_4_1",
      "community": 152,
      "norm_label": "4.1 \u5b9e\u76d8\u524d\u51c6\u5907"
    },
    {
      "label": "1. \u7b56\u7565\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L162",
      "id": "jq_essence_articles_9_1_162",
      "community": 152,
      "norm_label": "1. \u7b56\u7565\u9a8c\u8bc1"
    },
    {
      "label": "2. \u8d44\u91d1\u51c6\u5907",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L173",
      "id": "jq_essence_articles_9_2_173",
      "community": 152,
      "norm_label": "2. \u8d44\u91d1\u51c6\u5907"
    },
    {
      "label": "3. \u6e10\u8fdb\u5f0f\u4e0a\u7ebf",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L179",
      "id": "jq_essence_articles_9_3_179",
      "community": 152,
      "norm_label": "3. \u6e10\u8fdb\u5f0f\u4e0a\u7ebf"
    },
    {
      "label": "4.2 \u5b9e\u76d8\u95ee\u9898\u89e3\u51b3",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L184",
      "id": "jq_essence_articles_9_4_2",
      "community": 61,
      "norm_label": "4.2 \u5b9e\u76d8\u95ee\u9898\u89e3\u51b3"
    },
    {
      "label": "1. \u8fde\u63a5\u4e0e\u767b\u5f55\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L186",
      "id": "jq_essence_articles_9_1_186",
      "community": 61,
      "norm_label": "1. \u8fde\u63a5\u4e0e\u767b\u5f55\u95ee\u9898"
    },
    {
      "label": "2. \u8ba2\u5355\u6267\u884c\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L190",
      "id": "jq_essence_articles_9_2_190",
      "community": 61,
      "norm_label": "2. \u8ba2\u5355\u6267\u884c\u95ee\u9898"
    },
    {
      "label": "3. \u7b56\u7565\u8fd0\u884c\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L194",
      "id": "jq_essence_articles_9_3_194",
      "community": 61,
      "norm_label": "3. \u7b56\u7565\u8fd0\u884c\u95ee\u9898"
    },
    {
      "label": "4.3 \u98ce\u9669\u7ba1\u7406\u4e0e\u8d44\u91d1\u7ba1\u7406",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L198",
      "id": "jq_essence_articles_9_4_3",
      "community": 125,
      "norm_label": "4.3 \u98ce\u9669\u7ba1\u7406\u4e0e\u8d44\u91d1\u7ba1\u7406"
    },
    {
      "label": "1. \u98ce\u9669\u7ba1\u7406\u6846\u67b6",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L200",
      "id": "jq_essence_articles_9_1_200",
      "community": 125,
      "norm_label": "1. \u98ce\u9669\u7ba1\u7406\u6846\u67b6"
    },
    {
      "label": "2. \u8d44\u91d1\u7ba1\u7406\u7b56\u7565",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L204",
      "id": "jq_essence_articles_9_2_204",
      "community": 125,
      "norm_label": "2. \u8d44\u91d1\u7ba1\u7406\u7b56\u7565"
    },
    {
      "label": "3. \u6b62\u635f\u4e0e\u6b62\u76c8",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L215",
      "id": "jq_essence_articles_9_3_215",
      "community": 125,
      "norm_label": "3. \u6b62\u635f\u4e0e\u6b62\u76c8"
    },
    {
      "label": "4. \u98ce\u63a7\u6267\u884c",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L219",
      "id": "jq_essence_articles_9_4",
      "community": 125,
      "norm_label": "4. \u98ce\u63a7\u6267\u884c"
    },
    {
      "label": "4.4 \u76d1\u63a7\u4e0e\u65e5\u5fd7\u5206\u6790",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L230",
      "id": "jq_essence_articles_9_4_4",
      "community": 61,
      "norm_label": "4.4 \u76d1\u63a7\u4e0e\u65e5\u5fd7\u5206\u6790"
    },
    {
      "label": "1. \u5b9e\u65f6\u76d1\u63a7",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L232",
      "id": "jq_essence_articles_9_1_232",
      "community": 61,
      "norm_label": "1. \u5b9e\u65f6\u76d1\u63a7"
    },
    {
      "label": "2. \u65e5\u5fd7\u7cfb\u7edf",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L243",
      "id": "jq_essence_articles_9_2_243",
      "community": 61,
      "norm_label": "2. \u65e5\u5fd7\u7cfb\u7edf"
    },
    {
      "label": "3. \u65e5\u5fd7\u5206\u6790",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L253",
      "id": "jq_essence_articles_9_3_253",
      "community": 61,
      "norm_label": "3. \u65e5\u5fd7\u5206\u6790"
    },
    {
      "label": "\u4e94\u3001\u5bf9\u6846\u67b6\u6539\u8fdb\u7684\u4ef7\u503c",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L261",
      "id": "jq_essence_articles_9_261",
      "community": 56,
      "norm_label": "\u4e94\u3001\u5bf9\u6846\u67b6\u6539\u8fdb\u7684\u4ef7\u503c"
    },
    {
      "label": "5.1 \u77ed\u671f\u6539\u8fdb\u5efa\u8bae\uff081-2\u5468\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L263",
      "id": "jq_essence_articles_9_5_1_1_2",
      "community": 56,
      "norm_label": "5.1 \u77ed\u671f\u6539\u8fdb\u5efa\u8bae(1-2\u5468)"
    },
    {
      "label": "1. \u56de\u6d4b\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L265",
      "id": "jq_essence_articles_9_1_265",
      "community": 56,
      "norm_label": "1. \u56de\u6d4b\u4f18\u5316"
    },
    {
      "label": "2. \u6587\u6863\u5efa\u8bbe",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L271",
      "id": "jq_essence_articles_9_2_271",
      "community": 56,
      "norm_label": "2. \u6587\u6863\u5efa\u8bbe"
    },
    {
      "label": "5.2 \u4e2d\u671f\u6539\u8fdb\u5efa\u8bae\uff081-2\u6708\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L276",
      "id": "jq_essence_articles_9_5_2_1_2",
      "community": 56,
      "norm_label": "5.2 \u4e2d\u671f\u6539\u8fdb\u5efa\u8bae(1-2\u6708)"
    },
    {
      "label": "1. \u5de5\u5177\u5f00\u53d1",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L278",
      "id": "jq_essence_articles_9_1_278",
      "community": 56,
      "norm_label": "1. \u5de5\u5177\u5f00\u53d1"
    },
    {
      "label": "2. \u6d41\u7a0b\u6807\u51c6\u5316",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L284",
      "id": "jq_essence_articles_9_2_284",
      "community": 56,
      "norm_label": "2. \u6d41\u7a0b\u6807\u51c6\u5316"
    },
    {
      "label": "5.3 \u957f\u671f\u89c4\u5212\uff083-6\u6708\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L289",
      "id": "jq_essence_articles_9_5_3_3_6",
      "community": 56,
      "norm_label": "5.3 \u957f\u671f\u89c4\u5212(3-6\u6708)"
    },
    {
      "label": "1. \u5e73\u53f0\u5efa\u8bbe",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L291",
      "id": "jq_essence_articles_9_1_291",
      "community": 56,
      "norm_label": "1. \u5e73\u53f0\u5efa\u8bbe"
    },
    {
      "label": "2. \u77e5\u8bc6\u79ef\u7d2f",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L297",
      "id": "jq_essence_articles_9_2_297",
      "community": 56,
      "norm_label": "2. \u77e5\u8bc6\u79ef\u7d2f"
    },
    {
      "label": "\u516d\u3001\u6587\u4ef6\u6e05\u5355",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L304",
      "id": "jq_essence_articles_9_304",
      "community": 50,
      "norm_label": "\u516d\u3001\u6587\u4ef6\u6e05\u5355"
    },
    {
      "label": "6.1 \u6587\u7ae0\u5185\u5bb9",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L306",
      "id": "jq_essence_articles_9_6_1",
      "community": 50,
      "norm_label": "6.1 \u6587\u7ae0\u5185\u5bb9"
    },
    {
      "label": "6.2 \u5143\u6570\u636e",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L317",
      "id": "jq_essence_articles_9_6_2",
      "community": 50,
      "norm_label": "6.2 \u5143\u6570\u636e"
    },
    {
      "label": "6.3 \u5206\u6790\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L321",
      "id": "jq_essence_articles_9_6_3",
      "community": 50,
      "norm_label": "6.3 \u5206\u6790\u62a5\u544a"
    },
    {
      "label": "\u4e03\u3001\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L326",
      "id": "jq_essence_articles_9_326",
      "community": 50,
      "norm_label": "\u4e03\u3001\u603b\u7ed3"
    },
    {
      "label": "\u6838\u5fc3\u6536\u83b7",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L330",
      "id": "jq_essence_articles_9_330",
      "community": 50,
      "norm_label": "\u6838\u5fc3\u6536\u83b7"
    },
    {
      "label": "\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L1",
      "id": "research_jq_essence_articles_md",
      "community": 17,
      "norm_label": "\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md"
    },
    {
      "label": "\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L1",
      "id": "jq_essence_articles",
      "community": 17,
      "norm_label": "\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a"
    },
    {
      "label": "\u4efb\u52a1\u76ee\u6807",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L11",
      "id": "jq_essence_articles_11",
      "community": 126,
      "norm_label": "\u4efb\u52a1\u76ee\u6807"
    },
    {
      "label": "\u65f6\u95f4\u8981\u6c42",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L18",
      "id": "jq_essence_articles_18",
      "community": 126,
      "norm_label": "\u65f6\u95f4\u8981\u6c42"
    },
    {
      "label": "\u4e8c\u3001\u5b8c\u6210\u60c5\u51b5",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L24",
      "id": "jq_essence_articles_24",
      "community": 17,
      "norm_label": "\u4e8c\u3001\u5b8c\u6210\u60c5\u51b5"
    },
    {
      "label": "2.1 \u6587\u7ae0\u7b5b\u9009",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L26",
      "id": "jq_essence_articles_2_1",
      "community": 17,
      "norm_label": "2.1 \u6587\u7ae0\u7b5b\u9009"
    },
    {
      "label": "2.2 \u6587\u4ef6\u4fdd\u5b58",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L38",
      "id": "jq_essence_articles_2_2",
      "community": 17,
      "norm_label": "2.2 \u6587\u4ef6\u4fdd\u5b58"
    },
    {
      "label": "code:block1 (joinquant_articles/)",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L42",
      "id": "jq_essence_articles_codeblock_1",
      "community": 17,
      "norm_label": "code:block1 (joinquant_articles/)"
    },
    {
      "label": "\u4e09\u3001\u6838\u5fc3\u89c2\u70b9\u63d0\u70bc\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L57",
      "id": "jq_essence_articles_57",
      "community": 17,
      "norm_label": "\u4e09\u3001\u6838\u5fc3\u89c2\u70b9\u63d0\u70bc\u603b\u7ed3"
    },
    {
      "label": "3.1 \u56de\u6d4b\u6846\u67b6\u4f18\u5316\u6838\u5fc3\u8981\u70b9",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L59",
      "id": "jq_essence_articles_3_1",
      "community": 17,
      "norm_label": "3.1 \u56de\u6d4b\u6846\u67b6\u4f18\u5316\u6838\u5fc3\u8981\u70b9"
    },
    {
      "label": "1. \u6027\u80fd\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L61",
      "id": "jq_essence_articles_1",
      "community": 17,
      "norm_label": "1. \u6027\u80fd\u4f18\u5316"
    },
    {
      "label": "2. \u8d28\u91cf\u63a7\u5236",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L66",
      "id": "jq_essence_articles_2",
      "community": 17,
      "norm_label": "2. \u8d28\u91cf\u63a7\u5236"
    },
    {
      "label": "3. \u9677\u9631\u89c4\u907f",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L71",
      "id": "jq_essence_articles_3",
      "community": 17,
      "norm_label": "3. \u9677\u9631\u89c4\u907f"
    },
    {
      "label": "3.2 \u5b9e\u76d8\u7ecf\u9a8c\u6838\u5fc3\u8981\u70b9",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L76",
      "id": "jq_essence_articles_3_2",
      "community": 17,
      "norm_label": "3.2 \u5b9e\u76d8\u7ecf\u9a8c\u6838\u5fc3\u8981\u70b9"
    },
    {
      "label": "1. \u6e10\u8fdb\u5f0f\u4e0a\u7ebf",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L78",
      "id": "jq_essence_articles_1_78",
      "community": 17,
      "norm_label": "1. \u6e10\u8fdb\u5f0f\u4e0a\u7ebf"
    },
    {
      "label": "2. \u76d1\u63a7\u98ce\u63a7",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L83",
      "id": "jq_essence_articles_2_83",
      "community": 17,
      "norm_label": "2. \u76d1\u63a7\u98ce\u63a7"
    },
    {
      "label": "3. \u95ee\u9898\u89e3\u51b3",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L88",
      "id": "jq_essence_articles_3_88",
      "community": 17,
      "norm_label": "3. \u95ee\u9898\u89e3\u51b3"
    },
    {
      "label": "\u56db\u3001\u5bf9\u6211\u4eec\u6846\u67b6\u6539\u8fdb\u7684\u4ef7\u503c",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L95",
      "id": "jq_essence_articles_95",
      "community": 17,
      "norm_label": "\u56db\u3001\u5bf9\u6211\u4eec\u6846\u67b6\u6539\u8fdb\u7684\u4ef7\u503c"
    },
    {
      "label": "4.1 \u77ed\u671f\u6539\u8fdb\u5efa\u8bae\uff081-2\u5468\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L97",
      "id": "jq_essence_articles_4_1_1_2",
      "community": 17,
      "norm_label": "4.1 \u77ed\u671f\u6539\u8fdb\u5efa\u8bae(1-2\u5468)"
    },
    {
      "label": "4.2 \u4e2d\u671f\u6539\u8fdb\u5efa\u8bae\uff081-2\u6708\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L108",
      "id": "jq_essence_articles_4_2_1_2",
      "community": 17,
      "norm_label": "4.2 \u4e2d\u671f\u6539\u8fdb\u5efa\u8bae(1-2\u6708)"
    },
    {
      "label": "4.3 \u957f\u671f\u89c4\u5212\uff083-6\u6708\uff09",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L119",
      "id": "jq_essence_articles_4_3_3_6",
      "community": 17,
      "norm_label": "4.3 \u957f\u671f\u89c4\u5212(3-6\u6708)"
    },
    {
      "label": "\u4e94\u3001\u5173\u952e\u6587\u4ef6\u8bf4\u660e",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L133",
      "id": "jq_essence_articles_133",
      "community": 17,
      "norm_label": "\u4e94\u3001\u5173\u952e\u6587\u4ef6\u8bf4\u660e"
    },
    {
      "label": "\u4e3b\u8981\u6587\u4ef6",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L135",
      "id": "jq_essence_articles_135",
      "community": 17,
      "norm_label": "\u4e3b\u8981\u6587\u4ef6"
    },
    {
      "label": "\u516d\u3001\u4efb\u52a1\u5b8c\u6210\u786e\u8ba4",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L153",
      "id": "jq_essence_articles_153",
      "community": 17,
      "norm_label": "\u516d\u3001\u4efb\u52a1\u5b8c\u6210\u786e\u8ba4"
    },
    {
      "label": "\u5b8c\u6210\u9879\u68c0\u67e5",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L155",
      "id": "jq_essence_articles_155",
      "community": 17,
      "norm_label": "\u5b8c\u6210\u9879\u68c0\u67e5"
    },
    {
      "label": "\u540e\u7eed\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L164",
      "id": "jq_essence_articles_164",
      "community": 17,
      "norm_label": "\u540e\u7eed\u5efa\u8bae"
    },
    {
      "label": "\u4e03\u3001\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L173",
      "id": "jq_essence_articles_173",
      "community": 17,
      "norm_label": "\u4e03\u3001\u603b\u7ed3"
    },
    {
      "label": "docker-dependency-cache-scheme.md",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L1",
      "id": "research_docker_docker_dependency_cache_scheme_md",
      "community": 18,
      "norm_label": "docker-dependency-cache-scheme.md"
    },
    {
      "label": "Docker \u4f9d\u8d56\u5206\u5c42\u7f13\u5b58\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L1",
      "id": "docker_docker_dependency_cache_scheme_docker",
      "community": 18,
      "norm_label": "docker \u4f9d\u8d56\u5206\u5c42\u7f13\u5b58\u65b9\u6848"
    },
    {
      "label": "\ud83c\udfaf \u65b9\u6848\u76ee\u6807",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L3",
      "id": "docker_docker_dependency_cache_scheme",
      "community": 18,
      "norm_label": "\ud83c\udfaf \u65b9\u6848\u76ee\u6807"
    },
    {
      "label": "\ud83c\udfd7\ufe0f \u65b9\u6848\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L11",
      "id": "docker_docker_dependency_cache_scheme_11",
      "community": 18,
      "norm_label": "\ud83c\udfd7\ufe0f \u65b9\u6848\u8bbe\u8ba1"
    },
    {
      "label": "\u6587\u4ef6\u7ed3\u6784",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L13",
      "id": "docker_docker_dependency_cache_scheme_13",
      "community": 18,
      "norm_label": "\u6587\u4ef6\u7ed3\u6784"
    },
    {
      "label": "code:block1 (project-root/)",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L15",
      "id": "docker_docker_dependency_cache_scheme_codeblock_1",
      "community": 18,
      "norm_label": "code:block1 (project-root/)"
    },
    {
      "label": "\u4f9d\u8d56\u62c6\u5206\u89c4\u5219",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L26",
      "id": "docker_docker_dependency_cache_scheme_26",
      "community": 18,
      "norm_label": "\u4f9d\u8d56\u62c6\u5206\u89c4\u5219"
    },
    {
      "label": "Dockerfile \u4fee\u6539",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L38",
      "id": "docker_docker_dependency_cache_scheme_dockerfile",
      "community": 18,
      "norm_label": "dockerfile \u4fee\u6539"
    },
    {
      "label": "code:dockerfile (# ... \u524d\u9762\u7684\u7cfb\u7edf\u5c42\u4e0d\u53d8 ...)",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L40",
      "id": "docker_docker_dependency_cache_scheme_codeblock_2",
      "community": 18,
      "norm_label": "code:dockerfile (# ... \u524d\u9762\u7684\u7cfb\u7edf\u5c42\u4e0d\u53d8 ...)"
    },
    {
      "label": "\ud83d\udcca \u6d4b\u8bd5\u7ed3\u679c",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L63",
      "id": "docker_docker_dependency_cache_scheme_63",
      "community": 18,
      "norm_label": "\ud83d\udcca \u6d4b\u8bd5\u7ed3\u679c"
    },
    {
      "label": "\u6027\u80fd\u6539\u5584",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L65",
      "id": "docker_docker_dependency_cache_scheme_65",
      "community": 18,
      "norm_label": "\u6027\u80fd\u6539\u5584"
    },
    {
      "label": "\u9a8c\u8bc1\u7ed3\u679c",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L72",
      "id": "docker_docker_dependency_cache_scheme_72",
      "community": 18,
      "norm_label": "\u9a8c\u8bc1\u7ed3\u679c"
    },
    {
      "label": "code:block3 (\ud83d\udd0d \u5f00\u59cb\u9a8c\u8bc1\u4f9d\u8d56\u5b89\u88c5...)",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L74",
      "id": "docker_docker_dependency_cache_scheme_codeblock_3",
      "community": 18,
      "norm_label": "code:block3 (\ud83d\udd0d \u5f00\u59cb\u9a8c\u8bc1\u4f9d\u8d56\u5b89\u88c5...)"
    },
    {
      "label": "\u9a8c\u6536\u6807\u51c6\u7b26\u5408\u5ea6",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L96",
      "id": "docker_docker_dependency_cache_scheme_96",
      "community": 18,
      "norm_label": "\u9a8c\u6536\u6807\u51c6\u7b26\u5408\u5ea6"
    },
    {
      "label": "\ud83d\udccb \u4f7f\u7528\u6307\u5357",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L107",
      "id": "docker_docker_dependency_cache_scheme_107",
      "community": 18,
      "norm_label": "\ud83d\udccb \u4f7f\u7528\u6307\u5357"
    },
    {
      "label": "\u65e5\u5e38\u4f7f\u7528\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L109",
      "id": "docker_docker_dependency_cache_scheme_109",
      "community": 18,
      "norm_label": "\u65e5\u5e38\u4f7f\u7528\u6d41\u7a0b"
    },
    {
      "label": "code:bash (docker run --rm --entrypoint /app/scripts/verify_dependencie)",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L122",
      "id": "docker_docker_dependency_cache_scheme_codeblock_4",
      "community": 18,
      "norm_label": "code:bash (docker run --rm --entrypoint /app/scripts/verify_dependencie)"
    },
    {
      "label": "\u9a8c\u8bc1\u811a\u672c\u8bf4\u660e",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L126",
      "id": "docker_docker_dependency_cache_scheme_126",
      "community": 18,
      "norm_label": "\u9a8c\u8bc1\u811a\u672c\u8bf4\u660e"
    },
    {
      "label": "1. \u7248\u672c\u51b2\u7a81\u68c0\u6d4b\uff08\u6784\u5efa\u524d\u8fd0\u884c\uff09",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L128",
      "id": "docker_docker_dependency_cache_scheme_1",
      "community": 18,
      "norm_label": "1. \u7248\u672c\u51b2\u7a81\u68c0\u6d4b(\u6784\u5efa\u524d\u8fd0\u884c)"
    },
    {
      "label": "code:bash (python scripts/check_version_conflict.py)",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L130",
      "id": "docker_docker_dependency_cache_scheme_codeblock_5",
      "community": 18,
      "norm_label": "code:bash (python scripts/check_version_conflict.py)"
    },
    {
      "label": "2. \u4f9d\u8d56\u6b63\u786e\u6027\u9a8c\u8bc1\uff08\u6784\u5efa\u540e\u8fd0\u884c\uff09",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L138",
      "id": "docker_docker_dependency_cache_scheme_2",
      "community": 18,
      "norm_label": "2. \u4f9d\u8d56\u6b63\u786e\u6027\u9a8c\u8bc1(\u6784\u5efa\u540e\u8fd0\u884c)"
    },
    {
      "label": "code:bash (docker run --rm --entrypoint /app/scripts/verify_dependencie)",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L140",
      "id": "docker_docker_dependency_cache_scheme_codeblock_6",
      "community": 18,
      "norm_label": "code:bash (docker run --rm --entrypoint /app/scripts/verify_dependencie)"
    },
    {
      "label": "\ud83c\udfc6 \u5ba1\u6838\u8bc4\u5206",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L151",
      "id": "docker_docker_dependency_cache_scheme_151",
      "community": 18,
      "norm_label": "\ud83c\udfc6 \u5ba1\u6838\u8bc4\u5206"
    },
    {
      "label": "\ud83d\udcdd \u66f4\u65b0\u8bb0\u5f55",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L162",
      "id": "docker_docker_dependency_cache_scheme_162",
      "community": 18,
      "norm_label": "\ud83d\udcdd \u66f4\u65b0\u8bb0\u5f55"
    },
    {
      "label": "\ud83c\udfaf \u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L170",
      "id": "docker_docker_dependency_cache_scheme_170",
      "community": 18,
      "norm_label": "\ud83c\udfaf \u603b\u7ed3"
    },
    {
      "label": "automated-backtest-service-design.md",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L1",
      "id": "research_docker_automated_backtest_service_design_md",
      "community": 1,
      "norm_label": "automated-backtest-service-design.md"
    },
    {
      "label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1\u8bbe\u8ba1\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L1",
      "id": "docker_automated_backtest_service_design",
      "community": 1,
      "norm_label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1\u8bbe\u8ba1\u65b9\u6848"
    },
    {
      "label": "\u9700\u6c42\u80cc\u666f",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L3",
      "id": "docker_automated_backtest_service_design_3",
      "community": 1,
      "norm_label": "\u9700\u6c42\u80cc\u666f"
    },
    {
      "label": "\u73b0\u6709\u73af\u5883\u57fa\u7840",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L11",
      "id": "docker_automated_backtest_service_design_11",
      "community": 1,
      "norm_label": "\u73b0\u6709\u73af\u5883\u57fa\u7840"
    },
    {
      "label": "\u8bbe\u8ba1\u539f\u5219",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L21",
      "id": "docker_automated_backtest_service_design_21",
      "community": 1,
      "norm_label": "\u8bbe\u8ba1\u539f\u5219"
    },
    {
      "label": "\u67b6\u6784\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L28",
      "id": "docker_automated_backtest_service_design_28",
      "community": 1,
      "norm_label": "\u67b6\u6784\u8bbe\u8ba1"
    },
    {
      "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L30",
      "id": "docker_automated_backtest_service_design_codeblock_1",
      "community": 1,
      "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)"
    },
    {
      "label": "\u7aef\u53e3\u5206\u914d",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L67",
      "id": "docker_automated_backtest_service_design_67",
      "community": 1,
      "norm_label": "\u7aef\u53e3\u5206\u914d"
    },
    {
      "label": "API \u63a5\u53e3\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L79",
      "id": "docker_automated_backtest_service_design_api",
      "community": 1,
      "norm_label": "api \u63a5\u53e3\u8bbe\u8ba1"
    },
    {
      "label": "1. \u63d0\u4ea4\u56de\u6d4b\u4efb\u52a1",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L81",
      "id": "docker_automated_backtest_service_design_1",
      "community": 1,
      "norm_label": "1. \u63d0\u4ea4\u56de\u6d4b\u4efb\u52a1"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L86",
      "id": "docker_automated_backtest_service_design_codeblock_2",
      "community": 1,
      "norm_label": "code:json ({)"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L102",
      "id": "docker_automated_backtest_service_design_codeblock_3",
      "community": 1,
      "norm_label": "code:json ({)"
    },
    {
      "label": "2. \u67e5\u8be2\u4efb\u52a1\u72b6\u6001",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L113",
      "id": "docker_automated_backtest_service_design_2",
      "community": 1,
      "norm_label": "2. \u67e5\u8be2\u4efb\u52a1\u72b6\u6001"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L118",
      "id": "docker_automated_backtest_service_design_codeblock_4",
      "community": 1,
      "norm_label": "code:json ({)"
    },
    {
      "label": "3. \u83b7\u53d6\u56de\u6d4b\u7ed3\u679c",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L131",
      "id": "docker_automated_backtest_service_design_3_131",
      "community": 1,
      "norm_label": "3. \u83b7\u53d6\u56de\u6d4b\u7ed3\u679c"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L136",
      "id": "docker_automated_backtest_service_design_codeblock_5",
      "community": 1,
      "norm_label": "code:json ({)"
    },
    {
      "label": "4. \u5217\u51fa\u6240\u6709\u4efb\u52a1",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L158",
      "id": "docker_automated_backtest_service_design_4",
      "community": 1,
      "norm_label": "4. \u5217\u51fa\u6240\u6709\u4efb\u52a1"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L163",
      "id": "docker_automated_backtest_service_design_codeblock_6",
      "community": 1,
      "norm_label": "code:json ({)"
    },
    {
      "label": "\u76ee\u5f55\u7ed3\u6784",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L180",
      "id": "docker_automated_backtest_service_design_180",
      "community": 1,
      "norm_label": "\u76ee\u5f55\u7ed3\u6784"
    },
    {
      "label": "code:block7 (/app/)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L182",
      "id": "docker_automated_backtest_service_design_codeblock_7",
      "community": 1,
      "norm_label": "code:block7 (/app/)"
    },
    {
      "label": "\u4efb\u52a1\u961f\u5217\u5b9e\u73b0",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L198",
      "id": "docker_automated_backtest_service_design_198",
      "community": 1,
      "norm_label": "\u4efb\u52a1\u961f\u5217\u5b9e\u73b0"
    },
    {
      "label": "code:python (# \u914d\u7f6e\u793a\u4f8b)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L202",
      "id": "docker_automated_backtest_service_design_codeblock_8",
      "community": 1,
      "norm_label": "code:python (# \u914d\u7f6e\u793a\u4f8b)"
    },
    {
      "label": "\u542f\u52a8\u65b9\u5f0f",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L209",
      "id": "docker_automated_backtest_service_design_209",
      "community": 1,
      "norm_label": "\u542f\u52a8\u65b9\u5f0f"
    },
    {
      "label": "\u624b\u52a8\u542f\u52a8\uff08\u5f00\u53d1\u73af\u5883\uff09",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L211",
      "id": "docker_automated_backtest_service_design_211",
      "community": 1,
      "norm_label": "\u624b\u52a8\u542f\u52a8(\u5f00\u53d1\u73af\u5883)"
    },
    {
      "label": "code:bash (ssh -p 2222 vnpy@192.168.2.153)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L213",
      "id": "docker_automated_backtest_service_design_codeblock_9",
      "community": 1,
      "norm_label": "code:bash (ssh -p 2222 vnpy@192.168.2.153)"
    },
    {
      "label": "\u540e\u53f0\u8fd0\u884c",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L219",
      "id": "docker_automated_backtest_service_design_219",
      "community": 1,
      "norm_label": "\u540e\u53f0\u8fd0\u884c"
    },
    {
      "label": "code:bash (nohup python main.py > backtest-service.log 2>&1 &)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L221",
      "id": "docker_automated_backtest_service_design_codeblock_10",
      "community": 1,
      "norm_label": "code:bash (nohup python main.py > backtest-service.log 2>&1 &)"
    },
    {
      "label": "\u540e\u7eed\u5b9e\u73b0\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L225",
      "id": "docker_automated_backtest_service_design_225",
      "community": 1,
      "norm_label": "\u540e\u7eed\u5b9e\u73b0\u6b65\u9aa4"
    },
    {
      "label": "\u53c2\u8003\u6587\u6863",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L235",
      "id": "docker_automated_backtest_service_design_235",
      "community": 1,
      "norm_label": "\u53c2\u8003\u6587\u6863"
    },
    {
      "label": "\u6210\u529f\u90e8\u7f72\u8bb0\u5f55 - 2026-04-12",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L248",
      "id": "docker_automated_backtest_service_design_2026_04_12",
      "community": 1,
      "norm_label": "\u6210\u529f\u90e8\u7f72\u8bb0\u5f55 - 2026-04-12"
    },
    {
      "label": "\u90e8\u7f72\u4fe1\u606f",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L250",
      "id": "docker_automated_backtest_service_design_250",
      "community": 1,
      "norm_label": "\u90e8\u7f72\u4fe1\u606f"
    },
    {
      "label": "\u6210\u529f\u90e8\u7f72\u7684\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L257",
      "id": "docker_automated_backtest_service_design_257",
      "community": 1,
      "norm_label": "\u6210\u529f\u90e8\u7f72\u7684\u670d\u52a1"
    },
    {
      "label": "\u5173\u952e\u4fee\u590d",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L269",
      "id": "docker_automated_backtest_service_design_269",
      "community": 1,
      "norm_label": "\u5173\u952e\u4fee\u590d"
    },
    {
      "label": "\u5bb9\u5668\u542f\u52a8\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L283",
      "id": "docker_automated_backtest_service_design_283",
      "community": 1,
      "norm_label": "\u5bb9\u5668\u542f\u52a8\u547d\u4ee4"
    },
    {
      "label": "code:bash (# \u505c\u6b62\u5e76\u5220\u9664\u65e7\u5bb9\u5668)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L285",
      "id": "docker_automated_backtest_service_design_codeblock_11",
      "community": 1,
      "norm_label": "code:bash (# \u505c\u6b62\u5e76\u5220\u9664\u65e7\u5bb9\u5668)"
    },
    {
      "label": "\u8d26\u53f7\u4fe1\u606f",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L303",
      "id": "docker_automated_backtest_service_design_303",
      "community": 1,
      "norm_label": "\u8d26\u53f7\u4fe1\u606f"
    },
    {
      "label": "\u9a8c\u8bc1\u7ed3\u679c",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L311",
      "id": "docker_automated_backtest_service_design_311",
      "community": 1,
      "norm_label": "\u9a8c\u8bc1\u7ed3\u679c"
    },
    {
      "label": "\u8bb0\u5f55\u4eba",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L318",
      "id": "docker_automated_backtest_service_design_318",
      "community": 1,
      "norm_label": "\u8bb0\u5f55\u4eba"
    },
    {
      "label": "\u5b9e\u65bd\u5b8c\u6210\u8bb0\u5f55 - 2026-04-12",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L325",
      "id": "docker_automated_backtest_service_design_2026_04_12_325",
      "community": 1,
      "norm_label": "\u5b9e\u65bd\u5b8c\u6210\u8bb0\u5f55 - 2026-04-12"
    },
    {
      "label": "\u5df2\u5b8c\u6210\u5de5\u4f5c",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L327",
      "id": "docker_automated_backtest_service_design_327",
      "community": 1,
      "norm_label": "\u5df2\u5b8c\u6210\u5de5\u4f5c"
    },
    {
      "label": "1. Dockerfile \u66f4\u65b0",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L329",
      "id": "docker_automated_backtest_service_design_1_dockerfile",
      "community": 1,
      "norm_label": "1. dockerfile \u66f4\u65b0"
    },
    {
      "label": "2. \u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1\u4ee3\u7801\u5b9e\u73b0",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L334",
      "id": "docker_automated_backtest_service_design_2_334",
      "community": 1,
      "norm_label": "2. \u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1\u4ee3\u7801\u5b9e\u73b0"
    },
    {
      "label": "code:block12 (/app/scripts/backtest-service/)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L336",
      "id": "docker_automated_backtest_service_design_codeblock_12",
      "community": 1,
      "norm_label": "code:block12 (/app/scripts/backtest-service/)"
    },
    {
      "label": "3. \u51c6\u5907\u597d\u5404\u4e2a\u670d\u52a1\u542f\u52a8\u811a\u672c",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L355",
      "id": "docker_automated_backtest_service_design_3_355",
      "community": 1,
      "norm_label": "3. \u51c6\u5907\u597d\u5404\u4e2a\u670d\u52a1\u542f\u52a8\u811a\u672c"
    },
    {
      "label": "code:block13 (/app/scripts/)",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L356",
      "id": "docker_automated_backtest_service_design_codeblock_13",
      "community": 1,
      "norm_label": "code:block13 (/app/scripts/)"
    },
    {
      "label": "\u5f53\u524d\u4ee3\u7801\u7ed3\u6784\u786e\u8ba4",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L368",
      "id": "docker_automated_backtest_service_design_368",
      "community": 1,
      "norm_label": "\u5f53\u524d\u4ee3\u7801\u7ed3\u6784\u786e\u8ba4"
    },
    {
      "label": "\u5f85\u6267\u884c",
      "file_type": "document",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L384",
      "id": "docker_automated_backtest_service_design_384",
      "community": 1,
      "norm_label": "\u5f85\u6267\u884c"
    },
    {
      "label": "NAS\u5feb\u901f\u53c2\u8003.md",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L1",
      "id": "research_nas_nas_md",
      "community": 26,
      "norm_label": "nas\u5feb\u901f\u53c2\u8003.md"
    },
    {
      "label": "Mac mini\u5916\u63a5\u5c40\u57df\u7f51NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1",
      "id": "nas_nas_mac_mini_nas",
      "community": 26,
      "norm_label": "mac mini\u5916\u63a5\u5c40\u57df\u7f51nas\u5b58\u50a8\u8c03\u7814\u62a5\u544a"
    },
    {
      "label": "\u4e00\u6b65\u90e8\u7f72\uff08\u53ea\u9700\u4e00\u6b21\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L3",
      "id": "nas_nas",
      "community": 57,
      "norm_label": "\u4e00\u6b65\u90e8\u7f72(\u53ea\u9700\u4e00\u6b21)"
    },
    {
      "label": "\u4e8c\u3001\u53ef\u884c\u6027\u5206\u6790",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L11",
      "id": "nas_nas_11",
      "community": 26,
      "norm_label": "\u4e8c\u3001\u53ef\u884c\u6027\u5206\u6790"
    },
    {
      "label": "2.1 \u6280\u672f\u53ef\u884c\u6027\uff1a\u5b8c\u5168\u53ef\u884c",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L13",
      "id": "nas_nas_2_1",
      "community": 26,
      "norm_label": "2.1 \u6280\u672f\u53ef\u884c\u6027:\u5b8c\u5168\u53ef\u884c"
    },
    {
      "label": "\u4e09\u3001\u6027\u80fd\u9700\u6c42\u8bc4\u4f30",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L28",
      "id": "nas_nas_28",
      "community": 26,
      "norm_label": "\u4e09\u3001\u6027\u80fd\u9700\u6c42\u8bc4\u4f30"
    },
    {
      "label": "3.1 \u91cf\u5316\u56de\u6d4b\u5bf9\u5b58\u50a8\u7684\u9700\u6c42",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L30",
      "id": "nas_nas_3_1",
      "community": 26,
      "norm_label": "3.1 \u91cf\u5316\u56de\u6d4b\u5bf9\u5b58\u50a8\u7684\u9700\u6c42"
    },
    {
      "label": "3.2 \u7f51\u7edc\u6027\u80fd\u8bc4\u4f30",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L38",
      "id": "nas_nas_3_2",
      "community": 26,
      "norm_label": "3.2 \u7f51\u7edc\u6027\u80fd\u8bc4\u4f30"
    },
    {
      "label": "\u56db\u3001\u6302\u8f7d\u534f\u8bae\u9009\u62e9",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L51",
      "id": "nas_nas_51",
      "community": 172,
      "norm_label": "\u56db\u3001\u6302\u8f7d\u534f\u8bae\u9009\u62e9"
    },
    {
      "label": "4.1 \u5404\u534f\u8bae\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L53",
      "id": "nas_nas_4_1",
      "community": 172,
      "norm_label": "4.1 \u5404\u534f\u8bae\u5bf9\u6bd4"
    },
    {
      "label": "4.2 \u63a8\u8350\u65b9\u6848\uff1aSMB\u534f\u8bae",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L61",
      "id": "nas_nas_4_2_smb",
      "community": 172,
      "norm_label": "4.2 \u63a8\u8350\u65b9\u6848:smb\u534f\u8bae"
    },
    {
      "label": "\u4e94\u3001\u5177\u4f53\u65b9\u6848\u4e0e\u64cd\u4f5c\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L71",
      "id": "nas_nas_71",
      "community": 26,
      "norm_label": "\u4e94\u3001\u5177\u4f53\u65b9\u6848\u4e0e\u64cd\u4f5c\u6b65\u9aa4"
    },
    {
      "label": "5.1 \u65b9\u6848\u4e00\uff1a\u57fa\u7840\u65b9\u6848\uff08\u5343\u5146\u7f51\u7edc\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L73",
      "id": "nas_nas_5_1",
      "community": 26,
      "norm_label": "5.1 \u65b9\u6848\u4e00:\u57fa\u7840\u65b9\u6848(\u5343\u5146\u7f51\u7edc)"
    },
    {
      "label": "5.2 \u65b9\u6848\u4e8c\uff1a\u9ad8\u6027\u80fd\u65b9\u6848\uff08\u4e07\u5146\u7f51\u7edc\uff09\u2b50\u63a8\u8350",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L84",
      "id": "nas_nas_5_2",
      "community": 26,
      "norm_label": "5.2 \u65b9\u6848\u4e8c:\u9ad8\u6027\u80fd\u65b9\u6848(\u4e07\u5146\u7f51\u7edc)\u2b50\u63a8\u8350"
    },
    {
      "label": "\u516d\u3001Mac mini\u6302\u8f7dNAS\u8be6\u7ec6\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L99",
      "id": "nas_nas_mac_mini_nas_99",
      "community": 57,
      "norm_label": "\u516d\u3001mac mini\u6302\u8f7dnas\u8be6\u7ec6\u6b65\u9aa4"
    },
    {
      "label": "6.1 \u65b9\u6cd5\u4e00\uff1aFinder\u624b\u52a8\u6302\u8f7d\uff08\u4e34\u65f6\u4f7f\u7528\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L101",
      "id": "nas_nas_6_1_finder",
      "community": 57,
      "norm_label": "6.1 \u65b9\u6cd5\u4e00:finder\u624b\u52a8\u6302\u8f7d(\u4e34\u65f6\u4f7f\u7528)"
    },
    {
      "label": "6.2 \u65b9\u6cd5\u4e8c\uff1a\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\uff08\u63a8\u8350\uff09\u2b50",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L109",
      "id": "nas_nas_6_2",
      "community": 57,
      "norm_label": "6.2 \u65b9\u6cd5\u4e8c:\u5f00\u673a\u81ea\u52a8\u6302\u8f7d(\u63a8\u8350)\u2b50"
    },
    {
      "label": "\u65b9\u6848A\uff1a\u4f7f\u7528\u81ea\u52a8\u64cd\u4f5c\uff08Automator\uff09- \u6700\u7b80\u5355",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L111",
      "id": "nas_nas_a_automator",
      "community": 57,
      "norm_label": "\u65b9\u6848a:\u4f7f\u7528\u81ea\u52a8\u64cd\u4f5c(automator)- \u6700\u7b80\u5355"
    },
    {
      "label": "code:bash (cd /Users/chufeng/.openclaw/workspace-jiangwei)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L5",
      "id": "nas_nas_codeblock_1",
      "community": 57,
      "norm_label": "code:bash (cd /users/chufeng/.openclaw/workspace-jiangwei)"
    },
    {
      "label": "\u65b9\u6848B\uff1a\u4f7f\u7528autofs\uff08\u66f4\u7a33\u5b9a\uff0c\u63a8\u8350\u7528\u4e8e\u670d\u52a1\u5668\u73af\u5883\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L128",
      "id": "nas_nas_b_autofs",
      "community": 52,
      "norm_label": "\u65b9\u6848b:\u4f7f\u7528autofs(\u66f4\u7a33\u5b9a,\u63a8\u8350\u7528\u4e8e\u670d\u52a1\u5668\u73af\u5883)"
    },
    {
      "label": "code:applescript (tell application \"Finder\")",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L53",
      "id": "nas_nas_codeblock_2",
      "community": 99,
      "norm_label": "code:applescript (tell application \"finder\")"
    },
    {
      "label": "code:block3 (/Volumes/stock/)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L74",
      "id": "nas_nas_codeblock_3",
      "community": 129,
      "norm_label": "code:block3 (/volumes/stock/)"
    },
    {
      "label": "code:bash (# \u68c0\u67e5\u6302\u8f7d\u70b9)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L97",
      "id": "nas_nas_codeblock_4",
      "community": 40,
      "norm_label": "code:bash (# \u68c0\u67e5\u6302\u8f7d\u70b9)"
    },
    {
      "label": "code:bash (# \u67e5\u770b\u6302\u8f7d\u7684\u5377)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L117",
      "id": "nas_nas_codeblock_5",
      "community": 52,
      "norm_label": "code:bash (# \u67e5\u770b\u6302\u8f7d\u7684\u5377)"
    },
    {
      "label": "code:block6 ([2026-03-27 23:00:00] \u5f00\u59cb\u6302\u8f7d NAS...)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L151",
      "id": "nas_nas_codeblock_6",
      "community": 52,
      "norm_label": "code:block6 ([2026-03-27 23:00:00] \u5f00\u59cb\u6302\u8f7d nas...)"
    },
    {
      "label": "\u4e03\u3001\u6027\u80fd\u4f18\u5316\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L158",
      "id": "nas_nas_158",
      "community": 52,
      "norm_label": "\u4e03\u3001\u6027\u80fd\u4f18\u5316\u5efa\u8bae"
    },
    {
      "label": "7.1 macOS SMB\u6027\u80fd\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L160",
      "id": "nas_nas_7_1_macos_smb",
      "community": 52,
      "norm_label": "7.1 macos smb\u6027\u80fd\u4f18\u5316"
    },
    {
      "label": "code:bash (./nas_manager.sh follow)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L162",
      "id": "nas_nas_codeblock_7",
      "community": 52,
      "norm_label": "code:bash (./nas_manager.sh follow)"
    },
    {
      "label": "7.2 NAS\u7aef\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L175",
      "id": "nas_nas_7_2_nas",
      "community": 52,
      "norm_label": "7.2 nas\u7aef\u4f18\u5316"
    },
    {
      "label": "\u516b\u3001\u7a33\u5b9a\u6027\u8bc4\u4f30",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L184",
      "id": "nas_nas_184",
      "community": 26,
      "norm_label": "\u516b\u3001\u7a33\u5b9a\u6027\u8bc4\u4f30"
    },
    {
      "label": "8.1 \u53ef\u9760\u6027\u4fdd\u969c",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L186",
      "id": "nas_nas_8_1",
      "community": 26,
      "norm_label": "8.1 \u53ef\u9760\u6027\u4fdd\u969c"
    },
    {
      "label": "8.2 \u5df2\u77e5\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L203",
      "id": "nas_nas_8_2",
      "community": 26,
      "norm_label": "8.2 \u5df2\u77e5\u95ee\u9898\u4e0e\u89e3\u51b3\u65b9\u6848"
    },
    {
      "label": "\u4e5d\u3001\u6210\u672c\u4f30\u7b97\uff08\u53c2\u8003\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L213",
      "id": "nas_nas_213",
      "community": 26,
      "norm_label": "\u4e5d\u3001\u6210\u672c\u4f30\u7b97(\u53c2\u8003)"
    },
    {
      "label": "\u65b9\u6848\u4e00\uff1a\u57fa\u7840\u7248\uff08\u5343\u5146\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L215",
      "id": "nas_nas_215",
      "community": 26,
      "norm_label": "\u65b9\u6848\u4e00:\u57fa\u7840\u7248(\u5343\u5146)"
    },
    {
      "label": "\u65b9\u6848\u4e8c\uff1a\u9ad8\u6027\u80fd\u7248\uff08\u4e07\u5146\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L221",
      "id": "nas_nas_221",
      "community": 26,
      "norm_label": "\u65b9\u6848\u4e8c:\u9ad8\u6027\u80fd\u7248(\u4e07\u5146)"
    },
    {
      "label": "\u5341\u3001\u7ed3\u8bba\u4e0e\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L230",
      "id": "nas_nas_230",
      "community": 26,
      "norm_label": "\u5341\u3001\u7ed3\u8bba\u4e0e\u5efa\u8bae"
    },
    {
      "label": "10.1 \u53ef\u884c\u6027\u7ed3\u8bba\uff1a\u2705 \u5b8c\u5168\u53ef\u884c",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L232",
      "id": "nas_nas_10_1",
      "community": 26,
      "norm_label": "10.1 \u53ef\u884c\u6027\u7ed3\u8bba:\u2705 \u5b8c\u5168\u53ef\u884c"
    },
    {
      "label": "10.2 \u63a8\u8350\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L236",
      "id": "nas_nas_10_2",
      "community": 26,
      "norm_label": "10.2 \u63a8\u8350\u65b9\u6848"
    },
    {
      "label": "10.3 \u64cd\u4f5c\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L248",
      "id": "nas_nas_10_3",
      "community": 26,
      "norm_label": "10.3 \u64cd\u4f5c\u5efa\u8bae"
    },
    {
      "label": "\u5341\u4e00\u3001\u53c2\u8003\u8d44\u6599",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L258",
      "id": "nas_nas_258",
      "community": 26,
      "norm_label": "\u5341\u4e00\u3001\u53c2\u8003\u8d44\u6599"
    },
    {
      "label": "\ud83d\ude80 NAS \u5feb\u901f\u53c2\u8003\u5361",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L1",
      "id": "nas_nas_nas",
      "community": 40,
      "norm_label": "\ud83d\ude80 nas \u5feb\u901f\u53c2\u8003\u5361"
    },
    {
      "label": "\ud83d\ude80 \u5feb\u901f\u5f00\u59cb",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L16",
      "id": "nas_nas_16",
      "community": 57,
      "norm_label": "\ud83d\ude80 \u5feb\u901f\u5f00\u59cb"
    },
    {
      "label": "\u4e00\u6b65\u90e8\u7f72\uff08\u63a8\u8350\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L18",
      "id": "nas_nas_18",
      "community": 57,
      "norm_label": "\u4e00\u6b65\u90e8\u7f72(\u63a8\u8350)"
    },
    {
      "label": "\ud83d\udee0\ufe0f \u7ba1\u7406\u5de5\u5177",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L37",
      "id": "nas_nas_37",
      "community": 99,
      "norm_label": "\ud83d\udee0\ufe0f \u7ba1\u7406\u5de5\u5177"
    },
    {
      "label": "\ud83d\udcc1 \u6587\u4ef6\u8bf4\u660e",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L54",
      "id": "nas_nas_54",
      "community": 40,
      "norm_label": "\ud83d\udcc1 \u6587\u4ef6\u8bf4\u660e"
    },
    {
      "label": "\ud83d\udd27 \u6280\u672f\u539f\u7406",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L66",
      "id": "nas_nas_66",
      "community": 129,
      "norm_label": "\ud83d\udd27 \u6280\u672f\u539f\u7406"
    },
    {
      "label": "\u67b6\u6784\u56fe",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L68",
      "id": "nas_nas_68",
      "community": 129,
      "norm_label": "\u67b6\u6784\u56fe"
    },
    {
      "label": "Launch Daemon \u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L99",
      "id": "nas_nas_launch_daemon",
      "community": 129,
      "norm_label": "launch daemon \u914d\u7f6e"
    },
    {
      "label": "\ud83d\udcca \u72b6\u6001\u68c0\u67e5\u793a\u4f8b",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L108",
      "id": "nas_nas_108",
      "community": 40,
      "norm_label": "\ud83d\udcca \u72b6\u6001\u68c0\u67e5\u793a\u4f8b"
    },
    {
      "label": "\ud83d\udd0d \u65e5\u5fd7\u67e5\u770b",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L142",
      "id": "nas_nas_142",
      "community": 52,
      "norm_label": "\ud83d\udd0d \u65e5\u5fd7\u67e5\u770b"
    },
    {
      "label": "\u67e5\u770b\u6700\u8fd1\u65e5\u5fd7",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L144",
      "id": "nas_nas_144",
      "community": 52,
      "norm_label": "\u67e5\u770b\u6700\u8fd1\u65e5\u5fd7"
    },
    {
      "label": "\u5b9e\u65f6\u8ddf\u8e2a\u65e5\u5fd7",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L160",
      "id": "nas_nas_160",
      "community": 52,
      "norm_label": "\u5b9e\u65f6\u8ddf\u8e2a\u65e5\u5fd7"
    },
    {
      "label": "\ud83d\udee1\ufe0f \u6545\u969c\u6392\u67e5",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L170",
      "id": "nas_nas_170",
      "community": 70,
      "norm_label": "\ud83d\udee1\ufe0f \u6545\u969c\u6392\u67e5"
    },
    {
      "label": "\u65b9\u6cd51\uff1a\u4f7f\u7528\u767b\u5f55\u9879\uff08\u6700\u7b80\u5355\uff09\u2b50",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L37",
      "id": "nas_nas_1",
      "community": 99,
      "norm_label": "\u65b9\u6cd51:\u4f7f\u7528\u767b\u5f55\u9879(\u6700\u7b80\u5355)\u2b50"
    },
    {
      "label": "code:bash (# 1. \u67e5\u770b\u72b6\u6001)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L175",
      "id": "nas_nas_codeblock_8",
      "community": 99,
      "norm_label": "code:bash (# 1. \u67e5\u770b\u72b6\u6001)"
    },
    {
      "label": "\u95ee\u98982: Launch Daemon \u672a\u8fd0\u884c",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L186",
      "id": "nas_nas_2_launch_daemon",
      "community": 70,
      "norm_label": "\u95ee\u98982: launch daemon \u672a\u8fd0\u884c"
    },
    {
      "label": "code:bash (./nas_manager.sh restart)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L189",
      "id": "nas_nas_codeblock_9",
      "community": 70,
      "norm_label": "code:bash (./nas_manager.sh restart)"
    },
    {
      "label": "\u95ee\u98983\uff1a\u7761\u7720\u540e\u65ad\u5f00",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L146",
      "id": "nas_nas_3",
      "community": 70,
      "norm_label": "\u95ee\u98983:\u7761\u7720\u540e\u65ad\u5f00"
    },
    {
      "label": "code:bash (./nas_manager.sh restart)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L198",
      "id": "nas_nas_codeblock_10",
      "community": 70,
      "norm_label": "code:bash (./nas_manager.sh restart)"
    },
    {
      "label": "\u2699\ufe0f \u9ad8\u7ea7\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L204",
      "id": "nas_nas_204",
      "community": 100,
      "norm_label": "\u2699\ufe0f \u9ad8\u7ea7\u914d\u7f6e"
    },
    {
      "label": "\u4fee\u6539\u68c0\u67e5\u95f4\u9694",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L206",
      "id": "nas_nas_206",
      "community": 100,
      "norm_label": "\u4fee\u6539\u68c0\u67e5\u95f4\u9694"
    },
    {
      "label": "code:xml (<key>StartInterval</key>)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L210",
      "id": "nas_nas_codeblock_11",
      "community": 100,
      "norm_label": "code:xml (<key>startinterval</key>)"
    },
    {
      "label": "code:bash (sudo launchctl unload /Library/LaunchDaemons/com.user.nasmou)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L216",
      "id": "nas_nas_codeblock_12",
      "community": 100,
      "norm_label": "code:bash (sudo launchctl unload /library/launchdaemons/com.user.nasmou)"
    },
    {
      "label": "\u4fee\u6539 NAS \u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L221",
      "id": "nas_nas_nas_221",
      "community": 100,
      "norm_label": "\u4fee\u6539 nas \u914d\u7f6e"
    },
    {
      "label": "code:bash (NAS_IP=\"192.168.2.154\")",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L225",
      "id": "nas_nas_codeblock_13",
      "community": 100,
      "norm_label": "code:bash (nas_ip=\"192.168.2.154\")"
    },
    {
      "label": "\ud83d\udccb \u76ee\u5f55\u7ed3\u6784",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L235",
      "id": "nas_nas_235",
      "community": 40,
      "norm_label": "\ud83d\udccb \u76ee\u5f55\u7ed3\u6784"
    },
    {
      "label": "code:block14 (/Users/chufeng/nas/stock/)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L239",
      "id": "nas_nas_codeblock_14",
      "community": 40,
      "norm_label": "code:block14 (/users/chufeng/nas/stock/)"
    },
    {
      "label": "\ud83c\udfaf \u5b8c\u6574\u4f7f\u7528\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L259",
      "id": "nas_nas_259",
      "community": 80,
      "norm_label": "\ud83c\udfaf \u5b8c\u6574\u4f7f\u7528\u6d41\u7a0b"
    },
    {
      "label": "\u7b2c\u4e00\u6b21\u90e8\u7f72",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L261",
      "id": "nas_nas_261",
      "community": 80,
      "norm_label": "\u7b2c\u4e00\u6b21\u90e8\u7f72"
    },
    {
      "label": "code:bash (# 1. \u8fdb\u5165\u5de5\u4f5c\u76ee\u5f55)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L263",
      "id": "nas_nas_codeblock_15",
      "community": 80,
      "norm_label": "code:bash (# 1. \u8fdb\u5165\u5de5\u4f5c\u76ee\u5f55)"
    },
    {
      "label": "\u65e5\u5e38\u4f7f\u7528",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L274",
      "id": "nas_nas_274",
      "community": 80,
      "norm_label": "\u65e5\u5e38\u4f7f\u7528"
    },
    {
      "label": "code:bash (# \u67e5\u770b\u72b6\u6001)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L276",
      "id": "nas_nas_codeblock_16",
      "community": 80,
      "norm_label": "code:bash (# \u67e5\u770b\u72b6\u6001)"
    },
    {
      "label": "\u5982\u9700\u624b\u52a8\u5e72\u9884",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L287",
      "id": "nas_nas_287",
      "community": 80,
      "norm_label": "\u5982\u9700\u624b\u52a8\u5e72\u9884"
    },
    {
      "label": "code:bash (# \u624b\u52a8\u6302\u8f7d)",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L289",
      "id": "nas_nas_codeblock_17",
      "community": 80,
      "norm_label": "code:bash (# \u624b\u52a8\u6302\u8f7d)"
    },
    {
      "label": "\u2705 \u9a8c\u6536\u6e05\u5355",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L302",
      "id": "nas_nas_302",
      "community": 40,
      "norm_label": "\u2705 \u9a8c\u6536\u6e05\u5355"
    },
    {
      "label": "\ud83d\udcde \u83b7\u53d6\u5e2e\u52a9",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L314",
      "id": "nas_nas_314",
      "community": 40,
      "norm_label": "\ud83d\udcde \u83b7\u53d6\u5e2e\u52a9"
    },
    {
      "label": "quant_trading_cloud_plan.md",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L1",
      "id": "research_nas_quant_trading_cloud_plan_md",
      "community": 51,
      "norm_label": "quant_trading_cloud_plan.md"
    },
    {
      "label": "\u91cf\u5316\u4ea4\u6613\u7cfb\u7edf\u963f\u91cc\u4e91\u9ad8\u6027\u4ef7\u6bd4\u90e8\u7f72\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L1",
      "id": "nas_quant_trading_cloud_plan",
      "community": 51,
      "norm_label": "\u91cf\u5316\u4ea4\u6613\u7cfb\u7edf\u963f\u91cc\u4e91\u9ad8\u6027\u4ef7\u6bd4\u90e8\u7f72\u65b9\u6848"
    },
    {
      "label": "\u4e00\u3001\u7cfb\u7edf\u6838\u5fc3\u7ec4\u4ef6",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L3",
      "id": "nas_quant_trading_cloud_plan_3",
      "community": 51,
      "norm_label": "\u4e00\u3001\u7cfb\u7edf\u6838\u5fc3\u7ec4\u4ef6"
    },
    {
      "label": "\u65b9\u6848\u96f6\uff1aVNPY \u6781\u7b80\u90e8\u7f72\u65b9\u6848\uff08\u6a21\u62df/\u5b9e\u76d8\u4ea4\u6613\uff09",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L18",
      "id": "nas_quant_trading_cloud_plan_vnpy",
      "community": 51,
      "norm_label": "\u65b9\u6848\u96f6:vnpy \u6781\u7b80\u90e8\u7f72\u65b9\u6848(\u6a21\u62df/\u5b9e\u76d8\u4ea4\u6613)"
    },
    {
      "label": "\u90e8\u7f72\u8981\u70b9\uff1a",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L35",
      "id": "nas_quant_trading_cloud_plan_35",
      "community": 51,
      "norm_label": "\u90e8\u7f72\u8981\u70b9:"
    },
    {
      "label": "\u4e8c\u3001\u9ad8\u6027\u4ef7\u6bd4\u65b9\u6848\u5bf9\u6bd4\uff08\u6309\u5e74\u8ba1\u7b97\uff09",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L47",
      "id": "nas_quant_trading_cloud_plan_47",
      "community": 51,
      "norm_label": "\u4e8c\u3001\u9ad8\u6027\u4ef7\u6bd4\u65b9\u6848\u5bf9\u6bd4(\u6309\u5e74\u8ba1\u7b97)"
    },
    {
      "label": "\u65b9\u6848\u4e00\uff1a\u5165\u95e8\u7ea7\uff08\u9002\u5408\u4e2a\u4eba/\u5c0f\u56e2\u961f\u7b56\u7565\u9a8c\u8bc1\uff09",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L49",
      "id": "nas_quant_trading_cloud_plan_49",
      "community": 51,
      "norm_label": "\u65b9\u6848\u4e00:\u5165\u95e8\u7ea7(\u9002\u5408\u4e2a\u4eba/\u5c0f\u56e2\u961f\u7b56\u7565\u9a8c\u8bc1)"
    },
    {
      "label": "\u65b9\u6848\u4e8c\uff1a\u6807\u51c6\u7ea7\uff08\u9002\u5408\u7a33\u5b9a\u8fd0\u884c\u7684\u5b9e\u76d8\u7b56\u7565\uff09",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L63",
      "id": "nas_quant_trading_cloud_plan_63",
      "community": 51,
      "norm_label": "\u65b9\u6848\u4e8c:\u6807\u51c6\u7ea7(\u9002\u5408\u7a33\u5b9a\u8fd0\u884c\u7684\u5b9e\u76d8\u7b56\u7565)"
    },
    {
      "label": "\u65b9\u6848\u4e09\uff1a\u65d7\u8230\u7ea7\uff08\u9002\u5408\u591a\u7b56\u7565\u3001\u9ad8\u9891\u4ea4\u6613\uff09",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L78",
      "id": "nas_quant_trading_cloud_plan_78",
      "community": 51,
      "norm_label": "\u65b9\u6848\u4e09:\u65d7\u8230\u7ea7(\u9002\u5408\u591a\u7b56\u7565\u3001\u9ad8\u9891\u4ea4\u6613)"
    },
    {
      "label": "\u4e09\u3001\u6210\u672c\u4f18\u5316\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L93",
      "id": "nas_quant_trading_cloud_plan_93",
      "community": 51,
      "norm_label": "\u4e09\u3001\u6210\u672c\u4f18\u5316\u5efa\u8bae"
    },
    {
      "label": "\u56db\u3001\u65b9\u6848\u9009\u62e9\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L113",
      "id": "nas_quant_trading_cloud_plan_113",
      "community": 51,
      "norm_label": "\u56db\u3001\u65b9\u6848\u9009\u62e9\u5efa\u8bae"
    },
    {
      "label": "sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1",
      "id": "research_nas_sanguo_vnpy_docker_md",
      "community": 64,
      "norm_label": "sanguo_vnpy\u7fa4\u6656docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md"
    },
    {
      "label": "sanguo_vnpy\u7fa4\u6656NAS Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1",
      "id": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "community": 64,
      "norm_label": "sanguo_vnpy\u7fa4\u6656nas docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a"
    },
    {
      "label": "\u4e00\u3001\u65b9\u6848\u6574\u4f53\u53ef\u884c\u6027\u5206\u6790",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L3",
      "id": "nas_sanguo_vnpy_docker",
      "community": 97,
      "norm_label": "\u4e00\u3001\u65b9\u6848\u6574\u4f53\u53ef\u884c\u6027\u5206\u6790"
    },
    {
      "label": "1.1 \u6280\u672f\u53ef\u884c\u6027\uff1a\u2705 \u5b8c\u5168\u53ef\u884c",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L5",
      "id": "nas_sanguo_vnpy_docker_1_1",
      "community": 97,
      "norm_label": "1.1 \u6280\u672f\u53ef\u884c\u6027:\u2705 \u5b8c\u5168\u53ef\u884c"
    },
    {
      "label": "1.2 \u65b0\u67b6\u6784\u8bbe\u8ba1\uff1a\u5b8c\u5168\u8fc1\u79fb\u5230NAS",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L26",
      "id": "nas_sanguo_vnpy_docker_1_2_nas",
      "community": 97,
      "norm_label": "1.2 \u65b0\u67b6\u6784\u8bbe\u8ba1:\u5b8c\u5168\u8fc1\u79fb\u5230nas"
    },
    {
      "label": "\u67b6\u6784\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L28",
      "id": "nas_sanguo_vnpy_docker_28",
      "community": 97,
      "norm_label": "\u67b6\u6784\u5bf9\u6bd4"
    },
    {
      "label": "\u65b0\u67b6\u6784\u4f18\u52bf",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L39",
      "id": "nas_sanguo_vnpy_docker_39",
      "community": 97,
      "norm_label": "\u65b0\u67b6\u6784\u4f18\u52bf"
    },
    {
      "label": "1.3 \u9002\u7528\u573a\u666f",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L61",
      "id": "nas_sanguo_vnpy_docker_1_3",
      "community": 97,
      "norm_label": "1.3 \u9002\u7528\u573a\u666f"
    },
    {
      "label": "\u4e8c\u3001\u5b8c\u6574\u90e8\u7f72\u65b9\u6848\u8be6\u89e3",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L73",
      "id": "nas_sanguo_vnpy_docker_73",
      "community": 23,
      "norm_label": "\u4e8c\u3001\u5b8c\u6574\u90e8\u7f72\u65b9\u6848\u8be6\u89e3"
    },
    {
      "label": "2.1 \u6574\u4f53\u67b6\u6784\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L75",
      "id": "nas_sanguo_vnpy_docker_2_1",
      "community": 23,
      "norm_label": "2.1 \u6574\u4f53\u67b6\u6784\u8bbe\u8ba1"
    },
    {
      "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L77",
      "id": "nas_sanguo_vnpy_docker_codeblock_1",
      "community": 23,
      "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)"
    },
    {
      "label": "2.2 NAS\u7aef\u90e8\u7f72\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L117",
      "id": "nas_sanguo_vnpy_docker_2_2_nas",
      "community": 23,
      "norm_label": "2.2 nas\u7aef\u90e8\u7f72\u6b65\u9aa4"
    },
    {
      "label": "\u6b65\u9aa41\uff1a\u51c6\u5907NAS\u5b58\u50a8\u76ee\u5f55",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L119",
      "id": "nas_sanguo_vnpy_docker_1_nas",
      "community": 23,
      "norm_label": "\u6b65\u9aa41:\u51c6\u5907nas\u5b58\u50a8\u76ee\u5f55"
    },
    {
      "label": "code:block2 (/volume1/)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L123",
      "id": "nas_sanguo_vnpy_docker_codeblock_2",
      "community": 23,
      "norm_label": "code:block2 (/volume1/)"
    },
    {
      "label": "code:bash (# \u6570\u636e\u76ee\u5f55)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L152",
      "id": "nas_sanguo_vnpy_docker_codeblock_3",
      "community": 23,
      "norm_label": "code:bash (# \u6570\u636e\u76ee\u5f55)"
    },
    {
      "label": "\u6b65\u9aa42\uff1a\u51c6\u5907Docker\u914d\u7f6e\u6587\u4ef6",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L164",
      "id": "nas_sanguo_vnpy_docker_2_docker",
      "community": 23,
      "norm_label": "\u6b65\u9aa42:\u51c6\u5907docker\u914d\u7f6e\u6587\u4ef6"
    },
    {
      "label": "\u6b65\u9aa43\uff1a\u90e8\u7f72Docker\u5bb9\u5668",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L178",
      "id": "nas_sanguo_vnpy_docker_3_docker",
      "community": 23,
      "norm_label": "\u6b65\u9aa43:\u90e8\u7f72docker\u5bb9\u5668"
    },
    {
      "label": "code:bash (# \u8fdb\u5165\u9879\u76ee\u76ee\u5f55)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L180",
      "id": "nas_sanguo_vnpy_docker_codeblock_4",
      "community": 23,
      "norm_label": "code:bash (# \u8fdb\u5165\u9879\u76ee\u76ee\u5f55)"
    },
    {
      "label": "2.3 \u6570\u636e\u8fc1\u79fb\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L194",
      "id": "nas_sanguo_vnpy_docker_2_3",
      "community": 23,
      "norm_label": "2.3 \u6570\u636e\u8fc1\u79fb\u65b9\u6848"
    },
    {
      "label": "\u6570\u636e\u8fc1\u79fb\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L196",
      "id": "nas_sanguo_vnpy_docker_196",
      "community": 23,
      "norm_label": "\u6570\u636e\u8fc1\u79fb\u6b65\u9aa4"
    },
    {
      "label": "code:bash (# \u5047\u8bbeMac mini\u4e0a\u7684\u6570\u636e\u5728 ~/stock/ \u76ee\u5f55\u4e0b)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L202",
      "id": "nas_sanguo_vnpy_docker_codeblock_5",
      "community": 23,
      "norm_label": "code:bash (# \u5047\u8bbemac mini\u4e0a\u7684\u6570\u636e\u5728 ~/stock/ \u76ee\u5f55\u4e0b)"
    },
    {
      "label": "code:bash (# \u68c0\u67e5\u6587\u4ef6\u6570\u91cf)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L208",
      "id": "nas_sanguo_vnpy_docker_codeblock_6",
      "community": 23,
      "norm_label": "code:bash (# \u68c0\u67e5\u6587\u4ef6\u6570\u91cf)"
    },
    {
      "label": "code:bash (# \u5907\u4efd\u540e\u5220\u9664)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L219",
      "id": "nas_sanguo_vnpy_docker_codeblock_7",
      "community": 23,
      "norm_label": "code:bash (# \u5907\u4efd\u540e\u5220\u9664)"
    },
    {
      "label": "2.4 Mac mini\u7aef\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L226",
      "id": "nas_sanguo_vnpy_docker_2_4_mac_mini",
      "community": 23,
      "norm_label": "2.4 mac mini\u7aef\u914d\u7f6e"
    },
    {
      "label": "\u8bbf\u95ee\u65b9\u5f0f\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L228",
      "id": "nas_sanguo_vnpy_docker_228",
      "community": 23,
      "norm_label": "\u8bbf\u95ee\u65b9\u5f0f\u914d\u7f6e"
    },
    {
      "label": "\u6d4f\u89c8\u5668\u4e66\u7b7e\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L246",
      "id": "nas_sanguo_vnpy_docker_246",
      "community": 23,
      "norm_label": "\u6d4f\u89c8\u5668\u4e66\u7b7e\u914d\u7f6e"
    },
    {
      "label": "code:block8 (\u91cf\u5316\u5de5\u4f5c\u53f0)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L250",
      "id": "nas_sanguo_vnpy_docker_codeblock_8",
      "community": 23,
      "norm_label": "code:block8 (\u91cf\u5316\u5de5\u4f5c\u53f0)"
    },
    {
      "label": "2.5 \u7f51\u7edc\u5b89\u5168\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L258",
      "id": "nas_sanguo_vnpy_docker_2_5",
      "community": 23,
      "norm_label": "2.5 \u7f51\u7edc\u5b89\u5168\u914d\u7f6e"
    },
    {
      "label": "\u57fa\u7840\u5b89\u5168\u63aa\u65bd",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L260",
      "id": "nas_sanguo_vnpy_docker_260",
      "community": 23,
      "norm_label": "\u57fa\u7840\u5b89\u5168\u63aa\u65bd"
    },
    {
      "label": "VPN\u8fdc\u7a0b\u8bbf\u95ee\uff08\u5982\u9700\u5916\u7f51\u8bbf\u95ee\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L278",
      "id": "nas_sanguo_vnpy_docker_vpn",
      "community": 23,
      "norm_label": "vpn\u8fdc\u7a0b\u8bbf\u95ee(\u5982\u9700\u5916\u7f51\u8bbf\u95ee)"
    },
    {
      "label": "\u4e09\u3001\u7fa4\u6656Docker\u90e8\u7f72vn.py\u7684\u5177\u4f53\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L288",
      "id": "nas_sanguo_vnpy_docker_docker_vn_py",
      "community": 79,
      "norm_label": "\u4e09\u3001\u7fa4\u6656docker\u90e8\u7f72vn.py\u7684\u5177\u4f53\u6b65\u9aa4"
    },
    {
      "label": "3.1 \u51c6\u5907\u5de5\u4f5c",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L290",
      "id": "nas_sanguo_vnpy_docker_3_1",
      "community": 79,
      "norm_label": "3.1 \u51c6\u5907\u5de5\u4f5c"
    },
    {
      "label": "1. \u786e\u8ba4\u7fa4\u6656NAS\u578b\u53f7\u548c\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L292",
      "id": "nas_sanguo_vnpy_docker_1_nas_292",
      "community": 79,
      "norm_label": "1. \u786e\u8ba4\u7fa4\u6656nas\u578b\u53f7\u548c\u67b6\u6784"
    },
    {
      "label": "code:bash (# \u5728\u7fa4\u6656SSH\u4e2d\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L293",
      "id": "nas_sanguo_vnpy_docker_codeblock_9",
      "community": 79,
      "norm_label": "code:bash (# \u5728\u7fa4\u6656ssh\u4e2d\u6267\u884c)"
    },
    {
      "label": "2. \u542f\u7528\u7fa4\u6656Docker",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L300",
      "id": "nas_sanguo_vnpy_docker_2_docker_300",
      "community": 79,
      "norm_label": "2. \u542f\u7528\u7fa4\u6656docker"
    },
    {
      "label": "3. \u51c6\u5907\u5171\u4eab\u6587\u4ef6\u5939",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L305",
      "id": "nas_sanguo_vnpy_docker_3",
      "community": 79,
      "norm_label": "3. \u51c6\u5907\u5171\u4eab\u6587\u4ef6\u5939"
    },
    {
      "label": "code:block10 (/docker/)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L307",
      "id": "nas_sanguo_vnpy_docker_codeblock_10",
      "community": 79,
      "norm_label": "code:block10 (/docker/)"
    },
    {
      "label": "3.2 \u90e8\u7f72\u6b65\u9aa4\u8be6\u89e3",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L317",
      "id": "nas_sanguo_vnpy_docker_3_2",
      "community": 69,
      "norm_label": "3.2 \u90e8\u7f72\u6b65\u9aa4\u8be6\u89e3"
    },
    {
      "label": "\u6b65\u9aa41\uff1aSSH\u767b\u5f55\u7fa4\u6656NAS",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L319",
      "id": "nas_sanguo_vnpy_docker_1_ssh_nas",
      "community": 69,
      "norm_label": "\u6b65\u9aa41:ssh\u767b\u5f55\u7fa4\u6656nas"
    },
    {
      "label": "code:bash (ssh admin@192.168.2.154  # \u66ff\u6362\u4e3a\u4f60\u7684NAS IP)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L320",
      "id": "nas_sanguo_vnpy_docker_codeblock_11",
      "community": 69,
      "norm_label": "code:bash (ssh admin@192.168.2.154  # \u66ff\u6362\u4e3a\u4f60\u7684nas ip)"
    },
    {
      "label": "\u6b65\u9aa42\uff1a\u521b\u5efaDocker\u7f51\u7edc\uff08\u53ef\u9009\u4f46\u63a8\u8350\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L324",
      "id": "nas_sanguo_vnpy_docker_2_docker_324",
      "community": 69,
      "norm_label": "\u6b65\u9aa42:\u521b\u5efadocker\u7f51\u7edc(\u53ef\u9009\u4f46\u63a8\u8350)"
    },
    {
      "label": "code:bash (docker network create vnpy-network)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L325",
      "id": "nas_sanguo_vnpy_docker_codeblock_12",
      "community": 69,
      "norm_label": "code:bash (docker network create vnpy-network)"
    },
    {
      "label": "\u6b65\u9aa43\uff1a\u62c9\u53d6\u6216\u6784\u5efa\u955c\u50cf",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L329",
      "id": "nas_sanguo_vnpy_docker_3_329",
      "community": 69,
      "norm_label": "\u6b65\u9aa43:\u62c9\u53d6\u6216\u6784\u5efa\u955c\u50cf"
    },
    {
      "label": "\u6b65\u9aa44\uff1a\u542f\u52a8\u5bb9\u5668",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L332",
      "id": "nas_sanguo_vnpy_docker_4",
      "community": 69,
      "norm_label": "\u6b65\u9aa44:\u542f\u52a8\u5bb9\u5668"
    },
    {
      "label": "\u6b65\u9aa45\uff1a\u521d\u59cb\u5316\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L335",
      "id": "nas_sanguo_vnpy_docker_5",
      "community": 69,
      "norm_label": "\u6b65\u9aa45:\u521d\u59cb\u5316\u914d\u7f6e"
    },
    {
      "label": "\u56db\u3001\u6027\u80fd\u8bc4\u4f30",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L342",
      "id": "nas_sanguo_vnpy_docker_342",
      "community": 64,
      "norm_label": "\u56db\u3001\u6027\u80fd\u8bc4\u4f30"
    },
    {
      "label": "4.1 \u56de\u6d4b\u901f\u5ea6\u8bc4\u4f30",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L344",
      "id": "nas_sanguo_vnpy_docker_4_1",
      "community": 64,
      "norm_label": "4.1 \u56de\u6d4b\u901f\u5ea6\u8bc4\u4f30"
    },
    {
      "label": "4.2 \u5c40\u57df\u7f51\u8bbf\u95ee\u5ef6\u8fdf\u8bc4\u4f30",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L360",
      "id": "nas_sanguo_vnpy_docker_4_2",
      "community": 64,
      "norm_label": "4.2 \u5c40\u57df\u7f51\u8bbf\u95ee\u5ef6\u8fdf\u8bc4\u4f30"
    },
    {
      "label": "\u4e94\u3001\u6570\u636e\u5b58\u50a8\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L373",
      "id": "nas_sanguo_vnpy_docker_373",
      "community": 127,
      "norm_label": "\u4e94\u3001\u6570\u636e\u5b58\u50a8\u65b9\u6848"
    },
    {
      "label": "5.1 \u5b58\u50a8\u67b6\u6784\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L375",
      "id": "nas_sanguo_vnpy_docker_5_1",
      "community": 127,
      "norm_label": "5.1 \u5b58\u50a8\u67b6\u6784\u8bbe\u8ba1"
    },
    {
      "label": "code:block13 (\u7fa4\u6656NAS\u5b58\u50a8\u67b6\u6784\uff1a)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L379",
      "id": "nas_sanguo_vnpy_docker_codeblock_13",
      "community": 127,
      "norm_label": "code:block13 (\u7fa4\u6656nas\u5b58\u50a8\u67b6\u6784:)"
    },
    {
      "label": "5.2 \u6570\u636e\u5e93\u9009\u62e9",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L395",
      "id": "nas_sanguo_vnpy_docker_5_2",
      "community": 127,
      "norm_label": "5.2 \u6570\u636e\u5e93\u9009\u62e9"
    },
    {
      "label": "5.3 \u6570\u636e\u8bbf\u95ee\u6027\u80fd",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L404",
      "id": "nas_sanguo_vnpy_docker_5_3",
      "community": 127,
      "norm_label": "5.3 \u6570\u636e\u8bbf\u95ee\u6027\u80fd"
    },
    {
      "label": "\u516d\u3001\u7f51\u7edc\u8bbf\u95ee\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L422",
      "id": "nas_sanguo_vnpy_docker_422",
      "community": 154,
      "norm_label": "\u516d\u3001\u7f51\u7edc\u8bbf\u95ee\u65b9\u6848"
    },
    {
      "label": "6.1 \u8bbf\u95ee\u65b9\u5f0f\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L424",
      "id": "nas_sanguo_vnpy_docker_6_1",
      "community": 154,
      "norm_label": "6.1 \u8bbf\u95ee\u65b9\u5f0f\u5bf9\u6bd4"
    },
    {
      "label": "6.2 Mac mini\u8bbf\u95ee\u4f53\u9a8c",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L434",
      "id": "nas_sanguo_vnpy_docker_6_2_mac_mini",
      "community": 154,
      "norm_label": "6.2 mac mini\u8bbf\u95ee\u4f53\u9a8c"
    },
    {
      "label": "6.3 \u7f51\u7edc\u5b89\u5168\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L453",
      "id": "nas_sanguo_vnpy_docker_6_3",
      "community": 154,
      "norm_label": "6.3 \u7f51\u7edc\u5b89\u5168\u5efa\u8bae"
    },
    {
      "label": "\u4e03\u3001Dockerfile\u914d\u7f6e\u793a\u4f8b",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L463",
      "id": "nas_sanguo_vnpy_docker_dockerfile",
      "community": 63,
      "norm_label": "\u4e03\u3001dockerfile\u914d\u7f6e\u793a\u4f8b"
    },
    {
      "label": "7.1 \u57fa\u7840\u7248Dockerfile",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L465",
      "id": "nas_sanguo_vnpy_docker_7_1_dockerfile",
      "community": 63,
      "norm_label": "7.1 \u57fa\u7840\u7248dockerfile"
    },
    {
      "label": "code:dockerfile (# \u4f7f\u7528Python 3.11\u57fa\u7840\u955c\u50cf)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L467",
      "id": "nas_sanguo_vnpy_docker_codeblock_14",
      "community": 63,
      "norm_label": "code:dockerfile (# \u4f7f\u7528python 3.11\u57fa\u7840\u955c\u50cf)"
    },
    {
      "label": "7.2 \u5b8c\u6574\u7248Dockerfile\uff08\u5305\u542bVS Code Server\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L544",
      "id": "nas_sanguo_vnpy_docker_7_2_dockerfile_vs_code_server",
      "community": 63,
      "norm_label": "7.2 \u5b8c\u6574\u7248dockerfile(\u5305\u542bvs code server)"
    },
    {
      "label": "code:dockerfile (# \u591a\u9636\u6bb5\u6784\u5efa)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L546",
      "id": "nas_sanguo_vnpy_docker_codeblock_15",
      "community": 63,
      "norm_label": "code:dockerfile (# \u591a\u9636\u6bb5\u6784\u5efa)"
    },
    {
      "label": "7.3 entrypoint.sh\u542f\u52a8\u811a\u672c",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L623",
      "id": "nas_sanguo_vnpy_docker_7_3_entrypoint_sh",
      "community": 63,
      "norm_label": "7.3 entrypoint.sh\u542f\u52a8\u811a\u672c"
    },
    {
      "label": "code:bash (#!/bin/bash)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L625",
      "id": "nas_sanguo_vnpy_docker_codeblock_16",
      "community": 63,
      "norm_label": "code:bash (#!/bin/bash)"
    },
    {
      "label": "7.4 requirements.txt\u4f9d\u8d56\u6587\u4ef6",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L655",
      "id": "nas_sanguo_vnpy_docker_7_4_requirements_txt",
      "community": 63,
      "norm_label": "7.4 requirements.txt\u4f9d\u8d56\u6587\u4ef6"
    },
    {
      "label": "code:txt (# vn.py\u6838\u5fc3)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L657",
      "id": "nas_sanguo_vnpy_docker_codeblock_17",
      "community": 63,
      "norm_label": "code:txt (# vn.py\u6838\u5fc3)"
    },
    {
      "label": "\u516b\u3001docker-compose\u914d\u7f6e\u793a\u4f8b",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L702",
      "id": "nas_sanguo_vnpy_docker_docker_compose",
      "community": 62,
      "norm_label": "\u516b\u3001docker-compose\u914d\u7f6e\u793a\u4f8b"
    },
    {
      "label": "8.1 \u57fa\u7840\u7248docker-compose.yml",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L704",
      "id": "nas_sanguo_vnpy_docker_8_1_docker_compose_yml",
      "community": 62,
      "norm_label": "8.1 \u57fa\u7840\u7248docker-compose.yml"
    },
    {
      "label": "code:yaml (version: '3.8')",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L706",
      "id": "nas_sanguo_vnpy_docker_codeblock_18",
      "community": 62,
      "norm_label": "code:yaml (version: '3.8')"
    },
    {
      "label": "8.2 \u5b8c\u6574\u7248docker-compose.yml\uff08\u5305\u542b\u6570\u636e\u5e93\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L772",
      "id": "nas_sanguo_vnpy_docker_8_2_docker_compose_yml",
      "community": 62,
      "norm_label": "8.2 \u5b8c\u6574\u7248docker-compose.yml(\u5305\u542b\u6570\u636e\u5e93)"
    },
    {
      "label": "code:yaml (version: '3.8')",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L774",
      "id": "nas_sanguo_vnpy_docker_codeblock_19",
      "community": 62,
      "norm_label": "code:yaml (version: '3.8')"
    },
    {
      "label": "8.3 .env\u73af\u5883\u53d8\u91cf\u6587\u4ef6",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L926",
      "id": "nas_sanguo_vnpy_docker_8_3_env",
      "community": 62,
      "norm_label": "8.3 .env\u73af\u5883\u53d8\u91cf\u6587\u4ef6"
    },
    {
      "label": "code:env (# \u57fa\u672c\u914d\u7f6e)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L928",
      "id": "nas_sanguo_vnpy_docker_codeblock_20",
      "community": 62,
      "norm_label": "code:env (# \u57fa\u672c\u914d\u7f6e)"
    },
    {
      "label": "8.4 \u5feb\u901f\u542f\u52a8\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L962",
      "id": "nas_sanguo_vnpy_docker_8_4",
      "community": 62,
      "norm_label": "8.4 \u5feb\u901f\u542f\u52a8\u547d\u4ee4"
    },
    {
      "label": "code:bash (# 1. \u521b\u5efa\u76ee\u5f55\u7ed3\u6784)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L964",
      "id": "nas_sanguo_vnpy_docker_codeblock_21",
      "community": 62,
      "norm_label": "code:bash (# 1. \u521b\u5efa\u76ee\u5f55\u7ed3\u6784)"
    },
    {
      "label": "\u4e5d\u3001\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898\u548c\u89e3\u51b3\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L991",
      "id": "nas_sanguo_vnpy_docker_991",
      "community": 25,
      "norm_label": "\u4e5d\u3001\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898\u548c\u89e3\u51b3\u65b9\u6848"
    },
    {
      "label": "9.1 \u7fa4\u6656Docker\u76f8\u5173\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L993",
      "id": "nas_sanguo_vnpy_docker_9_1_docker",
      "community": 25,
      "norm_label": "9.1 \u7fa4\u6656docker\u76f8\u5173\u95ee\u9898"
    },
    {
      "label": "\u95ee\u98981\uff1a\u7fa4\u6656Docker\u5957\u4ef6\u542f\u52a8\u5931\u8d25",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L995",
      "id": "nas_sanguo_vnpy_docker_1_docker",
      "community": 25,
      "norm_label": "\u95ee\u98981:\u7fa4\u6656docker\u5957\u4ef6\u542f\u52a8\u5931\u8d25"
    },
    {
      "label": "\u95ee\u98982\uff1aARM\u67b6\u6784\u955c\u50cf\u517c\u5bb9\u6027\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1003",
      "id": "nas_sanguo_vnpy_docker_2_arm",
      "community": 25,
      "norm_label": "\u95ee\u98982:arm\u67b6\u6784\u955c\u50cf\u517c\u5bb9\u6027\u95ee\u9898"
    },
    {
      "label": "\u95ee\u98983\uff1aNAS\u5b58\u50a8\u7a7a\u95f4\u4e0d\u8db3",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1012",
      "id": "nas_sanguo_vnpy_docker_3_nas",
      "community": 25,
      "norm_label": "\u95ee\u98983:nas\u5b58\u50a8\u7a7a\u95f4\u4e0d\u8db3"
    },
    {
      "label": "code:bash (docker system prune -a)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1016",
      "id": "nas_sanguo_vnpy_docker_codeblock_22",
      "community": 25,
      "norm_label": "code:bash (docker system prune -a)"
    },
    {
      "label": "9.2 \u7f51\u7edc\u8bbf\u95ee\u76f8\u5173\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1023",
      "id": "nas_sanguo_vnpy_docker_9_2",
      "community": 25,
      "norm_label": "9.2 \u7f51\u7edc\u8bbf\u95ee\u76f8\u5173\u95ee\u9898"
    },
    {
      "label": "\u95ee\u98984\uff1a\u5c40\u57df\u7f51\u65e0\u6cd5\u8bbf\u95ee\u5bb9\u5668\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1025",
      "id": "nas_sanguo_vnpy_docker_4_1025",
      "community": 25,
      "norm_label": "\u95ee\u98984:\u5c40\u57df\u7f51\u65e0\u6cd5\u8bbf\u95ee\u5bb9\u5668\u670d\u52a1"
    },
    {
      "label": "\u95ee\u98985\uff1a\u8bbf\u95ee\u901f\u5ea6\u6162\u6216\u5ef6\u8fdf\u9ad8",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1035",
      "id": "nas_sanguo_vnpy_docker_5_1035",
      "community": 25,
      "norm_label": "\u95ee\u98985:\u8bbf\u95ee\u901f\u5ea6\u6162\u6216\u5ef6\u8fdf\u9ad8"
    },
    {
      "label": "code:yaml (deploy:)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1041",
      "id": "nas_sanguo_vnpy_docker_codeblock_23",
      "community": 25,
      "norm_label": "code:yaml (deploy:)"
    },
    {
      "label": "9.3 \u6570\u636e\u5b58\u50a8\u76f8\u5173\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1051",
      "id": "nas_sanguo_vnpy_docker_9_3",
      "community": 25,
      "norm_label": "9.3 \u6570\u636e\u5b58\u50a8\u76f8\u5173\u95ee\u9898"
    },
    {
      "label": "\u95ee\u98986\uff1a\u5bb9\u5668\u5185\u65e0\u6cd5\u8bbf\u95eeNAS\u6302\u8f7d\u76ee\u5f55",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1053",
      "id": "nas_sanguo_vnpy_docker_6_nas",
      "community": 25,
      "norm_label": "\u95ee\u98986:\u5bb9\u5668\u5185\u65e0\u6cd5\u8bbf\u95eenas\u6302\u8f7d\u76ee\u5f55"
    },
    {
      "label": "code:yaml (user: \"1000:1000\"  # \u5339\u914d\u7fa4\u6656\u7528\u6237ID)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1060",
      "id": "nas_sanguo_vnpy_docker_codeblock_24",
      "community": 25,
      "norm_label": "code:yaml (user: \"1000:1000\"  # \u5339\u914d\u7fa4\u6656\u7528\u6237id)"
    },
    {
      "label": "\u95ee\u98987\uff1a\u6570\u636e\u5e93\u6027\u80fd\u5dee",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1065",
      "id": "nas_sanguo_vnpy_docker_7",
      "community": 25,
      "norm_label": "\u95ee\u98987:\u6570\u636e\u5e93\u6027\u80fd\u5dee"
    },
    {
      "label": "9.4 vn.py\u8fd0\u884c\u76f8\u5173\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1076",
      "id": "nas_sanguo_vnpy_docker_9_4_vn_py",
      "community": 25,
      "norm_label": "9.4 vn.py\u8fd0\u884c\u76f8\u5173\u95ee\u9898"
    },
    {
      "label": "\u95ee\u98988\uff1avn.py\u7f3a\u5c11\u67d0\u4e9b\u4ea4\u6613\u63a5\u53e3",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1078",
      "id": "nas_sanguo_vnpy_docker_8_vn_py",
      "community": 25,
      "norm_label": "\u95ee\u98988:vn.py\u7f3a\u5c11\u67d0\u4e9b\u4ea4\u6613\u63a5\u53e3"
    },
    {
      "label": "code:dockerfile (RUN pip install vnpy_ctp vnpy_mini vnpy_sopt)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1082",
      "id": "nas_sanguo_vnpy_docker_codeblock_25",
      "community": 25,
      "norm_label": "code:dockerfile (run pip install vnpy_ctp vnpy_mini vnpy_sopt)"
    },
    {
      "label": "code:dockerfile (RUN apt-get install -y libgl1-mesa-glx libglib2.0-0)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1086",
      "id": "nas_sanguo_vnpy_docker_codeblock_26",
      "community": 25,
      "norm_label": "code:dockerfile (run apt-get install -y libgl1-mesa-glx libglib2.0-0)"
    },
    {
      "label": "\u95ee\u98989\uff1a\u7b56\u7565\u56de\u6d4b\u65f6\u5185\u5b58\u6ea2\u51fa",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1091",
      "id": "nas_sanguo_vnpy_docker_9",
      "community": 25,
      "norm_label": "\u95ee\u98989:\u7b56\u7565\u56de\u6d4b\u65f6\u5185\u5b58\u6ea2\u51fa"
    },
    {
      "label": "9.5 \u5b89\u5168\u76f8\u5173\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1100",
      "id": "nas_sanguo_vnpy_docker_9_5",
      "community": 25,
      "norm_label": "9.5 \u5b89\u5168\u76f8\u5173\u95ee\u9898"
    },
    {
      "label": "\u95ee\u989810\uff1a\u62c5\u5fc3\u5b89\u5168\u95ee\u9898\uff0c\u4e0d\u60f3\u66b4\u9732\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1102",
      "id": "nas_sanguo_vnpy_docker_10",
      "community": 25,
      "norm_label": "\u95ee\u989810:\u62c5\u5fc3\u5b89\u5168\u95ee\u9898,\u4e0d\u60f3\u66b4\u9732\u670d\u52a1"
    },
    {
      "label": "\u5341\u3001\u63a8\u8350\u90e8\u7f72 checklist",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1115",
      "id": "nas_sanguo_vnpy_docker_checklist",
      "community": 128,
      "norm_label": "\u5341\u3001\u63a8\u8350\u90e8\u7f72 checklist"
    },
    {
      "label": "\u90e8\u7f72\u524d\u68c0\u67e5",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1117",
      "id": "nas_sanguo_vnpy_docker_1117",
      "community": 128,
      "norm_label": "\u90e8\u7f72\u524d\u68c0\u67e5"
    },
    {
      "label": "\u90e8\u7f72\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1124",
      "id": "nas_sanguo_vnpy_docker_1124",
      "community": 128,
      "norm_label": "\u90e8\u7f72\u6b65\u9aa4"
    },
    {
      "label": "\u90e8\u7f72\u540e\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1134",
      "id": "nas_sanguo_vnpy_docker_1134",
      "community": 128,
      "norm_label": "\u90e8\u7f72\u540e\u9a8c\u8bc1"
    },
    {
      "label": "\u5b89\u5168\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1142",
      "id": "nas_sanguo_vnpy_docker_1142",
      "community": 128,
      "norm_label": "\u5b89\u5168\u914d\u7f6e"
    },
    {
      "label": "\u5341\u4e00\u3001\u6210\u672c\u4e0e\u6536\u76ca\u5206\u6790",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1151",
      "id": "nas_sanguo_vnpy_docker_1151",
      "community": 64,
      "norm_label": "\u5341\u4e00\u3001\u6210\u672c\u4e0e\u6536\u76ca\u5206\u6790"
    },
    {
      "label": "11.1 \u786c\u4ef6\u6210\u672c\uff08\u53c2\u8003\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1153",
      "id": "nas_sanguo_vnpy_docker_11_1",
      "community": 64,
      "norm_label": "11.1 \u786c\u4ef6\u6210\u672c(\u53c2\u8003)"
    },
    {
      "label": "11.2 \u6536\u76ca\u5206\u6790",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1163",
      "id": "nas_sanguo_vnpy_docker_11_2",
      "community": 64,
      "norm_label": "11.2 \u6536\u76ca\u5206\u6790"
    },
    {
      "label": "\u5341\u4e8c\u3001\u5206\u9636\u6bb5\u8fc1\u79fb\u5b9e\u65bd\u8ba1\u5212",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1179",
      "id": "nas_sanguo_vnpy_docker_1179",
      "community": 98,
      "norm_label": "\u5341\u4e8c\u3001\u5206\u9636\u6bb5\u8fc1\u79fb\u5b9e\u65bd\u8ba1\u5212"
    },
    {
      "label": "12.1 \u7b2c\u4e00\u9636\u6bb5\uff1a\u51c6\u5907\u4e0e\u9a8c\u8bc1\uff081-2\u5929\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1181",
      "id": "nas_sanguo_vnpy_docker_12_1_1_2",
      "community": 98,
      "norm_label": "12.1 \u7b2c\u4e00\u9636\u6bb5:\u51c6\u5907\u4e0e\u9a8c\u8bc1(1-2\u5929)"
    },
    {
      "label": "12.2 \u7b2c\u4e8c\u9636\u6bb5\uff1aDocker\u73af\u5883\u90e8\u7f72\uff082-3\u5929\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1201",
      "id": "nas_sanguo_vnpy_docker_12_2_docker_2_3",
      "community": 98,
      "norm_label": "12.2 \u7b2c\u4e8c\u9636\u6bb5:docker\u73af\u5883\u90e8\u7f72(2-3\u5929)"
    },
    {
      "label": "12.3 \u7b2c\u4e09\u9636\u6bb5\uff1a\u6570\u636e\u8fc1\u79fb\uff081-2\u5929\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1226",
      "id": "nas_sanguo_vnpy_docker_12_3_1_2",
      "community": 98,
      "norm_label": "12.3 \u7b2c\u4e09\u9636\u6bb5:\u6570\u636e\u8fc1\u79fb(1-2\u5929)"
    },
    {
      "label": "12.4 \u7b2c\u56db\u9636\u6bb5\uff1a\u529f\u80fd\u9a8c\u8bc1\u4e0e\u4f18\u5316\uff082-3\u5929\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1247",
      "id": "nas_sanguo_vnpy_docker_12_4_2_3",
      "community": 98,
      "norm_label": "12.4 \u7b2c\u56db\u9636\u6bb5:\u529f\u80fd\u9a8c\u8bc1\u4e0e\u4f18\u5316(2-3\u5929)"
    },
    {
      "label": "12.5 \u7b2c\u4e94\u9636\u6bb5\uff1a\u5207\u6362\u4e0e\u6e05\u7406\uff081\u5929\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1269",
      "id": "nas_sanguo_vnpy_docker_12_5_1",
      "community": 98,
      "norm_label": "12.5 \u7b2c\u4e94\u9636\u6bb5:\u5207\u6362\u4e0e\u6e05\u7406(1\u5929)"
    },
    {
      "label": "\u5341\u4e09\u3001\u7ed3\u8bba\u4e0e\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1289",
      "id": "nas_sanguo_vnpy_docker_1289",
      "community": 155,
      "norm_label": "\u5341\u4e09\u3001\u7ed3\u8bba\u4e0e\u5efa\u8bae"
    },
    {
      "label": "13.1 \u53ef\u884c\u6027\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1291",
      "id": "nas_sanguo_vnpy_docker_13_1",
      "community": 155,
      "norm_label": "13.1 \u53ef\u884c\u6027\u603b\u7ed3"
    },
    {
      "label": "13.2 \u6838\u5fc3\u6536\u76ca",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1304",
      "id": "nas_sanguo_vnpy_docker_13_2",
      "community": 155,
      "norm_label": "13.2 \u6838\u5fc3\u6536\u76ca"
    },
    {
      "label": "13.3 \u6700\u7ec8\u63a8\u8350",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1319",
      "id": "nas_sanguo_vnpy_docker_13_3",
      "community": 155,
      "norm_label": "13.3 \u6700\u7ec8\u63a8\u8350"
    },
    {
      "label": "\u5341\u56db\u3001\u53c2\u8003\u8d44\u6599",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1342",
      "id": "nas_sanguo_vnpy_docker_1342",
      "community": 64,
      "norm_label": "\u5341\u56db\u3001\u53c2\u8003\u8d44\u6599"
    },
    {
      "label": "sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L1",
      "id": "research_nas_sanguo_vnpy_nas_md",
      "community": 28,
      "norm_label": "sanguo_vnpy_nas\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md"
    },
    {
      "label": "sanguo_vnpy NAS \u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L1",
      "id": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "community": 28,
      "norm_label": "sanguo_vnpy nas \u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848"
    },
    {
      "label": "\ud83d\udccb \u65b9\u6848\u6982\u8ff0",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L3",
      "id": "nas_sanguo_vnpy_nas",
      "community": 28,
      "norm_label": "\ud83d\udccb \u65b9\u6848\u6982\u8ff0"
    },
    {
      "label": "\u5305\u542b\u7684\u5b8c\u6574\u9879\u76ee",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L7",
      "id": "nas_sanguo_vnpy_nas_7",
      "community": 28,
      "norm_label": "\u5305\u542b\u7684\u5b8c\u6574\u9879\u76ee"
    },
    {
      "label": "\u6838\u5fc3\u7279\u6027",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L23",
      "id": "nas_sanguo_vnpy_nas_23",
      "community": 28,
      "norm_label": "\u6838\u5fc3\u7279\u6027"
    },
    {
      "label": "\ud83d\ude80 \u4e09\u6b65\u5b8c\u6574\u90e8\u7f72\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L34",
      "id": "nas_sanguo_vnpy_nas_34",
      "community": 28,
      "norm_label": "\ud83d\ude80 \u4e09\u6b65\u5b8c\u6574\u90e8\u7f72\u6d41\u7a0b"
    },
    {
      "label": "\u7b2c\u4e00\u6b65\uff1a\u5728 Mac mini \u4e0a\u8fd0\u884c\u51c6\u5907\u811a\u672c",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L36",
      "id": "nas_sanguo_vnpy_nas_mac_mini",
      "community": 28,
      "norm_label": "\u7b2c\u4e00\u6b65:\u5728 mac mini \u4e0a\u8fd0\u884c\u51c6\u5907\u811a\u672c"
    },
    {
      "label": "code:bash (cd /Users/chufeng/.openclaw/workspace-jiangwei)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L38",
      "id": "nas_sanguo_vnpy_nas_codeblock_1",
      "community": 28,
      "norm_label": "code:bash (cd /users/chufeng/.openclaw/workspace-jiangwei)"
    },
    {
      "label": "\u7b2c\u4e8c\u6b65\uff1aSSH \u767b\u5f55 NAS \u5e76\u542f\u52a8 Docker",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L54",
      "id": "nas_sanguo_vnpy_nas_ssh_nas_docker",
      "community": 28,
      "norm_label": "\u7b2c\u4e8c\u6b65:ssh \u767b\u5f55 nas \u5e76\u542f\u52a8 docker"
    },
    {
      "label": "code:bash (# SSH \u767b\u5f55 NAS)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L56",
      "id": "nas_sanguo_vnpy_nas_codeblock_2",
      "community": 28,
      "norm_label": "code:bash (# ssh \u767b\u5f55 nas)"
    },
    {
      "label": "\u7b2c\u4e09\u6b65\uff1a\u8bbf\u95ee\u670d\u52a1\u5e76\u8fd0\u884c\u6d4b\u8bd5",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L72",
      "id": "nas_sanguo_vnpy_nas_72",
      "community": 28,
      "norm_label": "\u7b2c\u4e09\u6b65:\u8bbf\u95ee\u670d\u52a1\u5e76\u8fd0\u884c\u6d4b\u8bd5"
    },
    {
      "label": "code:python (%cd /app/tests)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L83",
      "id": "nas_sanguo_vnpy_nas_codeblock_3",
      "community": 28,
      "norm_label": "code:python (%cd /app/tests)"
    },
    {
      "label": "\ud83d\udcc1 NAS \u4e0a\u7684\u76ee\u5f55\u7ed3\u6784",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L90",
      "id": "nas_sanguo_vnpy_nas_nas",
      "community": 28,
      "norm_label": "\ud83d\udcc1 nas \u4e0a\u7684\u76ee\u5f55\u7ed3\u6784"
    },
    {
      "label": "code:block4 (/volume1/stock/sanguo_vnpy/)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L92",
      "id": "nas_sanguo_vnpy_nas_codeblock_4",
      "community": 28,
      "norm_label": "code:block4 (/volume1/stock/sanguo_vnpy/)"
    },
    {
      "label": "\ud83d\udee0\ufe0f Docker \u73af\u5883\u5305\u542b",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L129",
      "id": "nas_sanguo_vnpy_nas_docker",
      "community": 28,
      "norm_label": "\ud83d\udee0\ufe0f docker \u73af\u5883\u5305\u542b"
    },
    {
      "label": "\ud83e\uddea \u6d4b\u8bd5\u9a8c\u8bc1\u6e05\u5355",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L142",
      "id": "nas_sanguo_vnpy_nas_142",
      "community": 28,
      "norm_label": "\ud83e\uddea \u6d4b\u8bd5\u9a8c\u8bc1\u6e05\u5355"
    },
    {
      "label": "\ud83d\udcca \u5e38\u7528\u7ba1\u7406\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L158",
      "id": "nas_sanguo_vnpy_nas_158",
      "community": 28,
      "norm_label": "\ud83d\udcca \u5e38\u7528\u7ba1\u7406\u547d\u4ee4"
    },
    {
      "label": "code:bash (# \u5728 NAS SSH \u4e2d\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L160",
      "id": "nas_sanguo_vnpy_nas_codeblock_5",
      "community": 28,
      "norm_label": "code:bash (# \u5728 nas ssh \u4e2d\u6267\u884c)"
    },
    {
      "label": "\ud83d\udd10 \u5b89\u5168\u8bf4\u660e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L182",
      "id": "nas_sanguo_vnpy_nas_182",
      "community": 28,
      "norm_label": "\ud83d\udd10 \u5b89\u5168\u8bf4\u660e"
    },
    {
      "label": "\ud83c\udfaf \u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L193",
      "id": "nas_sanguo_vnpy_nas_193",
      "community": 28,
      "norm_label": "\ud83c\udfaf \u603b\u7ed3"
    },
    {
      "label": "NAS\u8fde\u63a5\u4fe1\u606f",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L3",
      "id": "nas_nas_nas_3",
      "community": 40,
      "norm_label": "nas\u8fde\u63a5\u4fe1\u606f"
    },
    {
      "label": "\u65b9\u6cd51\uff1a\u901a\u8fc7Finder\u6302\u8f7d\uff08\u63a8\u8350\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L13",
      "id": "nas_nas_1_finder",
      "community": 57,
      "norm_label": "\u65b9\u6cd51:\u901a\u8fc7finder\u6302\u8f7d(\u63a8\u8350)"
    },
    {
      "label": "\u65b9\u6cd52\uff1a\u901a\u8fc7\u7ec8\u7aef\u6302\u8f7d",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L23",
      "id": "nas_nas_2",
      "community": 57,
      "norm_label": "\u65b9\u6cd52:\u901a\u8fc7\u7ec8\u7aef\u6302\u8f7d"
    },
    {
      "label": "\u4e8c\u3001\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u8bbe\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L35",
      "id": "nas_nas_35",
      "community": 99,
      "norm_label": "\u4e8c\u3001\u5f00\u673a\u81ea\u52a8\u6302\u8f7d\u8bbe\u7f6e"
    },
    {
      "label": "\u65b9\u6cd52\uff1a\u4f7f\u7528\u81ea\u52a8\u64cd\u4f5c\uff08Automator\uff09",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L45",
      "id": "nas_nas_2_automator",
      "community": 99,
      "norm_label": "\u65b9\u6cd52:\u4f7f\u7528\u81ea\u52a8\u64cd\u4f5c(automator)"
    },
    {
      "label": "\u4e09\u3001stock\u76ee\u5f55\u7ed3\u6784\u89c4\u5212",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L70",
      "id": "nas_nas_stock",
      "community": 129,
      "norm_label": "\u4e09\u3001stock\u76ee\u5f55\u7ed3\u6784\u89c4\u5212"
    },
    {
      "label": "\u56db\u3001\u521b\u5efa\u5b50\u76ee\u5f55\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L93",
      "id": "nas_nas_93",
      "community": 40,
      "norm_label": "\u56db\u3001\u521b\u5efa\u5b50\u76ee\u5f55\u547d\u4ee4"
    },
    {
      "label": "\u4e94\u3001\u5e38\u7528\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L115",
      "id": "nas_nas_115",
      "community": 52,
      "norm_label": "\u4e94\u3001\u5e38\u7528\u547d\u4ee4"
    },
    {
      "label": "\u516d\u3001\u6545\u969c\u6392\u9664",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L135",
      "id": "nas_nas_135",
      "community": 70,
      "norm_label": "\u516d\u3001\u6545\u969c\u6392\u9664"
    },
    {
      "label": "\u95ee\u98981\uff1a\u8fde\u63a5\u8d85\u65f6",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L137",
      "id": "nas_nas_1_137",
      "community": 70,
      "norm_label": "\u95ee\u98981:\u8fde\u63a5\u8d85\u65f6"
    },
    {
      "label": "\u95ee\u98982\uff1a\u6743\u9650\u9519\u8bef",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L142",
      "id": "nas_nas_2_142",
      "community": 70,
      "norm_label": "\u95ee\u98982:\u6743\u9650\u9519\u8bef"
    },
    {
      "label": "\u4e03\u3001\u6027\u80fd\u4f18\u5316\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L152",
      "id": "nas_nas_152",
      "community": 40,
      "norm_label": "\u4e03\u3001\u6027\u80fd\u4f18\u5316\u5efa\u8bae"
    },
    {
      "label": "\u65e5\u5e38\u7ba1\u7406",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L10",
      "id": "nas_nas_10",
      "community": 40,
      "norm_label": "\u65e5\u5e38\u7ba1\u7406"
    },
    {
      "label": "\u6302\u8f7d\u70b9",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L21",
      "id": "nas_nas_21",
      "community": 40,
      "norm_label": "\u6302\u8f7d\u70b9"
    },
    {
      "label": "\u65e5\u5fd7\u4f4d\u7f6e",
      "file_type": "document",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L26",
      "id": "nas_nas_26",
      "community": 40,
      "norm_label": "\u65e5\u5fd7\u4f4d\u7f6e"
    },
    {
      "label": "sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L1",
      "id": "research_nas_sanguo_nas_md",
      "community": 9,
      "norm_label": "sanguo_nas\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md"
    },
    {
      "label": "sanguo_vnpy NAS \u90e8\u7f72 - \u524d\u671f\u51c6\u5907\u6e05\u5355",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L1",
      "id": "nas_sanguo_nas_sanguo_vnpy_nas",
      "community": 9,
      "norm_label": "sanguo_vnpy nas \u90e8\u7f72 - \u524d\u671f\u51c6\u5907\u6e05\u5355"
    },
    {
      "label": "\u2705 \u90e8\u7f72\u524d\u68c0\u67e5\u6e05\u5355",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L3",
      "id": "nas_sanguo_nas",
      "community": 9,
      "norm_label": "\u2705 \u90e8\u7f72\u524d\u68c0\u67e5\u6e05\u5355"
    },
    {
      "label": "code:bash (ping -c 3 192.168.2.154)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L59",
      "id": "nas_sanguo_nas_codeblock_1",
      "community": 9,
      "norm_label": "code:bash (ping -c 3 192.168.2.154)"
    },
    {
      "label": "\u5b8c\u6574\u4e09\u6b65",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L12",
      "id": "nas_sanguo_nas_12",
      "community": 9,
      "norm_label": "\u5b8c\u6574\u4e09\u6b65"
    },
    {
      "label": "1\ufe0f\u20e3 \u51c6\u5907\u6587\u4ef6\uff08Mac mini\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L14",
      "id": "nas_sanguo_nas_1_mac_mini",
      "community": 9,
      "norm_label": "1\ufe0f\u20e3 \u51c6\u5907\u6587\u4ef6(mac mini)"
    },
    {
      "label": "code:bash (# 1. \u9a8c\u8bc1\u7f51\u7edc\u8fde\u901a)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L106",
      "id": "nas_sanguo_nas_codeblock_2",
      "community": 9,
      "norm_label": "code:bash (# 1. \u9a8c\u8bc1\u7f51\u7edc\u8fde\u901a)"
    },
    {
      "label": "2\ufe0f\u20e3 \u542f\u52a8 Docker\uff08NAS SSH\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L19",
      "id": "nas_sanguo_nas_2_docker_nas_ssh",
      "community": 9,
      "norm_label": "2\ufe0f\u20e3 \u542f\u52a8 docker(nas ssh)"
    },
    {
      "label": "code:bash (ssh admin@192.168.2.154)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L20",
      "id": "nas_sanguo_nas_codeblock_3",
      "community": 9,
      "norm_label": "code:bash (ssh admin@192.168.2.154)"
    },
    {
      "label": "3. \u5185\u5b58\u914d\u7f6e\u8db3\u591f",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L35",
      "id": "nas_sanguo_nas_3",
      "community": 9,
      "norm_label": "3. \u5185\u5b58\u914d\u7f6e\u8db3\u591f"
    },
    {
      "label": "\u5e38\u7528\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L35",
      "id": "nas_sanguo_nas_35",
      "community": 9,
      "norm_label": "\u5e38\u7528\u547d\u4ee4"
    },
    {
      "label": "code:bash (# NAS SSH \u4e2d\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L37",
      "id": "nas_sanguo_nas_codeblock_4",
      "community": 9,
      "norm_label": "code:bash (# nas ssh \u4e2d\u6267\u884c)"
    },
    {
      "label": "\u6d4b\u8bd5\u8fd0\u884c",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L49",
      "id": "nas_sanguo_nas_49",
      "community": 9,
      "norm_label": "\u6d4b\u8bd5\u8fd0\u884c"
    },
    {
      "label": "code:python (%cd /app/tests)",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L52",
      "id": "nas_sanguo_nas_codeblock_5",
      "community": 9,
      "norm_label": "code:python (%cd /app/tests)"
    },
    {
      "label": "\ud83d\udda5\ufe0f NAS \u7aef\u51c6\u5907",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L9",
      "id": "nas_sanguo_nas_nas",
      "community": 9,
      "norm_label": "\ud83d\udda5\ufe0f nas \u7aef\u51c6\u5907"
    },
    {
      "label": "1. Container Manager (Docker) \u5df2\u5b89\u88c5",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L11",
      "id": "nas_sanguo_nas_1_container_manager_docker",
      "community": 9,
      "norm_label": "1. container manager (docker) \u5df2\u5b89\u88c5"
    },
    {
      "label": "2. \u5b58\u50a8\u7a7a\u95f4\u5145\u8db3",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L22",
      "id": "nas_sanguo_nas_2",
      "community": 9,
      "norm_label": "2. \u5b58\u50a8\u7a7a\u95f4\u5145\u8db3"
    },
    {
      "label": "4. SSH \u8bbf\u95ee\u5df2\u542f\u7528",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L45",
      "id": "nas_sanguo_nas_4_ssh",
      "community": 9,
      "norm_label": "4. ssh \u8bbf\u95ee\u5df2\u542f\u7528"
    },
    {
      "label": "5. \u7f51\u7edc\u914d\u7f6e\u6b63\u5e38",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L54",
      "id": "nas_sanguo_nas_5",
      "community": 9,
      "norm_label": "5. \u7f51\u7edc\u914d\u7f6e\u6b63\u5e38"
    },
    {
      "label": "\ud83d\udcbb Mac mini \u7aef\u51c6\u5907",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L65",
      "id": "nas_sanguo_nas_mac_mini",
      "community": 9,
      "norm_label": "\ud83d\udcbb mac mini \u7aef\u51c6\u5907"
    },
    {
      "label": "1. NAS \u6302\u8f7d\u4fe1\u606f\u6b63\u786e",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L67",
      "id": "nas_sanguo_nas_1_nas",
      "community": 9,
      "norm_label": "1. nas \u6302\u8f7d\u4fe1\u606f\u6b63\u786e"
    },
    {
      "label": "2. \u672c\u5730\u7b56\u7565\u6587\u4ef6\u5df2\u51c6\u5907\uff08\u53ef\u9009\u4f46\u63a8\u8350\uff09",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L79",
      "id": "nas_sanguo_nas_2_79",
      "community": 9,
      "norm_label": "2. \u672c\u5730\u7b56\u7565\u6587\u4ef6\u5df2\u51c6\u5907(\u53ef\u9009\u4f46\u63a8\u8350)"
    },
    {
      "label": "\ud83d\udd10 \u8d26\u53f7\u5bc6\u7801\u51c6\u5907",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L90",
      "id": "nas_sanguo_nas_90",
      "community": 9,
      "norm_label": "\ud83d\udd10 \u8d26\u53f7\u5bc6\u7801\u51c6\u5907"
    },
    {
      "label": "NAS SSH \u767b\u5f55\u8d26\u53f7",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L92",
      "id": "nas_sanguo_nas_nas_ssh",
      "community": 9,
      "norm_label": "nas ssh \u767b\u5f55\u8d26\u53f7"
    },
    {
      "label": "\ud83d\udccb \u5feb\u901f\u9a8c\u8bc1\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L102",
      "id": "nas_sanguo_nas_102",
      "community": 9,
      "norm_label": "\ud83d\udccb \u5feb\u901f\u9a8c\u8bc1\u547d\u4ee4"
    },
    {
      "label": "\u26a0\ufe0f \u5e38\u89c1\u95ee\u9898\u63d0\u524d\u6392\u67e5",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L121",
      "id": "nas_sanguo_nas_121",
      "community": 9,
      "norm_label": "\u26a0\ufe0f \u5e38\u89c1\u95ee\u9898\u63d0\u524d\u6392\u67e5"
    },
    {
      "label": "Q: Container Manager \u542f\u52a8\u5931\u8d25\u600e\u4e48\u529e\uff1f",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L123",
      "id": "nas_sanguo_nas_q_container_manager",
      "community": 9,
      "norm_label": "q: container manager \u542f\u52a8\u5931\u8d25\u600e\u4e48\u529e?"
    },
    {
      "label": "Q: NAS \u5b58\u50a8\u7a7a\u95f4\u4e0d\u591f\u600e\u4e48\u529e\uff1f",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L129",
      "id": "nas_sanguo_nas_q_nas",
      "community": 9,
      "norm_label": "q: nas \u5b58\u50a8\u7a7a\u95f4\u4e0d\u591f\u600e\u4e48\u529e?"
    },
    {
      "label": "Q: SSH \u8fde\u63a5\u88ab\u62d2\u7edd\u600e\u4e48\u529e\uff1f",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L135",
      "id": "nas_sanguo_nas_q_ssh",
      "community": 9,
      "norm_label": "q: ssh \u8fde\u63a5\u88ab\u62d2\u7edd\u600e\u4e48\u529e?"
    },
    {
      "label": "\u2705 \u6700\u7ec8\u786e\u8ba4",
      "file_type": "document",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L143",
      "id": "nas_sanguo_nas_143",
      "community": 9,
      "norm_label": "\u2705 \u6700\u7ec8\u786e\u8ba4"
    },
    {
      "label": "\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L1",
      "id": "research_vnpy_vnpy_md",
      "community": 65,
      "norm_label": "\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md"
    },
    {
      "label": "**\u65b9\u6848\u4e00\uff1a\u5347\u7ea7vn.py\u5230\u517c\u5bb9\u7248\u672c**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L25",
      "id": "vnpy_vnpy_vn_py",
      "community": 34,
      "norm_label": "**\u65b9\u6848\u4e00:\u5347\u7ea7vn.py\u5230\u517c\u5bb9\u7248\u672c**"
    },
    {
      "label": "\ud83d\udccb \u95ee\u9898\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L9",
      "id": "vnpy_vnpy",
      "community": 65,
      "norm_label": "\ud83d\udccb \u95ee\u9898\u5206\u6790"
    },
    {
      "label": "\u6982\u8ff0",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L14",
      "id": "vnpy_vnpy_14",
      "community": 34,
      "norm_label": "\u6982\u8ff0"
    },
    {
      "label": "\u6570\u636e\u63a5\u53e3\u9002\u914d\u5668\u6a21\u5f0f",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L22",
      "id": "vnpy_vnpy_22",
      "community": 34,
      "norm_label": "\u6570\u636e\u63a5\u53e3\u9002\u914d\u5668\u6a21\u5f0f"
    },
    {
      "label": "\u6838\u5fc3\u601d\u60f3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L24",
      "id": "vnpy_vnpy_24",
      "community": 34,
      "norm_label": "\u6838\u5fc3\u601d\u60f3"
    },
    {
      "label": "\u5b9e\u73b0\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L27",
      "id": "vnpy_vnpy_27",
      "community": 34,
      "norm_label": "\u5b9e\u73b0\u6b65\u9aa4"
    },
    {
      "label": "1. \u7406\u89e3BaseDatafeed\u63a5\u53e3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L29",
      "id": "vnpy_vnpy_1_basedatafeed",
      "community": 34,
      "norm_label": "1. \u7406\u89e3basedatafeed\u63a5\u53e3"
    },
    {
      "label": "**2. \u9a8c\u8bc1\u4fee\u590d\u7ed3\u679c**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L62",
      "id": "vnpy_vnpy_2",
      "community": 44,
      "norm_label": "**2. \u9a8c\u8bc1\u4fee\u590d\u7ed3\u679c**"
    },
    {
      "label": "code:block1 (ModuleNotFoundError: No module named 'vnpy.app')",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L12",
      "id": "vnpy_vnpy_codeblock_1",
      "community": 65,
      "norm_label": "code:block1 (modulenotfounderror: no module named 'vnpy.app')"
    },
    {
      "label": "3. \u914d\u7f6evn.py\u4f7f\u7528\u81ea\u5b9a\u4e49\u6570\u636e\u9002\u914d\u5668",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L141",
      "id": "vnpy_vnpy_3_vn_py",
      "community": 34,
      "norm_label": "3. \u914d\u7f6evn.py\u4f7f\u7528\u81ea\u5b9a\u4e49\u6570\u636e\u9002\u914d\u5668"
    },
    {
      "label": "code:bash (# \u5728Docker\u5bb9\u5668\u4e2d\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L26",
      "id": "vnpy_vnpy_codeblock_2",
      "community": 34,
      "norm_label": "code:bash (# \u5728docker\u5bb9\u5668\u4e2d\u6267\u884c)"
    },
    {
      "label": "code:bash (# \u5728Docker\u5bb9\u5668\u4e2d\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L32",
      "id": "vnpy_vnpy_codeblock_3",
      "community": 34,
      "norm_label": "code:bash (# \u5728docker\u5bb9\u5668\u4e2d\u6267\u884c)"
    },
    {
      "label": "\u4f18\u7f3a\u70b9\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L170",
      "id": "vnpy_vnpy_170",
      "community": 34,
      "norm_label": "\u4f18\u7f3a\u70b9\u5206\u6790"
    },
    {
      "label": "\u9002\u7528\u573a\u666f",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L179",
      "id": "vnpy_vnpy_179",
      "community": 34,
      "norm_label": "\u9002\u7528\u573a\u666f"
    },
    {
      "label": "\u6570\u636e\u670d\u52a1\u5316\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L186",
      "id": "vnpy_vnpy_186",
      "community": 44,
      "norm_label": "\u6570\u636e\u670d\u52a1\u5316\u67b6\u6784"
    },
    {
      "label": "\u6838\u5fc3\u601d\u60f3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L188",
      "id": "vnpy_vnpy_188",
      "community": 44,
      "norm_label": "\u6838\u5fc3\u601d\u60f3"
    },
    {
      "label": "\u5b9e\u73b0\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L191",
      "id": "vnpy_vnpy_191",
      "community": 44,
      "norm_label": "\u5b9e\u73b0\u6b65\u9aa4"
    },
    {
      "label": "**1. \u8fdb\u5165\u5bb9\u5668\u5e76\u5b89\u88c5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L48",
      "id": "vnpy_vnpy_1",
      "community": 44,
      "norm_label": "**1. \u8fdb\u5165\u5bb9\u5668\u5e76\u5b89\u88c5**"
    },
    {
      "label": "code:bash (# \u5728Docker\u5bb9\u5668\u4e2d\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L38",
      "id": "vnpy_vnpy_codeblock_4",
      "community": 34,
      "norm_label": "code:bash (# \u5728docker\u5bb9\u5668\u4e2d\u6267\u884c)"
    },
    {
      "label": "2. \u521b\u5efavn.py\u7aef\u7684\u6570\u636e\u8bbf\u95ee\u5ba2\u6237\u7aef",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L270",
      "id": "vnpy_vnpy_2_vn_py",
      "community": 44,
      "norm_label": "2. \u521b\u5efavn.py\u7aef\u7684\u6570\u636e\u8bbf\u95ee\u5ba2\u6237\u7aef"
    },
    {
      "label": "code:bash (ssh admin@192.168.2.154 \"export PATH=\\$PATH:/var/packages/Do)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L49",
      "id": "vnpy_vnpy_codeblock_5",
      "community": 44,
      "norm_label": "code:bash (ssh admin@192.168.2.154 \"export path=\\$path:/var/packages/do)"
    },
    {
      "label": "3. \u542f\u52a8\u670d\u52a1\u5e76\u5728vn.py\u4e2d\u4f7f\u7528",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L370",
      "id": "vnpy_vnpy_3_vn_py_370",
      "community": 44,
      "norm_label": "3. \u542f\u52a8\u670d\u52a1\u5e76\u5728vn.py\u4e2d\u4f7f\u7528"
    },
    {
      "label": "code:bash (cd pangtong-value/research/task-20260329-strategy-backtest/s)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L63",
      "id": "vnpy_vnpy_codeblock_6",
      "community": 44,
      "norm_label": "code:bash (cd pangtong-value/research/task-20260329-strategy-backtest/s)"
    },
    {
      "label": "\u4f18\u7f3a\u70b9\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L388",
      "id": "vnpy_vnpy_388",
      "community": 44,
      "norm_label": "\u4f18\u7f3a\u70b9\u5206\u6790"
    },
    {
      "label": "\u9002\u7528\u573a\u666f",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L397",
      "id": "vnpy_vnpy_397",
      "community": 44,
      "norm_label": "\u9002\u7528\u573a\u666f"
    },
    {
      "label": "\u6587\u4ef6\u7cfb\u7edf\u76f4\u63a5\u8bbf\u95ee",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L405",
      "id": "vnpy_vnpy_405",
      "community": 36,
      "norm_label": "\u6587\u4ef6\u7cfb\u7edf\u76f4\u63a5\u8bbf\u95ee"
    },
    {
      "label": "\u6838\u5fc3\u601d\u60f3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L407",
      "id": "vnpy_vnpy_407",
      "community": 36,
      "norm_label": "\u6838\u5fc3\u601d\u60f3"
    },
    {
      "label": "\u5b9e\u73b0\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L410",
      "id": "vnpy_vnpy_410",
      "community": 36,
      "norm_label": "\u5b9e\u73b0\u6b65\u9aa4"
    },
    {
      "label": "1. \u51c6\u5907\u672c\u5730\u6570\u636e\u6587\u4ef6",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L412",
      "id": "vnpy_vnpy_1_412",
      "community": 36,
      "norm_label": "1. \u51c6\u5907\u672c\u5730\u6570\u636e\u6587\u4ef6"
    },
    {
      "label": "code:python (import vnpy)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L73",
      "id": "vnpy_vnpy_codeblock_7",
      "community": 36,
      "norm_label": "code:python (import vnpy)"
    },
    {
      "label": "2. \u521b\u5efa\u6570\u636e\u52a0\u8f7d\u5de5\u5177\u7c7b",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L423",
      "id": "vnpy_vnpy_2_423",
      "community": 36,
      "norm_label": "2. \u521b\u5efa\u6570\u636e\u52a0\u8f7d\u5de5\u5177\u7c7b"
    },
    {
      "label": "code:python (import requests)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L79",
      "id": "vnpy_vnpy_codeblock_8",
      "community": 36,
      "norm_label": "code:python (import requests)"
    },
    {
      "label": "3. \u5728vn.py\u7b56\u7565\u4e2d\u4f7f\u7528",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L536",
      "id": "vnpy_vnpy_3_vn_py_536",
      "community": 36,
      "norm_label": "3. \u5728vn.py\u7b56\u7565\u4e2d\u4f7f\u7528"
    },
    {
      "label": "code:bash (cd pangtong-value/research/task-20260329-strategy-backtest/s)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L88",
      "id": "vnpy_vnpy_codeblock_9",
      "community": 36,
      "norm_label": "code:bash (cd pangtong-value/research/task-20260329-strategy-backtest/s)"
    },
    {
      "label": "\u4f18\u7f3a\u70b9\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L613",
      "id": "vnpy_vnpy_613",
      "community": 36,
      "norm_label": "\u4f18\u7f3a\u70b9\u5206\u6790"
    },
    {
      "label": "\u9002\u7528\u573a\u666f",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L622",
      "id": "vnpy_vnpy_622",
      "community": 36,
      "norm_label": "\u9002\u7528\u573a\u666f"
    },
    {
      "label": "\u6570\u636e\u5e93\u5b58\u50a8\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L630",
      "id": "vnpy_vnpy_630",
      "community": 156,
      "norm_label": "\u6570\u636e\u5e93\u5b58\u50a8\u65b9\u6848"
    },
    {
      "label": "\u6838\u5fc3\u601d\u60f3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L632",
      "id": "vnpy_vnpy_632",
      "community": 156,
      "norm_label": "\u6838\u5fc3\u601d\u60f3"
    },
    {
      "label": "\u5b9e\u73b0\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L635",
      "id": "vnpy_vnpy_635",
      "community": 53,
      "norm_label": "\u5b9e\u73b0\u6b65\u9aa4"
    },
    {
      "label": "1. \u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L637",
      "id": "vnpy_vnpy_1_637",
      "community": 53,
      "norm_label": "1. \u6570\u636e\u5e93\u8868\u7ed3\u6784\u8bbe\u8ba1"
    },
    {
      "label": "code:bash (# \u5b89\u88c5vnpy\u7684app\u7ec4\u4ef6)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L117",
      "id": "vnpy_vnpy_codeblock_10",
      "community": 53,
      "norm_label": "code:bash (# \u5b89\u88c5vnpy\u7684app\u7ec4\u4ef6)"
    },
    {
      "label": "2. \u521b\u5efa\u6570\u636e\u5e93\u7ba1\u7406\u7c7b",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L686",
      "id": "vnpy_vnpy_2_686",
      "community": 53,
      "norm_label": "2. \u521b\u5efa\u6570\u636e\u5e93\u7ba1\u7406\u7c7b"
    },
    {
      "label": "code:python (# \u4f7f\u7528\u5176\u4ed6\u6a21\u5757\u66ff\u6362vnpy.app)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L124",
      "id": "vnpy_vnpy_codeblock_11",
      "community": 53,
      "norm_label": "code:python (# \u4f7f\u7528\u5176\u4ed6\u6a21\u5757\u66ff\u6362vnpy.app)"
    },
    {
      "label": "3. \u4e0evn.py\u96c6\u6210\u4f7f\u7528",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L828",
      "id": "vnpy_vnpy_3_vn_py_828",
      "community": 53,
      "norm_label": "3. \u4e0evn.py\u96c6\u6210\u4f7f\u7528"
    },
    {
      "label": "code:bash (# \u68c0\u67e5\u811a\u672c\u8def\u5f84)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L132",
      "id": "vnpy_vnpy_codeblock_12",
      "community": 53,
      "norm_label": "code:bash (# \u68c0\u67e5\u811a\u672c\u8def\u5f84)"
    },
    {
      "label": "\u4f18\u7f3a\u70b9\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L865",
      "id": "vnpy_vnpy_865",
      "community": 156,
      "norm_label": "\u4f18\u7f3a\u70b9\u5206\u6790"
    },
    {
      "label": "\u9002\u7528\u573a\u666f",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L874",
      "id": "vnpy_vnpy_874",
      "community": 156,
      "norm_label": "\u9002\u7528\u573a\u666f"
    },
    {
      "label": "\u6df7\u5408\u6a21\u5f0f",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L882",
      "id": "vnpy_vnpy_882",
      "community": 45,
      "norm_label": "\u6df7\u5408\u6a21\u5f0f"
    },
    {
      "label": "\u6838\u5fc3\u601d\u60f3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L884",
      "id": "vnpy_vnpy_884",
      "community": 45,
      "norm_label": "\u6838\u5fc3\u601d\u60f3"
    },
    {
      "label": "\u5178\u578b\u6df7\u5408\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L887",
      "id": "vnpy_vnpy_887",
      "community": 45,
      "norm_label": "\u5178\u578b\u6df7\u5408\u67b6\u6784"
    },
    {
      "label": "code:python (from vnpy.trader.engine import MainEngine  # \u6210\u529f)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L147",
      "id": "vnpy_vnpy_codeblock_13",
      "community": 45,
      "norm_label": "code:python (from vnpy.trader.engine import mainengine  # \u6210\u529f)"
    },
    {
      "label": "\u5b9e\u73b0\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L915",
      "id": "vnpy_vnpy_915",
      "community": 45,
      "norm_label": "\u5b9e\u73b0\u6b65\u9aa4"
    },
    {
      "label": "1. \u521b\u5efa\u7edf\u4e00\u7684\u6570\u636e\u8bbf\u95ee\u63a5\u53e3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L917",
      "id": "vnpy_vnpy_1_917",
      "community": 45,
      "norm_label": "1. \u521b\u5efa\u7edf\u4e00\u7684\u6570\u636e\u8bbf\u95ee\u63a5\u53e3"
    },
    {
      "label": "code:bash (# \u6d4b\u8bd5API\u8fde\u63a5)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L153",
      "id": "vnpy_vnpy_codeblock_14",
      "community": 45,
      "norm_label": "code:bash (# \u6d4b\u8bd5api\u8fde\u63a5)"
    },
    {
      "label": "2. \u5728vn.py\u7b56\u7565\u4e2d\u4f7f\u7528\u6df7\u5408\u6570\u636e\u7ba1\u7406",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1058",
      "id": "vnpy_vnpy_2_vn_py_1058",
      "community": 45,
      "norm_label": "2. \u5728vn.py\u7b56\u7565\u4e2d\u4f7f\u7528\u6df7\u5408\u6570\u636e\u7ba1\u7406"
    },
    {
      "label": "code:bash (cd pangtong-value/research/task-20260329-strategy-backtest/s)",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L159",
      "id": "vnpy_vnpy_codeblock_15",
      "community": 45,
      "norm_label": "code:bash (cd pangtong-value/research/task-20260329-strategy-backtest/s)"
    },
    {
      "label": "\u4f18\u7f3a\u70b9\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1122",
      "id": "vnpy_vnpy_1122",
      "community": 45,
      "norm_label": "\u4f18\u7f3a\u70b9\u5206\u6790"
    },
    {
      "label": "\u9002\u7528\u573a\u666f",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1131",
      "id": "vnpy_vnpy_1131",
      "community": 45,
      "norm_label": "\u9002\u7528\u573a\u666f"
    },
    {
      "label": "\u65b9\u6848\u5bf9\u6bd4\u4e0e\u9009\u62e9\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1139",
      "id": "vnpy_vnpy_1139",
      "community": 157,
      "norm_label": "\u65b9\u6848\u5bf9\u6bd4\u4e0e\u9009\u62e9\u5efa\u8bae"
    },
    {
      "label": "\u65b9\u6848\u5bf9\u6bd4\u8868",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1141",
      "id": "vnpy_vnpy_1141",
      "community": 157,
      "norm_label": "\u65b9\u6848\u5bf9\u6bd4\u8868"
    },
    {
      "label": "\u9009\u62e9\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1151",
      "id": "vnpy_vnpy_1151",
      "community": 157,
      "norm_label": "\u9009\u62e9\u5efa\u8bae"
    },
    {
      "label": "\u6700\u4f73\u5b9e\u8df5\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1174",
      "id": "vnpy_vnpy_1174",
      "community": 157,
      "norm_label": "\u6700\u4f73\u5b9e\u8df5\u5efa\u8bae"
    },
    {
      "label": "\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1198",
      "id": "vnpy_vnpy_1198",
      "community": 34,
      "norm_label": "\u603b\u7ed3"
    },
    {
      "label": "\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L1",
      "id": "research_vnpy_md",
      "community": 58,
      "norm_label": "\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md"
    },
    {
      "label": "\ud83c\udf89 \u56de\u6d4bAPI\u95ee\u9898\u4fee\u590d\u5b8c\u6210\u901a\u77e5",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L1",
      "id": "vnpy_api",
      "community": 66,
      "norm_label": "\ud83c\udf89 \u56de\u6d4bapi\u95ee\u9898\u4fee\u590d\u5b8c\u6210\u901a\u77e5"
    },
    {
      "label": "\ud83c\udfaf \u76ee\u6807",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L3",
      "id": "vnpy",
      "community": 37,
      "norm_label": "\ud83c\udfaf \u76ee\u6807"
    },
    {
      "label": "**\u95ee\u98981: \u56de\u6d4bAPI\u8d85\u65f6** \u2705 **\u5df2\u4fee\u590d**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L14",
      "id": "vnpy_1_api",
      "community": 37,
      "norm_label": "**\u95ee\u98981: \u56de\u6d4bapi\u8d85\u65f6** \u2705 **\u5df2\u4fee\u590d**"
    },
    {
      "label": "**\u95ee\u98982: \u7f3a\u5c11vnpy.app\u6a21\u5757** \u2705 **\u5df2\u4fee\u590d**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L19",
      "id": "vnpy_2_vnpy_app",
      "community": 37,
      "norm_label": "**\u95ee\u98982: \u7f3a\u5c11vnpy.app\u6a21\u5757** \u2705 **\u5df2\u4fee\u590d**"
    },
    {
      "label": "\ud83d\udd27 \u672c\u5730\u81ea\u52a8\u5316\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L26",
      "id": "vnpy_26",
      "community": 38,
      "norm_label": "\ud83d\udd27 \u672c\u5730\u81ea\u52a8\u5316\u670d\u52a1"
    },
    {
      "label": "**1. \u56de\u6d4bAPI**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L28",
      "id": "vnpy_1_api_28",
      "community": 38,
      "norm_label": "**1. \u56de\u6d4bapi**"
    },
    {
      "label": "2. \u6570\u636e\u683c\u5f0f\u89c4\u8303",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L27",
      "id": "vnpy_2",
      "community": 38,
      "norm_label": "2. \u6570\u636e\u683c\u5f0f\u89c4\u8303"
    },
    {
      "label": "3. \u8f6c\u6362\u903b\u8f91",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L63",
      "id": "vnpy_3",
      "community": 38,
      "norm_label": "3. \u8f6c\u6362\u903b\u8f91"
    },
    {
      "label": "code:block1 (/nas/zhaoyun-data/)",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L9",
      "id": "vnpy_codeblock_1",
      "community": 38,
      "norm_label": "code:block1 (/nas/zhaoyun-data/)"
    },
    {
      "label": "\ud83c\udfaf \u4e0b\u4e00\u6b65\u884c\u52a8",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L70",
      "id": "vnpy_70",
      "community": 101,
      "norm_label": "\ud83c\udfaf \u4e0b\u4e00\u6b65\u884c\u52a8"
    },
    {
      "label": "**\u7acb\u5373\u5f00\u59cb\u6d4b\u8bd5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L72",
      "id": "vnpy_72",
      "community": 101,
      "norm_label": "**\u7acb\u5373\u5f00\u59cb\u6d4b\u8bd5**"
    },
    {
      "label": "code:python (# \u5047\u8bbe\u60a8\u7684\u539f\u59cb\u6570\u636e\u5b57\u6bb5\uff1a)",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L30",
      "id": "vnpy_codeblock_2",
      "community": 38,
      "norm_label": "code:python (# \u5047\u8bbe\u60a8\u7684\u539f\u59cb\u6570\u636e\u5b57\u6bb5:)"
    },
    {
      "label": "**\u9a8c\u8bc1\u4fee\u590d**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L81",
      "id": "vnpy_81",
      "community": 101,
      "norm_label": "**\u9a8c\u8bc1\u4fee\u590d**"
    },
    {
      "label": "code:python (# vn.py\u9700\u8981\u7684\u5b57\u6bb5\uff1a)",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L46",
      "id": "vnpy_codeblock_3",
      "community": 101,
      "norm_label": "code:python (# vn.py\u9700\u8981\u7684\u5b57\u6bb5:)"
    },
    {
      "label": "\ud83d\udcca \u4fee\u590d\u6027\u80fd\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L90",
      "id": "vnpy_90",
      "community": 66,
      "norm_label": "\ud83d\udcca \u4fee\u590d\u6027\u80fd\u5bf9\u6bd4"
    },
    {
      "label": "\ud83d\udd27 \u6280\u672f\u4fee\u590d\u8be6\u60c5",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L101",
      "id": "vnpy_101",
      "community": 66,
      "norm_label": "\ud83d\udd27 \u6280\u672f\u4fee\u590d\u8be6\u60c5"
    },
    {
      "label": "1. \u76ee\u5f55\u7ed3\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L8",
      "id": "vnpy_1",
      "community": 38,
      "norm_label": "1. \u76ee\u5f55\u7ed3\u6784"
    },
    {
      "label": "**2. \u4fee\u590d\u7684\u670d\u52a1**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L110",
      "id": "vnpy_2_110",
      "community": 66,
      "norm_label": "**2. \u4fee\u590d\u7684\u670d\u52a1**"
    },
    {
      "label": "**3. \u4f18\u5316\u7684\u914d\u7f6e**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L115",
      "id": "vnpy_3_115",
      "community": 66,
      "norm_label": "**3. \u4f18\u5316\u7684\u914d\u7f6e**"
    },
    {
      "label": "\ud83d\udcde \u6280\u672f\u652f\u6301",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L122",
      "id": "vnpy_122",
      "community": 66,
      "norm_label": "\ud83d\udcde \u6280\u672f\u652f\u6301"
    },
    {
      "label": "**\u9047\u5230\u95ee\u9898\uff1f**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L124",
      "id": "vnpy_124",
      "community": 66,
      "norm_label": "**\u9047\u5230\u95ee\u9898?**"
    },
    {
      "label": "**\u7d27\u6025\u4fee\u590d\u547d\u4ee4**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L130",
      "id": "vnpy_130",
      "community": 66,
      "norm_label": "**\u7d27\u6025\u4fee\u590d\u547d\u4ee4**"
    },
    {
      "label": "code:python (def parse_symbol(code):)",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L66",
      "id": "vnpy_codeblock_4",
      "community": 38,
      "norm_label": "code:python (def parse_symbol(code):)"
    },
    {
      "label": "\u2705 \u6700\u7ec8\u72b6\u6001\u786e\u8ba4",
      "file_type": "document",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L139",
      "id": "vnpy_139",
      "community": 66,
      "norm_label": "\u2705 \u6700\u7ec8\u72b6\u6001\u786e\u8ba4"
    },
    {
      "label": "vnpy-webtrader-research-report.md",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L1",
      "id": "research_vnpy_vnpy_webtrader_research_report_md",
      "community": 4,
      "norm_label": "vnpy-webtrader-research-report.md"
    },
    {
      "label": "vn.py Web Trader \u5b9e\u73b0\u65b9\u5f0f\u8c03\u7814\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L1",
      "id": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "community": 4,
      "norm_label": "vn.py web trader \u5b9e\u73b0\u65b9\u5f0f\u8c03\u7814\u62a5\u544a"
    },
    {
      "label": "\u8c03\u7814\u7ed3\u8bba\u6458\u8981",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L3",
      "id": "vnpy_vnpy_webtrader_research_report",
      "community": 4,
      "norm_label": "\u8c03\u7814\u7ed3\u8bba\u6458\u8981"
    },
    {
      "label": "1. \u5b98\u65b9Web Trader\u5b9a\u4f4d\u4e0e\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L13",
      "id": "vnpy_vnpy_webtrader_research_report_1_web_trader",
      "community": 4,
      "norm_label": "1. \u5b98\u65b9web trader\u5b9a\u4f4d\u4e0e\u67b6\u6784"
    },
    {
      "label": "1.1 \u6a21\u5757\u5b9a\u4f4d",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L15",
      "id": "vnpy_vnpy_webtrader_research_report_1_1",
      "community": 4,
      "norm_label": "1.1 \u6a21\u5757\u5b9a\u4f4d"
    },
    {
      "label": "1.2 \u5b98\u65b9\u67b6\u6784\u56fe",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L24",
      "id": "vnpy_vnpy_webtrader_research_report_1_2",
      "community": 4,
      "norm_label": "1.2 \u5b98\u65b9\u67b6\u6784\u56fe"
    },
    {
      "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L28",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_1",
      "community": 4,
      "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)"
    },
    {
      "label": "1.3 \u6838\u5fc3\u6280\u672f\u6808",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L54",
      "id": "vnpy_vnpy_webtrader_research_report_1_3",
      "community": 4,
      "norm_label": "1.3 \u6838\u5fc3\u6280\u672f\u6808"
    },
    {
      "label": "2. \u5e38\u89c1\u5f2f\u8def\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L66",
      "id": "vnpy_vnpy_webtrader_research_report_2",
      "community": 4,
      "norm_label": "2. \u5e38\u89c1\u5f2f\u8def\u5206\u6790"
    },
    {
      "label": "\u274c \u5f2f\u8def1\uff1a\u5355\u8fdb\u7a0b\u4e00\u4f53\u5316\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L70",
      "id": "vnpy_vnpy_webtrader_research_report_1",
      "community": 4,
      "norm_label": "\u274c \u5f2f\u8def1:\u5355\u8fdb\u7a0b\u4e00\u4f53\u5316\u67b6\u6784"
    },
    {
      "label": "code:block2 (\u628aFastAPI\u548cMainEngine\u653e\u5728\u540c\u4e00\u4e2a\u8fdb\u7a0b\u4e2d\u542f\u52a8\uff0c\u4f9d\u8d56asyncio\u534f\u7a0b\u8c03\u5ea6)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L73",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_2",
      "community": 4,
      "norm_label": "code:block2 (\u628afastapi\u548cmainengine\u653e\u5728\u540c\u4e00\u4e2a\u8fdb\u7a0b\u4e2d\u542f\u52a8,\u4f9d\u8d56asyncio\u534f\u7a0b\u8c03\u5ea6)"
    },
    {
      "label": "\u274c \u5f2f\u8def2\uff1a\u8fc7\u5ea6\u62c6\u5206\u5fae\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L83",
      "id": "vnpy_vnpy_webtrader_research_report_2_83",
      "community": 4,
      "norm_label": "\u274c \u5f2f\u8def2:\u8fc7\u5ea6\u62c6\u5206\u5fae\u670d\u52a1"
    },
    {
      "label": "code:block3 (\u628aGateway\u3001Strategy\u3001Data\u3001Web\u90fd\u62c6\u5206\u6210\u72ec\u7acb\u670d\u52a1\uff0c\u5f15\u5165\u592a\u591a\u590d\u6742\u5ea6)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L86",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_3",
      "community": 4,
      "norm_label": "code:block3 (\u628agateway\u3001strategy\u3001data\u3001web\u90fd\u62c6\u5206\u6210\u72ec\u7acb\u670d\u52a1,\u5f15\u5165\u592a\u591a\u590d\u6742\u5ea6)"
    },
    {
      "label": "\u274c \u5f2f\u8def3\uff1a\u524d\u7aef\u7ed1\u5b9a\u540e\u7aef\u8026\u5408",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L95",
      "id": "vnpy_vnpy_webtrader_research_report_3",
      "community": 4,
      "norm_label": "\u274c \u5f2f\u8def3:\u524d\u7aef\u7ed1\u5b9a\u540e\u7aef\u8026\u5408"
    },
    {
      "label": "code:block4 (\u7528Django/Tornado\u6a21\u677f\u5f15\u64ce\u6e32\u67d3\u9875\u9762\uff0c\u524d\u540e\u7aef\u5f3a\u8026\u5408)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L98",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_4",
      "community": 4,
      "norm_label": "code:block4 (\u7528django/tornado\u6a21\u677f\u5f15\u64ce\u6e32\u67d3\u9875\u9762,\u524d\u540e\u7aef\u5f3a\u8026\u5408)"
    },
    {
      "label": "3. \u7ea0\u6b63\u65b9\u6848\uff1a\u5b98\u65b9\u6807\u51c6\u53cc\u8fdb\u7a0b\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L109",
      "id": "vnpy_vnpy_webtrader_research_report_3_109",
      "community": 4,
      "norm_label": "3. \u7ea0\u6b63\u65b9\u6848:\u5b98\u65b9\u6807\u51c6\u53cc\u8fdb\u7a0b\u67b6\u6784"
    },
    {
      "label": "3.1 \u63a8\u8350\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L111",
      "id": "vnpy_vnpy_webtrader_research_report_3_1",
      "community": 4,
      "norm_label": "3.1 \u63a8\u8350\u67b6\u6784"
    },
    {
      "label": "code:block5 ([\u8fdb\u7a0b1] \u4ea4\u6613\u6838\u5fc3\u8fdb\u7a0b)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L115",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_5",
      "community": 4,
      "norm_label": "code:block5 ([\u8fdb\u7a0b1] \u4ea4\u6613\u6838\u5fc3\u8fdb\u7a0b)"
    },
    {
      "label": "3.2 \u542f\u52a8\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L135",
      "id": "vnpy_vnpy_webtrader_research_report_3_2",
      "community": 4,
      "norm_label": "3.2 \u542f\u52a8\u6d41\u7a0b"
    },
    {
      "label": "code:python (from vnpy.trader.main_engine import MainEngine)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L138",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_6",
      "community": 4,
      "norm_label": "code:python (from vnpy.trader.main_engine import mainengine)"
    },
    {
      "label": "code:python (from vnpy_webtrader import run_web_trader)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L154",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_7",
      "community": 4,
      "norm_label": "code:python (from vnpy_webtrader import run_web_trader)"
    },
    {
      "label": "3.3 \u6280\u672f\u4f18\u52bf",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L175",
      "id": "vnpy_vnpy_webtrader_research_report_3_3",
      "community": 4,
      "norm_label": "3.3 \u6280\u672f\u4f18\u52bf"
    },
    {
      "label": "4. \u5177\u4f53\u5b9e\u65bd\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L187",
      "id": "vnpy_vnpy_webtrader_research_report_4",
      "community": 4,
      "norm_label": "4. \u5177\u4f53\u5b9e\u65bd\u6b65\u9aa4"
    },
    {
      "label": "\u6b65\u9aa41\uff1a\u73af\u5883\u51c6\u5907",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L189",
      "id": "vnpy_vnpy_webtrader_research_report_1_189",
      "community": 4,
      "norm_label": "\u6b65\u9aa41:\u73af\u5883\u51c6\u5907"
    },
    {
      "label": "code:bash (# \u5b89\u88c5\u4f9d\u8d56)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L191",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_8",
      "community": 4,
      "norm_label": "code:bash (# \u5b89\u88c5\u4f9d\u8d56)"
    },
    {
      "label": "\u6b65\u9aa42\uff1a\u542f\u52a8\u4ea4\u6613\u6838\u5fc3RPC\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L198",
      "id": "vnpy_vnpy_webtrader_research_report_2_rpc",
      "community": 4,
      "norm_label": "\u6b65\u9aa42:\u542f\u52a8\u4ea4\u6613\u6838\u5fc3rpc\u670d\u52a1"
    },
    {
      "label": "code:python (from vnpy.trader.event_engine import EventEngine)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L202",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_9",
      "community": 4,
      "norm_label": "code:python (from vnpy.trader.event_engine import eventengine)"
    },
    {
      "label": "\u6b65\u9aa43\uff1a\u542f\u52a8Web Trader\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L241",
      "id": "vnpy_vnpy_webtrader_research_report_3_web_trader",
      "community": 4,
      "norm_label": "\u6b65\u9aa43:\u542f\u52a8web trader\u670d\u52a1"
    },
    {
      "label": "code:python (from vnpy_webtrader import run_web_trader)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L245",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_10",
      "community": 4,
      "norm_label": "code:python (from vnpy_webtrader import run_web_trader)"
    },
    {
      "label": "\u6b65\u9aa44\uff1aNginx\u914d\u7f6e\u53c2\u8003\uff08\u751f\u4ea7\u73af\u5883\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L266",
      "id": "vnpy_vnpy_webtrader_research_report_4_nginx",
      "community": 4,
      "norm_label": "\u6b65\u9aa44:nginx\u914d\u7f6e\u53c2\u8003(\u751f\u4ea7\u73af\u5883)"
    },
    {
      "label": "code:nginx (server {)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L268",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_11",
      "community": 4,
      "norm_label": "code:nginx (server {)"
    },
    {
      "label": "5. \u5df2\u63d0\u4f9bAPI\u63a5\u53e3\u6982\u89c8",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L299",
      "id": "vnpy_vnpy_webtrader_research_report_5_api",
      "community": 4,
      "norm_label": "5. \u5df2\u63d0\u4f9bapi\u63a5\u53e3\u6982\u89c8"
    },
    {
      "label": "REST API",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L303",
      "id": "vnpy_vnpy_webtrader_research_report_rest_api",
      "community": 4,
      "norm_label": "rest api"
    },
    {
      "label": "WebSocket",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L312",
      "id": "vnpy_vnpy_webtrader_research_report_websocket",
      "community": 4,
      "norm_label": "websocket"
    },
    {
      "label": "6. \u90e8\u7f72\u67b6\u6784\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L320",
      "id": "vnpy_vnpy_webtrader_research_report_6",
      "community": 4,
      "norm_label": "6. \u90e8\u7f72\u67b6\u6784\u5efa\u8bae"
    },
    {
      "label": "\u5f00\u53d1\u73af\u5883",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L322",
      "id": "vnpy_vnpy_webtrader_research_report_322",
      "community": 4,
      "norm_label": "\u5f00\u53d1\u73af\u5883"
    },
    {
      "label": "code:block12 (\u540c\u4e00\u53f0\u673a\u5668\uff1a)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L323",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_12",
      "community": 4,
      "norm_label": "code:block12 (\u540c\u4e00\u53f0\u673a\u5668:)"
    },
    {
      "label": "\u751f\u4ea7\u73af\u5883",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L330",
      "id": "vnpy_vnpy_webtrader_research_report_330",
      "community": 4,
      "norm_label": "\u751f\u4ea7\u73af\u5883"
    },
    {
      "label": "code:block13 (- \u4ea4\u6613\u8fdb\u7a0b\uff1a\u4ec5\u5bf9\u5185\u7f51\u5f00\u653eRPC\u7aef\u53e3)",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L331",
      "id": "vnpy_vnpy_webtrader_research_report_codeblock_13",
      "community": 4,
      "norm_label": "code:block13 (- \u4ea4\u6613\u8fdb\u7a0b:\u4ec5\u5bf9\u5185\u7f51\u5f00\u653erpc\u7aef\u53e3)"
    },
    {
      "label": "\u5b89\u5168\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L338",
      "id": "vnpy_vnpy_webtrader_research_report_338",
      "community": 4,
      "norm_label": "\u5b89\u5168\u5efa\u8bae"
    },
    {
      "label": "7. \u603b\u7ed3\u7ea0\u6b63\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L346",
      "id": "vnpy_vnpy_webtrader_research_report_7",
      "community": 4,
      "norm_label": "7. \u603b\u7ed3\u7ea0\u6b63\u65b9\u6848"
    },
    {
      "label": "\u4e0b\u4e00\u6b65\u884c\u52a8\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L359",
      "id": "vnpy_vnpy_webtrader_research_report_359",
      "community": 4,
      "norm_label": "\u4e0b\u4e00\u6b65\u884c\u52a8\u5efa\u8bae"
    },
    {
      "label": "\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L1",
      "id": "research_vnpy_edict_md",
      "community": 47,
      "norm_label": "\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md"
    },
    {
      "label": "\u4e09\u56fd\u91cf\u5316\u56e2\u961f \u00b7 edict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L2",
      "id": "vnpy_edict_edict",
      "community": 47,
      "norm_label": "\u4e09\u56fd\u91cf\u5316\u56e2\u961f \u00b7 edict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b"
    },
    {
      "label": "\ud83c\udfd7\ufe0f **\u7b2c\u4e8c\u6b65\uff1a\u76ee\u5f55\u7ed3\u6784\u4e0e\u6570\u636e\u6d41\u8f6c**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L98",
      "id": "vnpy_edict",
      "community": 81,
      "norm_label": "\ud83c\udfd7\ufe0f **\u7b2c\u4e8c\u6b65:\u76ee\u5f55\u7ed3\u6784\u4e0e\u6570\u636e\u6d41\u8f6c**"
    },
    {
      "label": "\u2705 \u5df2\u5b8c\u6210\u7684\u5de5\u4f5c",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L9",
      "id": "vnpy_edict_9",
      "community": 82,
      "norm_label": "\u2705 \u5df2\u5b8c\u6210\u7684\u5de5\u4f5c"
    },
    {
      "label": "1. edict\u7cfb\u7edf\u90e8\u7f72",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L11",
      "id": "vnpy_edict_1_edict",
      "community": 82,
      "norm_label": "1. edict\u7cfb\u7edf\u90e8\u7f72"
    },
    {
      "label": "**\ud83d\udccb \u9636\u6bb52\uff1a\u4e2d\u4e66\u7701\uff08\u8bf8\u845b\u4eae\uff09\u6536\u5230\u901a\u77e5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L164",
      "id": "vnpy_edict_2",
      "community": 46,
      "norm_label": "**\ud83d\udccb \u9636\u6bb52:\u4e2d\u4e66\u7701(\u8bf8\u845b\u4eae)\u6536\u5230\u901a\u77e5**"
    },
    {
      "label": "**\ud83d\udd0d \u9636\u6bb53\uff1a\u95e8\u4e0b\u7701\uff08\u5e9e\u7edf\uff09\u6536\u5230\u901a\u77e5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L195",
      "id": "vnpy_edict_3",
      "community": 130,
      "norm_label": "**\ud83d\udd0d \u9636\u6bb53:\u95e8\u4e0b\u7701(\u5e9e\u7edf)\u6536\u5230\u901a\u77e5**"
    },
    {
      "label": "**\ud83d\udcee \u9636\u6bb54\uff1a\u5c1a\u4e66\u7701\uff08\u53f8\u9a6c\u61ff\uff09\u6536\u5230\u901a\u77e5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L220",
      "id": "vnpy_edict_4",
      "community": 82,
      "norm_label": "**\ud83d\udcee \u9636\u6bb54:\u5c1a\u4e66\u7701(\u53f8\u9a6c\u61ff)\u6536\u5230\u901a\u77e5**"
    },
    {
      "label": "\ud83c\udfaf \u4f7f\u7528\u65b9\u5f0f",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L56",
      "id": "vnpy_edict_56",
      "community": 46,
      "norm_label": "\ud83c\udfaf \u4f7f\u7528\u65b9\u5f0f"
    },
    {
      "label": "**\ud83d\udcdd \u9636\u6bb51\uff1a\u521b\u5efa\u4efb\u52a1\uff08\u7687\u4e0a\u64cd\u4f5c\uff09**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L134",
      "id": "vnpy_edict_1",
      "community": 46,
      "norm_label": "**\ud83d\udcdd \u9636\u6bb51:\u521b\u5efa\u4efb\u52a1(\u7687\u4e0a\u64cd\u4f5c)**"
    },
    {
      "label": "1. \u521b\u5efa\u4efb\u52a1",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L60",
      "id": "vnpy_edict_1_60",
      "community": 83,
      "norm_label": "1. \u521b\u5efa\u4efb\u52a1"
    },
    {
      "label": "code:python (_STATE_AGENT_MAP = {)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L13",
      "id": "vnpy_edict_codeblock_1",
      "community": 83,
      "norm_label": "code:python (_state_agent_map = {)"
    },
    {
      "label": "2. \u4e2d\u4e66\u7701\u89c4\u5212",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L66",
      "id": "vnpy_edict_2_66",
      "community": 83,
      "norm_label": "2. \u4e2d\u4e66\u7701\u89c4\u5212"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L35",
      "id": "vnpy_edict_codeblock_2",
      "community": 83,
      "norm_label": "code:json ({)"
    },
    {
      "label": "3. \u95e8\u4e0b\u7701\u5ba1\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L72",
      "id": "vnpy_edict_3_72",
      "community": 81,
      "norm_label": "3. \u95e8\u4e0b\u7701\u5ba1\u8bae"
    },
    {
      "label": "code:block3 (/Users/chufeng/edict-data/          # \u5bbf\u4e3b\u673a\u76ee\u5f55)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L102",
      "id": "vnpy_edict_codeblock_3",
      "community": 81,
      "norm_label": "code:block3 (/users/chufeng/edict-data/          # \u5bbf\u4e3b\u673a\u76ee\u5f55)"
    },
    {
      "label": "4. \u5c1a\u4e66\u7701\u6d3e\u53d1",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L78",
      "id": "vnpy_edict_4_78",
      "community": 81,
      "norm_label": "4. \u5c1a\u4e66\u7701\u6d3e\u53d1"
    },
    {
      "label": "code:block4 (/app/data/                           # \u5bb9\u5668\u5185\u6570\u636e\u76ee\u5f55\uff08\u6302\u8f7d\u5bbf\u4e3b\u673a\uff09)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L115",
      "id": "vnpy_edict_codeblock_4",
      "community": 81,
      "norm_label": "code:block4 (/app/data/                           # \u5bb9\u5668\u5185\u6570\u636e\u76ee\u5f55(\u6302\u8f7d\u5bbf\u4e3b\u673a))"
    },
    {
      "label": "**\ud83d\ude80 \u9636\u6bb55\uff1a\u6237\u90e8\uff08\u8d75\u4e91\uff09\u6536\u5230\u901a\u77e5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L246",
      "id": "vnpy_edict_5",
      "community": 46,
      "norm_label": "**\ud83d\ude80 \u9636\u6bb55:\u6237\u90e8(\u8d75\u4e91)\u6536\u5230\u901a\u77e5**"
    },
    {
      "label": "code:json ([)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L146",
      "id": "vnpy_edict_codeblock_5",
      "community": 46,
      "norm_label": "code:json ([)"
    },
    {
      "label": "**\u2705 \u9636\u6bb56\uff1a\u5c1a\u4e66\u7701\uff08\u53f8\u9a6c\u61ff\uff09\u5ba1\u67e5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L291",
      "id": "vnpy_edict_6",
      "community": 46,
      "norm_label": "**\u2705 \u9636\u6bb56:\u5c1a\u4e66\u7701(\u53f8\u9a6c\u61ff)\u5ba1\u67e5**"
    },
    {
      "label": "code:block6 (\ud83d\udcdc \u65e8\u610f\u5df2\u5230\u4e2d\u4e66\u7701\uff0c\u8bf7\u8d77\u8349\u65b9\u6848)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L171",
      "id": "vnpy_edict_codeblock_6",
      "community": 46,
      "norm_label": "code:block6 (\ud83d\udcdc \u65e8\u610f\u5df2\u5230\u4e2d\u4e66\u7701,\u8bf7\u8d77\u8349\u65b9\u6848)"
    },
    {
      "label": "\u65b9\u5f0f2\uff1a\u4f7f\u7528\u8d75\u4e91\u4efb\u52a1\u7ba1\u7406\u5668\uff08\u81ea\u52a8\u5316\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L100",
      "id": "vnpy_edict_2_100",
      "community": 46,
      "norm_label": "\u65b9\u5f0f2:\u4f7f\u7528\u8d75\u4e91\u4efb\u52a1\u7ba1\u7406\u5668(\u81ea\u52a8\u5316)"
    },
    {
      "label": "1. \u542f\u52a8\u8d75\u4e91\u4efb\u52a1\u7ba1\u7406\u5668",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L102",
      "id": "vnpy_edict_1_102",
      "community": 46,
      "norm_label": "1. \u542f\u52a8\u8d75\u4e91\u4efb\u52a1\u7ba1\u7406\u5668"
    },
    {
      "label": "code:bash (# 1. \u66f4\u65b0\u4efb\u52a1\u72b6\u6001\u4e3a\"\u4e2d\u4e66\u7701\")",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L180",
      "id": "vnpy_edict_codeblock_7",
      "community": 46,
      "norm_label": "code:bash (# 1. \u66f4\u65b0\u4efb\u52a1\u72b6\u6001\u4e3a\"\u4e2d\u4e66\u7701\")"
    },
    {
      "label": "2. \u7ba1\u7406\u5668\u4f1a\u81ea\u52a8\uff1a",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L108",
      "id": "vnpy_edict_2_108",
      "community": 46,
      "norm_label": "2. \u7ba1\u7406\u5668\u4f1a\u81ea\u52a8:"
    },
    {
      "label": "\ud83d\udc65 \u5404\u89d2\u8272\u5de5\u4f5c\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L117",
      "id": "vnpy_edict_117",
      "community": 158,
      "norm_label": "\ud83d\udc65 \u5404\u89d2\u8272\u5de5\u4f5c\u6d41\u7a0b"
    },
    {
      "label": "\u8bf8\u845b\u4eae\uff08\u603b\u519b\u5e08\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L119",
      "id": "vnpy_edict_119",
      "community": 158,
      "norm_label": "\u8bf8\u845b\u4eae(\u603b\u519b\u5e08)"
    },
    {
      "label": "\u5e9e\u7edf\uff08\u526f\u519b\u5e08\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L125",
      "id": "vnpy_edict_125",
      "community": 158,
      "norm_label": "\u5e9e\u7edf(\u526f\u519b\u5e08)"
    },
    {
      "label": "**\u573a\u666f\uff1a\u7687\u4e0a\u8ba9\u8d75\u4e91\u505a\u4e00\u4e2a\u6570\u636e\u5206\u6790\u4efb\u52a1**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L130",
      "id": "vnpy_edict_130",
      "community": 46,
      "norm_label": "**\u573a\u666f:\u7687\u4e0a\u8ba9\u8d75\u4e91\u505a\u4e00\u4e2a\u6570\u636e\u5206\u6790\u4efb\u52a1**"
    },
    {
      "label": "\u8d75\u4e91\uff08\u6570\u636e\u62a4\u519b\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L135",
      "id": "vnpy_edict_135",
      "community": 158,
      "norm_label": "\u8d75\u4e91(\u6570\u636e\u62a4\u519b)"
    },
    {
      "label": "\ud83d\udcc1 \u6587\u4ef6\u7ed3\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L144",
      "id": "vnpy_edict_144",
      "community": 130,
      "norm_label": "\ud83d\udcc1 \u6587\u4ef6\u7ed3\u6784"
    },
    {
      "label": "code:block8 (\ud83d\udccb \u4e2d\u4e66\u7701\u65b9\u6848\u63d0\u4ea4\u5ba1\u8bae)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L202",
      "id": "vnpy_edict_codeblock_8",
      "community": 130,
      "norm_label": "code:block8 (\ud83d\udccb \u4e2d\u4e66\u7701\u65b9\u6848\u63d0\u4ea4\u5ba1\u8bae)"
    },
    {
      "label": "\ud83c\udfac \u5b8c\u6574\u5de5\u4f5c\u6d41\u7a0b\u793a\u4f8b",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L171",
      "id": "vnpy_edict_171",
      "community": 71,
      "norm_label": "\ud83c\udfac \u5b8c\u6574\u5de5\u4f5c\u6d41\u7a0b\u793a\u4f8b"
    },
    {
      "label": "\u573a\u666f\uff1a\u83b7\u53d6\u4e0a\u8bc1\u6307\u6570\u6570\u636e",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L173",
      "id": "vnpy_edict_173",
      "community": 71,
      "norm_label": "\u573a\u666f:\u83b7\u53d6\u4e0a\u8bc1\u6307\u6570\u6570\u636e"
    },
    {
      "label": "1. \u8bf8\u845b\u4eae\u521b\u5efa\u4efb\u52a1",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L175",
      "id": "vnpy_edict_1_175",
      "community": 130,
      "norm_label": "1. \u8bf8\u845b\u4eae\u521b\u5efa\u4efb\u52a1"
    },
    {
      "label": "code:bash (# 1. \u5ba1\u8bae\u65b9\u6848\uff0c\u51c6\u594f\uff01)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L211",
      "id": "vnpy_edict_codeblock_9",
      "community": 130,
      "norm_label": "code:bash (# 1. \u5ba1\u8bae\u65b9\u6848,\u51c6\u594f!)"
    },
    {
      "label": "2. \u5e9e\u7edf\u89c4\u5212\u5e76\u63d0\u4ea4\u5ba1\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L181",
      "id": "vnpy_edict_2_181",
      "community": 82,
      "norm_label": "2. \u5e9e\u7edf\u89c4\u5212\u5e76\u63d0\u4ea4\u5ba1\u8bae"
    },
    {
      "label": "code:block10 (\ud83d\udcee \u95e8\u4e0b\u7701\u5df2\u51c6\u594f\uff0c\u8bf7\u6d3e\u53d1\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L227",
      "id": "vnpy_edict_codeblock_10",
      "community": 82,
      "norm_label": "code:block10 (\ud83d\udcee \u95e8\u4e0b\u7701\u5df2\u51c6\u594f,\u8bf7\u6d3e\u53d1\u6267\u884c)"
    },
    {
      "label": "3. \u53f8\u9a6c\u61ff\u5ba1\u6838\u901a\u8fc7",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L187",
      "id": "vnpy_edict_3_187",
      "community": 82,
      "norm_label": "3. \u53f8\u9a6c\u61ff\u5ba1\u6838\u901a\u8fc7"
    },
    {
      "label": "code:bash (# 1. \u6d3e\u53d1\u7ed9\u6237\u90e8\uff08\u8d75\u4e91\uff09)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L237",
      "id": "vnpy_edict_codeblock_11",
      "community": 82,
      "norm_label": "code:bash (# 1. \u6d3e\u53d1\u7ed9\u6237\u90e8(\u8d75\u4e91))"
    },
    {
      "label": "4. \u66f4\u65b0\u8d1f\u8d23\u4eba\u4e3a\u8d75\u4e91",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L193",
      "id": "vnpy_edict_4_193",
      "community": 71,
      "norm_label": "4. \u66f4\u65b0\u8d1f\u8d23\u4eba\u4e3a\u8d75\u4e91"
    },
    {
      "label": "code:block12 (\ud83d\udccc \u8bf7\u5904\u7406\u4efb\u52a1)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L253",
      "id": "vnpy_edict_codeblock_12",
      "community": 71,
      "norm_label": "code:block12 (\ud83d\udccc \u8bf7\u5904\u7406\u4efb\u52a1)"
    },
    {
      "label": "5. \u5c1a\u4e66\u7701\u6d3e\u53d1",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L198",
      "id": "vnpy_edict_5_198",
      "community": 71,
      "norm_label": "5. \u5c1a\u4e66\u7701\u6d3e\u53d1"
    },
    {
      "label": "code:bash (# 1. \u5148\u66f4\u65b0\u770b\u677f\uff0c\u8868\u793a\u5df2\u63a5\u5230\u4efb\u52a1)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L261",
      "id": "vnpy_edict_codeblock_13",
      "community": 71,
      "norm_label": "code:bash (# 1. \u5148\u66f4\u65b0\u770b\u677f,\u8868\u793a\u5df2\u63a5\u5230\u4efb\u52a1)"
    },
    {
      "label": "6. \u8d75\u4e91\u6267\u884c\u4efb\u52a1\uff08\u624b\u52a8\u6216\u81ea\u52a8\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L204",
      "id": "vnpy_edict_6_204",
      "community": 159,
      "norm_label": "6. \u8d75\u4e91\u6267\u884c\u4efb\u52a1(\u624b\u52a8\u6216\u81ea\u52a8)"
    },
    {
      "label": "code:bash (# \u5ba1\u67e5\u901a\u8fc7\uff01\u5b8c\u6210\u4efb\u52a1\uff01)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L298",
      "id": "vnpy_edict_codeblock_14",
      "community": 159,
      "norm_label": "code:bash (# \u5ba1\u67e5\u901a\u8fc7!\u5b8c\u6210\u4efb\u52a1!)"
    },
    {
      "label": "code:bash (# \u57fa\u672c\u7528\u6cd5)",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L320",
      "id": "vnpy_edict_codeblock_15",
      "community": 159,
      "norm_label": "code:bash (# \u57fa\u672c\u7528\u6cd5)"
    },
    {
      "label": "7. \u5ba1\u6838\u5b8c\u6210",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L225",
      "id": "vnpy_edict_7",
      "community": 71,
      "norm_label": "7. \u5ba1\u6838\u5b8c\u6210"
    },
    {
      "label": "code:bash (python3 scripts/kanban_update.py state SHZ-20260401-001 Done)",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L226",
      "id": "vnpy_edict_codeblock_16",
      "community": 71,
      "norm_label": "code:bash (python3 scripts/kanban_update.py state shz-20260401-001 done)"
    },
    {
      "label": "\u26a0\ufe0f \u5df2\u77e5\u95ee\u9898\u4e0e\u6539\u8fdb\u65b9\u5411",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L233",
      "id": "vnpy_edict_233",
      "community": 47,
      "norm_label": "\u26a0\ufe0f \u5df2\u77e5\u95ee\u9898\u4e0e\u6539\u8fdb\u65b9\u5411"
    },
    {
      "label": "\u5df2\u77e5\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L235",
      "id": "vnpy_edict_235",
      "community": 47,
      "norm_label": "\u5df2\u77e5\u95ee\u9898"
    },
    {
      "label": "\u6539\u8fdb\u65b9\u5411",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L241",
      "id": "vnpy_edict_241",
      "community": 47,
      "norm_label": "\u6539\u8fdb\u65b9\u5411"
    },
    {
      "label": "\ud83d\udcda \u53c2\u8003\u8d44\u6599",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L250",
      "id": "vnpy_edict_250",
      "community": 47,
      "norm_label": "\ud83d\udcda \u53c2\u8003\u8d44\u6599"
    },
    {
      "label": "\ud83c\udf89 \u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L259",
      "id": "vnpy_edict_259",
      "community": 47,
      "norm_label": "\ud83c\udf89 \u603b\u7ed3"
    },
    {
      "label": "\ud83d\udccb **\u6838\u5fc3\u539f\u5219\uff1a\u5b8c\u5168\u590d\u7528edict\u539f\u751f\u673a\u5236**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L4",
      "id": "vnpy_edict_edict_4",
      "community": 47,
      "norm_label": "\ud83d\udccb **\u6838\u5fc3\u539f\u5219:\u5b8c\u5168\u590d\u7528edict\u539f\u751f\u673a\u5236**"
    },
    {
      "label": "\ud83c\udfaf **\u7b2c\u4e00\u6b65\uff1a\u4e09\u56fd\u5c06\u519b\u4e0eedict\u4e09\u7701\u516d\u90e8\u7684\u6620\u5c04**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L10",
      "id": "vnpy_edict_edict_10",
      "community": 83,
      "norm_label": "\ud83c\udfaf **\u7b2c\u4e00\u6b65:\u4e09\u56fd\u5c06\u519b\u4e0eedict\u4e09\u7701\u516d\u90e8\u7684\u6620\u5c04**"
    },
    {
      "label": "**edict\u539f\u6709\u6620\u5c04**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L12",
      "id": "vnpy_edict_edict_12",
      "community": 83,
      "norm_label": "**edict\u539f\u6709\u6620\u5c04**"
    },
    {
      "label": "**\u6211\u4eec\u7684\u4e09\u56fd\u6620\u5c04\uff08\u914d\u7f6e\u5230 `agent_config.json`\uff09**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L31",
      "id": "vnpy_edict_agent_config_json",
      "community": 83,
      "norm_label": "**\u6211\u4eec\u7684\u4e09\u56fd\u6620\u5c04(\u914d\u7f6e\u5230 `agent_config.json`)**"
    },
    {
      "label": "**\u6570\u636e\u6587\u4ef6\u4f4d\u7f6e\uff08\u590d\u7528edict\u539f\u751f\uff09**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L100",
      "id": "vnpy_edict_edict_100",
      "community": 81,
      "norm_label": "**\u6570\u636e\u6587\u4ef6\u4f4d\u7f6e(\u590d\u7528edict\u539f\u751f)**"
    },
    {
      "label": "**Docker\u5bb9\u5668\u5185\uff08\u6302\u8f7d\uff09**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L113",
      "id": "vnpy_edict_docker",
      "community": 81,
      "norm_label": "**docker\u5bb9\u5668\u5185(\u6302\u8f7d)**"
    },
    {
      "label": "\ud83d\udccb **\u7b2c\u4e09\u6b65\uff1a\u5b8c\u6574\u4efb\u52a1\u6d41\u8f6c\u793a\u4f8b**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L128",
      "id": "vnpy_edict_128",
      "community": 47,
      "norm_label": "\ud83d\udccb **\u7b2c\u4e09\u6b65:\u5b8c\u6574\u4efb\u52a1\u6d41\u8f6c\u793a\u4f8b**"
    },
    {
      "label": "\ud83d\udee0\ufe0f **\u7b2c\u56db\u6b65\uff1a\u5404\u5c06\u519b\u7684SOUL.md\u8865\u5145\u89c4\u5219**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L307",
      "id": "vnpy_edict_soul_md",
      "community": 47,
      "norm_label": "\ud83d\udee0\ufe0f **\u7b2c\u56db\u6b65:\u5404\u5c06\u519b\u7684soul.md\u8865\u5145\u89c4\u5219**"
    },
    {
      "label": "**\u6240\u6709\u5c06\u519b\u90fd\u8981\u9075\u5b88\u7684\u89c4\u5219\uff1a**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L309",
      "id": "vnpy_edict_309",
      "community": 47,
      "norm_label": "**\u6240\u6709\u5c06\u519b\u90fd\u8981\u9075\u5b88\u7684\u89c4\u5219:**"
    },
    {
      "label": "\ud83d\udccb **\u7b2c\u4e94\u6b65\uff1akanban_update.py \u5b8c\u6574\u547d\u4ee4\u53c2\u8003**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L318",
      "id": "vnpy_edict_kanban_update_py",
      "community": 159,
      "norm_label": "\ud83d\udccb **\u7b2c\u4e94\u6b65:kanban_update.py \u5b8c\u6574\u547d\u4ee4\u53c2\u8003**"
    },
    {
      "label": "\ud83c\udfaf **\u603b\u7ed3\uff1a\u6211\u4eec\u7684\u6d45\u96c6\u6210\u65b9\u6848**",
      "file_type": "document",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L348",
      "id": "vnpy_edict_348",
      "community": 47,
      "norm_label": "\ud83c\udfaf **\u603b\u7ed3:\u6211\u4eec\u7684\u6d45\u96c6\u6210\u65b9\u6848**"
    },
    {
      "label": "\u26a0\ufe0f \u91cd\u8981\u8bf4\u660e\uff1a\u6570\u636e\u6765\u6e90",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L8",
      "id": "vnpy_8",
      "community": 37,
      "norm_label": "\u26a0\ufe0f \u91cd\u8981\u8bf4\u660e:\u6570\u636e\u6765\u6e90"
    },
    {
      "label": "\ud83d\udcca \u670d\u52a1\u603b\u89c8",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L15",
      "id": "vnpy_15",
      "community": 38,
      "norm_label": "\ud83d\udcca \u670d\u52a1\u603b\u89c8"
    },
    {
      "label": "\ud83d\udc33 NAS Docker\u5bb9\u5668\u670d\u52a1",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L17",
      "id": "vnpy_nas_docker",
      "community": 38,
      "norm_label": "\ud83d\udc33 nas docker\u5bb9\u5668\u670d\u52a1"
    },
    {
      "label": "\ud83d\ude80 \u5feb\u901f\u5f00\u59cb",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L34",
      "id": "vnpy_34",
      "community": 38,
      "norm_label": "\ud83d\ude80 \u5feb\u901f\u5f00\u59cb"
    },
    {
      "label": "1. \u8bbf\u95eeWebtrader Backtest API",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L36",
      "id": "vnpy_1_webtrader_backtest_api",
      "community": 38,
      "norm_label": "1. \u8bbf\u95eewebtrader backtest api"
    },
    {
      "label": "\ud83d\udccb \u7b56\u7565\u5f00\u53d1\u5de5\u4f5c\u6d41",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L87",
      "id": "vnpy_87",
      "community": 84,
      "norm_label": "\ud83d\udccb \u7b56\u7565\u5f00\u53d1\u5de5\u4f5c\u6d41"
    },
    {
      "label": "\u5de5\u4f5c\u6d41\u793a\u610f\u56fe",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L89",
      "id": "vnpy_89",
      "community": 101,
      "norm_label": "\u5de5\u4f5c\u6d41\u793a\u610f\u56fe"
    },
    {
      "label": "\u8be6\u7ec6\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L96",
      "id": "vnpy_96",
      "community": 84,
      "norm_label": "\u8be6\u7ec6\u6b65\u9aa4"
    },
    {
      "label": "2. \u89e6\u53d1\u81ea\u52a8\u5316\u56de\u6d4b",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L105",
      "id": "vnpy_2_105",
      "community": 102,
      "norm_label": "2. \u89e6\u53d1\u81ea\u52a8\u5316\u56de\u6d4b"
    },
    {
      "label": "code:python (def format_datetime(date_str, interval='1d'):)",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L98",
      "id": "vnpy_codeblock_5",
      "community": 102,
      "norm_label": "code:python (def format_datetime(date_str, interval='1d'):)"
    },
    {
      "label": "code:python (#!/usr/bin/env python3)",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L120",
      "id": "vnpy_codeblock_6",
      "community": 102,
      "norm_label": "code:python (#!/usr/bin/env python3)"
    },
    {
      "label": "3. \u67e5\u770b\u7ed3\u679c",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L124",
      "id": "vnpy_3_124",
      "community": 84,
      "norm_label": "3. \u67e5\u770b\u7ed3\u679c"
    },
    {
      "label": "code:block7 (\u8d75\u4e91\uff1a\u4e0b\u8f7d\u65b0\u6570\u636e \u2192 \u8fd0\u884c\u8f6c\u6362\u811a\u672c \u2192 \u66f4\u65b0vnpy_format\u76ee\u5f55 \u2192 \u901a\u77e5\u59dc\u7ef4)",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L438",
      "id": "vnpy_codeblock_7",
      "community": 84,
      "norm_label": "code:block7 (\u8d75\u4e91:\u4e0b\u8f7d\u65b0\u6570\u636e \u2192 \u8fd0\u884c\u8f6c\u6362\u811a\u672c \u2192 \u66f4\u65b0vnpy_format\u76ee\u5f55 \u2192 \u901a\u77e5\u59dc\u7ef4)"
    },
    {
      "label": "\ud83d\udee0\ufe0f \u7ba1\u7406\u5de5\u5177",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L134",
      "id": "vnpy_134",
      "community": 131,
      "norm_label": "\ud83d\udee0\ufe0f \u7ba1\u7406\u5de5\u5177"
    },
    {
      "label": "\u672c\u5730\u81ea\u52a8\u5316\u811a\u672c",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L136",
      "id": "vnpy_136",
      "community": 131,
      "norm_label": "\u672c\u5730\u81ea\u52a8\u5316\u811a\u672c"
    },
    {
      "label": "\u5c06\u519b\u4e13\u7528\u811a\u672c",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L145",
      "id": "vnpy_145",
      "community": 131,
      "norm_label": "\u5c06\u519b\u4e13\u7528\u811a\u672c"
    },
    {
      "label": "code:bash (./sync_and_run_backtest.sh --strategy strategies.your-strate)",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L147",
      "id": "vnpy_codeblock_8",
      "community": 131,
      "norm_label": "code:bash (./sync_and_run_backtest.sh --strategy strategies.your-strate)"
    },
    {
      "label": "code:bash (./sanguo_nas_ci_cd.sh)",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L156",
      "id": "vnpy_codeblock_9",
      "community": 131,
      "norm_label": "code:bash (./sanguo_nas_ci_cd.sh)"
    },
    {
      "label": "\ud83d\udcca \u5df2\u6d4b\u8bd5\u7684\u7b56\u7565",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L165",
      "id": "vnpy_165",
      "community": 37,
      "norm_label": "\ud83d\udcca \u5df2\u6d4b\u8bd5\u7684\u7b56\u7565"
    },
    {
      "label": "1. \u5173\u7fbd\u4ef7\u503c\u6280\u672f\u7b56\u7565",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L167",
      "id": "vnpy_1_167",
      "community": 37,
      "norm_label": "1. \u5173\u7fbd\u4ef7\u503c\u6280\u672f\u7b56\u7565"
    },
    {
      "label": "\u26a0\ufe0f \u6570\u636e\u6765\u6e90\u8bf4\u660e",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L178",
      "id": "vnpy_178",
      "community": 37,
      "norm_label": "\u26a0\ufe0f \u6570\u636e\u6765\u6e90\u8bf4\u660e"
    },
    {
      "label": "2. \u5176\u4ed6\u53ef\u7528\u7b56\u7565",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L181",
      "id": "vnpy_2_181",
      "community": 37,
      "norm_label": "2. \u5176\u4ed6\u53ef\u7528\u7b56\u7565"
    },
    {
      "label": "\ud83d\udd27 \u6545\u969c\u6392\u9664",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L187",
      "id": "vnpy_187",
      "community": 54,
      "norm_label": "\ud83d\udd27 \u6545\u969c\u6392\u9664"
    },
    {
      "label": "\u5e38\u89c1\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L189",
      "id": "vnpy_189",
      "community": 54,
      "norm_label": "\u5e38\u89c1\u95ee\u9898"
    },
    {
      "label": "1. NAS\u670d\u52a1\u65e0\u6cd5\u8bbf\u95ee",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L191",
      "id": "vnpy_1_nas",
      "community": 54,
      "norm_label": "1. nas\u670d\u52a1\u65e0\u6cd5\u8bbf\u95ee"
    },
    {
      "label": "code:bash (# \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5)",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L192",
      "id": "vnpy_codeblock_10",
      "community": 54,
      "norm_label": "code:bash (# \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5)"
    },
    {
      "label": "2. API\u8c03\u7528\u5931\u8d25",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L203",
      "id": "vnpy_2_api",
      "community": 54,
      "norm_label": "2. api\u8c03\u7528\u5931\u8d25"
    },
    {
      "label": "code:bash (# \u68c0\u67e5API\u670d\u52a1\u72b6\u6001)",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L204",
      "id": "vnpy_codeblock_11",
      "community": 54,
      "norm_label": "code:bash (# \u68c0\u67e5api\u670d\u52a1\u72b6\u6001)"
    },
    {
      "label": "3. \u81ea\u52a8\u5316\u670d\u52a1\u672a\u8fd0\u884c",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L212",
      "id": "vnpy_3_212",
      "community": 54,
      "norm_label": "3. \u81ea\u52a8\u5316\u670d\u52a1\u672a\u8fd0\u884c"
    },
    {
      "label": "code:bash (# \u68c0\u67e5\u672c\u5730\u670d\u52a1\u72b6\u6001)",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L213",
      "id": "vnpy_codeblock_12",
      "community": 54,
      "norm_label": "code:bash (# \u68c0\u67e5\u672c\u5730\u670d\u52a1\u72b6\u6001)"
    },
    {
      "label": "4. \u7b56\u7565\u56de\u6d4b\u65e0\u7ed3\u679c",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L224",
      "id": "vnpy_4",
      "community": 54,
      "norm_label": "4. \u7b56\u7565\u56de\u6d4b\u65e0\u7ed3\u679c"
    },
    {
      "label": "5. \u6570\u636e\u83b7\u53d6\u5931\u8d25",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L229",
      "id": "vnpy_5",
      "community": 54,
      "norm_label": "5. \u6570\u636e\u83b7\u53d6\u5931\u8d25"
    },
    {
      "label": "\u65e5\u5fd7\u4f4d\u7f6e",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L235",
      "id": "vnpy_235",
      "community": 54,
      "norm_label": "\u65e5\u5fd7\u4f4d\u7f6e"
    },
    {
      "label": "\ud83c\udfaf \u4e0b\u4e00\u6b65\u8ba1\u5212",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L245",
      "id": "vnpy_245",
      "community": 37,
      "norm_label": "\ud83c\udfaf \u4e0b\u4e00\u6b65\u8ba1\u5212"
    },
    {
      "label": "\u77ed\u671f\u76ee\u6807\uff081-2\u5468\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L247",
      "id": "vnpy_1_2",
      "community": 37,
      "norm_label": "\u77ed\u671f\u76ee\u6807(1-2\u5468)"
    },
    {
      "label": "\u4e2d\u671f\u76ee\u6807\uff081\u4e2a\u6708\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L253",
      "id": "vnpy_1_253",
      "community": 37,
      "norm_label": "\u4e2d\u671f\u76ee\u6807(1\u4e2a\u6708)"
    },
    {
      "label": "\u957f\u671f\u76ee\u6807\uff083\u4e2a\u6708\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L259",
      "id": "vnpy_3_259",
      "community": 37,
      "norm_label": "\u957f\u671f\u76ee\u6807(3\u4e2a\u6708)"
    },
    {
      "label": "\ud83d\udcde \u6280\u672f\u652f\u6301",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L267",
      "id": "vnpy_267",
      "community": 37,
      "norm_label": "\ud83d\udcde \u6280\u672f\u652f\u6301"
    },
    {
      "label": "\u9047\u5230\u95ee\u9898\uff1f",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L269",
      "id": "vnpy_269",
      "community": 37,
      "norm_label": "\u9047\u5230\u95ee\u9898?"
    },
    {
      "label": "\u7d27\u6025\u8054\u7cfb\u65b9\u5f0f",
      "file_type": "document",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L274",
      "id": "vnpy_274",
      "community": 37,
      "norm_label": "\u7d27\u6025\u8054\u7cfb\u65b9\u5f0f"
    },
    {
      "label": "\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L1",
      "id": "research_vnpy_api_bug_md",
      "community": 8,
      "norm_label": "\u56de\u6d4bapi_bug\u4fee\u590d\u62a5\u544a.md"
    },
    {
      "label": "\ud83d\ude80 \u56de\u6d4bAPI Bug\u4fee\u590d\u5b8c\u6210\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L1",
      "id": "vnpy_api_bug_api_bug",
      "community": 8,
      "norm_label": "\ud83d\ude80 \u56de\u6d4bapi bug\u4fee\u590d\u5b8c\u6210\u62a5\u544a"
    },
    {
      "label": "\ud83d\udccb \u95ee\u9898\u6982\u8ff0",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L9",
      "id": "vnpy_api_bug",
      "community": 8,
      "norm_label": "\ud83d\udccb \u95ee\u9898\u6982\u8ff0"
    },
    {
      "label": "**\u95ee\u9898\u53d1\u73b0**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L11",
      "id": "vnpy_api_bug_11",
      "community": 8,
      "norm_label": "**\u95ee\u9898\u53d1\u73b0**"
    },
    {
      "label": "**\u5f71\u54cd\u8303\u56f4**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L17",
      "id": "vnpy_api_bug_17",
      "community": 8,
      "norm_label": "**\u5f71\u54cd\u8303\u56f4**"
    },
    {
      "label": "\ud83d\udd0d \u95ee\u9898\u6839\u56e0\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L24",
      "id": "vnpy_api_bug_24",
      "community": 8,
      "norm_label": "\ud83d\udd0d \u95ee\u9898\u6839\u56e0\u5206\u6790"
    },
    {
      "label": "**\u6838\u5fc3\u95ee\u9898**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L26",
      "id": "vnpy_api_bug_26",
      "community": 8,
      "norm_label": "**\u6838\u5fc3\u95ee\u9898**"
    },
    {
      "label": "\u2705 \u4fee\u590d\u5185\u5bb9",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L44",
      "id": "vnpy_api_bug_44",
      "community": 8,
      "norm_label": "\u2705 \u4fee\u590d\u5185\u5bb9"
    },
    {
      "label": "**1. \u5b89\u88c5\u7f3a\u5931\u7ec4\u4ef6**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L46",
      "id": "vnpy_api_bug_1",
      "community": 8,
      "norm_label": "**1. \u5b89\u88c5\u7f3a\u5931\u7ec4\u4ef6**"
    },
    {
      "label": "code:bash (# \u5b89\u88c5\u6838\u5fc3vn.py\u7ec4\u4ef6)",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L47",
      "id": "vnpy_api_bug_codeblock_1",
      "community": 8,
      "norm_label": "code:bash (# \u5b89\u88c5\u6838\u5fc3vn.py\u7ec4\u4ef6)"
    },
    {
      "label": "**2. \u4fee\u590d\u670d\u52a1\u914d\u7f6e**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L52",
      "id": "vnpy_api_bug_2",
      "community": 8,
      "norm_label": "**2. \u4fee\u590d\u670d\u52a1\u914d\u7f6e**"
    },
    {
      "label": "**3. \u4fee\u590d\u542f\u52a8\u6d41\u7a0b**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L57",
      "id": "vnpy_api_bug_3",
      "community": 8,
      "norm_label": "**3. \u4fee\u590d\u542f\u52a8\u6d41\u7a0b**"
    },
    {
      "label": "**4. \u9a8c\u8bc1\u4fee\u590d**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L62",
      "id": "vnpy_api_bug_4",
      "community": 8,
      "norm_label": "**4. \u9a8c\u8bc1\u4fee\u590d**"
    },
    {
      "label": "\ud83d\udcca \u4fee\u590d\u524d\u540e\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L69",
      "id": "vnpy_api_bug_69",
      "community": 8,
      "norm_label": "\ud83d\udcca \u4fee\u590d\u524d\u540e\u5bf9\u6bd4"
    },
    {
      "label": "\ud83d\ude80 \u73b0\u5728\u53ef\u7528\u529f\u80fd",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L80",
      "id": "vnpy_api_bug_80",
      "community": 8,
      "norm_label": "\ud83d\ude80 \u73b0\u5728\u53ef\u7528\u529f\u80fd"
    },
    {
      "label": "**1. \u7acb\u5373\u5f00\u59cb\u6d4b\u8bd5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L82",
      "id": "vnpy_api_bug_1_82",
      "community": 8,
      "norm_label": "**1. \u7acb\u5373\u5f00\u59cb\u6d4b\u8bd5**"
    },
    {
      "label": "**2. \u6d4b\u8bd5\u9a8c\u8bc1\u7ed3\u679c**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L87",
      "id": "vnpy_api_bug_2_87",
      "community": 8,
      "norm_label": "**2. \u6d4b\u8bd5\u9a8c\u8bc1\u7ed3\u679c**"
    },
    {
      "label": "**3. \u4f7f\u7528\u793a\u4f8b**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L93",
      "id": "vnpy_api_bug_3_93",
      "community": 8,
      "norm_label": "**3. \u4f7f\u7528\u793a\u4f8b**"
    },
    {
      "label": "code:python (import requests)",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L94",
      "id": "vnpy_api_bug_codeblock_2",
      "community": 8,
      "norm_label": "code:python (import requests)"
    },
    {
      "label": "\ud83d\udd27 \u6280\u672f\u7ec6\u8282",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L124",
      "id": "vnpy_api_bug_124",
      "community": 8,
      "norm_label": "\ud83d\udd27 \u6280\u672f\u7ec6\u8282"
    },
    {
      "label": "**\u4fee\u590d\u7684\u5173\u952e\u6587\u4ef6**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L126",
      "id": "vnpy_api_bug_126",
      "community": 8,
      "norm_label": "**\u4fee\u590d\u7684\u5173\u952e\u6587\u4ef6**"
    },
    {
      "label": "**\u670d\u52a1\u67b6\u6784**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L142",
      "id": "vnpy_api_bug_142",
      "community": 8,
      "norm_label": "**\u670d\u52a1\u67b6\u6784**"
    },
    {
      "label": "code:block3 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L143",
      "id": "vnpy_api_bug_codeblock_3",
      "community": 8,
      "norm_label": "code:block3 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)"
    },
    {
      "label": "\ud83c\udfaf \u4e0b\u4e00\u6b65\u8ba1\u5212",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L160",
      "id": "vnpy_api_bug_160",
      "community": 8,
      "norm_label": "\ud83c\udfaf \u4e0b\u4e00\u6b65\u8ba1\u5212"
    },
    {
      "label": "**\u77ed\u671f\uff081-2\u5929\uff09**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L162",
      "id": "vnpy_api_bug_1_2",
      "community": 8,
      "norm_label": "**\u77ed\u671f(1-2\u5929)**"
    },
    {
      "label": "**\u4e2d\u671f\uff081\u5468\uff09**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L167",
      "id": "vnpy_api_bug_1_167",
      "community": 8,
      "norm_label": "**\u4e2d\u671f(1\u5468)**"
    },
    {
      "label": "**\u957f\u671f\uff081\u4e2a\u6708\uff09**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L172",
      "id": "vnpy_api_bug_1_172",
      "community": 8,
      "norm_label": "**\u957f\u671f(1\u4e2a\u6708)**"
    },
    {
      "label": "\ud83d\udcde \u6280\u672f\u652f\u6301",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L179",
      "id": "vnpy_api_bug_179",
      "community": 8,
      "norm_label": "\ud83d\udcde \u6280\u672f\u652f\u6301"
    },
    {
      "label": "**\u9047\u5230\u95ee\u9898\uff1f**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L181",
      "id": "vnpy_api_bug_181",
      "community": 8,
      "norm_label": "**\u9047\u5230\u95ee\u9898?**"
    },
    {
      "label": "**\u7d27\u6025\u4fee\u590d**",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L187",
      "id": "vnpy_api_bug_187",
      "community": 8,
      "norm_label": "**\u7d27\u6025\u4fee\u590d**"
    },
    {
      "label": "code:bash (# \u4e00\u952e\u4fee\u590d)",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L188",
      "id": "vnpy_api_bug_codeblock_4",
      "community": 8,
      "norm_label": "code:bash (# \u4e00\u952e\u4fee\u590d)"
    },
    {
      "label": "\u2705 \u4fee\u590d\u72b6\u6001\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L200",
      "id": "vnpy_api_bug_200",
      "community": 8,
      "norm_label": "\u2705 \u4fee\u590d\u72b6\u6001\u603b\u7ed3"
    },
    {
      "label": "final_fix_summary.md",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L1",
      "id": "research_vnpy_final_fix_summary_md",
      "community": 21,
      "norm_label": "final_fix_summary.md"
    },
    {
      "label": "\u2705 \u56de\u6d4bAPI\u95ee\u9898\u5b8c\u5168\u4fee\u590d - \u6700\u7ec8\u62a5\u544a",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L1",
      "id": "vnpy_final_fix_summary_api",
      "community": 21,
      "norm_label": "\u2705 \u56de\u6d4bapi\u95ee\u9898\u5b8c\u5168\u4fee\u590d - \u6700\u7ec8\u62a5\u544a"
    },
    {
      "label": "\ud83d\udd0d **\u95ee\u9898\u5206\u6790**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L9",
      "id": "vnpy_final_fix_summary",
      "community": 21,
      "norm_label": "\ud83d\udd0d **\u95ee\u9898\u5206\u6790**"
    },
    {
      "label": "**\u539f\u95ee\u9898**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L11",
      "id": "vnpy_final_fix_summary_11",
      "community": 21,
      "norm_label": "**\u539f\u95ee\u9898**"
    },
    {
      "label": "**\u95ee\u9898\u6839\u6e90**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L16",
      "id": "vnpy_final_fix_summary_16",
      "community": 21,
      "norm_label": "**\u95ee\u9898\u6839\u6e90**"
    },
    {
      "label": "\u2705 **\u5df2\u5b8c\u6210\u7684\u4fee\u590d**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L23",
      "id": "vnpy_final_fix_summary_23",
      "community": 21,
      "norm_label": "\u2705 **\u5df2\u5b8c\u6210\u7684\u4fee\u590d**"
    },
    {
      "label": "**1. vnpy.app\u517c\u5bb9\u6027\u4fee\u590d** \u2713",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L25",
      "id": "vnpy_final_fix_summary_1_vnpy_app",
      "community": 21,
      "norm_label": "**1. vnpy.app\u517c\u5bb9\u6027\u4fee\u590d** \u2713"
    },
    {
      "label": "**2. 510300.SSE\u6570\u636e\u5bfc\u5165** \u2713",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L30",
      "id": "vnpy_final_fix_summary_2_510300_sse",
      "community": 21,
      "norm_label": "**2. 510300.sse\u6570\u636e\u5bfc\u5165** \u2713"
    },
    {
      "label": "**3. \u6570\u636e\u8def\u5f84\u914d\u7f6e** \u2713",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L37",
      "id": "vnpy_final_fix_summary_3",
      "community": 21,
      "norm_label": "**3. \u6570\u636e\u8def\u5f84\u914d\u7f6e** \u2713"
    },
    {
      "label": "\ud83d\ude80 **\u5f53\u524d\u670d\u52a1\u72b6\u6001**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L44",
      "id": "vnpy_final_fix_summary_44",
      "community": 21,
      "norm_label": "\ud83d\ude80 **\u5f53\u524d\u670d\u52a1\u72b6\u6001**"
    },
    {
      "label": "**\u4fee\u590d\u540e\u7684\u670d\u52a1**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L46",
      "id": "vnpy_final_fix_summary_46",
      "community": 21,
      "norm_label": "**\u4fee\u590d\u540e\u7684\u670d\u52a1**"
    },
    {
      "label": "**\u6570\u636e\u9a8c\u8bc1**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L53",
      "id": "vnpy_final_fix_summary_53",
      "community": 21,
      "norm_label": "**\u6570\u636e\u9a8c\u8bc1**"
    },
    {
      "label": "code:block1 (\u6570\u636e\u5e93: /Users/chufeng/.openclaw/workspace-zhaoyun/zhaoyun-data)",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L54",
      "id": "vnpy_final_fix_summary_codeblock_1",
      "community": 21,
      "norm_label": "code:block1 (\u6570\u636e\u5e93: /users/chufeng/.openclaw/workspace-zhaoyun/zhaoyun-data)"
    },
    {
      "label": "\ud83c\udfaf **\u9a8c\u8bc1\u6b65\u9aa4**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L65",
      "id": "vnpy_final_fix_summary_65",
      "community": 21,
      "norm_label": "\ud83c\udfaf **\u9a8c\u8bc1\u6b65\u9aa4**"
    },
    {
      "label": "code:python (import requests)",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L69",
      "id": "vnpy_final_fix_summary_codeblock_2",
      "community": 21,
      "norm_label": "code:python (import requests)"
    },
    {
      "label": "\ud83d\udcca **\u9884\u671f\u7ed3\u679c**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L118",
      "id": "vnpy_final_fix_summary_118",
      "community": 21,
      "norm_label": "\ud83d\udcca **\u9884\u671f\u7ed3\u679c**"
    },
    {
      "label": "\ud83d\udd27 **\u6280\u672f\u7ec6\u8282**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L129",
      "id": "vnpy_final_fix_summary_129",
      "community": 21,
      "norm_label": "\ud83d\udd27 **\u6280\u672f\u7ec6\u8282**"
    },
    {
      "label": "**\u517c\u5bb9\u6027\u5c42\u5de5\u4f5c\u539f\u7406**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L131",
      "id": "vnpy_final_fix_summary_131",
      "community": 21,
      "norm_label": "**\u517c\u5bb9\u6027\u5c42\u5de5\u4f5c\u539f\u7406**"
    },
    {
      "label": "code:python (# \u5728RPC\u670d\u52a1\u542f\u52a8\u65f6\u7acb\u5373\u6267\u884c)",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L132",
      "id": "vnpy_final_fix_summary_codeblock_3",
      "community": 21,
      "norm_label": "code:python (# \u5728rpc\u670d\u52a1\u542f\u52a8\u65f6\u7acb\u5373\u6267\u884c)"
    },
    {
      "label": "**\u6570\u636e\u683c\u5f0f**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L152",
      "id": "vnpy_final_fix_summary_152",
      "community": 21,
      "norm_label": "**\u6570\u636e\u683c\u5f0f**"
    },
    {
      "label": "code:block4 (symbol TEXT NOT NULL)",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L154",
      "id": "vnpy_final_fix_summary_codeblock_4",
      "community": 21,
      "norm_label": "code:block4 (symbol text not null)"
    },
    {
      "label": "\u2705 **\u6700\u7ec8\u72b6\u6001**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L170",
      "id": "vnpy_final_fix_summary_170",
      "community": 21,
      "norm_label": "\u2705 **\u6700\u7ec8\u72b6\u6001**"
    },
    {
      "label": "\ud83c\udf89 **\u7ed3\u8bba**",
      "file_type": "document",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L182",
      "id": "vnpy_final_fix_summary_182",
      "community": 21,
      "norm_label": "\ud83c\udf89 **\u7ed3\u8bba**"
    },
    {
      "label": "\ud83d\ude80 \u89e3\u51b3vnpy\u6a21\u5757\u7f3a\u5931\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L1",
      "id": "vnpy_vnpy_vnpy",
      "community": 65,
      "norm_label": "\ud83d\ude80 \u89e3\u51b3vnpy\u6a21\u5757\u7f3a\u5931\u95ee\u9898"
    },
    {
      "label": "**\u9519\u8bef\u4fe1\u606f**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L11",
      "id": "vnpy_vnpy_11",
      "community": 65,
      "norm_label": "**\u9519\u8bef\u4fe1\u606f**"
    },
    {
      "label": "**\u53ef\u80fd\u539f\u56e0**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L16",
      "id": "vnpy_vnpy_16",
      "community": 65,
      "norm_label": "**\u53ef\u80fd\u539f\u56e0**"
    },
    {
      "label": "\ud83d\udd27 \u4fee\u590d\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L23",
      "id": "vnpy_vnpy_23",
      "community": 34,
      "norm_label": "\ud83d\udd27 \u4fee\u590d\u65b9\u6848"
    },
    {
      "label": "**\u65b9\u6848\u4e8c\uff1a\u5b89\u88c5\u5b8c\u6574vn.py\u5957\u4ef6**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L31",
      "id": "vnpy_vnpy_vn_py_31",
      "community": 34,
      "norm_label": "**\u65b9\u6848\u4e8c:\u5b89\u88c5\u5b8c\u6574vn.py\u5957\u4ef6**"
    },
    {
      "label": "**\u65b9\u6848\u4e09\uff1a\u91cd\u65b0\u5b89\u88c5vn.py**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L37",
      "id": "vnpy_vnpy_vn_py_37",
      "community": 34,
      "norm_label": "**\u65b9\u6848\u4e09:\u91cd\u65b0\u5b89\u88c5vn.py**"
    },
    {
      "label": "\ud83d\ude80 \u7acb\u5373\u6267\u884c\u547d\u4ee4",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L46",
      "id": "vnpy_vnpy_46",
      "community": 44,
      "norm_label": "\ud83d\ude80 \u7acb\u5373\u6267\u884c\u547d\u4ee4"
    },
    {
      "label": "\ud83c\udfaf \u9a8c\u8bc1\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L70",
      "id": "vnpy_vnpy_70",
      "community": 36,
      "norm_label": "\ud83c\udfaf \u9a8c\u8bc1\u6b65\u9aa4"
    },
    {
      "label": "**\u6b65\u9aa41: \u68c0\u67e5\u5b89\u88c5**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L72",
      "id": "vnpy_vnpy_1_72",
      "community": 36,
      "norm_label": "**\u6b65\u9aa41: \u68c0\u67e5\u5b89\u88c5**"
    },
    {
      "label": "**\u6b65\u9aa42: \u6d4b\u8bd5\u56de\u6d4bAPI**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L78",
      "id": "vnpy_vnpy_2_api",
      "community": 36,
      "norm_label": "**\u6b65\u9aa42: \u6d4b\u8bd5\u56de\u6d4bapi**"
    },
    {
      "label": "**\u6b65\u9aa43: \u8fd0\u884c\u6d4b\u8bd5\u811a\u672c**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L87",
      "id": "vnpy_vnpy_3",
      "community": 36,
      "norm_label": "**\u6b65\u9aa43: \u8fd0\u884c\u6d4b\u8bd5\u811a\u672c**"
    },
    {
      "label": "\ud83d\udcca \u9884\u671f\u7ed3\u679c",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L95",
      "id": "vnpy_vnpy_95",
      "community": 65,
      "norm_label": "\ud83d\udcca \u9884\u671f\u7ed3\u679c"
    },
    {
      "label": "\u26a0\ufe0f \u6ce8\u610f\u4e8b\u9879",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L105",
      "id": "vnpy_vnpy_105",
      "community": 65,
      "norm_label": "\u26a0\ufe0f \u6ce8\u610f\u4e8b\u9879"
    },
    {
      "label": "\ud83d\udcde \u6545\u969c\u6392\u9664",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L113",
      "id": "vnpy_vnpy_113",
      "community": 53,
      "norm_label": "\ud83d\udcde \u6545\u969c\u6392\u9664"
    },
    {
      "label": "**\u95ee\u98981: vnpy.app\u6a21\u5757\u7f3a\u5931**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L115",
      "id": "vnpy_vnpy_1_vnpy_app",
      "community": 53,
      "norm_label": "**\u95ee\u98981: vnpy.app\u6a21\u5757\u7f3a\u5931**"
    },
    {
      "label": "**\u95ee\u98982: \u6a21\u5757\u5bfc\u5165\u9519\u8bef**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L122",
      "id": "vnpy_vnpy_2_122",
      "community": 53,
      "norm_label": "**\u95ee\u98982: \u6a21\u5757\u5bfc\u5165\u9519\u8bef**"
    },
    {
      "label": "**\u95ee\u98983: \u8fd0\u884c\u9a8c\u8bc1\u811a\u672c\u5931\u8d25**",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L130",
      "id": "vnpy_vnpy_3_130",
      "community": 53,
      "norm_label": "**\u95ee\u98983: \u8fd0\u884c\u9a8c\u8bc1\u811a\u672c\u5931\u8d25**"
    },
    {
      "label": "\u2705 \u9a8c\u8bc1\u6210\u529f\u6807\u5fd7",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L144",
      "id": "vnpy_vnpy_144",
      "community": 45,
      "norm_label": "\u2705 \u9a8c\u8bc1\u6210\u529f\u6807\u5fd7"
    },
    {
      "label": "\ud83d\udd17 \u76f8\u5173\u8d44\u6e90",
      "file_type": "document",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L166",
      "id": "vnpy_vnpy_166",
      "community": 65,
      "norm_label": "\ud83d\udd17 \u76f8\u5173\u8d44\u6e90"
    },
    {
      "label": "edict-adapter-scheme.md",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L1",
      "id": "research_vnpy_edict_adapter_scheme_md",
      "community": 16,
      "norm_label": "edict-adapter-scheme.md"
    },
    {
      "label": "edict \u9002\u914d sanguo_quant \u591aagent\u7ec4\u7ec7\u67b6\u6784\u65b9\u6848",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L1",
      "id": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "community": 16,
      "norm_label": "edict \u9002\u914d sanguo_quant \u591aagent\u7ec4\u7ec7\u67b6\u6784\u65b9\u6848"
    },
    {
      "label": "\u5f53\u524d\u73b0\u72b6\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L3",
      "id": "vnpy_edict_adapter_scheme",
      "community": 16,
      "norm_label": "\u5f53\u524d\u73b0\u72b6\u5bf9\u6bd4"
    },
    {
      "label": "\u6211\u4eec sanguo_quant \u73b0\u6709\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L5",
      "id": "vnpy_edict_adapter_scheme_sanguo_quant",
      "community": 16,
      "norm_label": "\u6211\u4eec sanguo_quant \u73b0\u6709\u67b6\u6784"
    },
    {
      "label": "code:block1 (\u4f60 (\u4e1e\u76f8/\u603b\u519b\u5e08) \u2192 \u8bf8\u845b\u4eae (\u603b\u519b\u5e08) \u2192 \u62c6\u89e3\u4efb\u52a1 \u2192 \u5206\u914d\u7ed9 \u5e9e\u7edf/\u53f8\u9a6c\u61ff/\u5f20\u98de/\u5173\u7fbd/\u8d75\u4e91/\u59dc\u7ef4 \u2192 \u5404\u5c06\u519b)",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L7",
      "id": "vnpy_edict_adapter_scheme_codeblock_1",
      "community": 16,
      "norm_label": "code:block1 (\u4f60 (\u4e1e\u76f8/\u603b\u519b\u5e08) \u2192 \u8bf8\u845b\u4eae (\u603b\u519b\u5e08) \u2192 \u62c6\u89e3\u4efb\u52a1 \u2192 \u5206\u914d\u7ed9 \u5e9e\u7edf/\u53f8\u9a6c\u61ff/\u5f20\u98de/\u5173\u7fbd/\u8d75\u4e91/\u59dc\u7ef4 \u2192 \u5404\u5c06\u519b)"
    },
    {
      "label": "edict \u539f\u6709\u67b6\u6784",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L20",
      "id": "vnpy_edict_adapter_scheme_edict",
      "community": 16,
      "norm_label": "edict \u539f\u6709\u67b6\u6784"
    },
    {
      "label": "code:block2 (\u7687\u4e0a \u2192 \u592a\u5b50 (\u5206\u62e3) \u2192 \u4e2d\u4e66\u7701 (\u89c4\u5212) \u2192 \u95e8\u4e0b\u7701 (\u5ba1\u6838) \u2192 \u5c1a\u4e66\u7701 (\u6d3e\u53d1) \u2192 \u516d\u90e8 (\u6267\u884c) \u2192 \u56de\u594f)",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L22",
      "id": "vnpy_edict_adapter_scheme_codeblock_2",
      "community": 16,
      "norm_label": "code:block2 (\u7687\u4e0a \u2192 \u592a\u5b50 (\u5206\u62e3) \u2192 \u4e2d\u4e66\u7701 (\u89c4\u5212) \u2192 \u95e8\u4e0b\u7701 (\u5ba1\u6838) \u2192 \u5c1a\u4e66\u7701 (\u6d3e\u53d1) \u2192 \u516d\u90e8 (\u6267\u884c) \u2192 \u56de\u594f)"
    },
    {
      "label": "\u9002\u914d\u65b9\u6848\uff1a\u4fdd\u6301\u6211\u4eec\u73b0\u6709\u63a5\u53e3\u4e0d\u53d8\uff0c\u96c6\u6210edict\u4eea\u8868\u76d8",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L28",
      "id": "vnpy_edict_adapter_scheme_edict_28",
      "community": 16,
      "norm_label": "\u9002\u914d\u65b9\u6848:\u4fdd\u6301\u6211\u4eec\u73b0\u6709\u63a5\u53e3\u4e0d\u53d8,\u96c6\u6210edict\u4eea\u8868\u76d8"
    },
    {
      "label": "\u76ee\u6807",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L30",
      "id": "vnpy_edict_adapter_scheme_30",
      "community": 16,
      "norm_label": "\u76ee\u6807"
    },
    {
      "label": "\u67b6\u6784\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L38",
      "id": "vnpy_edict_adapter_scheme_38",
      "community": 16,
      "norm_label": "\u67b6\u6784\u8bbe\u8ba1"
    },
    {
      "label": "code:block3 (sanguo_quant                edict)",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L40",
      "id": "vnpy_edict_adapter_scheme_codeblock_3",
      "community": 16,
      "norm_label": "code:block3 (sanguo_quant                edict)"
    },
    {
      "label": "\u6570\u636e\u6620\u5c04",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L60",
      "id": "vnpy_edict_adapter_scheme_60",
      "community": 16,
      "norm_label": "\u6570\u636e\u6620\u5c04"
    },
    {
      "label": "\u6539\u9020\u65b9\u6848\uff1a\u8f7b\u91cf\u5316\u9002\u914d\uff0c\u4e0d\u4fb5\u5165\u539f\u6709\u4ee3\u7801",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L83",
      "id": "vnpy_edict_adapter_scheme_83",
      "community": 16,
      "norm_label": "\u6539\u9020\u65b9\u6848:\u8f7b\u91cf\u5316\u9002\u914d,\u4e0d\u4fb5\u5165\u539f\u6709\u4ee3\u7801"
    },
    {
      "label": "\u65b9\u6848A\uff1a\u72ec\u7acb\u670d\u52a1 + API\u540c\u6b65\uff08\u63a8\u8350\uff0c\u6700\u7b80\u6539\u9020\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L85",
      "id": "vnpy_edict_adapter_scheme_a_api",
      "community": 16,
      "norm_label": "\u65b9\u6848a:\u72ec\u7acb\u670d\u52a1 + api\u540c\u6b65(\u63a8\u8350,\u6700\u7b80\u6539\u9020)"
    },
    {
      "label": "\u9700\u8981\u505a\u7684\u6539\u9020",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L103",
      "id": "vnpy_edict_adapter_scheme_103",
      "community": 16,
      "norm_label": "\u9700\u8981\u505a\u7684\u6539\u9020"
    },
    {
      "label": "\u65b9\u6848B\uff1a\u6df1\u5ea6\u96c6\u6210\uff0c\u8ba9edict\u63a5\u7ba1\u6d41\u8f6c\u63a7\u5236\uff08\u4e0d\u63a8\u8350\uff0c\u6539\u53d8\u539f\u6709\u63a5\u53e3\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L115",
      "id": "vnpy_edict_adapter_scheme_b_edict",
      "community": 16,
      "norm_label": "\u65b9\u6848b:\u6df1\u5ea6\u96c6\u6210,\u8ba9edict\u63a5\u7ba1\u6d41\u8f6c\u63a7\u5236(\u4e0d\u63a8\u8350,\u6539\u53d8\u539f\u6709\u63a5\u53e3)"
    },
    {
      "label": "\u5177\u4f53\u5b9e\u65bd\u6b65\u9aa4\uff08\u65b9\u6848A\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L121",
      "id": "vnpy_edict_adapter_scheme_a",
      "community": 16,
      "norm_label": "\u5177\u4f53\u5b9e\u65bd\u6b65\u9aa4(\u65b9\u6848a)"
    },
    {
      "label": "\u7b2c\u4e00\u6b65\uff1a\u5728edict\u6570\u636e\u76ee\u5f55\u6dfb\u52a0\u6211\u4eec\u7684\u914d\u7f6e",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L123",
      "id": "vnpy_edict_adapter_scheme_edict_123",
      "community": 16,
      "norm_label": "\u7b2c\u4e00\u6b65:\u5728edict\u6570\u636e\u76ee\u5f55\u6dfb\u52a0\u6211\u4eec\u7684\u914d\u7f6e"
    },
    {
      "label": "code:block4 (# \u8fdb\u5165\u5bb9\u5668)",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L125",
      "id": "vnpy_edict_adapter_scheme_codeblock_4",
      "community": 16,
      "norm_label": "code:block4 (# \u8fdb\u5165\u5bb9\u5668)"
    },
    {
      "label": "\u7b2c\u4e8c\u6b65\uff1a\u6dfb\u52a0API\u8c03\u7528\u5c01\u88c5",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L134",
      "id": "vnpy_edict_adapter_scheme_api",
      "community": 16,
      "norm_label": "\u7b2c\u4e8c\u6b65:\u6dfb\u52a0api\u8c03\u7528\u5c01\u88c5"
    },
    {
      "label": "code:bash (#!/bin/bash)",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L139",
      "id": "vnpy_edict_adapter_scheme_codeblock_5",
      "community": 16,
      "norm_label": "code:bash (#!/bin/bash)"
    },
    {
      "label": "\u7b2c\u4e09\u6b65\uff1a\u6539\u9020\u73b0\u6709\u811a\u672c",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L154",
      "id": "vnpy_edict_adapter_scheme_154",
      "community": 16,
      "norm_label": "\u7b2c\u4e09\u6b65:\u6539\u9020\u73b0\u6709\u811a\u672c"
    },
    {
      "label": "\u7b2c\u56db\u6b65\uff1a\u6d4b\u8bd5\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L163",
      "id": "vnpy_edict_adapter_scheme_163",
      "community": 16,
      "norm_label": "\u7b2c\u56db\u6b65:\u6d4b\u8bd5\u9a8c\u8bc1"
    },
    {
      "label": "\u4f18\u52bf\u603b\u7ed3",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L171",
      "id": "vnpy_edict_adapter_scheme_171",
      "community": 16,
      "norm_label": "\u4f18\u52bf\u603b\u7ed3"
    },
    {
      "label": "\u4ea7\u51fa\u7269\u7ed3\u6784\uff08\u5728\u6211\u4eec\u9879\u76ee\u4e2d\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L184",
      "id": "vnpy_edict_adapter_scheme_184",
      "community": 16,
      "norm_label": "\u4ea7\u51fa\u7269\u7ed3\u6784(\u5728\u6211\u4eec\u9879\u76ee\u4e2d)"
    },
    {
      "label": "code:block6 (sanguo_vnpy/)",
      "file_type": "document",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L186",
      "id": "vnpy_edict_adapter_scheme_codeblock_6",
      "community": 16,
      "norm_label": "code:block6 (sanguo_vnpy/)"
    },
    {
      "label": "\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357 - vn.py\u6807\u51c6\u683c\u5f0f",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L1",
      "id": "vnpy_vn_py",
      "community": 58,
      "norm_label": "\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357 - vn.py\u6807\u51c6\u683c\u5f0f"
    },
    {
      "label": "\ud83d\udccb \u8f6c\u6362\u8981\u6c42",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L6",
      "id": "vnpy_6",
      "community": 38,
      "norm_label": "\ud83d\udccb \u8f6c\u6362\u8981\u6c42"
    },
    {
      "label": "\u539f\u59cb\u6570\u636e\uff08\u8d75\u4e91\u683c\u5f0f\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L29",
      "id": "vnpy_29",
      "community": 38,
      "norm_label": "\u539f\u59cb\u6570\u636e(\u8d75\u4e91\u683c\u5f0f)"
    },
    {
      "label": "\u76ee\u6807\u683c\u5f0f\uff08vn.py\u6807\u51c6\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L45",
      "id": "vnpy_vn_py_45",
      "community": 101,
      "norm_label": "\u76ee\u6807\u683c\u5f0f(vn.py\u6807\u51c6)"
    },
    {
      "label": "\u80a1\u7968\u4ee3\u7801\u5904\u7406",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L65",
      "id": "vnpy_65",
      "community": 38,
      "norm_label": "\u80a1\u7968\u4ee3\u7801\u5904\u7406"
    },
    {
      "label": "\u65e5\u671f\u65f6\u95f4\u5904\u7406",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L97",
      "id": "vnpy_97",
      "community": 102,
      "norm_label": "\u65e5\u671f\u65f6\u95f4\u5904\u7406"
    },
    {
      "label": "\ud83d\ude80 \u8f6c\u6362\u811a\u672c\u793a\u4f8b",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L117",
      "id": "vnpy_117",
      "community": 102,
      "norm_label": "\ud83d\ude80 \u8f6c\u6362\u811a\u672c\u793a\u4f8b"
    },
    {
      "label": "\u5b8c\u6574\u8f6c\u6362\u811a\u672c\uff1a`convert_to_vnpy.py`",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L119",
      "id": "vnpy_convert_to_vnpy_py",
      "community": 102,
      "norm_label": "\u5b8c\u6574\u8f6c\u6362\u811a\u672c:`convert_to_vnpy.py`"
    },
    {
      "label": "\ud83d\udccb \u8f6c\u6362\u5de5\u4f5c\u6e05\u5355",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L399",
      "id": "vnpy_399",
      "community": 58,
      "norm_label": "\ud83d\udccb \u8f6c\u6362\u5de5\u4f5c\u6e05\u5355"
    },
    {
      "label": "\u7b2c\u4e00\u9636\u6bb5\uff1a\u6d4b\u8bd5\u8f6c\u6362\uff08\u7acb\u5373\u5f00\u59cb\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L401",
      "id": "vnpy_401",
      "community": 58,
      "norm_label": "\u7b2c\u4e00\u9636\u6bb5:\u6d4b\u8bd5\u8f6c\u6362(\u7acb\u5373\u5f00\u59cb)"
    },
    {
      "label": "\u7b2c\u4e8c\u9636\u6bb5\uff1a\u6279\u91cf\u8f6c\u6362\uff08\u6d4b\u8bd5\u901a\u8fc7\u540e\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L407",
      "id": "vnpy_407",
      "community": 58,
      "norm_label": "\u7b2c\u4e8c\u9636\u6bb5:\u6279\u91cf\u8f6c\u6362(\u6d4b\u8bd5\u901a\u8fc7\u540e)"
    },
    {
      "label": "\u7b2c\u4e09\u9636\u6bb5\uff1a\u5b9a\u671f\u66f4\u65b0",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L413",
      "id": "vnpy_413",
      "community": 58,
      "norm_label": "\u7b2c\u4e09\u9636\u6bb5:\u5b9a\u671f\u66f4\u65b0"
    },
    {
      "label": "\ud83d\udd27 \u6280\u672f\u8981\u70b9",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L418",
      "id": "vnpy_418",
      "community": 58,
      "norm_label": "\ud83d\udd27 \u6280\u672f\u8981\u70b9"
    },
    {
      "label": "1. \u6027\u80fd\u4f18\u5316",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L420",
      "id": "vnpy_1_420",
      "community": 58,
      "norm_label": "1. \u6027\u80fd\u4f18\u5316"
    },
    {
      "label": "2. \u6570\u636e\u8d28\u91cf",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L425",
      "id": "vnpy_2_425",
      "community": 58,
      "norm_label": "2. \u6570\u636e\u8d28\u91cf"
    },
    {
      "label": "3. \u53ef\u7ef4\u62a4\u6027",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L430",
      "id": "vnpy_3_430",
      "community": 58,
      "norm_label": "3. \u53ef\u7ef4\u62a4\u6027"
    },
    {
      "label": "\ud83d\udcde \u534f\u4f5c\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L435",
      "id": "vnpy_435",
      "community": 84,
      "norm_label": "\ud83d\udcde \u534f\u4f5c\u6d41\u7a0b"
    },
    {
      "label": "\u6570\u636e\u66f4\u65b0\u6d41\u7a0b\uff1a",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L437",
      "id": "vnpy_437",
      "community": 84,
      "norm_label": "\u6570\u636e\u66f4\u65b0\u6d41\u7a0b:"
    },
    {
      "label": "\u95ee\u9898\u5904\u7406\uff1a",
      "file_type": "document",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L443",
      "id": "vnpy_443",
      "community": 84,
      "norm_label": "\u95ee\u9898\u5904\u7406:"
    },
    {
      "label": "nas-deployment-architecture-analysis.md",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L1",
      "id": "research_vnpy_nas_deployment_architecture_analysis_md",
      "community": 10,
      "norm_label": "nas-deployment-architecture-analysis.md"
    },
    {
      "label": "NAS \u73af\u5883 sanguo_vnpy Web Trader \u67b6\u6784\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L1",
      "id": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "community": 10,
      "norm_label": "nas \u73af\u5883 sanguo_vnpy web trader \u67b6\u6784\u5206\u6790"
    },
    {
      "label": "\u9700\u6c42\u80cc\u666f",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L3",
      "id": "vnpy_nas_deployment_architecture_analysis",
      "community": 10,
      "norm_label": "\u9700\u6c42\u80cc\u666f"
    },
    {
      "label": "\u57fa\u4e8e\u5b98\u65b9\u53cc\u8fdb\u7a0b\u67b6\u6784\u5728NAS\u4e0a\u7684\u9002\u914d\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L12",
      "id": "vnpy_nas_deployment_architecture_analysis_nas",
      "community": 10,
      "norm_label": "\u57fa\u4e8e\u5b98\u65b9\u53cc\u8fdb\u7a0b\u67b6\u6784\u5728nas\u4e0a\u7684\u9002\u914d\u5206\u6790"
    },
    {
      "label": "\u5f53\u524d\u5b98\u65b9\u67b6\u6784\u56fe\u56de\u987e",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L14",
      "id": "vnpy_nas_deployment_architecture_analysis_14",
      "community": 10,
      "norm_label": "\u5f53\u524d\u5b98\u65b9\u67b6\u6784\u56fe\u56de\u987e"
    },
    {
      "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L16",
      "id": "vnpy_nas_deployment_architecture_analysis_codeblock_1",
      "community": 10,
      "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)"
    },
    {
      "label": "\u6f5c\u5728\u95ee\u9898\u5206\u6790",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L41",
      "id": "vnpy_nas_deployment_architecture_analysis_41",
      "community": 10,
      "norm_label": "\u6f5c\u5728\u95ee\u9898\u5206\u6790"
    },
    {
      "label": "\u95ee\u98981\uff1a\u5355\u4e00\u5171\u4eab\u4ea4\u6613\u8fdb\u7a0b\u65e0\u6cd5\u652f\u6301\u591a\u7528\u6237\u9694\u79bb",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L43",
      "id": "vnpy_nas_deployment_architecture_analysis_1",
      "community": 10,
      "norm_label": "\u95ee\u98981:\u5355\u4e00\u5171\u4eab\u4ea4\u6613\u8fdb\u7a0b\u65e0\u6cd5\u652f\u6301\u591a\u7528\u6237\u9694\u79bb"
    },
    {
      "label": "\u95ee\u98982\uff1a\u6570\u636e\u5b58\u50a8\u8def\u5f84\u95ee\u9898",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L57",
      "id": "vnpy_nas_deployment_architecture_analysis_2",
      "community": 10,
      "norm_label": "\u95ee\u98982:\u6570\u636e\u5b58\u50a8\u8def\u5f84\u95ee\u9898"
    },
    {
      "label": "\u95ee\u98983\uff1a\u8fdb\u7a0b\u7ba1\u7406\u4e0e\u7a33\u5b9a\u6027",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L70",
      "id": "vnpy_nas_deployment_architecture_analysis_3",
      "community": 10,
      "norm_label": "\u95ee\u98983:\u8fdb\u7a0b\u7ba1\u7406\u4e0e\u7a33\u5b9a\u6027"
    },
    {
      "label": "\u95ee\u98984\uff1a\u7f51\u7edc\u8bbf\u95ee\u8def\u5f84",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L84",
      "id": "vnpy_nas_deployment_architecture_analysis_4",
      "community": 10,
      "norm_label": "\u95ee\u98984:\u7f51\u7edc\u8bbf\u95ee\u8def\u5f84"
    },
    {
      "label": "\u95ee\u98985\uff1a\u4fdd\u6301\u57fa\u7840\u67b6\u6784\u4e0d\u53d8\u7684\u8fb9\u754c",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L97",
      "id": "vnpy_nas_deployment_architecture_analysis_5",
      "community": 10,
      "norm_label": "\u95ee\u98985:\u4fdd\u6301\u57fa\u7840\u67b6\u6784\u4e0d\u53d8\u7684\u8fb9\u754c"
    },
    {
      "label": "\u4e0d\u540c\u65b9\u6848\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L110",
      "id": "vnpy_nas_deployment_architecture_analysis_110",
      "community": 10,
      "norm_label": "\u4e0d\u540c\u65b9\u6848\u5bf9\u6bd4"
    },
    {
      "label": "\u65b9\u6848A\uff1a\u4fdd\u6301\u5b98\u65b9\u67b6\u6784\uff0c\u5355\u4ea4\u6613\u8fdb\u7a0b + \u5355Web\u8fdb\u7a0b",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L112",
      "id": "vnpy_nas_deployment_architecture_analysis_a_web",
      "community": 10,
      "norm_label": "\u65b9\u6848a:\u4fdd\u6301\u5b98\u65b9\u67b6\u6784,\u5355\u4ea4\u6613\u8fdb\u7a0b + \u5355web\u8fdb\u7a0b"
    },
    {
      "label": "code:block2 (NAS \u2192 1\u4e2a\u4ea4\u6613\u8fdb\u7a0b(RPC\u670d\u52a1\u7aef) \u2192 1\u4e2aWeb\u8fdb\u7a0b \u2192 \u6240\u6709\u7528\u6237\u5171\u4eab)",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L115",
      "id": "vnpy_nas_deployment_architecture_analysis_codeblock_2",
      "community": 10,
      "norm_label": "code:block2 (nas \u2192 1\u4e2a\u4ea4\u6613\u8fdb\u7a0b(rpc\u670d\u52a1\u7aef) \u2192 1\u4e2aweb\u8fdb\u7a0b \u2192 \u6240\u6709\u7528\u6237\u5171\u4eab)"
    },
    {
      "label": "\u65b9\u6848B\uff1a\u6bcf\u4e2a\u7528\u6237\u72ec\u7acb\u4e00\u5bf9\u8fdb\u7a0b\uff08\u63a8\u8350\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L135",
      "id": "vnpy_nas_deployment_architecture_analysis_b",
      "community": 10,
      "norm_label": "\u65b9\u6848b:\u6bcf\u4e2a\u7528\u6237\u72ec\u7acb\u4e00\u5bf9\u8fdb\u7a0b(\u63a8\u8350)"
    },
    {
      "label": "code:block3 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L138",
      "id": "vnpy_nas_deployment_architecture_analysis_codeblock_3",
      "community": 10,
      "norm_label": "code:block3 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)"
    },
    {
      "label": "\u65b9\u6848C\uff1a\u5171\u4eab\u4ea4\u6613\u8fdb\u7a0b + \u591aWeb\u8fdb\u7a0b + \u7528\u6237\u7ea7\u6570\u636e\u9694\u79bb",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L174",
      "id": "vnpy_nas_deployment_architecture_analysis_c_web",
      "community": 10,
      "norm_label": "\u65b9\u6848c:\u5171\u4eab\u4ea4\u6613\u8fdb\u7a0b + \u591aweb\u8fdb\u7a0b + \u7528\u6237\u7ea7\u6570\u636e\u9694\u79bb"
    },
    {
      "label": "code:block4 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L177",
      "id": "vnpy_nas_deployment_architecture_analysis_codeblock_4",
      "community": 10,
      "norm_label": "code:block4 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)"
    },
    {
      "label": "\u63a8\u8350\u65b9\u6848\uff1a\u65b9\u6848B \u8be6\u7ec6\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L206",
      "id": "vnpy_nas_deployment_architecture_analysis_b_206",
      "community": 10,
      "norm_label": "\u63a8\u8350\u65b9\u6848:\u65b9\u6848b \u8be6\u7ec6\u8bbe\u8ba1"
    },
    {
      "label": "\u76ee\u5f55\u7ed3\u6784\u89c4\u5212\uff08\u5728NAS\u4e0a\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L208",
      "id": "vnpy_nas_deployment_architecture_analysis_nas_208",
      "community": 10,
      "norm_label": "\u76ee\u5f55\u7ed3\u6784\u89c4\u5212(\u5728nas\u4e0a)"
    },
    {
      "label": "code:block5 (/mnt/nas-volume/sanguo_vnpy/)",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L210",
      "id": "vnpy_nas_deployment_architecture_analysis_codeblock_5",
      "community": 10,
      "norm_label": "code:block5 (/mnt/nas-volume/sanguo_vnpy/)"
    },
    {
      "label": "\u7aef\u53e3\u5206\u914d\u89c4\u5212",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L232",
      "id": "vnpy_nas_deployment_architecture_analysis_232",
      "community": 10,
      "norm_label": "\u7aef\u53e3\u5206\u914d\u89c4\u5212"
    },
    {
      "label": "Nginx \u914d\u7f6e\u793a\u4f8b\uff08\u6309\u8def\u5f84\u5206\u53d1\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L247",
      "id": "vnpy_nas_deployment_architecture_analysis_nginx",
      "community": 10,
      "norm_label": "nginx \u914d\u7f6e\u793a\u4f8b(\u6309\u8def\u5f84\u5206\u53d1)"
    },
    {
      "label": "code:nginx (server {)",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L249",
      "id": "vnpy_nas_deployment_architecture_analysis_codeblock_6",
      "community": 10,
      "norm_label": "code:nginx (server {)"
    },
    {
      "label": "systemd \u8fdb\u7a0b\u7ba1\u7406\uff08\u6bcf\u4e2a\u7528\u6237\u4e00\u5bf9\u670d\u52a1\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L283",
      "id": "vnpy_nas_deployment_architecture_analysis_systemd",
      "community": 10,
      "norm_label": "systemd \u8fdb\u7a0b\u7ba1\u7406(\u6bcf\u4e2a\u7528\u6237\u4e00\u5bf9\u670d\u52a1)"
    },
    {
      "label": "code:block7 (/etc/systemd/system/)",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L285",
      "id": "vnpy_nas_deployment_architecture_analysis_codeblock_7",
      "community": 10,
      "norm_label": "code:block7 (/etc/systemd/system/)"
    },
    {
      "label": "\u9700\u8981\u6539\u52a8\u7684\u5730\u65b9\u603b\u7ed3\uff08\u5f88\u5c11\uff0c\u4e0d\u6539\u6838\u5fc3\u67b6\u6784\uff09",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L302",
      "id": "vnpy_nas_deployment_architecture_analysis_302",
      "community": 10,
      "norm_label": "\u9700\u8981\u6539\u52a8\u7684\u5730\u65b9\u603b\u7ed3(\u5f88\u5c11,\u4e0d\u6539\u6838\u5fc3\u67b6\u6784)"
    },
    {
      "label": "\u5b58\u5728\u7684\u5176\u4ed6\u98ce\u9669\u548c\u5e94\u5bf9",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L316",
      "id": "vnpy_nas_deployment_architecture_analysis_316",
      "community": 10,
      "norm_label": "\u5b58\u5728\u7684\u5176\u4ed6\u98ce\u9669\u548c\u5e94\u5bf9"
    },
    {
      "label": "\u603b\u7ed3\u5efa\u8bae",
      "file_type": "document",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L327",
      "id": "vnpy_nas_deployment_architecture_analysis_327",
      "community": 10,
      "norm_label": "\u603b\u7ed3\u5efa\u8bae"
    },
    {
      "label": "sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_sanguo_vnpy_md",
      "community": 35,
      "norm_label": "sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md"
    },
    {
      "label": "sanguo_vnpy \u9879\u76ee\u76ee\u5f55\u6574\u7406\u63d0\u6848\uff08\u4fee\u8ba2\u7248\uff09",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L1",
      "id": "2026_04_29_cleanup_sanguo_vnpy_sanguo_vnpy",
      "community": 35,
      "norm_label": "sanguo_vnpy \u9879\u76ee\u76ee\u5f55\u6574\u7406\u63d0\u6848(\u4fee\u8ba2\u7248)"
    },
    {
      "label": "\u4e00\u3001\u9879\u76ee\u5b9a\u4f4d\u7406\u89e3",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L9",
      "id": "2026_04_29_cleanup_sanguo_vnpy",
      "community": 35,
      "norm_label": "\u4e00\u3001\u9879\u76ee\u5b9a\u4f4d\u7406\u89e3"
    },
    {
      "label": "\u6838\u5fc3\u76ee\u6807",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L13",
      "id": "2026_04_29_cleanup_sanguo_vnpy_13",
      "community": 35,
      "norm_label": "\u6838\u5fc3\u76ee\u6807"
    },
    {
      "label": "\u5df2\u5b8c\u6210\u7684\u9002\u914d\u6210\u679c",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L16",
      "id": "2026_04_29_cleanup_sanguo_vnpy_16",
      "community": 35,
      "norm_label": "\u5df2\u5b8c\u6210\u7684\u9002\u914d\u6210\u679c"
    },
    {
      "label": "\u8fdc\u671f\u76ee\u6807",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L24",
      "id": "2026_04_29_cleanup_sanguo_vnpy_24",
      "community": 35,
      "norm_label": "\u8fdc\u671f\u76ee\u6807"
    },
    {
      "label": "\u4e8c\u3001\u73b0\u72b6\u5206\u6790",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L32",
      "id": "2026_04_29_cleanup_sanguo_vnpy_32",
      "community": 35,
      "norm_label": "\u4e8c\u3001\u73b0\u72b6\u5206\u6790"
    },
    {
      "label": "\u76ee\u5f55\u4e0e\u6587\u4ef6\u7edf\u8ba1",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L34",
      "id": "2026_04_29_cleanup_sanguo_vnpy_34",
      "community": 35,
      "norm_label": "\u76ee\u5f55\u4e0e\u6587\u4ef6\u7edf\u8ba1"
    },
    {
      "label": "\u4e09\u3001\u6574\u7406\u63d0\u6848",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L56",
      "id": "2026_04_29_cleanup_sanguo_vnpy_56",
      "community": 35,
      "norm_label": "\u4e09\u3001\u6574\u7406\u63d0\u6848"
    },
    {
      "label": "\u8bbe\u8ba1\u539f\u5219",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L58",
      "id": "2026_04_29_cleanup_sanguo_vnpy_58",
      "community": 35,
      "norm_label": "\u8bbe\u8ba1\u539f\u5219"
    },
    {
      "label": "\u76ee\u6807\u76ee\u5f55\u7ed3\u6784",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L65",
      "id": "2026_04_29_cleanup_sanguo_vnpy_65",
      "community": 35,
      "norm_label": "\u76ee\u6807\u76ee\u5f55\u7ed3\u6784"
    },
    {
      "label": "code:block1 (sanguo_vnpy/)",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L67",
      "id": "2026_04_29_cleanup_sanguo_vnpy_codeblock_1",
      "community": 35,
      "norm_label": "code:block1 (sanguo_vnpy/)"
    },
    {
      "label": "\u64cd\u4f5c\u6e05\u5355",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L140",
      "id": "2026_04_29_cleanup_sanguo_vnpy_140",
      "community": 35,
      "norm_label": "\u64cd\u4f5c\u6e05\u5355"
    },
    {
      "label": "\u5173\u952e\u8bf4\u660e",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L162",
      "id": "2026_04_29_cleanup_sanguo_vnpy_162",
      "community": 35,
      "norm_label": "\u5173\u952e\u8bf4\u660e"
    },
    {
      "label": "\u56db\u3001\u9884\u8ba1\u6548\u679c",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L172",
      "id": "2026_04_29_cleanup_sanguo_vnpy_172",
      "community": 35,
      "norm_label": "\u56db\u3001\u9884\u8ba1\u6548\u679c"
    },
    {
      "label": "\u4e94\u3001\u9700\u8981\u6ce8\u610f\u7684\u70b9",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L184",
      "id": "2026_04_29_cleanup_sanguo_vnpy_184",
      "community": 35,
      "norm_label": "\u4e94\u3001\u9700\u8981\u6ce8\u610f\u7684\u70b9"
    },
    {
      "label": "README.md",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L1",
      "id": "archive_2026_04_29_cleanup_research_readme_md",
      "community": 103,
      "norm_label": "readme.md"
    },
    {
      "label": "TASK-20260331 - vn.py Web Trader\u5b9e\u73b0\u65b9\u5f0f\u8c03\u7814",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L1",
      "id": "research_readme_task_20260331_vn_py_web_trader",
      "community": 103,
      "norm_label": "task-20260331 - vn.py web trader\u5b9e\u73b0\u65b9\u5f0f\u8c03\u7814"
    },
    {
      "label": "\u4efb\u52a1\u8bf4\u660e",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L3",
      "id": "research_readme",
      "community": 103,
      "norm_label": "\u4efb\u52a1\u8bf4\u660e"
    },
    {
      "label": "\u4efb\u52a1\u76ee\u6807",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L6",
      "id": "research_readme_6",
      "community": 103,
      "norm_label": "\u4efb\u52a1\u76ee\u6807"
    },
    {
      "label": "\u80cc\u666f",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L12",
      "id": "research_readme_12",
      "community": 103,
      "norm_label": "\u80cc\u666f"
    },
    {
      "label": "\u8c03\u7814\u8fdb\u5ea6",
      "file_type": "document",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L17",
      "id": "research_readme_17",
      "community": 103,
      "norm_label": "\u8c03\u7814\u8fdb\u5ea6"
    },
    {
      "label": "port-allocation.md",
      "file_type": "document",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L1",
      "id": "deploy_nas_port_allocation_md",
      "community": 132,
      "norm_label": "port-allocation.md"
    },
    {
      "label": "\u7aef\u53e3\u5206\u914d\u89c4\u5219 - NAS sanguo_vnpy \u90e8\u7f72",
      "file_type": "document",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L1",
      "id": "nas_port_allocation_nas_sanguo_vnpy",
      "community": 132,
      "norm_label": "\u7aef\u53e3\u5206\u914d\u89c4\u5219 - nas sanguo_vnpy \u90e8\u7f72"
    },
    {
      "label": "\u5206\u914d\u89c4\u5219",
      "file_type": "document",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L3",
      "id": "nas_port_allocation",
      "community": 132,
      "norm_label": "\u5206\u914d\u89c4\u5219"
    },
    {
      "label": "\u5f53\u524d\u5206\u914d\u8868",
      "file_type": "document",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L10",
      "id": "nas_port_allocation_10",
      "community": 132,
      "norm_label": "\u5f53\u524d\u5206\u914d\u8868"
    },
    {
      "label": "\u6dfb\u52a0\u65b0\u7528\u6237",
      "file_type": "document",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L22",
      "id": "nas_port_allocation_22",
      "community": 132,
      "norm_label": "\u6dfb\u52a0\u65b0\u7528\u6237"
    },
    {
      "label": "deploy-plan.md",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L1",
      "id": "deploy_nas_deploy_plan_md",
      "community": 7,
      "norm_label": "deploy-plan.md"
    },
    {
      "label": "\u7fa4\u6656NAS\u90e8\u7f72sanguo_vnpy\u56de\u6d4b\u670d\u52a1\u65b9\u6848",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L1",
      "id": "nas_deploy_plan_nas_sanguo_vnpy",
      "community": 7,
      "norm_label": "\u7fa4\u6656nas\u90e8\u7f72sanguo_vnpy\u56de\u6d4b\u670d\u52a1\u65b9\u6848"
    },
    {
      "label": "\u4e00\u3001\u95ee\u9898\u590d\u73b0\u4e0e\u6839\u56e0\u5206\u6790",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L9",
      "id": "nas_deploy_plan",
      "community": 7,
      "norm_label": "\u4e00\u3001\u95ee\u9898\u590d\u73b0\u4e0e\u6839\u56e0\u5206\u6790"
    },
    {
      "label": "1.1 \u73b0\u8c61",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L11",
      "id": "nas_deploy_plan_1_1",
      "community": 7,
      "norm_label": "1.1 \u73b0\u8c61"
    },
    {
      "label": "1.2 \u6839\u56e0\uff085\u91cd\u95ee\u9898\uff09",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L17",
      "id": "nas_deploy_plan_1_2_5",
      "community": 7,
      "norm_label": "1.2 \u6839\u56e0(5\u91cd\u95ee\u9898)"
    },
    {
      "label": "1.3 \u6839\u56e04\u8be6\u60c5\uff1avnpy 3.x \u2192 4.x API\u53d8\u66f4",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L27",
      "id": "nas_deploy_plan_1_3_4_vnpy_3_x_4_x_api",
      "community": 7,
      "norm_label": "1.3 \u6839\u56e04\u8be6\u60c5:vnpy 3.x \u2192 4.x api\u53d8\u66f4"
    },
    {
      "label": "1.4 \u5df2\u6392\u9664\u9879",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L42",
      "id": "nas_deploy_plan_1_4",
      "community": 7,
      "norm_label": "1.4 \u5df2\u6392\u9664\u9879"
    },
    {
      "label": "\u4e8c\u3001\u73b0\u6709\u8d44\u6e90\u76d8\u70b9",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L51",
      "id": "nas_deploy_plan_51",
      "community": 7,
      "norm_label": "\u4e8c\u3001\u73b0\u6709\u8d44\u6e90\u76d8\u70b9"
    },
    {
      "label": "2.1 NAS\u786c\u4ef6",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L53",
      "id": "nas_deploy_plan_2_1_nas",
      "community": 7,
      "norm_label": "2.1 nas\u786c\u4ef6"
    },
    {
      "label": "2.2 \u5bb9\u5668\u5185\u73af\u5883",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L63",
      "id": "nas_deploy_plan_2_2",
      "community": 7,
      "norm_label": "2.2 \u5bb9\u5668\u5185\u73af\u5883"
    },
    {
      "label": "code:block1 (\u5bb9\u5668ID:    8fc55af3d27d)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L65",
      "id": "nas_deploy_plan_codeblock_1",
      "community": 7,
      "norm_label": "code:block1 (\u5bb9\u5668id:    8fc55af3d27d)"
    },
    {
      "label": "2.3 \u6570\u636e\u8d44\u6e90\uff08NAS SMB\u5171\u4eab\uff09",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L76",
      "id": "nas_deploy_plan_2_3_nas_smb",
      "community": 7,
      "norm_label": "2.3 \u6570\u636e\u8d44\u6e90(nas smb\u5171\u4eab)"
    },
    {
      "label": "code:block2 (/Volumes/stock/A\u80a1\u6570\u636e/\u65e5\u7ebf\u6570\u636e/   \u2014 \u65e5\u7ebf\u5386\u53f2\u884c\u60c5)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L78",
      "id": "nas_deploy_plan_codeblock_2",
      "community": 7,
      "norm_label": "code:block2 (/volumes/stock/a\u80a1\u6570\u636e/\u65e5\u7ebf\u6570\u636e/   \u2014 \u65e5\u7ebf\u5386\u53f2\u884c\u60c5)"
    },
    {
      "label": "\u4e09\u3001\u90e8\u7f72\u65b9\u6848",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L86",
      "id": "nas_deploy_plan_86",
      "community": 7,
      "norm_label": "\u4e09\u3001\u90e8\u7f72\u65b9\u6848"
    },
    {
      "label": "3.1 \u67b6\u6784\u56fe",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L88",
      "id": "nas_deploy_plan_3_1",
      "community": 7,
      "norm_label": "3.1 \u67b6\u6784\u56fe"
    },
    {
      "label": "code:block3 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L90",
      "id": "nas_deploy_plan_codeblock_3",
      "community": 7,
      "norm_label": "code:block3 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)"
    },
    {
      "label": "3.2 \u4fee\u590d\u6e05\u5355\uff086\u5904\u6539\u52a8\uff09",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L119",
      "id": "nas_deploy_plan_3_2_6",
      "community": 7,
      "norm_label": "3.2 \u4fee\u590d\u6e05\u5355(6\u5904\u6539\u52a8)"
    },
    {
      "label": "3.3 executor.py\u91cd\u5199\u8981\u70b9",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L132",
      "id": "nas_deploy_plan_3_3_executor_py",
      "community": 7,
      "norm_label": "3.3 executor.py\u91cd\u5199\u8981\u70b9"
    },
    {
      "label": "code:python (# === vnpy 4.x import \u8def\u5f84 ===)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L136",
      "id": "nas_deploy_plan_codeblock_4",
      "community": 7,
      "norm_label": "code:python (# === vnpy 4.x import \u8def\u5f84 ===)"
    },
    {
      "label": "3.4 \u4fee\u6539\u540e\u7684entrypoint.sh",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L165",
      "id": "nas_deploy_plan_3_4_entrypoint_sh",
      "community": 7,
      "norm_label": "3.4 \u4fee\u6539\u540e\u7684entrypoint.sh"
    },
    {
      "label": "code:bash (#!/bin/bash)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L167",
      "id": "nas_deploy_plan_codeblock_5",
      "community": 7,
      "norm_label": "code:bash (#!/bin/bash)"
    },
    {
      "label": "3.5 Dockerfile\u589e\u91cf\u4fee\u6539",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L221",
      "id": "nas_deploy_plan_3_5_dockerfile",
      "community": 7,
      "norm_label": "3.5 dockerfile\u589e\u91cf\u4fee\u6539"
    },
    {
      "label": "code:dockerfile (# \u5728 COPY scripts \u884c\u4e4b\u540e\u6dfb\u52a0\uff1a)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L223",
      "id": "nas_deploy_plan_codeblock_6",
      "community": 7,
      "norm_label": "code:dockerfile (# \u5728 copy scripts \u884c\u4e4b\u540e\u6dfb\u52a0:)"
    },
    {
      "label": "3.6 docker run\u547d\u4ee4",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L239",
      "id": "nas_deploy_plan_3_6_docker_run",
      "community": 7,
      "norm_label": "3.6 docker run\u547d\u4ee4"
    },
    {
      "label": "code:bash (sudo /var/packages/Docker/target/usr/bin/docker run -d \\)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L241",
      "id": "nas_deploy_plan_codeblock_7",
      "community": 7,
      "norm_label": "code:bash (sudo /var/packages/docker/target/usr/bin/docker run -d \\)"
    },
    {
      "label": "\u56db\u3001\u9a8c\u8bc1\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L257",
      "id": "nas_deploy_plan_257",
      "community": 7,
      "norm_label": "\u56db\u3001\u9a8c\u8bc1\u6b65\u9aa4"
    },
    {
      "label": "4.1 \u4ea4\u4ed8\u6807\u51c6\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L259",
      "id": "nas_deploy_plan_4_1",
      "community": 7,
      "norm_label": "4.1 \u4ea4\u4ed8\u6807\u51c6\u9a8c\u8bc1"
    },
    {
      "label": "code:bash (# \u6807\u51c6\u4e00\uff1aHealth\u7aef\u70b9\u8fd4\u56de200)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L261",
      "id": "nas_deploy_plan_codeblock_8",
      "community": 7,
      "norm_label": "code:bash (# \u6807\u51c6\u4e00:health\u7aef\u70b9\u8fd4\u56de200)"
    },
    {
      "label": "4.2 \u56de\u6eda\u65b9\u6848",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L292",
      "id": "nas_deploy_plan_4_2",
      "community": 7,
      "norm_label": "4.2 \u56de\u6eda\u65b9\u6848"
    },
    {
      "label": "\u4e94\u3001\u5b9e\u65bd\u8ba1\u5212",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L303",
      "id": "nas_deploy_plan_303",
      "community": 7,
      "norm_label": "\u4e94\u3001\u5b9e\u65bd\u8ba1\u5212"
    },
    {
      "label": "code:bash (# SSH\u5230NAS)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L315",
      "id": "nas_deploy_plan_codeblock_9",
      "community": 7,
      "norm_label": "code:bash (# ssh\u5230nas)"
    },
    {
      "label": "\u516d\u3001\u5173\u952e\u6280\u672f\u51b3\u7b56",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L343",
      "id": "nas_deploy_plan_343",
      "community": 7,
      "norm_label": "\u516d\u3001\u5173\u952e\u6280\u672f\u51b3\u7b56"
    },
    {
      "label": "\u9644\u5f55\uff1a\u5bb9\u5668\u5185\u5b9e\u9645\u9a8c\u8bc1\u65e5\u5fd7",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L356",
      "id": "nas_deploy_plan_356",
      "community": 7,
      "norm_label": "\u9644\u5f55:\u5bb9\u5668\u5185\u5b9e\u9645\u9a8c\u8bc1\u65e5\u5fd7"
    },
    {
      "label": "code:block10 ([2026-04-28 08:50] \u5bb9\u5668\u5185 pip list | grep vnpy \u2192 vnpy 4.3.0, vn)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L358",
      "id": "nas_deploy_plan_codeblock_10",
      "community": 7,
      "norm_label": "code:block10 ([2026-04-28 08:50] \u5bb9\u5668\u5185 pip list | grep vnpy \u2192 vnpy 4.3.0, vn)"
    },
    {
      "label": "deploy-log.md",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L1",
      "id": "deploy_nas_deploy_log_md",
      "community": 27,
      "norm_label": "deploy-log.md"
    },
    {
      "label": "\u7fa4\u6656NAS\u56de\u6d4b\u670d\u52a1\u90e8\u7f72\u65e5\u5fd7",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L1",
      "id": "nas_deploy_log_nas",
      "community": 27,
      "norm_label": "\u7fa4\u6656nas\u56de\u6d4b\u670d\u52a1\u90e8\u7f72\u65e5\u5fd7"
    },
    {
      "label": "\u6700\u7ec8\u90e8\u7f72\u67b6\u6784",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L9",
      "id": "nas_deploy_log",
      "community": 27,
      "norm_label": "\u6700\u7ec8\u90e8\u7f72\u67b6\u6784"
    },
    {
      "label": "code:block1 (\u955c\u50cf: sanguo_vnpy:with-scripts (\u539f\u59cb\u955c\u50cf))",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L11",
      "id": "nas_deploy_log_codeblock_1",
      "community": 27,
      "norm_label": "code:block1 (\u955c\u50cf: sanguo_vnpy:with-scripts (\u539f\u59cb\u955c\u50cf))"
    },
    {
      "label": "\u4fee\u590d\u6e05\u5355",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L23",
      "id": "nas_deploy_log_23",
      "community": 27,
      "norm_label": "\u4fee\u590d\u6e05\u5355"
    },
    {
      "label": "\u5bb9\u5668\u5185\u989d\u5916\u64cd\u4f5c\uff08\u91cd\u542f\u540e\u4e22\u5931\uff09",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L35",
      "id": "nas_deploy_log_35",
      "community": 27,
      "norm_label": "\u5bb9\u5668\u5185\u989d\u5916\u64cd\u4f5c(\u91cd\u542f\u540e\u4e22\u5931)"
    },
    {
      "label": "code:bash (pip3 install vnpy_ctastrategy vnpy_sqlite)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L37",
      "id": "nas_deploy_log_codeblock_2",
      "community": 27,
      "norm_label": "code:bash (pip3 install vnpy_ctastrategy vnpy_sqlite)"
    },
    {
      "label": "\u4ea4\u4ed8\u6807\u51c6\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L42",
      "id": "nas_deploy_log_42",
      "community": 27,
      "norm_label": "\u4ea4\u4ed8\u6807\u51c6\u9a8c\u8bc1"
    },
    {
      "label": "\u6807\u51c6\u4e00\uff1aHealth\u7aef\u70b9\u8fd4\u56de200 \u2705",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L44",
      "id": "nas_deploy_log_health_200",
      "community": 27,
      "norm_label": "\u6807\u51c6\u4e00:health\u7aef\u70b9\u8fd4\u56de200 \u2705"
    },
    {
      "label": "code:bash ($ curl -s -o /dev/null -w \"%{http_code}\" http://192.168.2.15)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L45",
      "id": "nas_deploy_log_codeblock_3",
      "community": 27,
      "norm_label": "code:bash ($ curl -s -o /dev/null -w \"%{http_code}\" http://192.168.2.15)"
    },
    {
      "label": "\u6807\u51c6\u4e8c\uff1a\u63d0\u4ea4\u56de\u6d4b\u4efb\u52a1\u5e76\u83b7\u53d6\u7ed3\u679c \u2705",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L50",
      "id": "nas_deploy_log_50",
      "community": 27,
      "norm_label": "\u6807\u51c6\u4e8c:\u63d0\u4ea4\u56de\u6d4b\u4efb\u52a1\u5e76\u83b7\u53d6\u7ed3\u679c \u2705"
    },
    {
      "label": "code:bash (# \u63d0\u4ea4)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L51",
      "id": "nas_deploy_log_codeblock_4",
      "community": 27,
      "norm_label": "code:bash (# \u63d0\u4ea4)"
    },
    {
      "label": "\u6807\u51c6\u4e09\uff1a\u670d\u52a1\u5f02\u5e38\u5d29\u6e83\u540e\u81ea\u52a8\u6062\u590d \u2705",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L67",
      "id": "nas_deploy_log_67",
      "community": 27,
      "norm_label": "\u6807\u51c6\u4e09:\u670d\u52a1\u5f02\u5e38\u5d29\u6e83\u540e\u81ea\u52a8\u6062\u590d \u2705"
    },
    {
      "label": "code:bash ($ docker inspect sanguo_vnpy --format '{{.HostConfig.Restart)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L68",
      "id": "nas_deploy_log_codeblock_5",
      "community": 27,
      "norm_label": "code:bash ($ docker inspect sanguo_vnpy --format '{{.hostconfig.restart)"
    },
    {
      "label": "\u5df2\u77e5\u9057\u7559\u95ee\u9898",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L73",
      "id": "nas_deploy_log_73",
      "community": 27,
      "norm_label": "\u5df2\u77e5\u9057\u7559\u95ee\u9898"
    },
    {
      "label": "2026-04-29 19:40 \u670d\u52a1\u72b6\u6001\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L81",
      "id": "nas_deploy_log_2026_04_29_19_40",
      "community": 27,
      "norm_label": "2026-04-29 19:40 \u670d\u52a1\u72b6\u6001\u9a8c\u8bc1"
    },
    {
      "label": "2026-04-29 20:00 \u9057\u7559\u95ee\u9898\u4fee\u590d\u5b8c\u6210",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L88",
      "id": "nas_deploy_log_2026_04_29_20_00",
      "community": 27,
      "norm_label": "2026-04-29 20:00 \u9057\u7559\u95ee\u9898\u4fee\u590d\u5b8c\u6210"
    },
    {
      "label": "\u2705 \u95ee\u98981\uff1apip\u5305\u5bb9\u5668\u91cd\u542f\u4e22\u5931",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L90",
      "id": "nas_deploy_log_1_pip",
      "community": 27,
      "norm_label": "\u2705 \u95ee\u98981:pip\u5305\u5bb9\u5668\u91cd\u542f\u4e22\u5931"
    },
    {
      "label": "\u2705 \u95ee\u98982\uff1aAPI\u8def\u7531\u524d\u7f00\u4e0d\u7edf\u4e00",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L94",
      "id": "nas_deploy_log_2_api",
      "community": 27,
      "norm_label": "\u2705 \u95ee\u98982:api\u8def\u7531\u524d\u7f00\u4e0d\u7edf\u4e00"
    },
    {
      "label": "\u2705 \u95ee\u98983\uff1aSSH\u7aef\u53e3\u7ed1\u5b9a\u4f18\u5316",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L104",
      "id": "nas_deploy_log_3_ssh",
      "community": 27,
      "norm_label": "\u2705 \u95ee\u98983:ssh\u7aef\u53e3\u7ed1\u5b9a\u4f18\u5316"
    },
    {
      "label": "code:bash (docker restart sanguo_vnpy)",
      "file_type": "document",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L112",
      "id": "nas_deploy_log_codeblock_6",
      "community": 27,
      "norm_label": "code:bash (docker restart sanguo_vnpy)"
    },
    {
      "label": "README-NAS-DEPLOY.md",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L1",
      "id": "deploy_nas_readme_nas_deploy_md",
      "community": 12,
      "norm_label": "readme-nas-deploy.md"
    },
    {
      "label": "sanguo_vnpy NAS \u90e8\u7f72\u6307\u5357",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L1",
      "id": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "community": 12,
      "norm_label": "sanguo_vnpy nas \u90e8\u7f72\u6307\u5357"
    },
    {
      "label": "\u67b6\u6784\u6982\u8ff0",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L3",
      "id": "nas_readme_nas_deploy",
      "community": 12,
      "norm_label": "\u67b6\u6784\u6982\u8ff0"
    },
    {
      "label": "\u76ee\u5f55\u7ed3\u6784",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L12",
      "id": "nas_readme_nas_deploy_12",
      "community": 12,
      "norm_label": "\u76ee\u5f55\u7ed3\u6784"
    },
    {
      "label": "code:block1 (sanguo_vnpy/                  # \u9879\u76ee\u6839\u76ee\u5f55\uff08\u5728NAS\u4e0a\u5bf9\u5e94 /mnt/nas-volum)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L14",
      "id": "nas_readme_nas_deploy_codeblock_1",
      "community": 12,
      "norm_label": "code:block1 (sanguo_vnpy/                  # \u9879\u76ee\u6839\u76ee\u5f55(\u5728nas\u4e0a\u5bf9\u5e94 /mnt/nas-volum)"
    },
    {
      "label": "\u7aef\u53e3\u5206\u914d",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L41",
      "id": "nas_readme_nas_deploy_41",
      "community": 12,
      "norm_label": "\u7aef\u53e3\u5206\u914d"
    },
    {
      "label": "\u90e8\u7f72\u5230NAS\u6b65\u9aa4",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L53",
      "id": "nas_readme_nas_deploy_nas",
      "community": 12,
      "norm_label": "\u90e8\u7f72\u5230nas\u6b65\u9aa4"
    },
    {
      "label": "1. \u514b\u9686\u9879\u76ee\u5230NAS",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L55",
      "id": "nas_readme_nas_deploy_1_nas",
      "community": 12,
      "norm_label": "1. \u514b\u9686\u9879\u76ee\u5230nas"
    },
    {
      "label": "code:bash (git clone <repo-url> /mnt/nas-volume/sanguo_vnpy)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L57",
      "id": "nas_readme_nas_deploy_codeblock_2",
      "community": 12,
      "norm_label": "code:bash (git clone <repo-url> /mnt/nas-volume/sanguo_vnpy)"
    },
    {
      "label": "2. \u5b89\u88c5\u4f9d\u8d56",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L62",
      "id": "nas_readme_nas_deploy_2",
      "community": 12,
      "norm_label": "2. \u5b89\u88c5\u4f9d\u8d56"
    },
    {
      "label": "code:bash (pip install vnpy vnpy_webtrader)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L64",
      "id": "nas_readme_nas_deploy_codeblock_3",
      "community": 12,
      "norm_label": "code:bash (pip install vnpy vnpy_webtrader)"
    },
    {
      "label": "3. \u542f\u7528systemd\u670d\u52a1",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L70",
      "id": "nas_readme_nas_deploy_3_systemd",
      "community": 12,
      "norm_label": "3. \u542f\u7528systemd\u670d\u52a1"
    },
    {
      "label": "code:bash (# \u590d\u5236\u670d\u52a1\u6587\u4ef6)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L72",
      "id": "nas_readme_nas_deploy_codeblock_4",
      "community": 12,
      "norm_label": "code:bash (# \u590d\u5236\u670d\u52a1\u6587\u4ef6)"
    },
    {
      "label": "4. \u914d\u7f6eNginx",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L86",
      "id": "nas_readme_nas_deploy_4_nginx",
      "community": 12,
      "norm_label": "4. \u914d\u7f6enginx"
    },
    {
      "label": "code:nginx (server {)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L90",
      "id": "nas_readme_nas_deploy_codeblock_5",
      "community": 12,
      "norm_label": "code:nginx (server {)"
    },
    {
      "label": "code:bash (nginx -t && systemctl reload nginx)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L104",
      "id": "nas_readme_nas_deploy_codeblock_6",
      "community": 12,
      "norm_label": "code:bash (nginx -t && systemctl reload nginx)"
    },
    {
      "label": "5. \u8bbf\u95ee",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L108",
      "id": "nas_readme_nas_deploy_5",
      "community": 12,
      "norm_label": "5. \u8bbf\u95ee"
    },
    {
      "label": "\u6dfb\u52a0\u65b0\u7528\u6237",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L114",
      "id": "nas_readme_nas_deploy_114",
      "community": 12,
      "norm_label": "\u6dfb\u52a0\u65b0\u7528\u6237"
    },
    {
      "label": "code:bash (cd /mnt/nas-volume/sanguo_vnpy/jiangwei-platform/deploy/nas)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L116",
      "id": "nas_readme_nas_deploy_codeblock_7",
      "community": 12,
      "norm_label": "code:bash (cd /mnt/nas-volume/sanguo_vnpy/jiangwei-platform/deploy/nas)"
    },
    {
      "label": "\u7ef4\u62a4\u547d\u4ee4",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L123",
      "id": "nas_readme_nas_deploy_123",
      "community": 12,
      "norm_label": "\u7ef4\u62a4\u547d\u4ee4"
    },
    {
      "label": "\u67e5\u770b\u72b6\u6001",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L125",
      "id": "nas_readme_nas_deploy_125",
      "community": 12,
      "norm_label": "\u67e5\u770b\u72b6\u6001"
    },
    {
      "label": "code:bash (# \u67e5\u770b\u67d0\u4e2a\u7528\u6237\u8fdb\u7a0b\u72b6\u6001)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L127",
      "id": "nas_readme_nas_deploy_codeblock_8",
      "community": 12,
      "norm_label": "code:bash (# \u67e5\u770b\u67d0\u4e2a\u7528\u6237\u8fdb\u7a0b\u72b6\u6001)"
    },
    {
      "label": "\u91cd\u542f\u8fdb\u7a0b",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L136",
      "id": "nas_readme_nas_deploy_136",
      "community": 12,
      "norm_label": "\u91cd\u542f\u8fdb\u7a0b"
    },
    {
      "label": "code:bash (systemctl restart sanguo-trade-zhugeliang)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L138",
      "id": "nas_readme_nas_deploy_codeblock_9",
      "community": 12,
      "norm_label": "code:bash (systemctl restart sanguo-trade-zhugeliang)"
    },
    {
      "label": "\u505c\u6b62\u8fdb\u7a0b\uff08\u4e0d\u5f71\u54cd\u4ed6\u4eba\uff09",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L143",
      "id": "nas_readme_nas_deploy_143",
      "community": 12,
      "norm_label": "\u505c\u6b62\u8fdb\u7a0b(\u4e0d\u5f71\u54cd\u4ed6\u4eba)"
    },
    {
      "label": "code:bash (systemctl stop sanguo-trade-zhugeliang)",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L145",
      "id": "nas_readme_nas_deploy_codeblock_10",
      "community": 12,
      "norm_label": "code:bash (systemctl stop sanguo-trade-zhugeliang)"
    },
    {
      "label": "\u8bbe\u8ba1\u539f\u5219",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L150",
      "id": "nas_readme_nas_deploy_150",
      "community": 12,
      "norm_label": "\u8bbe\u8ba1\u539f\u5219"
    },
    {
      "label": "\u6545\u969c\u6392\u67e5",
      "file_type": "document",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L158",
      "id": "nas_readme_nas_deploy_158",
      "community": 12,
      "norm_label": "\u6545\u969c\u6392\u67e5"
    },
    {
      "label": "04-deployment.md",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L1",
      "id": "docs_04_deployment_md",
      "community": 22,
      "norm_label": "04-deployment.md"
    },
    {
      "label": "04 - \u90e8\u7f72\u6307\u5357",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L1",
      "id": "docs_04_deployment_04",
      "community": 22,
      "norm_label": "04 - \u90e8\u7f72\u6307\u5357"
    },
    {
      "label": "1. \u73af\u5883\u8981\u6c42",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L8",
      "id": "docs_04_deployment_1",
      "community": 22,
      "norm_label": "1. \u73af\u5883\u8981\u6c42"
    },
    {
      "label": "2. \u90e8\u7f72\u67b6\u6784",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L18",
      "id": "docs_04_deployment_2",
      "community": 22,
      "norm_label": "2. \u90e8\u7f72\u67b6\u6784"
    },
    {
      "label": "code:block1 (Mac Mini\uff08\u5f00\u53d1\u673a\uff09                    \u7fa4\u6656 NAS\uff08\u751f\u4ea7\u73af\u5883\uff09)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L20",
      "id": "docs_04_deployment_codeblock_1",
      "community": 22,
      "norm_label": "code:block1 (mac mini(\u5f00\u53d1\u673a)                    \u7fa4\u6656 nas(\u751f\u4ea7\u73af\u5883))"
    },
    {
      "label": "3. \u9996\u6b21\u90e8\u7f72",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L38",
      "id": "docs_04_deployment_3",
      "community": 22,
      "norm_label": "3. \u9996\u6b21\u90e8\u7f72"
    },
    {
      "label": "3.1 \u6784\u5efaDocker\u955c\u50cf",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L40",
      "id": "docs_04_deployment_3_1_docker",
      "community": 22,
      "norm_label": "3.1 \u6784\u5efadocker\u955c\u50cf"
    },
    {
      "label": "code:bash (# \u5728NAS\u4e0a\u6267\u884c)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L42",
      "id": "docs_04_deployment_codeblock_2",
      "community": 22,
      "norm_label": "code:bash (# \u5728nas\u4e0a\u6267\u884c)"
    },
    {
      "label": "3.2 \u542f\u52a8\u5bb9\u5668",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L48",
      "id": "docs_04_deployment_3_2",
      "community": 22,
      "norm_label": "3.2 \u542f\u52a8\u5bb9\u5668"
    },
    {
      "label": "code:bash (docker run -d --name sanguo_vnpy \\)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L50",
      "id": "docs_04_deployment_codeblock_3",
      "community": 22,
      "norm_label": "code:bash (docker run -d --name sanguo_vnpy \\)"
    },
    {
      "label": "3.3 \u9a8c\u8bc1\u90e8\u7f72",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L62",
      "id": "docs_04_deployment_3_3",
      "community": 22,
      "norm_label": "3.3 \u9a8c\u8bc1\u90e8\u7f72"
    },
    {
      "label": "code:bash (# \u5065\u5eb7\u68c0\u67e5)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L64",
      "id": "docs_04_deployment_codeblock_4",
      "community": 22,
      "norm_label": "code:bash (# \u5065\u5eb7\u68c0\u67e5)"
    },
    {
      "label": "4. \u4ee3\u7801\u66f4\u65b0",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L72",
      "id": "docs_04_deployment_4",
      "community": 22,
      "norm_label": "4. \u4ee3\u7801\u66f4\u65b0"
    },
    {
      "label": "4.1 \u65b9\u5f0f\u4e00\uff1aSMB\u6302\u8f7d\u76f4\u63a5\u4fee\u6539\uff08\u5f53\u524d\u65b9\u5f0f\uff09",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L74",
      "id": "docs_04_deployment_4_1_smb",
      "community": 22,
      "norm_label": "4.1 \u65b9\u5f0f\u4e00:smb\u6302\u8f7d\u76f4\u63a5\u4fee\u6539(\u5f53\u524d\u65b9\u5f0f)"
    },
    {
      "label": "code:bash (# NAS\u6302\u8f7d\u70b9)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L78",
      "id": "docs_04_deployment_codeblock_5",
      "community": 22,
      "norm_label": "code:bash (# nas\u6302\u8f7d\u70b9)"
    },
    {
      "label": "code:bash (docker restart sanguo_vnpy)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L86",
      "id": "docs_04_deployment_codeblock_6",
      "community": 22,
      "norm_label": "code:bash (docker restart sanguo_vnpy)"
    },
    {
      "label": "4.2 \u65b9\u5f0f\u4e8c\uff1aGit\u540c\u6b65\uff08\u63a8\u8350\u957f\u671f\u65b9\u6848\uff09",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L90",
      "id": "docs_04_deployment_4_2_git",
      "community": 22,
      "norm_label": "4.2 \u65b9\u5f0f\u4e8c:git\u540c\u6b65(\u63a8\u8350\u957f\u671f\u65b9\u6848)"
    },
    {
      "label": "code:bash (# \u672c\u5730\u63a8\u9001)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L92",
      "id": "docs_04_deployment_codeblock_7",
      "community": 22,
      "norm_label": "code:bash (# \u672c\u5730\u63a8\u9001)"
    },
    {
      "label": "5. \u670d\u52a1\u7aef\u53e3",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L102",
      "id": "docs_04_deployment_5",
      "community": 22,
      "norm_label": "5. \u670d\u52a1\u7aef\u53e3"
    },
    {
      "label": "6. \u8fd0\u7ef4\u64cd\u4f5c",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L111",
      "id": "docs_04_deployment_6",
      "community": 22,
      "norm_label": "6. \u8fd0\u7ef4\u64cd\u4f5c"
    },
    {
      "label": "6.1 \u5e38\u7528\u547d\u4ee4",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L113",
      "id": "docs_04_deployment_6_1",
      "community": 22,
      "norm_label": "6.1 \u5e38\u7528\u547d\u4ee4"
    },
    {
      "label": "code:bash (# \u67e5\u770b\u5bb9\u5668\u72b6\u6001)",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L115",
      "id": "docs_04_deployment_codeblock_8",
      "community": 22,
      "norm_label": "code:bash (# \u67e5\u770b\u5bb9\u5668\u72b6\u6001)"
    },
    {
      "label": "6.2 \u6545\u969c\u6392\u67e5",
      "file_type": "document",
      "source_file": "docs/04-deployment.md",
      "source_location": "L129",
      "id": "docs_04_deployment_6_2",
      "community": 22,
      "norm_label": "6.2 \u6545\u969c\u6392\u67e5"
    },
    {
      "label": "02-architecture.md",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L1",
      "id": "docs_02_architecture_md",
      "community": 39,
      "norm_label": "02-architecture.md"
    },
    {
      "label": "02 - \u7cfb\u7edf\u67b6\u6784\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L1",
      "id": "docs_02_architecture_02",
      "community": 39,
      "norm_label": "02 - \u7cfb\u7edf\u67b6\u6784\u8bbe\u8ba1"
    },
    {
      "label": "1. \u67b6\u6784\u603b\u89c8",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L8",
      "id": "docs_02_architecture_1",
      "community": 39,
      "norm_label": "1. \u67b6\u6784\u603b\u89c8"
    },
    {
      "label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L10",
      "id": "docs_02_architecture_codeblock_1",
      "community": 39,
      "norm_label": "code:block1 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500)"
    },
    {
      "label": "2. \u5206\u5c42\u67b6\u6784",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L44",
      "id": "docs_02_architecture_2",
      "community": 39,
      "norm_label": "2. \u5206\u5c42\u67b6\u6784"
    },
    {
      "label": "code:block2 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L46",
      "id": "docs_02_architecture_codeblock_2",
      "community": 39,
      "norm_label": "code:block2 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)"
    },
    {
      "label": "3. \u6838\u5fc3\u8bbe\u8ba1\u51b3\u7b56",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L66",
      "id": "docs_02_architecture_3",
      "community": 39,
      "norm_label": "3. \u6838\u5fc3\u8bbe\u8ba1\u51b3\u7b56"
    },
    {
      "label": "3.1 \u9002\u914d\u5c42 vs Fork",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L68",
      "id": "docs_02_architecture_3_1_vs_fork",
      "community": 39,
      "norm_label": "3.1 \u9002\u914d\u5c42 vs fork"
    },
    {
      "label": "3.2 \u6570\u636e\u67b6\u6784",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L77",
      "id": "docs_02_architecture_3_2",
      "community": 39,
      "norm_label": "3.2 \u6570\u636e\u67b6\u6784"
    },
    {
      "label": "code:block3 (\u6570\u636e\u83b7\u53d6\u5c42\uff08\u8d75\u4e91\u8d1f\u8d23\uff09)",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L79",
      "id": "docs_02_architecture_codeblock_3",
      "community": 39,
      "norm_label": "code:block3 (\u6570\u636e\u83b7\u53d6\u5c42(\u8d75\u4e91\u8d1f\u8d23))"
    },
    {
      "label": "3.3 \u591a\u7528\u6237\u9694\u79bb",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L97",
      "id": "docs_02_architecture_3_3",
      "community": 39,
      "norm_label": "3.3 \u591a\u7528\u6237\u9694\u79bb"
    },
    {
      "label": "code:block4 (\u7528\u6237        RPC\u7aef\u53e3   Web\u7aef\u53e3   Nginx\u8def\u5f84)",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L101",
      "id": "docs_02_architecture_codeblock_4",
      "community": 39,
      "norm_label": "code:block4 (\u7528\u6237        rpc\u7aef\u53e3   web\u7aef\u53e3   nginx\u8def\u5f84)"
    },
    {
      "label": "3.4 \u5bb9\u5668\u5316\u90e8\u7f72",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L112",
      "id": "docs_02_architecture_3_4",
      "community": 39,
      "norm_label": "3.4 \u5bb9\u5668\u5316\u90e8\u7f72"
    },
    {
      "label": "code:block5 (sanguo_vnpy \u5bb9\u5668)",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L114",
      "id": "docs_02_architecture_codeblock_5",
      "community": 39,
      "norm_label": "code:block5 (sanguo_vnpy \u5bb9\u5668)"
    },
    {
      "label": "4. \u6280\u672f\u9009\u578b",
      "file_type": "document",
      "source_file": "docs/02-architecture.md",
      "source_location": "L123",
      "id": "docs_02_architecture_4",
      "community": 39,
      "norm_label": "4. \u6280\u672f\u9009\u578b"
    },
    {
      "label": "06-nas-infrastructure.md",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L1",
      "id": "docs_06_nas_infrastructure_md",
      "community": 72,
      "norm_label": "06-nas-infrastructure.md"
    },
    {
      "label": "06 - NAS \u57fa\u7840\u8bbe\u65bd\u90e8\u7f72\u5168\u7eaa\u5f55",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L1",
      "id": "docs_06_nas_infrastructure_06_nas",
      "community": 72,
      "norm_label": "06 - nas \u57fa\u7840\u8bbe\u65bd\u90e8\u7f72\u5168\u7eaa\u5f55"
    },
    {
      "label": "1. \u6982\u8ff0",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L9",
      "id": "docs_06_nas_infrastructure_1",
      "community": 72,
      "norm_label": "1. \u6982\u8ff0"
    },
    {
      "label": "2. \u9700\u6c42\u5b9a\u4e49",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L15",
      "id": "docs_06_nas_infrastructure_2",
      "community": 133,
      "norm_label": "2. \u9700\u6c42\u5b9a\u4e49"
    },
    {
      "label": "2.1 \u57fa\u7840\u8bbe\u65bd\u9700\u6c42",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L17",
      "id": "docs_06_nas_infrastructure_2_1",
      "community": 133,
      "norm_label": "2.1 \u57fa\u7840\u8bbe\u65bd\u9700\u6c42"
    },
    {
      "label": "2.2 \u786c\u4ef6\u73af\u5883",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L29",
      "id": "docs_06_nas_infrastructure_2_2",
      "community": 133,
      "norm_label": "2.2 \u786c\u4ef6\u73af\u5883"
    },
    {
      "label": "2.3 \u7f51\u7edc\u62d3\u6251",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L40",
      "id": "docs_06_nas_infrastructure_2_3",
      "community": 133,
      "norm_label": "2.3 \u7f51\u7edc\u62d3\u6251"
    },
    {
      "label": "code:block1 (Mac Mini (192.168.2.153)                 \u7fa4\u6656 NAS (192.168.2.1)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L42",
      "id": "docs_06_nas_infrastructure_codeblock_1",
      "community": 133,
      "norm_label": "code:block1 (mac mini (192.168.2.153)                 \u7fa4\u6656 nas (192.168.2.1)"
    },
    {
      "label": "3. \u8be6\u7ec6\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L58",
      "id": "docs_06_nas_infrastructure_3",
      "community": 48,
      "norm_label": "3. \u8be6\u7ec6\u8bbe\u8ba1"
    },
    {
      "label": "3.1 Docker \u955c\u50cf\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L60",
      "id": "docs_06_nas_infrastructure_3_1_docker",
      "community": 48,
      "norm_label": "3.1 docker \u955c\u50cf\u8bbe\u8ba1"
    },
    {
      "label": "3.1.1 \u955c\u50cf\u5206\u5c42\u7b56\u7565",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L62",
      "id": "docs_06_nas_infrastructure_3_1_1",
      "community": 48,
      "norm_label": "3.1.1 \u955c\u50cf\u5206\u5c42\u7b56\u7565"
    },
    {
      "label": "code:block2 (\u955c\u50cf: sanguo_vnpy:with-scripts (4.08GB))",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L64",
      "id": "docs_06_nas_infrastructure_codeblock_2",
      "community": 48,
      "norm_label": "code:block2 (\u955c\u50cf: sanguo_vnpy:with-scripts (4.08gb))"
    },
    {
      "label": "3.1.2 \u5f53\u524d\u955c\u50cf\u7248\u672c",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L90",
      "id": "docs_06_nas_infrastructure_3_1_2",
      "community": 48,
      "norm_label": "3.1.2 \u5f53\u524d\u955c\u50cf\u7248\u672c"
    },
    {
      "label": "3.2 \u5bb9\u5668\u8fd0\u884c\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L97",
      "id": "docs_06_nas_infrastructure_3_2",
      "community": 48,
      "norm_label": "3.2 \u5bb9\u5668\u8fd0\u884c\u8bbe\u8ba1"
    },
    {
      "label": "3.2.1 \u5bb9\u5668\u542f\u52a8\u53c2\u6570",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L99",
      "id": "docs_06_nas_infrastructure_3_2_1",
      "community": 48,
      "norm_label": "3.2.1 \u5bb9\u5668\u542f\u52a8\u53c2\u6570"
    },
    {
      "label": "code:bash (docker run -d \\)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L101",
      "id": "docs_06_nas_infrastructure_codeblock_3",
      "community": 48,
      "norm_label": "code:bash (docker run -d \\)"
    },
    {
      "label": "3.2.2 Volume \u6302\u8f7d\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L125",
      "id": "docs_06_nas_infrastructure_3_2_2_volume",
      "community": 48,
      "norm_label": "3.2.2 volume \u6302\u8f7d\u8bbe\u8ba1"
    },
    {
      "label": "3.2.3 \u7aef\u53e3\u6620\u5c04",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L134",
      "id": "docs_06_nas_infrastructure_3_2_3",
      "community": 48,
      "norm_label": "3.2.3 \u7aef\u53e3\u6620\u5c04"
    },
    {
      "label": "3.3 \u670d\u52a1\u542f\u52a8\u6d41\u7a0b\uff08entrypoint.sh\uff09",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L143",
      "id": "docs_06_nas_infrastructure_3_3_entrypoint_sh",
      "community": 48,
      "norm_label": "3.3 \u670d\u52a1\u542f\u52a8\u6d41\u7a0b(entrypoint.sh)"
    },
    {
      "label": "code:bash (entrypoint.sh \u6267\u884c\u987a\u5e8f\uff1a)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L145",
      "id": "docs_06_nas_infrastructure_codeblock_4",
      "community": 48,
      "norm_label": "code:bash (entrypoint.sh \u6267\u884c\u987a\u5e8f:)"
    },
    {
      "label": "3.4 \u6570\u636e\u5c42\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L162",
      "id": "docs_06_nas_infrastructure_3_4",
      "community": 105,
      "norm_label": "3.4 \u6570\u636e\u5c42\u8bbe\u8ba1"
    },
    {
      "label": "3.4.1 \u6570\u636e\u76ee\u5f55\u7ed3\u6784\uff08NAS\uff09",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L164",
      "id": "docs_06_nas_infrastructure_3_4_1_nas",
      "community": 105,
      "norm_label": "3.4.1 \u6570\u636e\u76ee\u5f55\u7ed3\u6784(nas)"
    },
    {
      "label": "code:block5 (/volume1/stock/)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L166",
      "id": "docs_06_nas_infrastructure_codeblock_5",
      "community": 105,
      "norm_label": "code:block5 (/volume1/stock/)"
    },
    {
      "label": "3.4.2 vnpy \u4ea4\u6613\u6570\u636e\u5e93",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L194",
      "id": "docs_06_nas_infrastructure_3_4_2_vnpy",
      "community": 105,
      "norm_label": "3.4.2 vnpy \u4ea4\u6613\u6570\u636e\u5e93"
    },
    {
      "label": "3.4.3 \u6570\u636e\u589e\u91cf\u66f4\u65b0",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L206",
      "id": "docs_06_nas_infrastructure_3_4_3",
      "community": 105,
      "norm_label": "3.4.3 \u6570\u636e\u589e\u91cf\u66f4\u65b0"
    },
    {
      "label": "code:block6 (Mac Mini cron (\u6bcf\u4ea4\u6613\u65e5 15:30))",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L208",
      "id": "docs_06_nas_infrastructure_codeblock_6",
      "community": 105,
      "norm_label": "code:block6 (mac mini cron (\u6bcf\u4ea4\u6613\u65e5 15:30))"
    },
    {
      "label": "4. \u6784\u5efa\u6307\u5357",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L223",
      "id": "docs_06_nas_infrastructure_4",
      "community": 72,
      "norm_label": "4. \u6784\u5efa\u6307\u5357"
    },
    {
      "label": "4.1 \u6784\u5efa\u57fa\u7840\u955c\u50cf\uff08\u6781\u5c11\u6267\u884c\uff09",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L225",
      "id": "docs_06_nas_infrastructure_4_1",
      "community": 72,
      "norm_label": "4.1 \u6784\u5efa\u57fa\u7840\u955c\u50cf(\u6781\u5c11\u6267\u884c)"
    },
    {
      "label": "code:bash (# \u5728 NAS \u4e0a\u6267\u884c)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L227",
      "id": "docs_06_nas_infrastructure_codeblock_7",
      "community": 72,
      "norm_label": "code:bash (# \u5728 nas \u4e0a\u6267\u884c)"
    },
    {
      "label": "4.2 \u4f9d\u8d56\u7ba1\u7406",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L241",
      "id": "docs_06_nas_infrastructure_4_2",
      "community": 72,
      "norm_label": "4.2 \u4f9d\u8d56\u7ba1\u7406"
    },
    {
      "label": "5. \u90e8\u7f72\u6307\u5357",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L251",
      "id": "docs_06_nas_infrastructure_5",
      "community": 86,
      "norm_label": "5. \u90e8\u7f72\u6307\u5357"
    },
    {
      "label": "5.1 \u9996\u6b21\u90e8\u7f72",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L253",
      "id": "docs_06_nas_infrastructure_5_1",
      "community": 86,
      "norm_label": "5.1 \u9996\u6b21\u90e8\u7f72"
    },
    {
      "label": "code:bash (# 1. \u786e\u4fdd NAS SSH \u53ef\u7528)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L255",
      "id": "docs_06_nas_infrastructure_codeblock_8",
      "community": 86,
      "norm_label": "code:bash (# 1. \u786e\u4fdd nas ssh \u53ef\u7528)"
    },
    {
      "label": "5.2 \u4ee3\u7801\u66f4\u65b0\uff08\u4e0d\u9700\u8981\u91cd\u5efa\u955c\u50cf\uff09",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L283",
      "id": "docs_06_nas_infrastructure_5_2",
      "community": 86,
      "norm_label": "5.2 \u4ee3\u7801\u66f4\u65b0(\u4e0d\u9700\u8981\u91cd\u5efa\u955c\u50cf)"
    },
    {
      "label": "code:bash (# 1. \u4fee\u6539 NAS \u4e0a\u7684\u4ee3\u7801\uff08\u901a\u8fc7 SMB \u6302\u8f7d\uff09)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L285",
      "id": "docs_06_nas_infrastructure_codeblock_9",
      "community": 86,
      "norm_label": "code:bash (# 1. \u4fee\u6539 nas \u4e0a\u7684\u4ee3\u7801(\u901a\u8fc7 smb \u6302\u8f7d))"
    },
    {
      "label": "5.3 \u5b8c\u5168\u91cd\u5efa\u5bb9\u5668",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L299",
      "id": "docs_06_nas_infrastructure_5_3",
      "community": 86,
      "norm_label": "5.3 \u5b8c\u5168\u91cd\u5efa\u5bb9\u5668"
    },
    {
      "label": "code:bash (ssh admin@192.168.2.154 \"/usr/local/bin/docker stop sanguo_v)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L303",
      "id": "docs_06_nas_infrastructure_codeblock_10",
      "community": 86,
      "norm_label": "code:bash (ssh admin@192.168.2.154 \"/usr/local/bin/docker stop sanguo_v)"
    },
    {
      "label": "6. \u6d4b\u8bd5\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L320",
      "id": "docs_06_nas_infrastructure_6",
      "community": 85,
      "norm_label": "6. \u6d4b\u8bd5\u9a8c\u8bc1"
    },
    {
      "label": "6.1 \u670d\u52a1\u5065\u5eb7\u68c0\u67e5",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L322",
      "id": "docs_06_nas_infrastructure_6_1",
      "community": 85,
      "norm_label": "6.1 \u670d\u52a1\u5065\u5eb7\u68c0\u67e5"
    },
    {
      "label": "code:bash (# \u56de\u6d4b\u670d\u52a1)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L324",
      "id": "docs_06_nas_infrastructure_codeblock_11",
      "community": 85,
      "norm_label": "code:bash (# \u56de\u6d4b\u670d\u52a1)"
    },
    {
      "label": "6.2 \u5bb9\u5668\u91cd\u542f\u81ea\u52a8\u6062\u590d\u6d4b\u8bd5",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L342",
      "id": "docs_06_nas_infrastructure_6_2",
      "community": 85,
      "norm_label": "6.2 \u5bb9\u5668\u91cd\u542f\u81ea\u52a8\u6062\u590d\u6d4b\u8bd5"
    },
    {
      "label": "code:bash (# \u91cd\u542f\u5bb9\u5668)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L344",
      "id": "docs_06_nas_infrastructure_codeblock_12",
      "community": 85,
      "norm_label": "code:bash (# \u91cd\u542f\u5bb9\u5668)"
    },
    {
      "label": "6.3 \u56de\u6d4b\u529f\u80fd\u6d4b\u8bd5",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L354",
      "id": "docs_06_nas_infrastructure_6_3",
      "community": 85,
      "norm_label": "6.3 \u56de\u6d4b\u529f\u80fd\u6d4b\u8bd5"
    },
    {
      "label": "code:bash (curl -X POST http://192.168.2.154:8088/api/backtest/submit \\)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L356",
      "id": "docs_06_nas_infrastructure_codeblock_13",
      "community": 85,
      "norm_label": "code:bash (curl -x post http://192.168.2.154:8088/api/backtest/submit \\)"
    },
    {
      "label": "7. \u670d\u52a1\u5730\u5740\u6c47\u603b",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L373",
      "id": "docs_06_nas_infrastructure_7",
      "community": 106,
      "norm_label": "7. \u670d\u52a1\u5730\u5740\u6c47\u603b"
    },
    {
      "label": "7.1 \u7528\u6237\u8bbf\u95ee\u5730\u5740",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L375",
      "id": "docs_06_nas_infrastructure_7_1",
      "community": 106,
      "norm_label": "7.1 \u7528\u6237\u8bbf\u95ee\u5730\u5740"
    },
    {
      "label": "7.2 \u7ba1\u7406\u547d\u4ee4\uff08\u5728 NAS \u4e0a\u6267\u884c\uff09",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L384",
      "id": "docs_06_nas_infrastructure_7_2_nas",
      "community": 106,
      "norm_label": "7.2 \u7ba1\u7406\u547d\u4ee4(\u5728 nas \u4e0a\u6267\u884c)"
    },
    {
      "label": "code:bash (# \u67e5\u770b\u5bb9\u5668\u72b6\u6001)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L386",
      "id": "docs_06_nas_infrastructure_codeblock_14",
      "community": 106,
      "norm_label": "code:bash (# \u67e5\u770b\u5bb9\u5668\u72b6\u6001)"
    },
    {
      "label": "7.3 Mac \u7aef\u8bbf\u95ee\u547d\u4ee4",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L403",
      "id": "docs_06_nas_infrastructure_7_3_mac",
      "community": 106,
      "norm_label": "7.3 mac \u7aef\u8bbf\u95ee\u547d\u4ee4"
    },
    {
      "label": "code:bash (# SSH \u8fde\u63a5)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L405",
      "id": "docs_06_nas_infrastructure_codeblock_15",
      "community": 106,
      "norm_label": "code:bash (# ssh \u8fde\u63a5)"
    },
    {
      "label": "8. \u8fd0\u7ef4\u624b\u518c",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L418",
      "id": "docs_06_nas_infrastructure_8",
      "community": 104,
      "norm_label": "8. \u8fd0\u7ef4\u624b\u518c"
    },
    {
      "label": "8.1 \u65e5\u5e38\u5de1\u68c0",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L420",
      "id": "docs_06_nas_infrastructure_8_1",
      "community": 104,
      "norm_label": "8.1 \u65e5\u5e38\u5de1\u68c0"
    },
    {
      "label": "code:bash (# \u4e00\u952e\u68c0\u67e5\u6240\u6709\u670d\u52a1)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L422",
      "id": "docs_06_nas_infrastructure_codeblock_16",
      "community": 104,
      "norm_label": "code:bash (# \u4e00\u952e\u68c0\u67e5\u6240\u6709\u670d\u52a1)"
    },
    {
      "label": "8.2 \u6545\u969c\u6392\u67e5",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L429",
      "id": "docs_06_nas_infrastructure_8_2",
      "community": 104,
      "norm_label": "8.2 \u6545\u969c\u6392\u67e5"
    },
    {
      "label": "8.3 \u6570\u636e\u5907\u4efd",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L439",
      "id": "docs_06_nas_infrastructure_8_3",
      "community": 104,
      "norm_label": "8.3 \u6570\u636e\u5907\u4efd"
    },
    {
      "label": "code:bash (# vnpy DB \u5907\u4efd)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L441",
      "id": "docs_06_nas_infrastructure_codeblock_17",
      "community": 104,
      "norm_label": "code:bash (# vnpy db \u5907\u4efd)"
    },
    {
      "label": "9. \u5386\u53f2 Q&A \u4e0e\u8e29\u5751\u8bb0\u5f55",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L449",
      "id": "docs_06_nas_infrastructure_9_q_a",
      "community": 43,
      "norm_label": "9. \u5386\u53f2 q&a \u4e0e\u8e29\u5751\u8bb0\u5f55"
    },
    {
      "label": "Q1: SSH \u4e3a\u4ec0\u4e48\u4e0d\u80fd\u7528 OpenSSH\uff0c\u8981\u7528 dropbear\uff1f",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L453",
      "id": "docs_06_nas_infrastructure_q1_ssh_openssh_dropbear",
      "community": 43,
      "norm_label": "q1: ssh \u4e3a\u4ec0\u4e48\u4e0d\u80fd\u7528 openssh,\u8981\u7528 dropbear?"
    },
    {
      "label": "code:block18 (ssh -vvv \u2192 \"kex_exchange_identification: banner line 0: Not )",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L459",
      "id": "docs_06_nas_infrastructure_codeblock_18",
      "community": 43,
      "norm_label": "code:block18 (ssh -vvv \u2192 \"kex_exchange_identification: banner line 0: not )"
    },
    {
      "label": "Q2: Mac \u672c\u5730\u6709\u4e00\u4e2a\u540c\u540d\u5e9f\u5f03\u5bb9\u5668\uff0c\u548c NAS \u5bb9\u5668\u6df7\u6dc6\u4e86",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L479",
      "id": "docs_06_nas_infrastructure_q2_mac_nas",
      "community": 43,
      "norm_label": "q2: mac \u672c\u5730\u6709\u4e00\u4e2a\u540c\u540d\u5e9f\u5f03\u5bb9\u5668,\u548c nas \u5bb9\u5668\u6df7\u6dc6\u4e86"
    },
    {
      "label": "code:bash (ssh admin@192.168.2.154 \"/usr/local/bin/docker ps\")",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L486",
      "id": "docs_06_nas_infrastructure_codeblock_19",
      "community": 43,
      "norm_label": "code:bash (ssh admin@192.168.2.154 \"/usr/local/bin/docker ps\")"
    },
    {
      "label": "Q3: \u4e3a\u4ec0\u4e48 entrypoint.sh \u91cc\u8981 pip install \u800c\u4e0d\u662f\u5199\u8fdb\u955c\u50cf\uff1f",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L495",
      "id": "docs_06_nas_infrastructure_q3_entrypoint_sh_pip_install",
      "community": 43,
      "norm_label": "q3: \u4e3a\u4ec0\u4e48 entrypoint.sh \u91cc\u8981 pip install \u800c\u4e0d\u662f\u5199\u8fdb\u955c\u50cf?"
    },
    {
      "label": "Q4: \u4e3a\u4ec0\u4e48\u6709 `latest` \u548c `with-scripts` \u4e24\u4e2a\u955c\u50cf\uff1f",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L510",
      "id": "docs_06_nas_infrastructure_q4_latest_with_scripts",
      "community": 43,
      "norm_label": "q4: \u4e3a\u4ec0\u4e48\u6709 `latest` \u548c `with-scripts` \u4e24\u4e2a\u955c\u50cf?"
    },
    {
      "label": "Q5: \u4e3a\u4ec0\u4e48\u9700\u8981 `--privileged` \u6a21\u5f0f\uff1f",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L522",
      "id": "docs_06_nas_infrastructure_q5_privileged",
      "community": 43,
      "norm_label": "q5: \u4e3a\u4ec0\u4e48\u9700\u8981 `--privileged` \u6a21\u5f0f?"
    },
    {
      "label": "Q6: \u56de\u6d4b\u670d\u52a1\u4ee3\u7801\u5df2\u7edf\u4e00\u4e3a\u4e00\u4efd",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L536",
      "id": "docs_06_nas_infrastructure_q6",
      "community": 43,
      "norm_label": "q6: \u56de\u6d4b\u670d\u52a1\u4ee3\u7801\u5df2\u7edf\u4e00\u4e3a\u4e00\u4efd"
    },
    {
      "label": "Q7: \u5bb9\u5668\u5185 SSH \u7684 host keys \u6bcf\u6b21\u91cd\u542f\u90fd\u4f1a\u53d8\uff0c\u5bfc\u81f4 known_hosts \u62a5\u9519",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L547",
      "id": "docs_06_nas_infrastructure_q7_ssh_host_keys_known_hosts",
      "community": 43,
      "norm_label": "q7: \u5bb9\u5668\u5185 ssh \u7684 host keys \u6bcf\u6b21\u91cd\u542f\u90fd\u4f1a\u53d8,\u5bfc\u81f4 known_hosts \u62a5\u9519"
    },
    {
      "label": "Q8: \u6570\u636e\u589e\u91cf\u66f4\u65b0\u8d70 SMB \u800c\u975e\u5bb9\u5668 API\uff0c\u6709\u4ec0\u4e48\u95ee\u9898\uff1f",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L557",
      "id": "docs_06_nas_infrastructure_q8_smb_api",
      "community": 43,
      "norm_label": "q8: \u6570\u636e\u589e\u91cf\u66f4\u65b0\u8d70 smb \u800c\u975e\u5bb9\u5668 api,\u6709\u4ec0\u4e48\u95ee\u9898?"
    },
    {
      "label": "Q9: Docker \u955c\u50cf\u6784\u5efa\u65f6\u4e3a\u4ec0\u4e48 scripts \u76ee\u5f55\u603b\u662f\u5c11\u6587\u4ef6\uff1f",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L572",
      "id": "docs_06_nas_infrastructure_q9_docker_scripts",
      "community": 43,
      "norm_label": "q9: docker \u955c\u50cf\u6784\u5efa\u65f6\u4e3a\u4ec0\u4e48 scripts \u76ee\u5f55\u603b\u662f\u5c11\u6587\u4ef6?"
    },
    {
      "label": "Q10: \u4e3a\u4ec0\u4e48 code-server \u6ca1\u6709\u542f\u7528\uff1f",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L582",
      "id": "docs_06_nas_infrastructure_q10_code_server",
      "community": 43,
      "norm_label": "q10: \u4e3a\u4ec0\u4e48 code-server \u6ca1\u6709\u542f\u7528?"
    },
    {
      "label": "10. \u5f85\u6539\u8fdb\u9879",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L588",
      "id": "docs_06_nas_infrastructure_10",
      "community": 72,
      "norm_label": "10. \u5f85\u6539\u8fdb\u9879"
    },
    {
      "label": "11. \u9644\u5f55",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L606",
      "id": "docs_06_nas_infrastructure_11",
      "community": 107,
      "norm_label": "11. \u9644\u5f55"
    },
    {
      "label": "11.1 \u56de\u6d4b\u670d\u52a1\u4ee3\u7801\u7ed3\u6784\uff08bt-service/\uff09",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L608",
      "id": "docs_06_nas_infrastructure_11_1_bt_service",
      "community": 107,
      "norm_label": "11.1 \u56de\u6d4b\u670d\u52a1\u4ee3\u7801\u7ed3\u6784(bt-service/)"
    },
    {
      "label": "code:block20 (bt-service/)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L610",
      "id": "docs_06_nas_infrastructure_codeblock_20",
      "community": 107,
      "norm_label": "code:block20 (bt-service/)"
    },
    {
      "label": "11.2 NAS \u76ee\u5f55\u5b8c\u6574\u7ed3\u6784",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L622",
      "id": "docs_06_nas_infrastructure_11_2_nas",
      "community": 107,
      "norm_label": "11.2 nas \u76ee\u5f55\u5b8c\u6574\u7ed3\u6784"
    },
    {
      "label": "code:block21 (/volume1/stock/sanguo_vnpy/)",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L624",
      "id": "docs_06_nas_infrastructure_codeblock_21",
      "community": 107,
      "norm_label": "code:block21 (/volume1/stock/sanguo_vnpy/)"
    },
    {
      "label": "11.3 \u5173\u952e\u73af\u5883\u53d8\u91cf",
      "file_type": "document",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L661",
      "id": "docs_06_nas_infrastructure_11_3",
      "community": 107,
      "norm_label": "11.3 \u5173\u952e\u73af\u5883\u53d8\u91cf"
    },
    {
      "label": "TODO.md",
      "file_type": "document",
      "source_file": "docs/TODO.md",
      "source_location": "L1",
      "id": "docs_todo_md",
      "community": 87,
      "norm_label": "todo.md"
    },
    {
      "label": "sanguo_vnpy \u9879\u76ee TODO",
      "file_type": "document",
      "source_file": "docs/TODO.md",
      "source_location": "L1",
      "id": "docs_todo_sanguo_vnpy_todo",
      "community": 87,
      "norm_label": "sanguo_vnpy \u9879\u76ee todo"
    },
    {
      "label": "\u4e00\u3001\u57fa\u7840\u8bbe\u65bd",
      "file_type": "document",
      "source_file": "docs/TODO.md",
      "source_location": "L8",
      "id": "docs_todo",
      "community": 87,
      "norm_label": "\u4e00\u3001\u57fa\u7840\u8bbe\u65bd"
    },
    {
      "label": "\u4e8c\u3001\u6570\u636e\u5e73\u53f0",
      "file_type": "document",
      "source_file": "docs/TODO.md",
      "source_location": "L16",
      "id": "docs_todo_16",
      "community": 87,
      "norm_label": "\u4e8c\u3001\u6570\u636e\u5e73\u53f0"
    },
    {
      "label": "\u4e09\u3001\u5f85\u5efa\u529f\u80fd",
      "file_type": "document",
      "source_file": "docs/TODO.md",
      "source_location": "L27",
      "id": "docs_todo_27",
      "community": 87,
      "norm_label": "\u4e09\u3001\u5f85\u5efa\u529f\u80fd"
    },
    {
      "label": "\u56db\u3001P3 \u5206\u949f\u7ebf\u540e\u7eed",
      "file_type": "document",
      "source_file": "docs/TODO.md",
      "source_location": "L37",
      "id": "docs_todo_p3",
      "community": 87,
      "norm_label": "\u56db\u3001p3 \u5206\u949f\u7ebf\u540e\u7eed"
    },
    {
      "label": "\u4e94\u3001\u5904\u7406\u8282\u594f",
      "file_type": "document",
      "source_file": "docs/TODO.md",
      "source_location": "L42",
      "id": "docs_todo_42",
      "community": 87,
      "norm_label": "\u4e94\u3001\u5904\u7406\u8282\u594f"
    },
    {
      "label": "03-detailed-design.md",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L1",
      "id": "docs_03_detailed_design_md",
      "community": 14,
      "norm_label": "03-detailed-design.md"
    },
    {
      "label": "03 - \u8be6\u7ec6\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L1",
      "id": "docs_03_detailed_design_03",
      "community": 14,
      "norm_label": "03 - \u8be6\u7ec6\u8bbe\u8ba1"
    },
    {
      "label": "1. \u56de\u6d4b\u670d\u52a1\u6a21\u5757\uff08src/backtest-service/\uff09",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L8",
      "id": "docs_03_detailed_design_1_src_backtest_service",
      "community": 14,
      "norm_label": "1. \u56de\u6d4b\u670d\u52a1\u6a21\u5757(src/backtest-service/)"
    },
    {
      "label": "1.1 \u6a21\u5757\u804c\u8d23",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L10",
      "id": "docs_03_detailed_design_1_1",
      "community": 14,
      "norm_label": "1.1 \u6a21\u5757\u804c\u8d23"
    },
    {
      "label": "1.2 \u6a21\u5757\u7ed3\u6784",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L14",
      "id": "docs_03_detailed_design_1_2",
      "community": 14,
      "norm_label": "1.2 \u6a21\u5757\u7ed3\u6784"
    },
    {
      "label": "code:block1 (src/backtest-service/)",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L16",
      "id": "docs_03_detailed_design_codeblock_1",
      "community": 14,
      "norm_label": "code:block1 (src/backtest-service/)"
    },
    {
      "label": "1.3 \u6838\u5fc3\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L27",
      "id": "docs_03_detailed_design_1_3",
      "community": 14,
      "norm_label": "1.3 \u6838\u5fc3\u6d41\u7a0b"
    },
    {
      "label": "code:block2 (\u7528\u6237\u63d0\u4ea4\u7b56\u7565 \u2192 API\u63a5\u6536 \u2192 \u751f\u6210task_id \u2192 \u5165\u961fpending)",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L29",
      "id": "docs_03_detailed_design_codeblock_2",
      "community": 14,
      "norm_label": "code:block2 (\u7528\u6237\u63d0\u4ea4\u7b56\u7565 \u2192 api\u63a5\u6536 \u2192 \u751f\u6210task_id \u2192 \u5165\u961fpending)"
    },
    {
      "label": "1.4 API\u63a5\u53e3",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L48",
      "id": "docs_03_detailed_design_1_4_api",
      "community": 14,
      "norm_label": "1.4 api\u63a5\u53e3"
    },
    {
      "label": "1.5 \u4efb\u52a1\u6a21\u578b",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L59",
      "id": "docs_03_detailed_design_1_5",
      "community": 14,
      "norm_label": "1.5 \u4efb\u52a1\u6a21\u578b"
    },
    {
      "label": "code:python (class BacktestTask:)",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L61",
      "id": "docs_03_detailed_design_codeblock_3",
      "community": 14,
      "norm_label": "code:python (class backtesttask:)"
    },
    {
      "label": "1.6 vnpy 4.x\u9002\u914d\u8981\u70b9",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L74",
      "id": "docs_03_detailed_design_1_6_vnpy_4_x",
      "community": 14,
      "norm_label": "1.6 vnpy 4.x\u9002\u914d\u8981\u70b9"
    },
    {
      "label": "2. \u6570\u636e\u9002\u914d\u5c42\uff08src/adapters/\uff09",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L83",
      "id": "docs_03_detailed_design_2_src_adapters",
      "community": 14,
      "norm_label": "2. \u6570\u636e\u9002\u914d\u5c42(src/adapters/)"
    },
    {
      "label": "2.1 \u804c\u8d23",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L85",
      "id": "docs_03_detailed_design_2_1",
      "community": 14,
      "norm_label": "2.1 \u804c\u8d23"
    },
    {
      "label": "2.2 vnpy_local_data_adapter.py",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L89",
      "id": "docs_03_detailed_design_2_2_vnpy_local_data_adapter_py",
      "community": 14,
      "norm_label": "2.2 vnpy_local_data_adapter.py"
    },
    {
      "label": "2.3 \u6269\u5c55\u8ba1\u5212",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L97",
      "id": "docs_03_detailed_design_2_3",
      "community": 14,
      "norm_label": "2.3 \u6269\u5c55\u8ba1\u5212"
    },
    {
      "label": "3. \u5bb9\u5668\u955c\u50cf\uff08docker/\uff09",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L108",
      "id": "docs_03_detailed_design_3_docker",
      "community": 14,
      "norm_label": "3. \u5bb9\u5668\u955c\u50cf(docker/)"
    },
    {
      "label": "3.1 \u955c\u50cf\u5206\u5c42\u6784\u5efa",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L110",
      "id": "docs_03_detailed_design_3_1",
      "community": 14,
      "norm_label": "3.1 \u955c\u50cf\u5206\u5c42\u6784\u5efa"
    },
    {
      "label": "code:dockerfile (# Layer 1: \u57fa\u7840\u955c\u50cf + \u7cfb\u7edf\u4f9d\u8d56\uff08\u4f4e\u9891\u53d8\u66f4\uff09)",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L112",
      "id": "docs_03_detailed_design_codeblock_4",
      "community": 14,
      "norm_label": "code:dockerfile (# layer 1: \u57fa\u7840\u955c\u50cf + \u7cfb\u7edf\u4f9d\u8d56(\u4f4e\u9891\u53d8\u66f4))"
    },
    {
      "label": "3.2 entrypoint.sh \u542f\u52a8\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L126",
      "id": "docs_03_detailed_design_3_2_entrypoint_sh",
      "community": 14,
      "norm_label": "3.2 entrypoint.sh \u542f\u52a8\u6d41\u7a0b"
    },
    {
      "label": "code:bash (1. pip3 install vnpy_ctastrategy vnpy_sqlite   # \u81ea\u52a8\u5b89\u88c5\u8fd0\u884c\u65f6\u4f9d\u8d56)",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L128",
      "id": "docs_03_detailed_design_codeblock_5",
      "community": 14,
      "norm_label": "code:bash (1. pip3 install vnpy_ctastrategy vnpy_sqlite   # \u81ea\u52a8\u5b89\u88c5\u8fd0\u884c\u65f6\u4f9d\u8d56)"
    },
    {
      "label": "3.3 Volume\u6302\u8f7d\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L137",
      "id": "docs_03_detailed_design_3_3_volume",
      "community": 14,
      "norm_label": "3.3 volume\u6302\u8f7d\u8bbe\u8ba1"
    },
    {
      "label": "code:bash (docker run \\)",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L139",
      "id": "docs_03_detailed_design_codeblock_6",
      "community": 14,
      "norm_label": "code:bash (docker run \\)"
    },
    {
      "label": "4. \u90e8\u7f72\u914d\u7f6e\uff08config/\uff09",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L150",
      "id": "docs_03_detailed_design_4_config",
      "community": 14,
      "norm_label": "4. \u90e8\u7f72\u914d\u7f6e(config/)"
    },
    {
      "label": "4.1 Nginx\u53cd\u5411\u4ee3\u7406",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L152",
      "id": "docs_03_detailed_design_4_1_nginx",
      "community": 14,
      "norm_label": "4.1 nginx\u53cd\u5411\u4ee3\u7406"
    },
    {
      "label": "code:nginx (location /zhangfei/ {)",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L156",
      "id": "docs_03_detailed_design_codeblock_7",
      "community": 14,
      "norm_label": "code:nginx (location /zhangfei/ {)"
    },
    {
      "label": "4.2 Systemd\u670d\u52a1\u7ba1\u7406",
      "file_type": "document",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L165",
      "id": "docs_03_detailed_design_4_2_systemd",
      "community": 14,
      "norm_label": "4.2 systemd\u670d\u52a1\u7ba1\u7406"
    },
    {
      "label": "01-requirements.md",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L1",
      "id": "docs_01_requirements_md",
      "community": 73,
      "norm_label": "01-requirements.md"
    },
    {
      "label": "01 - \u9700\u6c42\u5b9a\u4e49",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L1",
      "id": "docs_01_requirements_01",
      "community": 73,
      "norm_label": "01 - \u9700\u6c42\u5b9a\u4e49"
    },
    {
      "label": "1. \u9879\u76ee\u80cc\u666f",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L9",
      "id": "docs_01_requirements_1",
      "community": 73,
      "norm_label": "1. \u9879\u76ee\u80cc\u666f"
    },
    {
      "label": "2. \u6838\u5fc3\u9700\u6c42",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L15",
      "id": "docs_01_requirements_2",
      "community": 73,
      "norm_label": "2. \u6838\u5fc3\u9700\u6c42"
    },
    {
      "label": "2.1 \u529f\u80fd\u9700\u6c42",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L17",
      "id": "docs_01_requirements_2_1",
      "community": 73,
      "norm_label": "2.1 \u529f\u80fd\u9700\u6c42"
    },
    {
      "label": "2.2 \u975e\u529f\u80fd\u9700\u6c42",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L32",
      "id": "docs_01_requirements_2_2",
      "community": 73,
      "norm_label": "2.2 \u975e\u529f\u80fd\u9700\u6c42"
    },
    {
      "label": "3. \u7528\u6237\u89d2\u8272",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L42",
      "id": "docs_01_requirements_3",
      "community": 73,
      "norm_label": "3. \u7528\u6237\u89d2\u8272"
    },
    {
      "label": "4. \u7ea6\u675f\u6761\u4ef6",
      "file_type": "document",
      "source_file": "docs/01-requirements.md",
      "source_location": "L54",
      "id": "docs_01_requirements_4",
      "community": 73,
      "norm_label": "4. \u7ea6\u675f\u6761\u4ef6"
    },
    {
      "label": "05-user-manual.md",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L1",
      "id": "docs_05_user_manual_md",
      "community": 19,
      "norm_label": "05-user-manual.md"
    },
    {
      "label": "05 - \u7528\u6237\u624b\u518c",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L1",
      "id": "docs_05_user_manual_05",
      "community": 19,
      "norm_label": "05 - \u7528\u6237\u624b\u518c"
    },
    {
      "label": "1. \u6982\u8ff0",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L8",
      "id": "docs_05_user_manual_1",
      "community": 19,
      "norm_label": "1. \u6982\u8ff0"
    },
    {
      "label": "2. \u670d\u52a1\u5730\u5740",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L12",
      "id": "docs_05_user_manual_2",
      "community": 19,
      "norm_label": "2. \u670d\u52a1\u5730\u5740"
    },
    {
      "label": "3. \u63d0\u4ea4\u56de\u6d4b\u4efb\u52a1",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L20",
      "id": "docs_05_user_manual_3",
      "community": 19,
      "norm_label": "3. \u63d0\u4ea4\u56de\u6d4b\u4efb\u52a1"
    },
    {
      "label": "3.1 \u7b56\u7565\u4ee3\u7801\u8981\u6c42",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L22",
      "id": "docs_05_user_manual_3_1",
      "community": 19,
      "norm_label": "3.1 \u7b56\u7565\u4ee3\u7801\u8981\u6c42"
    },
    {
      "label": "code:python (from vnpy_ctastrategy import CtaTemplate)",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L26",
      "id": "docs_05_user_manual_codeblock_1",
      "community": 19,
      "norm_label": "code:python (from vnpy_ctastrategy import ctatemplate)"
    },
    {
      "label": "3.2 \u63d0\u4ea4\u8bf7\u6c42",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L50",
      "id": "docs_05_user_manual_3_2",
      "community": 19,
      "norm_label": "3.2 \u63d0\u4ea4\u8bf7\u6c42"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L54",
      "id": "docs_05_user_manual_codeblock_2",
      "community": 19,
      "norm_label": "code:json ({)"
    },
    {
      "label": "3.3 Python\u8c03\u7528\u793a\u4f8b",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L81",
      "id": "docs_05_user_manual_3_3_python",
      "community": 19,
      "norm_label": "3.3 python\u8c03\u7528\u793a\u4f8b"
    },
    {
      "label": "code:python (import requests)",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L83",
      "id": "docs_05_user_manual_codeblock_3",
      "community": 19,
      "norm_label": "code:python (import requests)"
    },
    {
      "label": "3.4 curl\u8c03\u7528\u793a\u4f8b",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L127",
      "id": "docs_05_user_manual_3_4_curl",
      "community": 19,
      "norm_label": "3.4 curl\u8c03\u7528\u793a\u4f8b"
    },
    {
      "label": "code:bash (# \u63d0\u4ea4\u4efb\u52a1)",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L129",
      "id": "docs_05_user_manual_codeblock_4",
      "community": 19,
      "norm_label": "code:bash (# \u63d0\u4ea4\u4efb\u52a1)"
    },
    {
      "label": "4. \u67e5\u8be2\u4efb\u52a1",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L153",
      "id": "docs_05_user_manual_4",
      "community": 19,
      "norm_label": "4. \u67e5\u8be2\u4efb\u52a1"
    },
    {
      "label": "4.1 \u5355\u4e2a\u4efb\u52a1\u72b6\u6001",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L155",
      "id": "docs_05_user_manual_4_1",
      "community": 19,
      "norm_label": "4.1 \u5355\u4e2a\u4efb\u52a1\u72b6\u6001"
    },
    {
      "label": "code:bash (GET /api/backtest/status/{task_id})",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L157",
      "id": "docs_05_user_manual_codeblock_5",
      "community": 19,
      "norm_label": "code:bash (get /api/backtest/status/{task_id})"
    },
    {
      "label": "4.2 \u4efb\u52a1\u5217\u8868",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L167",
      "id": "docs_05_user_manual_4_2",
      "community": 19,
      "norm_label": "4.2 \u4efb\u52a1\u5217\u8868"
    },
    {
      "label": "code:bash (GET /api/backtest/list?page=1&page_size=10&status=completed)",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L169",
      "id": "docs_05_user_manual_codeblock_6",
      "community": 19,
      "norm_label": "code:bash (get /api/backtest/list?page=1&page_size=10&status=completed)"
    },
    {
      "label": "4.3 \u56de\u6d4b\u7ed3\u679c",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L173",
      "id": "docs_05_user_manual_4_3",
      "community": 19,
      "norm_label": "4.3 \u56de\u6d4b\u7ed3\u679c"
    },
    {
      "label": "code:bash (GET /api/backtest/result/{task_id})",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L175",
      "id": "docs_05_user_manual_codeblock_7",
      "community": 19,
      "norm_label": "code:bash (get /api/backtest/result/{task_id})"
    },
    {
      "label": "5. \u5e38\u89c1\u95ee\u9898",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L185",
      "id": "docs_05_user_manual_5",
      "community": 19,
      "norm_label": "5. \u5e38\u89c1\u95ee\u9898"
    },
    {
      "label": "Q: \u7b56\u7565\u63d0\u4ea4\u540e\u5931\u8d25\uff0c\u63d0\u793a\"\u6ca1\u6709\u627e\u5230CtaTemplate\u5b50\u7c7b\"",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L187",
      "id": "docs_05_user_manual_q_ctatemplate",
      "community": 19,
      "norm_label": "q: \u7b56\u7565\u63d0\u4ea4\u540e\u5931\u8d25,\u63d0\u793a\"\u6ca1\u6709\u627e\u5230ctatemplate\u5b50\u7c7b\""
    },
    {
      "label": "Q: \u5408\u7ea6\u4ee3\u7801\u683c\u5f0f\u662f\u4ec0\u4e48\uff1f",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L190",
      "id": "docs_05_user_manual_q",
      "community": 19,
      "norm_label": "q: \u5408\u7ea6\u4ee3\u7801\u683c\u5f0f\u662f\u4ec0\u4e48?"
    },
    {
      "label": "Q: \u652f\u6301\u54ea\u4e9bK\u7ebf\u5468\u671f\uff1f",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L196",
      "id": "docs_05_user_manual_q_k",
      "community": 19,
      "norm_label": "q: \u652f\u6301\u54ea\u4e9bk\u7ebf\u5468\u671f?"
    },
    {
      "label": "Q: \u6570\u636e\u4ece\u54ea\u91cc\u6765\uff1f",
      "file_type": "document",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L199",
      "id": "docs_05_user_manual_q_199",
      "community": 19,
      "norm_label": "q: \u6570\u636e\u4ece\u54ea\u91cc\u6765?"
    },
    {
      "label": "02-p2-requirements.md",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L1",
      "id": "docs_data_platform_02_p2_requirements_md",
      "community": 20,
      "norm_label": "02-p2-requirements.md"
    },
    {
      "label": "P2 \u9700\u6c42\u89c4\u683c\u6587\u6863\uff1a\u6570\u636e\u57fa\u7840\u8bbe\u65bd\u5efa\u8bbe",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L1",
      "id": "data_platform_02_p2_requirements_p2",
      "community": 20,
      "norm_label": "p2 \u9700\u6c42\u89c4\u683c\u6587\u6863:\u6570\u636e\u57fa\u7840\u8bbe\u65bd\u5efa\u8bbe"
    },
    {
      "label": "\u4e00\u3001\u80cc\u666f",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L10",
      "id": "data_platform_02_p2_requirements",
      "community": 20,
      "norm_label": "\u4e00\u3001\u80cc\u666f"
    },
    {
      "label": "1.1 P1\u5df2\u5b8c\u6210\u7684\u57fa\u7840",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L12",
      "id": "data_platform_02_p2_requirements_1_1_p1",
      "community": 20,
      "norm_label": "1.1 p1\u5df2\u5b8c\u6210\u7684\u57fa\u7840"
    },
    {
      "label": "1.2 \u5f53\u524d\u6570\u636e\u7f3a\u53e3",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L22",
      "id": "data_platform_02_p2_requirements_1_2",
      "community": 20,
      "norm_label": "1.2 \u5f53\u524d\u6570\u636e\u7f3a\u53e3"
    },
    {
      "label": "1.3 \u5173\u952e\u8bbe\u8ba1\u51b3\u7b56\uff08P1\u5df2\u786e\u8ba4\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L31",
      "id": "data_platform_02_p2_requirements_1_3_p1",
      "community": 20,
      "norm_label": "1.3 \u5173\u952e\u8bbe\u8ba1\u51b3\u7b56(p1\u5df2\u786e\u8ba4)"
    },
    {
      "label": "\u4e8c\u3001\u529f\u80fd\u9700\u6c42",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L42",
      "id": "data_platform_02_p2_requirements_42",
      "community": 20,
      "norm_label": "\u4e8c\u3001\u529f\u80fd\u9700\u6c42"
    },
    {
      "label": "P2-1\uff1a\u591a\u6e90\u964d\u7ea7\u7ba1\u7406\u5668 `fallback.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L44",
      "id": "data_platform_02_p2_requirements_p2_1_fallback_py",
      "community": 20,
      "norm_label": "p2-1:\u591a\u6e90\u964d\u7ea7\u7ba1\u7406\u5668 `fallback.py`"
    },
    {
      "label": "code:python (class FallbackManager:)",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L57",
      "id": "data_platform_02_p2_requirements_codeblock_1",
      "community": 20,
      "norm_label": "code:python (class fallbackmanager:)"
    },
    {
      "label": "P2-2\uff1a\u6570\u636e\u6821\u9a8c\u5c42 `validator.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L72",
      "id": "data_platform_02_p2_requirements_p2_2_validator_py",
      "community": 20,
      "norm_label": "p2-2:\u6570\u636e\u6821\u9a8c\u5c42 `validator.py`"
    },
    {
      "label": "code:python (class DataValidator:)",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L92",
      "id": "data_platform_02_p2_requirements_codeblock_2",
      "community": 20,
      "norm_label": "code:python (class datavalidator:)"
    },
    {
      "label": "P2-3\uff1a\u5b9e\u65f6\u884c\u60c5\u4e09\u6e90\u964d\u7ea7 `realtime.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L111",
      "id": "data_platform_02_p2_requirements_p2_3_realtime_py",
      "community": 20,
      "norm_label": "p2-3:\u5b9e\u65f6\u884c\u60c5\u4e09\u6e90\u964d\u7ea7 `realtime.py`"
    },
    {
      "label": "code:python (def get_realtime_quote(symbol: str) -> dict)",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L125",
      "id": "data_platform_02_p2_requirements_codeblock_3",
      "community": 20,
      "norm_label": "code:python (def get_realtime_quote(symbol: str) -> dict)"
    },
    {
      "label": "P2-4\uff1a\u589e\u91cf\u66f4\u65b0 `updater.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L138",
      "id": "data_platform_02_p2_requirements_p2_4_updater_py",
      "community": 20,
      "norm_label": "p2-4:\u589e\u91cf\u66f4\u65b0 `updater.py`"
    },
    {
      "label": "code:block4 (1. \u626b\u63cfNAS Parquet\u83b7\u53d6\u6bcf\u53ea\u80a1\u7968\u6700\u540e\u65e5\u671f)",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L147",
      "id": "data_platform_02_p2_requirements_codeblock_4",
      "community": 20,
      "norm_label": "code:block4 (1. \u626b\u63cfnas parquet\u83b7\u53d6\u6bcf\u53ea\u80a1\u7968\u6700\u540e\u65e5\u671f)"
    },
    {
      "label": "code:python (class DailyUpdater:)",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L159",
      "id": "data_platform_02_p2_requirements_codeblock_5",
      "community": 20,
      "norm_label": "code:python (class dailyupdater:)"
    },
    {
      "label": "P2-5\uff1acron\u5b9a\u65f6\u4efb\u52a1",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L185",
      "id": "data_platform_02_p2_requirements_p2_5_cron",
      "community": 20,
      "norm_label": "p2-5:cron\u5b9a\u65f6\u4efb\u52a1"
    },
    {
      "label": "code:block6 (30 15 * * 1-5 cd ~/.openclaw/sanguo_projects/sanguo_vnpy && )",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L194",
      "id": "data_platform_02_p2_requirements_codeblock_6",
      "community": 20,
      "norm_label": "code:block6 (30 15 * * 1-5 cd ~/.openclaw/sanguo_projects/sanguo_vnpy && )"
    },
    {
      "label": "\u4e09\u3001\u4ea4\u4ed8\u7269\u6e05\u5355",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L204",
      "id": "data_platform_02_p2_requirements_204",
      "community": 20,
      "norm_label": "\u4e09\u3001\u4ea4\u4ed8\u7269\u6e05\u5355"
    },
    {
      "label": "\u4ee3\u7801\u6587\u4ef6\uff08`~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/`\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L206",
      "id": "data_platform_02_p2_requirements_openclaw_sanguo_projects_sanguo_vnpy_data_platform",
      "community": 20,
      "norm_label": "\u4ee3\u7801\u6587\u4ef6(`~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/`)"
    },
    {
      "label": "\u914d\u7f6e\u6587\u4ef6",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L215",
      "id": "data_platform_02_p2_requirements_215",
      "community": 20,
      "norm_label": "\u914d\u7f6e\u6587\u4ef6"
    },
    {
      "label": "\u6587\u6863",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L222",
      "id": "data_platform_02_p2_requirements_222",
      "community": 20,
      "norm_label": "\u6587\u6863"
    },
    {
      "label": "\u56db\u3001\u5047\u8bbe\u4e0e\u4e0d\u786e\u5b9a\u9879",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L230",
      "id": "data_platform_02_p2_requirements_230",
      "community": 20,
      "norm_label": "\u56db\u3001\u5047\u8bbe\u4e0e\u4e0d\u786e\u5b9a\u9879"
    },
    {
      "label": "\u4e94\u3001\u7ea6\u675f",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L243",
      "id": "data_platform_02_p2_requirements_243",
      "community": 20,
      "norm_label": "\u4e94\u3001\u7ea6\u675f"
    },
    {
      "label": "\u516d\u3001\u6210\u529f\u6807\u51c6",
      "file_type": "document",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L256",
      "id": "data_platform_02_p2_requirements_256",
      "community": 20,
      "norm_label": "\u516d\u3001\u6210\u529f\u6807\u51c6"
    },
    {
      "label": "summary-p1.md",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L1",
      "id": "docs_data_platform_summary_p1_md",
      "community": 31,
      "norm_label": "summary-p1.md"
    },
    {
      "label": "\u6570\u636e\u6e90\u4f53\u7cfb\u5efa\u8bbe - \u9879\u76ee\u6c47\u603b\u62a5\u544a",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L1",
      "id": "data_platform_summary_p1",
      "community": 31,
      "norm_label": "\u6570\u636e\u6e90\u4f53\u7cfb\u5efa\u8bbe - \u9879\u76ee\u6c47\u603b\u62a5\u544a"
    },
    {
      "label": "\u4e00\u3001\u9879\u76ee\u76ee\u6807",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L10",
      "id": "data_platform_summary_p1_10",
      "community": 31,
      "norm_label": "\u4e00\u3001\u9879\u76ee\u76ee\u6807"
    },
    {
      "label": "\u4e8c\u3001\u5404\u8282\u70b9\u4ea7\u51fa\u6c47\u603b",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L18",
      "id": "data_platform_summary_p1_18",
      "community": 31,
      "norm_label": "\u4e8c\u3001\u5404\u8282\u70b9\u4ea7\u51fa\u6c47\u603b"
    },
    {
      "label": "\u4e09\u3001P1 \u5b8c\u6210\u6210\u679c",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L29",
      "id": "data_platform_summary_p1_p1",
      "community": 31,
      "norm_label": "\u4e09\u3001p1 \u5b8c\u6210\u6210\u679c"
    },
    {
      "label": "3.1 \u6570\u636e\u5bfc\u5165",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L31",
      "id": "data_platform_summary_p1_3_1",
      "community": 31,
      "norm_label": "3.1 \u6570\u636e\u5bfc\u5165"
    },
    {
      "label": "3.2 \u56de\u6d4b\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L41",
      "id": "data_platform_summary_p1_3_2",
      "community": 31,
      "norm_label": "3.2 \u56de\u6d4b\u9a8c\u8bc1"
    },
    {
      "label": "3.3 \u89e3\u51b3\u7684\u5173\u952e\u95ee\u9898",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L50",
      "id": "data_platform_summary_p1_3_3",
      "community": 31,
      "norm_label": "3.3 \u89e3\u51b3\u7684\u5173\u952e\u95ee\u9898"
    },
    {
      "label": "\u56db\u3001\u4ea7\u51fa\u7684\u6587\u4ef6\u6e05\u5355",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L59",
      "id": "data_platform_summary_p1_59",
      "community": 31,
      "norm_label": "\u56db\u3001\u4ea7\u51fa\u7684\u6587\u4ef6\u6e05\u5355"
    },
    {
      "label": "\u4ee3\u7801\u6587\u4ef6\uff08sanguo_vnpy/data_platform/\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L61",
      "id": "data_platform_summary_p1_sanguo_vnpy_data_platform",
      "community": 31,
      "norm_label": "\u4ee3\u7801\u6587\u4ef6(sanguo_vnpy/data_platform/)"
    },
    {
      "label": "\u6570\u636e\u6587\u4ef6",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L67",
      "id": "data_platform_summary_p1_67",
      "community": 31,
      "norm_label": "\u6570\u636e\u6587\u4ef6"
    },
    {
      "label": "\u4fee\u590d\u6587\u4ef6",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L75",
      "id": "data_platform_summary_p1_75",
      "community": 31,
      "norm_label": "\u4fee\u590d\u6587\u4ef6"
    },
    {
      "label": "\u6587\u6863\u6587\u4ef6",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L83",
      "id": "data_platform_summary_p1_83",
      "community": 31,
      "norm_label": "\u6587\u6863\u6587\u4ef6"
    },
    {
      "label": "\u4e94\u3001P0 \u817e\u8bafAPI\u9650\u9891\u9a8c\u8bc1\u7ed3\u679c",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L91",
      "id": "data_platform_summary_p1_p0_api",
      "community": 31,
      "norm_label": "\u4e94\u3001p0 \u817e\u8bafapi\u9650\u9891\u9a8c\u8bc1\u7ed3\u679c"
    },
    {
      "label": "\u516d\u3001\u9057\u7559\u95ee\u9898\uff08\u4e0d\u963b\u585eP1\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L105",
      "id": "data_platform_summary_p1_p1_105",
      "community": 31,
      "norm_label": "\u516d\u3001\u9057\u7559\u95ee\u9898(\u4e0d\u963b\u585ep1)"
    },
    {
      "label": "\u4e03\u3001P2-P4 \u5f85\u540e\u7eed\u4efb\u52a1\u63a8\u8fdb",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L116",
      "id": "data_platform_summary_p1_p2_p4",
      "community": 31,
      "norm_label": "\u4e03\u3001p2-p4 \u5f85\u540e\u7eed\u4efb\u52a1\u63a8\u8fdb"
    },
    {
      "label": "\u516b\u3001\u6570\u636e\u6d41\u67b6\u6784\uff08\u5f53\u524d\u72b6\u6001\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L126",
      "id": "data_platform_summary_p1_126",
      "community": 31,
      "norm_label": "\u516b\u3001\u6570\u636e\u6d41\u67b6\u6784(\u5f53\u524d\u72b6\u6001)"
    },
    {
      "label": "code:block1 (NAS Parquet (5191\u53ea\u00d717\u5e74))",
      "file_type": "document",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L128",
      "id": "data_platform_summary_p1_codeblock_1",
      "community": 31,
      "norm_label": "code:block1 (nas parquet (5191\u53ea\u00d717\u5e74))"
    },
    {
      "label": "daily-update-design.md",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L1",
      "id": "docs_data_platform_daily_update_design_md",
      "community": 41,
      "norm_label": "daily-update-design.md"
    },
    {
      "label": "\u6570\u636e\u5e73\u53f0\u6bcf\u65e5\u589e\u91cf\u66f4\u65b0 \u2014 \u8be6\u7ec6\u8bbe\u8ba1\u6587\u6863",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L1",
      "id": "data_platform_daily_update_design",
      "community": 41,
      "norm_label": "\u6570\u636e\u5e73\u53f0\u6bcf\u65e5\u589e\u91cf\u66f4\u65b0 \u2014 \u8be6\u7ec6\u8bbe\u8ba1\u6587\u6863"
    },
    {
      "label": "\u4e00\u3001\u80cc\u666f\u4e0e\u76ee\u6807",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L11",
      "id": "data_platform_daily_update_design_11",
      "community": 41,
      "norm_label": "\u4e00\u3001\u80cc\u666f\u4e0e\u76ee\u6807"
    },
    {
      "label": "1.1 \u73b0\u72b6",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L13",
      "id": "data_platform_daily_update_design_1_1",
      "community": 41,
      "norm_label": "1.1 \u73b0\u72b6"
    },
    {
      "label": "1.2 \u76ee\u6807",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L26",
      "id": "data_platform_daily_update_design_1_2",
      "community": 41,
      "norm_label": "1.2 \u76ee\u6807"
    },
    {
      "label": "\u4e8c\u3001\u6570\u636e\u6e90\u8c03\u7814",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L35",
      "id": "data_platform_daily_update_design_35",
      "community": 134,
      "norm_label": "\u4e8c\u3001\u6570\u636e\u6e90\u8c03\u7814"
    },
    {
      "label": "2.1 \u5df2\u9a8c\u8bc1\u7684\u6570\u636e\u6e90",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L37",
      "id": "data_platform_daily_update_design_2_1",
      "community": 134,
      "norm_label": "2.1 \u5df2\u9a8c\u8bc1\u7684\u6570\u636e\u6e90"
    },
    {
      "label": "2.2 \u6570\u636e\u6e90\u9650\u5236\u8be6\u60c5",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L47",
      "id": "data_platform_daily_update_design_2_2",
      "community": 134,
      "norm_label": "2.2 \u6570\u636e\u6e90\u9650\u5236\u8be6\u60c5"
    },
    {
      "label": "2.3 \u591a\u6570\u636e\u6e90\u7b56\u7565",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L70",
      "id": "data_platform_daily_update_design_2_3",
      "community": 134,
      "norm_label": "2.3 \u591a\u6570\u636e\u6e90\u7b56\u7565"
    },
    {
      "label": "code:block1 (\u6570\u636e\u6e90\u9009\u62e9\u4f18\u5148\u7ea7\uff08\u6309\u6570\u636e\u8d28\u91cf\u6392\u5e8f\uff09\uff1a)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L72",
      "id": "data_platform_daily_update_design_codeblock_1",
      "community": 134,
      "norm_label": "code:block1 (\u6570\u636e\u6e90\u9009\u62e9\u4f18\u5148\u7ea7(\u6309\u6570\u636e\u8d28\u91cf\u6392\u5e8f):)"
    },
    {
      "label": "\u4e09\u3001\u7cfb\u7edf\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L90",
      "id": "data_platform_daily_update_design_90",
      "community": 74,
      "norm_label": "\u4e09\u3001\u7cfb\u7edf\u8bbe\u8ba1"
    },
    {
      "label": "3.1 \u6574\u4f53\u67b6\u6784",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L92",
      "id": "data_platform_daily_update_design_3_1",
      "community": 74,
      "norm_label": "3.1 \u6574\u4f53\u67b6\u6784"
    },
    {
      "label": "code:block2 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L94",
      "id": "data_platform_daily_update_design_codeblock_2",
      "community": 74,
      "norm_label": "code:block2 (\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510)"
    },
    {
      "label": "3.2 \u6587\u4ef6\u7ed3\u6784",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L126",
      "id": "data_platform_daily_update_design_3_2",
      "community": 74,
      "norm_label": "3.2 \u6587\u4ef6\u7ed3\u6784"
    },
    {
      "label": "code:block3 (~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L128",
      "id": "data_platform_daily_update_design_codeblock_3",
      "community": 74,
      "norm_label": "code:block3 (~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/)"
    },
    {
      "label": "3.3 \u6838\u5fc3\u6d41\u7a0b",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L142",
      "id": "data_platform_daily_update_design_3_3",
      "community": 88,
      "norm_label": "3.3 \u6838\u5fc3\u6d41\u7a0b"
    },
    {
      "label": "3.3.1 \u65e5\u7ebf\u589e\u91cf\u66f4\u65b0",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L144",
      "id": "data_platform_daily_update_design_3_3_1",
      "community": 88,
      "norm_label": "3.3.1 \u65e5\u7ebf\u589e\u91cf\u66f4\u65b0"
    },
    {
      "label": "code:block4 (1. \u626b\u63cf\u5168\u5e02\u573a\u80a1\u7968\u5217\u8868\uff08\u4ece stock_basic_info CSV\uff09)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L146",
      "id": "data_platform_daily_update_design_codeblock_4",
      "community": 88,
      "norm_label": "code:block4 (1. \u626b\u63cf\u5168\u5e02\u573a\u80a1\u7968\u5217\u8868(\u4ece stock_basic_info csv))"
    },
    {
      "label": "3.3.2 15\u5206\u949f\u7ebf\u589e\u91cf\u66f4\u65b0",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L159",
      "id": "data_platform_daily_update_design_3_3_2_15",
      "community": 88,
      "norm_label": "3.3.2 15\u5206\u949f\u7ebf\u589e\u91cf\u66f4\u65b0"
    },
    {
      "label": "code:block5 (1. \u626b\u63cf\u5168\u5e02\u573a\u80a1\u7968\u5217\u8868)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L161",
      "id": "data_platform_daily_update_design_codeblock_5",
      "community": 88,
      "norm_label": "code:block5 (1. \u626b\u63cf\u5168\u5e02\u573a\u80a1\u7968\u5217\u8868)"
    },
    {
      "label": "3.3.3 vnpy DB\u5199\u5165\u7b56\u7565\uff08\u89e3\u51b3SMB\u6027\u80fd\u95ee\u9898\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L172",
      "id": "data_platform_daily_update_design_3_3_3_vnpy_db_smb",
      "community": 88,
      "norm_label": "3.3.3 vnpy db\u5199\u5165\u7b56\u7565(\u89e3\u51b3smb\u6027\u80fd\u95ee\u9898)"
    },
    {
      "label": "code:block6 (1. \u5728 /tmp/ \u521b\u5efa\u672c\u5730SQLite DB\uff0c\u5199\u5165\u589e\u91cf\u6570\u636e)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L181",
      "id": "data_platform_daily_update_design_codeblock_6",
      "community": 88,
      "norm_label": "code:block6 (1. \u5728 /tmp/ \u521b\u5efa\u672c\u5730sqlite db,\u5199\u5165\u589e\u91cf\u6570\u636e)"
    },
    {
      "label": "3.4 \u6570\u636e\u6821\u9a8c\u89c4\u5219",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L201",
      "id": "data_platform_daily_update_design_3_4",
      "community": 74,
      "norm_label": "3.4 \u6570\u636e\u6821\u9a8c\u89c4\u5219"
    },
    {
      "label": "3.5 \u65ad\u70b9\u7eed\u4f20",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L212",
      "id": "data_platform_daily_update_design_3_5",
      "community": 74,
      "norm_label": "3.5 \u65ad\u70b9\u7eed\u4f20"
    },
    {
      "label": "3.6 \u9650\u9891\u4e0e\u5bb9\u9519",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L221",
      "id": "data_platform_daily_update_design_3_6",
      "community": 74,
      "norm_label": "3.6 \u9650\u9891\u4e0e\u5bb9\u9519"
    },
    {
      "label": "\u56db\u3001vnpy DB Schema \u53c2\u8003",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L233",
      "id": "data_platform_daily_update_design_vnpy_db_schema",
      "community": 41,
      "norm_label": "\u56db\u3001vnpy db schema \u53c2\u8003"
    },
    {
      "label": "code:sql (-- \u4e3b\u6570\u636e\u8868)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L235",
      "id": "data_platform_daily_update_design_codeblock_7",
      "community": 41,
      "norm_label": "code:sql (-- \u4e3b\u6570\u636e\u8868)"
    },
    {
      "label": "\u4e94\u3001\u591a\u6570\u636e\u6e90\u4fdd\u7559\u7b56\u7565",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L276",
      "id": "data_platform_daily_update_design_276",
      "community": 160,
      "norm_label": "\u4e94\u3001\u591a\u6570\u636e\u6e90\u4fdd\u7559\u7b56\u7565"
    },
    {
      "label": "5.1 \u5f53\u524d\u5b9e\u73b0",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L278",
      "id": "data_platform_daily_update_design_5_1",
      "community": 160,
      "norm_label": "5.1 \u5f53\u524d\u5b9e\u73b0"
    },
    {
      "label": "5.2 \u8bbe\u8ba1\u539f\u5219",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L288",
      "id": "data_platform_daily_update_design_5_2",
      "community": 160,
      "norm_label": "5.2 \u8bbe\u8ba1\u539f\u5219"
    },
    {
      "label": "5.3 \u672a\u6765\u6269\u5c55\u70b9",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L298",
      "id": "data_platform_daily_update_design_5_3",
      "community": 160,
      "norm_label": "5.3 \u672a\u6765\u6269\u5c55\u70b9"
    },
    {
      "label": "\u516d\u3001SMB/NAS \u6027\u80fd\u95ee\u9898\u4e0e\u65b9\u6848",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L307",
      "id": "data_platform_daily_update_design_smb_nas",
      "community": 137,
      "norm_label": "\u516d\u3001smb/nas \u6027\u80fd\u95ee\u9898\u4e0e\u65b9\u6848"
    },
    {
      "label": "6.1 \u5df2\u77e5\u95ee\u9898",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L309",
      "id": "data_platform_daily_update_design_6_1",
      "community": 137,
      "norm_label": "6.1 \u5df2\u77e5\u95ee\u9898"
    },
    {
      "label": "6.2 \u5f53\u524d\u65b9\u6848",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L318",
      "id": "data_platform_daily_update_design_6_2",
      "community": 137,
      "norm_label": "6.2 \u5f53\u524d\u65b9\u6848"
    },
    {
      "label": "code:block8 (\u5199\u5165\u6d41\u7a0b\uff08NAS DB\uff09:)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L320",
      "id": "data_platform_daily_update_design_codeblock_8",
      "community": 137,
      "norm_label": "code:block8 (\u5199\u5165\u6d41\u7a0b(nas db):)"
    },
    {
      "label": "6.3 \u5f85\u8ba8\u8bba\uff1a\u662f\u5426\u76f4\u63a5\u5728NAS\u672c\u5730\u6267\u884c",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L328",
      "id": "data_platform_daily_update_design_6_3_nas",
      "community": 137,
      "norm_label": "6.3 \u5f85\u8ba8\u8bba:\u662f\u5426\u76f4\u63a5\u5728nas\u672c\u5730\u6267\u884c"
    },
    {
      "label": "\u4e03\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L351",
      "id": "data_platform_daily_update_design_351",
      "community": 136,
      "norm_label": "\u4e03\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e"
    },
    {
      "label": "7.1 \u5f53\u524d\u65b9\u6848\uff08OpenClaw Cron\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L353",
      "id": "data_platform_daily_update_design_7_1_openclaw_cron",
      "community": 136,
      "norm_label": "7.1 \u5f53\u524d\u65b9\u6848(openclaw cron)"
    },
    {
      "label": "7.2 Cron\u8868\u8fbe\u5f0f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L363",
      "id": "data_platform_daily_update_design_7_2_cron",
      "community": 136,
      "norm_label": "7.2 cron\u8868\u8fbe\u5f0f"
    },
    {
      "label": "code:block9 (35 15 * * 1-5    # \u5468\u4e00\u5230\u5468\u4e94 15:35)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L365",
      "id": "data_platform_daily_update_design_codeblock_9",
      "community": 136,
      "norm_label": "code:block9 (35 15 * * 1-5    # \u5468\u4e00\u5230\u5468\u4e94 15:35)"
    },
    {
      "label": "7.3 \u6ce8\u610f\u4e8b\u9879",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L369",
      "id": "data_platform_daily_update_design_7_3",
      "community": 136,
      "norm_label": "7.3 \u6ce8\u610f\u4e8b\u9879"
    },
    {
      "label": "\u516b\u3001\u90e8\u7f72\u65b9\u6848\uff08\u5f85\u5b9e\u73b0\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L376",
      "id": "data_platform_daily_update_design_376",
      "community": 135,
      "norm_label": "\u516b\u3001\u90e8\u7f72\u65b9\u6848(\u5f85\u5b9e\u73b0)"
    },
    {
      "label": "8.1 \u5f53\u524d\u90e8\u7f72\u72b6\u6001",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L378",
      "id": "data_platform_daily_update_design_8_1",
      "community": 135,
      "norm_label": "8.1 \u5f53\u524d\u90e8\u7f72\u72b6\u6001"
    },
    {
      "label": "8.2 \u76ee\u6807\u90e8\u7f72\uff08\u6574\u5408\u5230sanguo_vnpy\u9879\u76ee\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L385",
      "id": "data_platform_daily_update_design_8_2_sanguo_vnpy",
      "community": 135,
      "norm_label": "8.2 \u76ee\u6807\u90e8\u7f72(\u6574\u5408\u5230sanguo_vnpy\u9879\u76ee)"
    },
    {
      "label": "code:block10 (sanguo_vnpy/)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L389",
      "id": "data_platform_daily_update_design_codeblock_10",
      "community": 135,
      "norm_label": "code:block10 (sanguo_vnpy/)"
    },
    {
      "label": "8.3 \u90e8\u7f72\u6b65\u9aa4\uff08\u8349\u6848\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L411",
      "id": "data_platform_daily_update_design_8_3",
      "community": 135,
      "norm_label": "8.3 \u90e8\u7f72\u6b65\u9aa4(\u8349\u6848)"
    },
    {
      "label": "\u4e5d\u3001\u6d4b\u8bd5",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L421",
      "id": "data_platform_daily_update_design_421",
      "community": 41,
      "norm_label": "\u4e5d\u3001\u6d4b\u8bd5"
    },
    {
      "label": "9.1 \u5df2\u5b8c\u6210\u7684\u6d4b\u8bd5",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L423",
      "id": "data_platform_daily_update_design_9_1",
      "community": 41,
      "norm_label": "9.1 \u5df2\u5b8c\u6210\u7684\u6d4b\u8bd5"
    },
    {
      "label": "9.2 \u5f85\u6d4b\u8bd5\u9879",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L433",
      "id": "data_platform_daily_update_design_9_2",
      "community": 41,
      "norm_label": "9.2 \u5f85\u6d4b\u8bd5\u9879"
    },
    {
      "label": "\u5341\u3001Q&A \u2014 \u8ba8\u8bba\u8fc7\u7684\u95ee\u9898\u6c47\u603b",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L446",
      "id": "data_platform_daily_update_design_q_a",
      "community": 55,
      "norm_label": "\u5341\u3001q&a \u2014 \u8ba8\u8bba\u8fc7\u7684\u95ee\u9898\u6c47\u603b"
    },
    {
      "label": "Q1: Parquet\u53cc\u5199\u662f\u4ec0\u4e48\u610f\u601d\uff1f\u8fd8\u9700\u8981\u5417\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L448",
      "id": "data_platform_daily_update_design_q1_parquet",
      "community": 55,
      "norm_label": "q1: parquet\u53cc\u5199\u662f\u4ec0\u4e48\u610f\u601d?\u8fd8\u9700\u8981\u5417?"
    },
    {
      "label": "Q2: \u65b0\u6d6aAPI\u53ea\u80fd\u62ff800\u6761\uff0c\u600e\u4e48\u83b7\u53d6\u66f4\u957f\u7684\u5386\u53f2\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L453",
      "id": "data_platform_daily_update_design_q2_api_800",
      "community": 55,
      "norm_label": "q2: \u65b0\u6d6aapi\u53ea\u80fd\u62ff800\u6761,\u600e\u4e48\u83b7\u53d6\u66f4\u957f\u7684\u5386\u53f2?"
    },
    {
      "label": "Q3: vnpy DB\u7684interval\u4e3a\u4ec0\u4e48\u662f\"1m\"\u800c\u4e0d\u662f\"15m\"\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L461",
      "id": "data_platform_daily_update_design_q3_vnpy_db_interval_1m_15m",
      "community": 55,
      "norm_label": "q3: vnpy db\u7684interval\u4e3a\u4ec0\u4e48\u662f\"1m\"\u800c\u4e0d\u662f\"15m\"?"
    },
    {
      "label": "Q4: \u5317\u4ea4\u6240107\u53ea\u80a1\u7968\u600e\u4e48\u529e\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L466",
      "id": "data_platform_daily_update_design_q4_107",
      "community": 55,
      "norm_label": "q4: \u5317\u4ea4\u6240107\u53ea\u80a1\u7968\u600e\u4e48\u529e?"
    },
    {
      "label": "Q5: \u4e3a\u4ec0\u4e48\u4e0d\u76f4\u63a5\u5728NAS\u4e0a\u8dd1\u811a\u672c\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L471",
      "id": "data_platform_daily_update_design_q5_nas",
      "community": 55,
      "norm_label": "q5: \u4e3a\u4ec0\u4e48\u4e0d\u76f4\u63a5\u5728nas\u4e0a\u8dd1\u811a\u672c?"
    },
    {
      "label": "Q6: amount\uff08\u6210\u4ea4\u989d\uff09\u6570\u636e\u51c6\u786e\u6027\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L476",
      "id": "data_platform_daily_update_design_q6_amount",
      "community": 55,
      "norm_label": "q6: amount(\u6210\u4ea4\u989d)\u6570\u636e\u51c6\u786e\u6027?"
    },
    {
      "label": "Q7: \u6bcf\u65e5\u589e\u91cf\u66f4\u65b0\u591a\u957f\u65f6\u95f4\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L484",
      "id": "data_platform_daily_update_design_q7",
      "community": 55,
      "norm_label": "q7: \u6bcf\u65e5\u589e\u91cf\u66f4\u65b0\u591a\u957f\u65f6\u95f4?"
    },
    {
      "label": "Q8: \u5982\u4f55\u5904\u7406\u8282\u5047\u65e5/\u975e\u4ea4\u6613\u65e5\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L492",
      "id": "data_platform_daily_update_design_q8",
      "community": 55,
      "norm_label": "q8: \u5982\u4f55\u5904\u7406\u8282\u5047\u65e5/\u975e\u4ea4\u6613\u65e5?"
    },
    {
      "label": "Q9: \u6570\u636e\u66f4\u65b0\u548c\u56de\u6d4b\u670d\u52a1\u4f1a\u51b2\u7a81\u5417\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L497",
      "id": "data_platform_daily_update_design_q9",
      "community": 55,
      "norm_label": "q9: \u6570\u636e\u66f4\u65b0\u548c\u56de\u6d4b\u670d\u52a1\u4f1a\u51b2\u7a81\u5417?"
    },
    {
      "label": "Q10: \u4ee3\u7801\u90e8\u7f72\u4e3a\u4ec0\u4e48\u8981\u548csanguo_vnpy\u6574\u5408\uff1f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L503",
      "id": "data_platform_daily_update_design_q10_sanguo_vnpy",
      "community": 55,
      "norm_label": "q10: \u4ee3\u7801\u90e8\u7f72\u4e3a\u4ec0\u4e48\u8981\u548csanguo_vnpy\u6574\u5408?"
    },
    {
      "label": "\u5341\u4e00\u3001\u6587\u4ef6\u6e05\u5355",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L512",
      "id": "data_platform_daily_update_design_512",
      "community": 41,
      "norm_label": "\u5341\u4e00\u3001\u6587\u4ef6\u6e05\u5355"
    },
    {
      "label": "\u5341\u4e8c\u3001\u53d8\u66f4\u8bb0\u5f55",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L526",
      "id": "data_platform_daily_update_design_526",
      "community": 41,
      "norm_label": "\u5341\u4e8c\u3001\u53d8\u66f4\u8bb0\u5f55"
    },
    {
      "label": "\u5341\u4e09\u3001\u8bc4\u5ba1\u7ed3\u679c\uff082026-05-03 \u53f8\u9a6c\u61ff\u8bc4\u5ba1\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L537",
      "id": "data_platform_daily_update_design_2026_05_03",
      "community": 41,
      "norm_label": "\u5341\u4e09\u3001\u8bc4\u5ba1\u7ed3\u679c(2026-05-03 \u53f8\u9a6c\u61ff\u8bc4\u5ba1)"
    },
    {
      "label": "v1.1 \u8bc4\u5ba1\u7ed3\u8bba\uff1a\u6709\u6761\u4ef6\u901a\u8fc7\uff08\u5df2\u5b8c\u6210\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L539",
      "id": "data_platform_daily_update_design_v1_1",
      "community": 41,
      "norm_label": "v1.1 \u8bc4\u5ba1\u7ed3\u8bba:\u6709\u6761\u4ef6\u901a\u8fc7(\u5df2\u5b8c\u6210)"
    },
    {
      "label": "\u5341\u56db\u3001v2.0 \u91cd\u5927\u67b6\u6784\u53d8\u66f4\uff082026-05-06\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L553",
      "id": "data_platform_daily_update_design_v2_0_2026_05_06",
      "community": 15,
      "norm_label": "\u5341\u56db\u3001v2.0 \u91cd\u5927\u67b6\u6784\u53d8\u66f4(2026-05-06)"
    },
    {
      "label": "14.1 \u53d8\u66f4\u80cc\u666f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L555",
      "id": "data_platform_daily_update_design_14_1",
      "community": 15,
      "norm_label": "14.1 \u53d8\u66f4\u80cc\u666f"
    },
    {
      "label": "14.2 \u6570\u636e\u6e90\u91cd\u65b0\u8c03\u7814",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L567",
      "id": "data_platform_daily_update_design_14_2",
      "community": 15,
      "norm_label": "14.2 \u6570\u636e\u6e90\u91cd\u65b0\u8c03\u7814"
    },
    {
      "label": "\u6570\u636e\u6e90\u5b9e\u6d4b\u5bf9\u6bd4",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L569",
      "id": "data_platform_daily_update_design_569",
      "community": 15,
      "norm_label": "\u6570\u636e\u6e90\u5b9e\u6d4b\u5bf9\u6bd4"
    },
    {
      "label": "v1.2 BaoStock\u538b\u529b\u6d4b\u8bd5",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L580",
      "id": "data_platform_daily_update_design_v1_2_baostock",
      "community": 15,
      "norm_label": "v1.2 baostock\u538b\u529b\u6d4b\u8bd5"
    },
    {
      "label": "code:block11 (15min: 100\u53ea\u8fde\u7eed\u8bf7\u6c42, \u603b\u8017\u65f611.9s, \u5e73\u57470.12s/\u53ea, 0\u9519\u8bef)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L582",
      "id": "data_platform_daily_update_design_codeblock_11",
      "community": 15,
      "norm_label": "code:block11 (15min: 100\u53ea\u8fde\u7eed\u8bf7\u6c42, \u603b\u8017\u65f611.9s, \u5e73\u57470.12s/\u53ea, 0\u9519\u8bef)"
    },
    {
      "label": "v1.2 SQLite\u672c\u5730\u5199\u5165\u6027\u80fd",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L588",
      "id": "data_platform_daily_update_design_v1_2_sqlite",
      "community": 15,
      "norm_label": "v1.2 sqlite\u672c\u5730\u5199\u5165\u6027\u80fd"
    },
    {
      "label": "code:block12 (100\u4e07\u6761INSERT OR REPLACE: 2.0s)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L590",
      "id": "data_platform_daily_update_design_codeblock_12",
      "community": 15,
      "norm_label": "code:block12 (100\u4e07\u6761insert or replace: 2.0s)"
    },
    {
      "label": "14.3 v2.0 \u6838\u5fc3\u67b6\u6784\u53d8\u66f4",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L595",
      "id": "data_platform_daily_update_design_14_3_v2_0",
      "community": 15,
      "norm_label": "14.3 v2.0 \u6838\u5fc3\u67b6\u6784\u53d8\u66f4"
    },
    {
      "label": "\u53d8\u66f41\uff1a\u6570\u636e\u6e90\u964d\u7ea7\u94fe\u91cd\u6784",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L597",
      "id": "data_platform_daily_update_design_1",
      "community": 15,
      "norm_label": "\u53d8\u66f41:\u6570\u636e\u6e90\u964d\u7ea7\u94fe\u91cd\u6784"
    },
    {
      "label": "code:block13 (v1.x\uff08\u65e7\uff09:)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L601",
      "id": "data_platform_daily_update_design_codeblock_13",
      "community": 15,
      "norm_label": "code:block13 (v1.x(\u65e7):)"
    },
    {
      "label": "code:python (SOURCES_DAILY = [)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L612",
      "id": "data_platform_daily_update_design_codeblock_14",
      "community": 15,
      "norm_label": "code:python (sources_daily = [)"
    },
    {
      "label": "\u53d8\u66f42\uff1avnpy DB\u5199\u5165\u7b56\u7565\u6539\u4e3a\u672c\u5730\u6784\u5efa+rsync",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L635",
      "id": "data_platform_daily_update_design_2_vnpy_db_rsync",
      "community": 15,
      "norm_label": "\u53d8\u66f42:vnpy db\u5199\u5165\u7b56\u7565\u6539\u4e3a\u672c\u5730\u6784\u5efa+rsync"
    },
    {
      "label": "code:python (def sync_db_to_nas():)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L645",
      "id": "data_platform_daily_update_design_codeblock_15",
      "community": 15,
      "norm_label": "code:python (def sync_db_to_nas():)"
    },
    {
      "label": "\u53d8\u66f43\uff1a15min interval\u7edf\u4e00\u7528`1m`",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L661",
      "id": "data_platform_daily_update_design_3_15min_interval_1m",
      "community": 15,
      "norm_label": "\u53d8\u66f43:15min interval\u7edf\u4e00\u7528`1m`"
    },
    {
      "label": "\u53d8\u66f44\uff1a\u65e5\u7ebf\u8de8\u5e74\u5199\u5165\u4fee\u590d",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L672",
      "id": "data_platform_daily_update_design_4",
      "community": 15,
      "norm_label": "\u53d8\u66f44:\u65e5\u7ebf\u8de8\u5e74\u5199\u5165\u4fee\u590d"
    },
    {
      "label": "code:python (def update_daily_parquet(code, new_data):)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L677",
      "id": "data_platform_daily_update_design_codeblock_16",
      "community": 15,
      "norm_label": "code:python (def update_daily_parquet(code, new_data):)"
    },
    {
      "label": "\u53d8\u66f45\uff1aoverview\u589e\u91cf\u66f4\u65b0",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L685",
      "id": "data_platform_daily_update_design_5_overview",
      "community": 15,
      "norm_label": "\u53d8\u66f45:overview\u589e\u91cf\u66f4\u65b0"
    },
    {
      "label": "code:python (for sym, exc, ivl in affected_keys:)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L690",
      "id": "data_platform_daily_update_design_codeblock_17",
      "community": 15,
      "norm_label": "code:python (for sym, exc, ivl in affected_keys:)"
    },
    {
      "label": "\u53d8\u66f46\uff1a\u8fdb\u5ea6\u6587\u4ef6\u52a0\u65e5\u671f",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L698",
      "id": "data_platform_daily_update_design_6",
      "community": 15,
      "norm_label": "\u53d8\u66f46:\u8fdb\u5ea6\u6587\u4ef6\u52a0\u65e5\u671f"
    },
    {
      "label": "\u53d8\u66f47\uff1aCron fallback\u6a21\u578b",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L703",
      "id": "data_platform_daily_update_design_7_cron_fallback",
      "community": 15,
      "norm_label": "\u53d8\u66f47:cron fallback\u6a21\u578b"
    },
    {
      "label": "14.4 \u6267\u884c\u8ba1\u5212",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L708",
      "id": "data_platform_daily_update_design_14_4",
      "community": 15,
      "norm_label": "14.4 \u6267\u884c\u8ba1\u5212"
    },
    {
      "label": "\u7b2c1\u6b65\uff1a\u704c\u5165\u73b0\u6709\u6570\u636e\u5230\u672c\u5730vnpy DB",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L710",
      "id": "data_platform_daily_update_design_1_vnpy_db",
      "community": 15,
      "norm_label": "\u7b2c1\u6b65:\u704c\u5165\u73b0\u6709\u6570\u636e\u5230\u672c\u5730vnpy db"
    },
    {
      "label": "code:block18 (1. cp NAS quant_trading.db \u2192 /tmp/quant_trading_import.db)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L712",
      "id": "data_platform_daily_update_design_codeblock_18",
      "community": 15,
      "norm_label": "code:block18 (1. cp nas quant_trading.db \u2192 /tmp/quant_trading_import.db)"
    },
    {
      "label": "\u7b2c2\u6b65\uff1a\u91cd\u6784daily_all_update.py",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L720",
      "id": "data_platform_daily_update_design_2_daily_all_update_py",
      "community": 15,
      "norm_label": "\u7b2c2\u6b65:\u91cd\u6784daily_all_update.py"
    },
    {
      "label": "\u7b2c3\u6b65\uff1aCron\u66f4\u65b0+\u6d4b\u8bd5",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L724",
      "id": "data_platform_daily_update_design_3_cron",
      "community": 15,
      "norm_label": "\u7b2c3\u6b65:cron\u66f4\u65b0+\u6d4b\u8bd5"
    },
    {
      "label": "14.5 \u4e0ev1.x\u7684\u517c\u5bb9\u6027",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L730",
      "id": "data_platform_daily_update_design_14_5_v1_x",
      "community": 15,
      "norm_label": "14.5 \u4e0ev1.x\u7684\u517c\u5bb9\u6027"
    },
    {
      "label": "\u5341\u4e94\u3001v2.0 \u8bc4\u5ba1\u5f85\u786e\u8ba4\u9879",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L744",
      "id": "data_platform_daily_update_design_v2_0",
      "community": 173,
      "norm_label": "\u5341\u4e94\u3001v2.0 \u8bc4\u5ba1\u5f85\u786e\u8ba4\u9879"
    },
    {
      "label": "15.6 v2.0 \u8bc4\u5ba1\u7ed3\u8bba\uff082026-05-06 \u53f8\u9a6c\u61ff\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L756",
      "id": "data_platform_daily_update_design_15_6_v2_0_2026_05_06",
      "community": 173,
      "norm_label": "15.6 v2.0 \u8bc4\u5ba1\u7ed3\u8bba(2026-05-06 \u53f8\u9a6c\u61ff)"
    },
    {
      "label": "code:block19 (\u65e5\u5e38\u589e\u91cf\uff08\u5f53\u592915:35\u89e6\u53d1\uff09\uff1a)",
      "file_type": "document",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L769",
      "id": "data_platform_daily_update_design_codeblock_19",
      "community": 173,
      "norm_label": "code:block19 (\u65e5\u5e38\u589e\u91cf(\u5f53\u592915:35\u89e6\u53d1):)"
    },
    {
      "label": "03-p3-requirements.md",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L1",
      "id": "docs_data_platform_03_p3_requirements_md",
      "community": 30,
      "norm_label": "03-p3-requirements.md"
    },
    {
      "label": "P3 \u9700\u6c42\u89c4\u683c\u6587\u6863\uff1a\u5206\u949f\u7ebf\u6570\u636e\u4e0b\u8f7d\u4e0e\u5bfc\u5165",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L1",
      "id": "data_platform_03_p3_requirements_p3",
      "community": 30,
      "norm_label": "p3 \u9700\u6c42\u89c4\u683c\u6587\u6863:\u5206\u949f\u7ebf\u6570\u636e\u4e0b\u8f7d\u4e0e\u5bfc\u5165"
    },
    {
      "label": "\u4e00\u3001\u80cc\u666f",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L10",
      "id": "data_platform_03_p3_requirements",
      "community": 30,
      "norm_label": "\u4e00\u3001\u80cc\u666f"
    },
    {
      "label": "1.1 \u5df2\u5b8c\u6210\u7684\u524d\u7f6e\u5de5\u4f5c",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L12",
      "id": "data_platform_03_p3_requirements_1_1",
      "community": 30,
      "norm_label": "1.1 \u5df2\u5b8c\u6210\u7684\u524d\u7f6e\u5de5\u4f5c"
    },
    {
      "label": "1.2 \u5df2\u6709\u5206\u949f\u7ebf\u6570\u636e\u683c\u5f0f",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L21",
      "id": "data_platform_03_p3_requirements_1_2",
      "community": 30,
      "norm_label": "1.2 \u5df2\u6709\u5206\u949f\u7ebf\u6570\u636e\u683c\u5f0f"
    },
    {
      "label": "1.3 vnpy DB\u5206\u949f\u7ebfinterval\u503c",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L28",
      "id": "data_platform_03_p3_requirements_1_3_vnpy_db_interval",
      "community": 30,
      "norm_label": "1.3 vnpy db\u5206\u949f\u7ebfinterval\u503c"
    },
    {
      "label": "1.4 \u817e\u8bafmkline API",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L32",
      "id": "data_platform_03_p3_requirements_1_4_mkline_api",
      "community": 30,
      "norm_label": "1.4 \u817e\u8bafmkline api"
    },
    {
      "label": "\u4e8c\u3001\u529f\u80fd\u9700\u6c42",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L40",
      "id": "data_platform_03_p3_requirements_40",
      "community": 30,
      "norm_label": "\u4e8c\u3001\u529f\u80fd\u9700\u6c42"
    },
    {
      "label": "P3-1\uff1a\u4e0b\u8f7d\u811a\u672c `download_minute.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L42",
      "id": "data_platform_03_p3_requirements_p3_1_download_minute_py",
      "community": 30,
      "norm_label": "p3-1:\u4e0b\u8f7d\u811a\u672c `download_minute.py`"
    },
    {
      "label": "P3-2\uff1aHS300 15\u5206\u949f\u7ebf\u5168\u91cf\u4e0b\u8f7d",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L63",
      "id": "data_platform_03_p3_requirements_p3_2_hs300_15",
      "community": 30,
      "norm_label": "p3-2:hs300 15\u5206\u949f\u7ebf\u5168\u91cf\u4e0b\u8f7d"
    },
    {
      "label": "P3-3\uff1a\u5168\u5e02\u573a15\u5206\u949f\u7ebf\u4e0b\u8f7d",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L72",
      "id": "data_platform_03_p3_requirements_p3_3_15",
      "community": 30,
      "norm_label": "p3-3:\u5168\u5e02\u573a15\u5206\u949f\u7ebf\u4e0b\u8f7d"
    },
    {
      "label": "P3-4\uff1a\u5206\u949f\u7ebf\u5bfc\u5165vnpy DB `import_vnpy_minute.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L82",
      "id": "data_platform_03_p3_requirements_p3_4_vnpy_db_import_vnpy_minute_py",
      "community": 30,
      "norm_label": "p3-4:\u5206\u949f\u7ebf\u5bfc\u5165vnpy db `import_vnpy_minute.py`"
    },
    {
      "label": "\u4e09\u3001\u4ea4\u4ed8\u7269\u6e05\u5355",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L110",
      "id": "data_platform_03_p3_requirements_110",
      "community": 30,
      "norm_label": "\u4e09\u3001\u4ea4\u4ed8\u7269\u6e05\u5355"
    },
    {
      "label": "\u4ee3\u7801\u6587\u4ef6\uff08`~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/`\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L112",
      "id": "data_platform_03_p3_requirements_openclaw_sanguo_projects_sanguo_vnpy_data_platform",
      "community": 30,
      "norm_label": "\u4ee3\u7801\u6587\u4ef6(`~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/`)"
    },
    {
      "label": "\u6570\u636e\u6587\u4ef6",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L119",
      "id": "data_platform_03_p3_requirements_119",
      "community": 30,
      "norm_label": "\u6570\u636e\u6587\u4ef6"
    },
    {
      "label": "\u62a5\u544a",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L127",
      "id": "data_platform_03_p3_requirements_127",
      "community": 30,
      "norm_label": "\u62a5\u544a"
    },
    {
      "label": "\u56db\u3001\u5047\u8bbe\u4e0e\u4e0d\u786e\u5b9a\u9879",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L136",
      "id": "data_platform_03_p3_requirements_136",
      "community": 30,
      "norm_label": "\u56db\u3001\u5047\u8bbe\u4e0e\u4e0d\u786e\u5b9a\u9879"
    },
    {
      "label": "\u4e94\u3001\u7ea6\u675f",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L149",
      "id": "data_platform_03_p3_requirements_149",
      "community": 30,
      "norm_label": "\u4e94\u3001\u7ea6\u675f"
    },
    {
      "label": "\u516d\u3001\u6210\u529f\u6807\u51c6",
      "file_type": "document",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L161",
      "id": "data_platform_03_p3_requirements_161",
      "community": 30,
      "norm_label": "\u516d\u3001\u6210\u529f\u6807\u51c6"
    },
    {
      "label": "01-requirements.md",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L1",
      "id": "docs_data_platform_01_requirements_md",
      "community": 5,
      "norm_label": "01-requirements.md"
    },
    {
      "label": "\u9700\u6c42\u89c4\u683c\u6587\u6863\uff1a\u672c\u5730\u6570\u636e\u6e90\u4f53\u7cfb\u5efa\u8bbe",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L1",
      "id": "data_platform_01_requirements",
      "community": 5,
      "norm_label": "\u9700\u6c42\u89c4\u683c\u6587\u6863:\u672c\u5730\u6570\u636e\u6e90\u4f53\u7cfb\u5efa\u8bbe"
    },
    {
      "label": "\u4e00\u3001\u9879\u76ee\u80cc\u666f\u4e0e\u6838\u5fc3\u95ee\u9898",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L10",
      "id": "data_platform_01_requirements_10",
      "community": 5,
      "norm_label": "\u4e00\u3001\u9879\u76ee\u80cc\u666f\u4e0e\u6838\u5fc3\u95ee\u9898"
    },
    {
      "label": "1.1 \u73b0\u72b6",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L12",
      "id": "data_platform_01_requirements_1_1",
      "community": 5,
      "norm_label": "1.1 \u73b0\u72b6"
    },
    {
      "label": "1.2 \u6838\u5fc3\u95ee\u9898",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L22",
      "id": "data_platform_01_requirements_1_2",
      "community": 5,
      "norm_label": "1.2 \u6838\u5fc3\u95ee\u9898"
    },
    {
      "label": "code:python (engine.load_data()  # \u4ecevnpy SQLite\u6570\u636e\u5e93\u52a0\u8f7d)",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L27",
      "id": "data_platform_01_requirements_codeblock_1",
      "community": 5,
      "norm_label": "code:python (engine.load_data()  # \u4ecevnpy sqlite\u6570\u636e\u5e93\u52a0\u8f7d)"
    },
    {
      "label": "1.3 \u76ee\u6807",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L32",
      "id": "data_platform_01_requirements_1_3",
      "community": 5,
      "norm_label": "1.3 \u76ee\u6807"
    },
    {
      "label": "\u4e8c\u3001\u529f\u80fd\u9700\u6c42",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L38",
      "id": "data_platform_01_requirements_38",
      "community": 5,
      "norm_label": "\u4e8c\u3001\u529f\u80fd\u9700\u6c42"
    },
    {
      "label": "P1\uff1a\u6253\u901avnpy\u6570\u636e\u901a\u8def",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L40",
      "id": "data_platform_01_requirements_p1_vnpy",
      "community": 5,
      "norm_label": "p1:\u6253\u901avnpy\u6570\u636e\u901a\u8def"
    },
    {
      "label": "P1-1\uff1a\u786e\u8ba4Docker volume\u6620\u5c04\u8def\u5f84",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L42",
      "id": "data_platform_01_requirements_p1_1_docker_volume",
      "community": 5,
      "norm_label": "p1-1:\u786e\u8ba4docker volume\u6620\u5c04\u8def\u5f84"
    },
    {
      "label": "P1-2\uff1a\u7f16\u5199vnpy DB\u5bfc\u5165\u811a\u672c",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L57",
      "id": "data_platform_01_requirements_p1_2_vnpy_db",
      "community": 5,
      "norm_label": "p1-2:\u7f16\u5199vnpy db\u5bfc\u5165\u811a\u672c"
    },
    {
      "label": "code:block2 (date, open, high, low, close, volume, amount, outstanding_sh)",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L73",
      "id": "data_platform_01_requirements_codeblock_2",
      "community": 5,
      "norm_label": "code:block2 (date, open, high, low, close, volume, amount, outstanding_sh)"
    },
    {
      "label": "P1-3\uff1a\u5168\u91cf\u5bfc\u5165\u65e5\u7ebf",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L85",
      "id": "data_platform_01_requirements_p1_3",
      "community": 5,
      "norm_label": "p1-3:\u5168\u91cf\u5bfc\u5165\u65e5\u7ebf"
    },
    {
      "label": "P1-4\uff1a\u9a8c\u8bc1\u56de\u6d4b\u670d\u52a1\u53ef\u7528",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L95",
      "id": "data_platform_01_requirements_p1_4",
      "community": 5,
      "norm_label": "p1-4:\u9a8c\u8bc1\u56de\u6d4b\u670d\u52a1\u53ef\u7528"
    },
    {
      "label": "P2\uff1a\u6570\u636e\u57fa\u7840\u8bbe\u65bd",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L106",
      "id": "data_platform_01_requirements_p2",
      "community": 5,
      "norm_label": "p2:\u6570\u636e\u57fa\u7840\u8bbe\u65bd"
    },
    {
      "label": "P2-1\uff1a\u591a\u6e90\u964d\u7ea7\u7ba1\u7406\u5668 `fallback.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L108",
      "id": "data_platform_01_requirements_p2_1_fallback_py",
      "community": 5,
      "norm_label": "p2-1:\u591a\u6e90\u964d\u7ea7\u7ba1\u7406\u5668 `fallback.py`"
    },
    {
      "label": "P2-2\uff1a\u6570\u636e\u6821\u9a8c\u5c42 `validator.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L119",
      "id": "data_platform_01_requirements_p2_2_validator_py",
      "community": 5,
      "norm_label": "p2-2:\u6570\u636e\u6821\u9a8c\u5c42 `validator.py`"
    },
    {
      "label": "P2-3\uff1a\u5b9e\u65f6\u884c\u60c5\u4e09\u6e90\u964d\u7ea7 `realtime.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L128",
      "id": "data_platform_01_requirements_p2_3_realtime_py",
      "community": 5,
      "norm_label": "p2-3:\u5b9e\u65f6\u884c\u60c5\u4e09\u6e90\u964d\u7ea7 `realtime.py`"
    },
    {
      "label": "P2-4\uff1a\u589e\u91cf\u66f4\u65b0 `updater.py`",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L137",
      "id": "data_platform_01_requirements_p2_4_updater_py",
      "community": 5,
      "norm_label": "p2-4:\u589e\u91cf\u66f4\u65b0 `updater.py`"
    },
    {
      "label": "P2-5\uff1acron\u5b9a\u65f6\u4efb\u52a1",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L147",
      "id": "data_platform_01_requirements_p2_5_cron",
      "community": 5,
      "norm_label": "p2-5:cron\u5b9a\u65f6\u4efb\u52a1"
    },
    {
      "label": "P3\uff1a\u5206\u949f\u7ebf\u6570\u636e",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L157",
      "id": "data_platform_01_requirements_p3",
      "community": 5,
      "norm_label": "p3:\u5206\u949f\u7ebf\u6570\u636e"
    },
    {
      "label": "P3-1\uff1aP0\u9650\u9891\u9a8c\u8bc1",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L159",
      "id": "data_platform_01_requirements_p3_1_p0",
      "community": 5,
      "norm_label": "p3-1:p0\u9650\u9891\u9a8c\u8bc1"
    },
    {
      "label": "P3-2/P3-3\uff1a\u5206\u949f\u7ebf\u5168\u91cf\u4e0b\u8f7d",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L169",
      "id": "data_platform_01_requirements_p3_2_p3_3",
      "community": 5,
      "norm_label": "p3-2/p3-3:\u5206\u949f\u7ebf\u5168\u91cf\u4e0b\u8f7d"
    },
    {
      "label": "P3-4\uff1a\u5206\u949f\u7ebf\u5bfc\u5165vnpy DB",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L179",
      "id": "data_platform_01_requirements_p3_4_vnpy_db",
      "community": 5,
      "norm_label": "p3-4:\u5206\u949f\u7ebf\u5bfc\u5165vnpy db"
    },
    {
      "label": "P4\uff1a\u914d\u5957skill\u4e0e\u81ea\u52a8\u5316",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L189",
      "id": "data_platform_01_requirements_p4_skill",
      "community": 5,
      "norm_label": "p4:\u914d\u5957skill\u4e0e\u81ea\u52a8\u5316"
    },
    {
      "label": "P4-1/P4-2\uff1a\u66f4\u65b0skill\u6587\u6863",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L191",
      "id": "data_platform_01_requirements_p4_1_p4_2_skill",
      "community": 5,
      "norm_label": "p4-1/p4-2:\u66f4\u65b0skill\u6587\u6863"
    },
    {
      "label": "P4-3\uff1a\u5168\u91cf\u6821\u9a8c\u811a\u672c",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L195",
      "id": "data_platform_01_requirements_p4_3",
      "community": 5,
      "norm_label": "p4-3:\u5168\u91cf\u6821\u9a8c\u811a\u672c"
    },
    {
      "label": "P4-4\uff1a\u5468\u7ef4\u62a4cron",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L199",
      "id": "data_platform_01_requirements_p4_4_cron",
      "community": 5,
      "norm_label": "p4-4:\u5468\u7ef4\u62a4cron"
    },
    {
      "label": "\u4e09\u3001\u4ea4\u4ed8\u7269\u6e05\u5355",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L205",
      "id": "data_platform_01_requirements_205",
      "community": 5,
      "norm_label": "\u4e09\u3001\u4ea4\u4ed8\u7269\u6e05\u5355"
    },
    {
      "label": "\u4ee3\u7801\u6587\u4ef6\uff08\u653e\u5230 `~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/`\uff09",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L207",
      "id": "data_platform_01_requirements_openclaw_sanguo_projects_sanguo_vnpy_data_platform",
      "community": 5,
      "norm_label": "\u4ee3\u7801\u6587\u4ef6(\u653e\u5230 `~/.openclaw/sanguo_projects/sanguo_vnpy/data_platform/`)"
    },
    {
      "label": "\u6587\u6863\u6587\u4ef6",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L218",
      "id": "data_platform_01_requirements_218",
      "community": 5,
      "norm_label": "\u6587\u6863\u6587\u4ef6"
    },
    {
      "label": "\u914d\u7f6e\u6587\u4ef6",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L226",
      "id": "data_platform_01_requirements_226",
      "community": 5,
      "norm_label": "\u914d\u7f6e\u6587\u4ef6"
    },
    {
      "label": "\u56db\u3001\u5047\u8bbe\u4e0e\u4e0d\u786e\u5b9a\u9879",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L235",
      "id": "data_platform_01_requirements_235",
      "community": 5,
      "norm_label": "\u56db\u3001\u5047\u8bbe\u4e0e\u4e0d\u786e\u5b9a\u9879"
    },
    {
      "label": "\u4e94\u3001\u7ea6\u675f",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L253",
      "id": "data_platform_01_requirements_253",
      "community": 5,
      "norm_label": "\u4e94\u3001\u7ea6\u675f"
    },
    {
      "label": "\u516d\u3001\u6210\u529f\u6807\u51c6",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L267",
      "id": "data_platform_01_requirements_267",
      "community": 5,
      "norm_label": "\u516d\u3001\u6210\u529f\u6807\u51c6"
    },
    {
      "label": "\u4e03\u3001\u6570\u636e\u6d41\u67b6\u6784",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L280",
      "id": "data_platform_01_requirements_280",
      "community": 5,
      "norm_label": "\u4e03\u3001\u6570\u636e\u6d41\u67b6\u6784"
    },
    {
      "label": "code:block3 (Layer 1: \u8fdc\u7a0b\u6570\u636e\u6e90)",
      "file_type": "document",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L282",
      "id": "data_platform_01_requirements_codeblock_3",
      "community": 5,
      "norm_label": "code:block3 (layer 1: \u8fdc\u7a0b\u6570\u636e\u6e90)"
    },
    {
      "label": "README.md",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L1",
      "id": "src_backtest_service_readme_md",
      "community": 24,
      "norm_label": "readme.md"
    },
    {
      "label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4f7f\u7528\u8bf4\u660e",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L1",
      "id": "backtest_service_readme",
      "community": 24,
      "norm_label": "\u81ea\u52a8\u5316\u56de\u6d4b\u670d\u52a1 - \u4f7f\u7528\u8bf4\u660e"
    },
    {
      "label": "\u6982\u8ff0",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L3",
      "id": "backtest_service_readme_3",
      "community": 24,
      "norm_label": "\u6982\u8ff0"
    },
    {
      "label": "\u67b6\u6784\u8bbe\u8ba1",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L14",
      "id": "backtest_service_readme_14",
      "community": 24,
      "norm_label": "\u67b6\u6784\u8bbe\u8ba1"
    },
    {
      "label": "code:block1 ([API \u670d\u52a1] \u2190 \u63a5\u6536\u4efb\u52a1)",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L18",
      "id": "backtest_service_readme_codeblock_1",
      "community": 24,
      "norm_label": "code:block1 ([api \u670d\u52a1] \u2190 \u63a5\u6536\u4efb\u52a1)"
    },
    {
      "label": "\u542f\u52a8\u65b9\u5f0f",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L30",
      "id": "backtest_service_readme_30",
      "community": 24,
      "norm_label": "\u542f\u52a8\u65b9\u5f0f"
    },
    {
      "label": "code:bash (# \u624b\u52a8\u542f\u52a8)",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L32",
      "id": "backtest_service_readme_codeblock_2",
      "community": 24,
      "norm_label": "code:bash (# \u624b\u52a8\u542f\u52a8)"
    },
    {
      "label": "\u8bbf\u95ee\u5730\u5740",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L44",
      "id": "backtest_service_readme_44",
      "community": 24,
      "norm_label": "\u8bbf\u95ee\u5730\u5740"
    },
    {
      "label": "API \u63a5\u53e3\u8bf4\u660e",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L50",
      "id": "backtest_service_readme_api",
      "community": 24,
      "norm_label": "api \u63a5\u53e3\u8bf4\u660e"
    },
    {
      "label": "\u914d\u7f6e",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L61",
      "id": "backtest_service_readme_61",
      "community": 24,
      "norm_label": "\u914d\u7f6e"
    },
    {
      "label": "\u4f7f\u7528\u793a\u4f8b",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L73",
      "id": "backtest_service_readme_73",
      "community": 24,
      "norm_label": "\u4f7f\u7528\u793a\u4f8b"
    },
    {
      "label": "1. \u63d0\u4ea4\u56de\u6d4b",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L75",
      "id": "backtest_service_readme_1",
      "community": 24,
      "norm_label": "1. \u63d0\u4ea4\u56de\u6d4b"
    },
    {
      "label": "code:bash (curl -X POST http://127.0.0.1:8088/api/backtest/submit \\)",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L77",
      "id": "backtest_service_readme_codeblock_3",
      "community": 24,
      "norm_label": "code:bash (curl -x post http://127.0.0.1:8088/api/backtest/submit \\)"
    },
    {
      "label": "code:json ({)",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L96",
      "id": "backtest_service_readme_codeblock_4",
      "community": 24,
      "norm_label": "code:json ({)"
    },
    {
      "label": "2. \u67e5\u8be2\u4efb\u52a1\u72b6\u6001",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L108",
      "id": "backtest_service_readme_2",
      "community": 24,
      "norm_label": "2. \u67e5\u8be2\u4efb\u52a1\u72b6\u6001"
    },
    {
      "label": "code:bash (curl http://127.0.0.1:8088/api/backtest/status/a1b2c3d4)",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L110",
      "id": "backtest_service_readme_codeblock_5",
      "community": 24,
      "norm_label": "code:bash (curl http://127.0.0.1:8088/api/backtest/status/a1b2c3d4)"
    },
    {
      "label": "3. \u83b7\u53d6\u56de\u6d4b\u7ed3\u679c",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L114",
      "id": "backtest_service_readme_3_114",
      "community": 24,
      "norm_label": "3. \u83b7\u53d6\u56de\u6d4b\u7ed3\u679c"
    },
    {
      "label": "code:bash (curl http://127.0.0.1:8088/api/backtest/result/a1b2c3d4)",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L116",
      "id": "backtest_service_readme_codeblock_6",
      "community": 24,
      "norm_label": "code:bash (curl http://127.0.0.1:8088/api/backtest/result/a1b2c3d4)"
    },
    {
      "label": "\u7ed3\u679c\u5b58\u50a8\u7ed3\u6784",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L120",
      "id": "backtest_service_readme_120",
      "community": 24,
      "norm_label": "\u7ed3\u679c\u5b58\u50a8\u7ed3\u6784"
    },
    {
      "label": "code:block7 (/app/backtest_jobs/)",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L122",
      "id": "backtest_service_readme_codeblock_7",
      "community": 24,
      "norm_label": "code:block7 (/app/backtest_jobs/)"
    },
    {
      "label": "\u8bbe\u8ba1\u539f\u5219",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L139",
      "id": "backtest_service_readme_139",
      "community": 24,
      "norm_label": "\u8bbe\u8ba1\u539f\u5219"
    },
    {
      "label": "\u4f5c\u8005",
      "file_type": "document",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L146",
      "id": "backtest_service_readme_146",
      "community": 24,
      "norm_label": "\u4f5c\u8005"
    }
  ],
  "links": [
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L21",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_joinquant_py",
      "target": "research_scrape_joinquant_get_community_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L65",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_joinquant_py",
      "target": "research_scrape_joinquant_get_article_content",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L122",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_joinquant_py",
      "target": "research_scrape_joinquant_filter_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L141",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_joinquant_py",
      "target": "research_scrape_joinquant_save_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L177",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_joinquant_py",
      "target": "research_scrape_joinquant_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L187",
      "weight": 1.0,
      "source": "research_scrape_joinquant_main",
      "target": "research_scrape_joinquant_get_community_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L156",
      "weight": 1.0,
      "source": "research_scrape_joinquant_save_articles",
      "target": "research_scrape_joinquant_get_article_content",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L214",
      "weight": 1.0,
      "source": "research_scrape_joinquant_main",
      "target": "research_scrape_joinquant_filter_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_joinquant.py",
      "source_location": "L233",
      "weight": 1.0,
      "source": "research_scrape_joinquant_main",
      "target": "research_scrape_joinquant_save_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L21",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_9_articles_py",
      "target": "research_scrape_9_articles_read_articles_from_file",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_9_articles_py",
      "target": "research_scrape_9_articles_get_article_content",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L708",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_9_articles_py",
      "target": "research_scrape_9_articles_save_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L746",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_scrape_9_articles_py",
      "target": "research_scrape_9_articles_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L755",
      "weight": 1.0,
      "source": "research_scrape_9_articles_main",
      "target": "research_scrape_9_articles_read_articles_from_file",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L723",
      "weight": 1.0,
      "source": "research_scrape_9_articles_save_articles",
      "target": "research_scrape_9_articles_get_article_content",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L39",
      "weight": 1.0,
      "source": "research_scrape_9_articles_rationale_39",
      "target": "research_scrape_9_articles_get_article_content",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/scrape_9_articles.py",
      "source_location": "L765",
      "weight": 1.0,
      "source": "research_scrape_9_articles_main",
      "target": "research_scrape_9_articles_save_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_final.py",
      "source_location": "L14",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_download_final_py",
      "target": "backtest_download_final_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_final.py",
      "source_location": "L100",
      "weight": 1.0,
      "source": "backtest_download_final_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v3.py",
      "source_location": "L133",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_fixed_v3_py",
      "target": "backtest_test_fixed_v3_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v3.py",
      "source_location": "L171",
      "weight": 1.0,
      "source": "backtest_test_fixed_v3_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L143",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v6_py",
      "target": "backtest_test_final_fixed_v6_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L159",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v6_py",
      "target": "backtest_test_final_fixed_v6_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L167",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v6_py",
      "target": "backtest_test_final_fixed_v6_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L227",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v6_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v6_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L225",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v6_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v6_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L161",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v6_parse_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v6.py",
      "source_location": "L290",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v6_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L55",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_new_port_py",
      "target": "backtest_test_server_new_port_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L141",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_new_port_py",
      "target": "backtest_test_server_new_port_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L171",
      "weight": 1.0,
      "source": "backtest_test_server_new_port_main",
      "target": "backtest_test_server_new_port_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L88",
      "weight": 1.0,
      "source": "backtest_test_server_new_port_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_new_port.py",
      "source_location": "L181",
      "weight": 1.0,
      "source": "backtest_test_server_new_port_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L76",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_on_windows_py",
      "target": "backtest_run_on_windows_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L88",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_on_windows_py",
      "target": "backtest_run_on_windows_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L98",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_on_windows_py",
      "target": "backtest_run_on_windows_run_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L218",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_on_windows_py",
      "target": "backtest_run_on_windows_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L233",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_on_windows_py",
      "target": "backtest_run_on_windows_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L249",
      "weight": 1.0,
      "source": "backtest_run_on_windows_run_backtest",
      "target": "backtest_run_on_windows_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L235",
      "weight": 1.0,
      "source": "backtest_run_on_windows_run_backtest",
      "target": "backtest_run_on_windows_run_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L151",
      "weight": 1.0,
      "source": "backtest_run_on_windows_run_backtest_core",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_on_windows.py",
      "source_location": "L270",
      "weight": 1.0,
      "source": "backtest_run_on_windows_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L131",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v2_py",
      "target": "backtest_test_final_fixed_v2_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L147",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v2_py",
      "target": "backtest_test_final_fixed_v2_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L155",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v2_py",
      "target": "backtest_test_final_fixed_v2_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L200",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v2_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v2_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L198",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v2_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v2_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L149",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v2_parse_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v2.py",
      "source_location": "L263",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v2_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L86",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_complete_backtest_service_py",
      "target": "backtest_complete_backtest_service_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L99",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_complete_backtest_service_py",
      "target": "backtest_complete_backtest_service_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L106",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_complete_backtest_service_py",
      "target": "backtest_complete_backtest_service_run_strategy_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L225",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_complete_backtest_service_py",
      "target": "backtest_complete_backtest_service_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L242",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_complete_backtest_service_py",
      "target": "backtest_complete_backtest_service_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L284",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_complete_backtest_service_py",
      "target": "backtest_complete_backtest_service_start_zmq_server",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L259",
      "weight": 1.0,
      "source": "backtest_complete_backtest_service_run_backtest",
      "target": "backtest_complete_backtest_service_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L245",
      "weight": 1.0,
      "source": "backtest_complete_backtest_service_run_backtest",
      "target": "backtest_complete_backtest_service_run_strategy_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L304",
      "weight": 1.0,
      "source": "backtest_complete_backtest_service_start_zmq_server",
      "target": "backtest_complete_backtest_service_run_strategy_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L107",
      "weight": 1.0,
      "source": "backtest_complete_backtest_service_rationale_107",
      "target": "backtest_complete_backtest_service_run_strategy_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L161",
      "weight": 1.0,
      "source": "backtest_complete_backtest_service_run_strategy_backtest_core",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L280",
      "weight": 1.0,
      "source": "backtest_complete_backtest_service_run_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/complete_backtest_service.py",
      "source_location": "L313",
      "weight": 1.0,
      "source": "backtest_complete_backtest_service_start_zmq_server",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L131",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v3_py",
      "target": "backtest_test_final_fixed_v3_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L147",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v3_py",
      "target": "backtest_test_final_fixed_v3_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L155",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v3_py",
      "target": "backtest_test_final_fixed_v3_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L200",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v3_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v3_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L198",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v3_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v3_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L149",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v3_parse_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v3.py",
      "source_location": "L263",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v3_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v2.py",
      "source_location": "L127",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_fixed_v2_py",
      "target": "backtest_test_fixed_v2_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed_v2.py",
      "source_location": "L166",
      "weight": 1.0,
      "source": "backtest_test_fixed_v2_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_mapped_8088_py",
      "target": "backtest_backtest_api_100_correct_mapped_8088_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_mapped_8088_py",
      "target": "backtest_backtest_api_100_correct_mapped_8088_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_mapped_8088_py",
      "target": "backtest_backtest_api_100_correct_mapped_8088_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L76",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_mapped_8088_py",
      "target": "backtest_backtest_api_100_correct_mapped_8088_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L111",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_mapped_8088_run_backtest",
      "target": "backtest_backtest_api_100_correct_mapped_8088_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_mapped_8088.py",
      "source_location": "L146",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_mapped_8088_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_8089_py",
      "target": "backtest_backtest_api_new_port_8089_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_8089_py",
      "target": "backtest_backtest_api_new_port_8089_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_8089_py",
      "target": "backtest_backtest_api_new_port_8089_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L76",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_8089_py",
      "target": "backtest_backtest_api_new_port_8089_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L111",
      "weight": 1.0,
      "source": "backtest_backtest_api_new_port_8089_run_backtest",
      "target": "backtest_backtest_api_new_port_8089_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port_8089.py",
      "source_location": "L146",
      "weight": 1.0,
      "source": "backtest_backtest_api_new_port_8089_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest.py",
      "source_location": "L61",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_local_backtest_py",
      "target": "backtest_test_local_backtest_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest.py",
      "source_location": "L62",
      "weight": 1.0,
      "source": "backtest_test_local_backtest_rationale_62",
      "target": "backtest_test_local_backtest_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest.py",
      "source_location": "L120",
      "weight": 1.0,
      "source": "backtest_test_local_backtest_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L57",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_8006_py",
      "target": "backtest_test_server_100_correct_8006_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L160",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_8006_py",
      "target": "backtest_test_server_100_correct_8006_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L189",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_8006_main",
      "target": "backtest_test_server_100_correct_8006_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L100",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_8006_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8006.py",
      "source_location": "L198",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_8006_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L130",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_py",
      "target": "backtest_test_final_fixed_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L138",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_py",
      "target": "backtest_test_final_fixed_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L182",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L132",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_parse_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed.py",
      "source_location": "L246",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L39",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8006_8088_py",
      "target": "backtest_backtest_api_100_correct_8006_8088_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L52",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8006_8088_py",
      "target": "backtest_backtest_api_100_correct_8006_8088_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L60",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8006_8088_py",
      "target": "backtest_backtest_api_100_correct_8006_8088_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L77",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8006_8088_py",
      "target": "backtest_backtest_api_100_correct_8006_8088_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L112",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_8006_8088_run_backtest",
      "target": "backtest_backtest_api_100_correct_8006_8088_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8006_8088.py",
      "source_location": "L147",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_8006_8088_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_py",
      "target": "backtest_backtest_api_final_correct_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_py",
      "target": "backtest_backtest_api_final_correct_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_py",
      "target": "backtest_backtest_api_final_correct_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L75",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_py",
      "target": "backtest_backtest_api_final_correct_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L110",
      "weight": 1.0,
      "source": "backtest_backtest_api_final_correct_run_backtest",
      "target": "backtest_backtest_api_final_correct_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct.py",
      "source_location": "L145",
      "weight": 1.0,
      "source": "backtest_backtest_api_final_correct_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest_embedded.py",
      "source_location": "L188",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_local_backtest_embedded_py",
      "target": "backtest_test_local_backtest_embedded_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest_embedded.py",
      "source_location": "L189",
      "weight": 1.0,
      "source": "backtest_test_local_backtest_embedded_rationale_189",
      "target": "backtest_test_local_backtest_embedded_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_local_backtest_embedded.py",
      "source_location": "L247",
      "weight": 1.0,
      "source": "backtest_test_local_backtest_embedded_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L57",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_debug_8007_py",
      "target": "backtest_test_server_debug_8007_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L166",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_debug_8007_py",
      "target": "backtest_test_server_debug_8007_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L198",
      "weight": 1.0,
      "source": "backtest_test_server_debug_8007_main",
      "target": "backtest_test_server_debug_8007_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L103",
      "weight": 1.0,
      "source": "backtest_test_server_debug_8007_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_debug_8007.py",
      "source_location": "L207",
      "weight": 1.0,
      "source": "backtest_test_server_debug_8007_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_8090_py",
      "target": "backtest_backtest_api_final_correct_8090_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_8090_py",
      "target": "backtest_backtest_api_final_correct_8090_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_8090_py",
      "target": "backtest_backtest_api_final_correct_8090_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L75",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_correct_8090_py",
      "target": "backtest_backtest_api_final_correct_8090_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L110",
      "weight": 1.0,
      "source": "backtest_backtest_api_final_correct_8090_run_backtest",
      "target": "backtest_backtest_api_final_correct_8090_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_correct_8090.py",
      "source_location": "L145",
      "weight": 1.0,
      "source": "backtest_backtest_api_final_correct_8090_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_fixed_py",
      "target": "backtest_backtest_api_fixed_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_fixed_py",
      "target": "backtest_backtest_api_fixed_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_fixed_py",
      "target": "backtest_backtest_api_fixed_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L63",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_fixed_py",
      "target": "backtest_backtest_api_fixed_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L98",
      "weight": 1.0,
      "source": "backtest_backtest_api_fixed_run_backtest",
      "target": "backtest_backtest_api_fixed_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_fixed.py",
      "source_location": "L133",
      "weight": 1.0,
      "source": "backtest_backtest_api_fixed_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L29",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L36",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_list_officials",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L53",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_create_session",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L83",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_advance_discussion",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L134",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_get_session",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L178",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_list_sessions",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L204",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_conclude_session",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L224",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_get_fate_event",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L241",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_demo_full_flow",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L288",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_court_discuss_client_py",
      "target": "backtest_court_discuss_client_interactive_mode",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_list_officials",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L55",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_create_session",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L85",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_advance_discussion",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L136",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_get_session",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L180",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_list_sessions",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L206",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_conclude_session",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L226",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_get_fate_event",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L243",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_demo_full_flow",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L290",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_print_separator",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L246",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_demo_full_flow",
      "target": "backtest_court_discuss_client_list_officials",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L316",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_list_officials",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L254",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_demo_full_flow",
      "target": "backtest_court_discuss_client_create_session",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L342",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_create_session",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L265",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_demo_full_flow",
      "target": "backtest_court_discuss_client_advance_discussion",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L348",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_advance_discussion",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L283",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_demo_full_flow",
      "target": "backtest_court_discuss_client_get_session",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L374",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_get_session",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L377",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_list_sessions",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L286",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_demo_full_flow",
      "target": "backtest_court_discuss_client_conclude_session",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L387",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_conclude_session",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L365",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_get_fate_event",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/court_discuss_client.py",
      "source_location": "L391",
      "weight": 1.0,
      "source": "backtest_court_discuss_client_interactive_mode",
      "target": "backtest_court_discuss_client_demo_full_flow",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L41",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "abc",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L90",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_datasource",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L99",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_load_bars",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L104",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_get_name",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L108",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_sqlitedatasource",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L125",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_localcsvdatasource",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L184",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_networkdatasource",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L252",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_datasourcemanager",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L326",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L342",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L377",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L635",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_rpc_correct_py",
      "target": "backtest_final_rpc_correct_main",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L90",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasource",
      "target": "abc",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L108",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_sqlitedatasource",
      "target": "backtest_final_rpc_correct_datasource",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L125",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_localcsvdatasource",
      "target": "backtest_final_rpc_correct_datasource",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L184",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_networkdatasource",
      "target": "backtest_final_rpc_correct_datasource",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L91",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_91",
      "target": "backtest_final_rpc_correct_datasource",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L115",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_sqlitedatasource",
      "target": "backtest_final_rpc_correct_sqlitedatasource_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L119",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_sqlitedatasource",
      "target": "backtest_final_rpc_correct_sqlitedatasource_get_name",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L122",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_sqlitedatasource",
      "target": "backtest_final_rpc_correct_sqlitedatasource_load_bars",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L258",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager_init",
      "target": "backtest_final_rpc_correct_sqlitedatasource",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L109",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_109",
      "target": "backtest_final_rpc_correct_sqlitedatasource",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L132",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_localcsvdatasource",
      "target": "backtest_final_rpc_correct_localcsvdatasource_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L135",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_localcsvdatasource",
      "target": "backtest_final_rpc_correct_localcsvdatasource_get_name",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L138",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_localcsvdatasource",
      "target": "backtest_final_rpc_correct_localcsvdatasource_load_bars",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L126",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_126",
      "target": "backtest_final_rpc_correct_localcsvdatasource",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L139",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_139",
      "target": "backtest_final_rpc_correct_localcsvdatasource_load_bars",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L190",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_networkdatasource",
      "target": "backtest_final_rpc_correct_networkdatasource_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L193",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_networkdatasource",
      "target": "backtest_final_rpc_correct_networkdatasource_get_name",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L196",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_networkdatasource",
      "target": "backtest_final_rpc_correct_networkdatasource_load_bars",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L185",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_185",
      "target": "backtest_final_rpc_correct_networkdatasource",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L264",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager_register_source",
      "target": "backtest_final_rpc_correct_networkdatasource_get_name",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L277",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager_load_bars",
      "target": "backtest_final_rpc_correct_networkdatasource_get_name",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L197",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_197",
      "target": "backtest_final_rpc_correct_networkdatasource_load_bars",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L255",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager",
      "target": "backtest_final_rpc_correct_datasourcemanager_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L261",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager",
      "target": "backtest_final_rpc_correct_datasourcemanager_register_source",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L266",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager",
      "target": "backtest_final_rpc_correct_datasourcemanager_get_source",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L270",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager",
      "target": "backtest_final_rpc_correct_datasourcemanager_load_bars",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L253",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_253",
      "target": "backtest_final_rpc_correct_datasourcemanager",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L258",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_datasourcemanager_init",
      "target": "backtest_final_rpc_correct_datasourcemanager_register_source",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L454",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_run_strategy_backtest",
      "target": "backtest_final_rpc_correct_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L452",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_run_strategy_backtest",
      "target": "backtest_final_rpc_correct_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L343",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_343",
      "target": "backtest_final_rpc_correct_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L353",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_parse_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L694",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_main",
      "target": "backtest_final_rpc_correct_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L378",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_378",
      "target": "backtest_final_rpc_correct_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L540",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L636",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_rationale_636",
      "target": "backtest_final_rpc_correct_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_rpc_correct.py",
      "source_location": "L720",
      "weight": 1.0,
      "source": "backtest_final_rpc_correct_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_py",
      "target": "backtest_backtest_api_new_port_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_py",
      "target": "backtest_backtest_api_new_port_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_py",
      "target": "backtest_backtest_api_new_port_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L71",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_new_port_py",
      "target": "backtest_backtest_api_new_port_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L106",
      "weight": 1.0,
      "source": "backtest_backtest_api_new_port_run_backtest",
      "target": "backtest_backtest_api_new_port_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_new_port.py",
      "source_location": "L141",
      "weight": 1.0,
      "source": "backtest_backtest_api_new_port_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L72",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_py",
      "target": "backtest_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L84",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_py",
      "target": "backtest_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L94",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_py",
      "target": "backtest_run_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L217",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_py",
      "target": "backtest_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L233",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_py",
      "target": "backtest_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L250",
      "weight": 1.0,
      "source": "backtest_run_backtest",
      "target": "backtest_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L236",
      "weight": 1.0,
      "source": "backtest_run_backtest",
      "target": "backtest_run_backtest_core",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L152",
      "weight": 1.0,
      "source": "backtest_run_backtest_core",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/\u9010\u884c\u786e\u8ba4\u6b63\u786e\u7248\u672c.py",
      "source_location": "L271",
      "weight": 1.0,
      "source": "backtest_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L39",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8091_py",
      "target": "backtest_backtest_api_100_correct_8091_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L52",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8091_py",
      "target": "backtest_backtest_api_100_correct_8091_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L60",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8091_py",
      "target": "backtest_backtest_api_100_correct_8091_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L76",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8091_py",
      "target": "backtest_backtest_api_100_correct_8091_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L111",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_8091_run_backtest",
      "target": "backtest_backtest_api_100_correct_8091_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8091.py",
      "source_location": "L146",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_8091_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L17",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_vnpy_data_py",
      "target": "backtest_test_vnpy_data_test_adapter_basic",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L53",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_vnpy_data_py",
      "target": "backtest_test_vnpy_data_test_data_loading",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L110",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_vnpy_data_py",
      "target": "backtest_test_vnpy_data_test_converter",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L160",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_vnpy_data_py",
      "target": "backtest_test_vnpy_data_test_integration_with_strategy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L221",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_vnpy_data_py",
      "target": "backtest_test_vnpy_data_generate_implementation_guide",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L273",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_vnpy_data_py",
      "target": "backtest_test_vnpy_data_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L280",
      "weight": 1.0,
      "source": "backtest_test_vnpy_data_main",
      "target": "backtest_test_vnpy_data_test_adapter_basic",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L24",
      "weight": 1.0,
      "source": "backtest_test_vnpy_data_test_adapter_basic",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L283",
      "weight": 1.0,
      "source": "backtest_test_vnpy_data_main",
      "target": "backtest_test_vnpy_data_test_data_loading",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L286",
      "weight": 1.0,
      "source": "backtest_test_vnpy_data_main",
      "target": "backtest_test_vnpy_data_test_converter",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L121",
      "weight": 1.0,
      "source": "backtest_test_vnpy_data_test_converter",
      "target": "utils_data_convert_tool_dataconverter"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L289",
      "weight": 1.0,
      "source": "backtest_test_vnpy_data_main",
      "target": "backtest_test_vnpy_data_test_integration_with_strategy",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_vnpy_data.py",
      "source_location": "L292",
      "weight": 1.0,
      "source": "backtest_test_vnpy_data_main",
      "target": "backtest_test_vnpy_data_generate_implementation_guide",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_py",
      "target": "backtest_test_server_100_correct_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L159",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_py",
      "target": "backtest_test_server_100_correct_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L188",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_main",
      "target": "backtest_test_server_100_correct_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L99",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct.py",
      "source_location": "L197",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_backtest_test_py",
      "target": "backtest_final_backtest_test_test_health",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L22",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_backtest_test_py",
      "target": "backtest_final_backtest_test_test_swagger",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_backtest_test_py",
      "target": "backtest_final_backtest_test_test_backtest_simple",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L119",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_backtest_test_py",
      "target": "backtest_final_backtest_test_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L124",
      "weight": 1.0,
      "source": "backtest_final_backtest_test_main",
      "target": "backtest_final_backtest_test_test_health",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L127",
      "weight": 1.0,
      "source": "backtest_final_backtest_test_main",
      "target": "backtest_final_backtest_test_test_swagger",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_backtest_test.py",
      "source_location": "L130",
      "weight": 1.0,
      "source": "backtest_final_backtest_test_main",
      "target": "backtest_final_backtest_test_test_backtest_simple",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_download_510300.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_simple_download_510300_py",
      "target": "backtest_simple_download_510300_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_download_510300.py",
      "source_location": "L93",
      "weight": 1.0,
      "source": "backtest_simple_download_510300_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_simayi_test_py",
      "target": "backtest_run_simayi_test_check_simayi_scripts",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L49",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_simayi_test_py",
      "target": "backtest_run_simayi_test_create_simayi_test_script",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L97",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_simayi_test_py",
      "target": "backtest_run_simayi_test_teststrategy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L192",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_simayi_test_py",
      "target": "backtest_run_simayi_test_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L47",
      "weight": 1.0,
      "source": "backtest_run_simayi_test_check_simayi_scripts",
      "target": "backtest_run_simayi_test_create_simayi_test_script",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L196",
      "weight": 1.0,
      "source": "backtest_run_simayi_test_main",
      "target": "backtest_run_simayi_test_check_simayi_scripts",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L203",
      "weight": 1.0,
      "source": "backtest_run_simayi_test_main",
      "target": "backtest_run_simayi_test_create_simayi_test_script",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L97",
      "weight": 1.0,
      "source": "backtest_run_simayi_test_teststrategy",
      "target": "ctatemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L100",
      "weight": 1.0,
      "source": "backtest_run_simayi_test_teststrategy",
      "target": "backtest_run_simayi_test_teststrategy_on_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_simayi_test.py",
      "source_location": "L103",
      "weight": 1.0,
      "source": "backtest_run_simayi_test_teststrategy",
      "target": "backtest_run_simayi_test_teststrategy_on_bar",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L33",
      "weight": 1.0,
      "source": "backtest_simple_backtest_v2_teststrategy",
      "target": "ctatemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L33",
      "weight": 1.0,
      "source": "backtest_simple_backtest_teststrategy",
      "target": "ctatemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L27",
      "weight": 1.0,
      "source": "backtest_short_interval_test_simpleteststrategy",
      "target": "ctatemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L12",
      "weight": 1.0,
      "source": "rpc_test_simple_strategy_simpleteststrategy",
      "target": "ctatemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L17",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_download_510300_to_vnpy_py",
      "target": "backtest_download_510300_to_vnpy_create_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L82",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_download_510300_to_vnpy_py",
      "target": "backtest_download_510300_to_vnpy_download_510300_data",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L127",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_download_510300_to_vnpy_py",
      "target": "backtest_download_510300_to_vnpy_import_to_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L194",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_download_510300_to_vnpy_py",
      "target": "backtest_download_510300_to_vnpy_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L207",
      "weight": 1.0,
      "source": "backtest_download_510300_to_vnpy_main",
      "target": "backtest_download_510300_to_vnpy_create_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L212",
      "weight": 1.0,
      "source": "backtest_download_510300_to_vnpy_main",
      "target": "backtest_download_510300_to_vnpy_download_510300_data",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L218",
      "weight": 1.0,
      "source": "backtest_download_510300_to_vnpy_main",
      "target": "backtest_download_510300_to_vnpy_import_to_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/download_510300_to_vnpy.py",
      "source_location": "L152",
      "weight": 1.0,
      "source": "backtest_download_510300_to_vnpy_import_to_vnpy_database",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L16",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_fixed_py",
      "target": "backtest_test_server_fixed_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L87",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_fixed_py",
      "target": "backtest_test_server_fixed_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L113",
      "weight": 1.0,
      "source": "backtest_test_server_fixed_main",
      "target": "backtest_test_server_fixed_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L81",
      "weight": 1.0,
      "source": "backtest_test_server_fixed_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_fixed.py",
      "source_location": "L123",
      "weight": 1.0,
      "source": "backtest_test_server_fixed_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_api_for_fixed_rpc_py",
      "target": "backtest_api_for_fixed_rpc_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_api_for_fixed_rpc_py",
      "target": "backtest_api_for_fixed_rpc_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_api_for_fixed_rpc_py",
      "target": "backtest_api_for_fixed_rpc_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L78",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_api_for_fixed_rpc_py",
      "target": "backtest_api_for_fixed_rpc_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L113",
      "weight": 1.0,
      "source": "backtest_api_for_fixed_rpc_run_backtest",
      "target": "backtest_api_for_fixed_rpc_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/api_for_fixed_rpc.py",
      "source_location": "L148",
      "weight": 1.0,
      "source": "backtest_api_for_fixed_rpc_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_final_fixed_py",
      "target": "backtest_test_server_final_fixed_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L136",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_final_fixed_py",
      "target": "backtest_test_server_final_fixed_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L166",
      "weight": 1.0,
      "source": "backtest_test_server_final_fixed_main",
      "target": "backtest_test_server_final_fixed_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L129",
      "weight": 1.0,
      "source": "backtest_test_server_final_fixed_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed.py",
      "source_location": "L176",
      "weight": 1.0,
      "source": "backtest_test_server_final_fixed_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_8005_py",
      "target": "backtest_test_server_100_correct_8005_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L159",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_100_correct_8005_py",
      "target": "backtest_test_server_100_correct_8005_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L188",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_8005_main",
      "target": "backtest_test_server_100_correct_8005_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L99",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_8005_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_100_correct_8005.py",
      "source_location": "L197",
      "weight": 1.0,
      "source": "backtest_test_server_100_correct_8005_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L37",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_mapped_port_py",
      "target": "backtest_backtest_api_final_mapped_port_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L50",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_mapped_port_py",
      "target": "backtest_backtest_api_final_mapped_port_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L58",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_mapped_port_py",
      "target": "backtest_backtest_api_final_mapped_port_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_final_mapped_port_py",
      "target": "backtest_backtest_api_final_mapped_port_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L109",
      "weight": 1.0,
      "source": "backtest_backtest_api_final_mapped_port_run_backtest",
      "target": "backtest_backtest_api_final_mapped_port_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_final_mapped_port.py",
      "source_location": "L144",
      "weight": 1.0,
      "source": "backtest_backtest_api_final_mapped_port_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_510300_new_api.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_510300_new_api_py",
      "target": "backtest_test_510300_new_api_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L54",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_final_correct_py",
      "target": "backtest_test_server_final_correct_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L158",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_final_correct_py",
      "target": "backtest_test_server_final_correct_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L187",
      "weight": 1.0,
      "source": "backtest_test_server_final_correct_main",
      "target": "backtest_test_server_final_correct_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L98",
      "weight": 1.0,
      "source": "backtest_test_server_final_correct_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_correct.py",
      "source_location": "L196",
      "weight": 1.0,
      "source": "backtest_test_server_final_correct_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_510300_backtest.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_510300_backtest_py",
      "target": "backtest_test_510300_backtest_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed.py",
      "source_location": "L127",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_fixed_py",
      "target": "backtest_test_fixed_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_fixed.py",
      "source_location": "L171",
      "weight": 1.0,
      "source": "backtest_test_fixed_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L33",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_simple_backtest_v2_py",
      "target": "backtest_simple_backtest_v2_teststrategy",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "backtest_simple_backtest_v2_teststrategy",
      "target": "backtest_simple_backtest_v2_teststrategy_on_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest_v2.py",
      "source_location": "L42",
      "weight": 1.0,
      "source": "backtest_simple_backtest_v2_teststrategy",
      "target": "backtest_simple_backtest_v2_teststrategy_on_bar",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L37",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_debug_8007_8088_py",
      "target": "backtest_backtest_api_debug_8007_8088_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L50",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_debug_8007_8088_py",
      "target": "backtest_backtest_api_debug_8007_8088_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L58",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_debug_8007_8088_py",
      "target": "backtest_backtest_api_debug_8007_8088_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_debug_8007_8088_py",
      "target": "backtest_backtest_api_debug_8007_8088_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L109",
      "weight": 1.0,
      "source": "backtest_backtest_api_debug_8007_8088_run_backtest",
      "target": "backtest_backtest_api_debug_8007_8088_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_debug_8007_8088.py",
      "source_location": "L144",
      "weight": 1.0,
      "source": "backtest_backtest_api_debug_8007_8088_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L33",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_simple_backtest_py",
      "target": "backtest_simple_backtest_teststrategy",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "backtest_simple_backtest_teststrategy",
      "target": "backtest_simple_backtest_teststrategy_on_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/simple_backtest.py",
      "source_location": "L42",
      "weight": 1.0,
      "source": "backtest_simple_backtest_teststrategy",
      "target": "backtest_simple_backtest_teststrategy_on_bar",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L55",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_final_fixed_vnpy_py",
      "target": "backtest_test_server_final_fixed_vnpy_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L151",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_final_fixed_vnpy_py",
      "target": "backtest_test_server_final_fixed_vnpy_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L183",
      "weight": 1.0,
      "source": "backtest_test_server_final_fixed_vnpy_main",
      "target": "backtest_test_server_final_fixed_vnpy_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L89",
      "weight": 1.0,
      "source": "backtest_test_server_final_fixed_vnpy_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_final_fixed_vnpy.py",
      "source_location": "L193",
      "weight": 1.0,
      "source": "backtest_test_server_final_fixed_vnpy_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_alternative.py",
      "source_location": "L17",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_server_alternative_py",
      "target": "backtest_test_server_alternative_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_server_alternative.py",
      "source_location": "L44",
      "weight": 1.0,
      "source": "backtest_test_server_alternative_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L131",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v4_py",
      "target": "backtest_test_final_fixed_v4_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L147",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v4_py",
      "target": "backtest_test_final_fixed_v4_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L155",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v4_py",
      "target": "backtest_test_final_fixed_v4_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L202",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v4_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v4_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L200",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v4_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v4_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L149",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v4_parse_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v4.py",
      "source_location": "L265",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v4_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/run_backtest_direct.py",
      "source_location": "L42",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_run_backtest_direct_py",
      "target": "backtest_run_backtest_direct_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L131",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v5_py",
      "target": "backtest_test_final_fixed_v5_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L147",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v5_py",
      "target": "backtest_test_final_fixed_v5_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L155",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_test_final_fixed_v5_py",
      "target": "backtest_test_final_fixed_v5_test_run_strategy_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L202",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v5_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v5_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L200",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v5_test_run_strategy_backtest",
      "target": "backtest_test_final_fixed_v5_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L149",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v5_parse_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/test_final_fixed_v5.py",
      "source_location": "L265",
      "weight": 1.0,
      "source": "backtest_test_final_fixed_v5_test_run_strategy_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L78",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_correct_service_py",
      "target": "backtest_final_correct_service_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L91",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_correct_service_py",
      "target": "backtest_final_correct_service_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L98",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_correct_service_py",
      "target": "backtest_final_correct_service_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L211",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_correct_service_py",
      "target": "backtest_final_correct_service_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L230",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_final_correct_service_py",
      "target": "backtest_final_correct_service_run_backtest_handler",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L247",
      "weight": 1.0,
      "source": "backtest_final_correct_service_run_backtest_handler",
      "target": "backtest_final_correct_service_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L233",
      "weight": 1.0,
      "source": "backtest_final_correct_service_run_backtest_handler",
      "target": "backtest_final_correct_service_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L99",
      "weight": 1.0,
      "source": "backtest_final_correct_service_rationale_99",
      "target": "backtest_final_correct_service_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L148",
      "weight": 1.0,
      "source": "backtest_final_correct_service_run_backtest",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/final_correct_service.py",
      "source_location": "L268",
      "weight": 1.0,
      "source": "backtest_final_correct_service_run_backtest_handler",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L27",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_short_interval_test_py",
      "target": "backtest_short_interval_test_simpleteststrategy",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L32",
      "weight": 1.0,
      "source": "backtest_short_interval_test_simpleteststrategy",
      "target": "backtest_short_interval_test_simpleteststrategy_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "backtest_short_interval_test_simpleteststrategy",
      "target": "backtest_short_interval_test_simpleteststrategy_on_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/short_interval_test.py",
      "source_location": "L42",
      "weight": 1.0,
      "source": "backtest_short_interval_test_simpleteststrategy",
      "target": "backtest_short_interval_test_simpleteststrategy_on_bar",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L39",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8089_py",
      "target": "backtest_backtest_api_100_correct_8089_backtestrequest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L52",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8089_py",
      "target": "backtest_backtest_api_100_correct_8089_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L60",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8089_py",
      "target": "backtest_backtest_api_100_correct_8089_root",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L76",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_backtest_backtest_api_100_correct_8089_py",
      "target": "backtest_backtest_api_100_correct_8089_run_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L111",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_8089_run_backtest",
      "target": "backtest_backtest_api_100_correct_8089_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/test/backtest/backtest_api_100_correct_8089.py",
      "source_location": "L146",
      "weight": 1.0,
      "source": "backtest_backtest_api_100_correct_8089_run_backtest",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L12",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_test_rpc_test_simple_strategy_py",
      "target": "rpc_test_simple_strategy_simpleteststrategy",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L28",
      "weight": 1.0,
      "source": "rpc_test_simple_strategy_simpleteststrategy",
      "target": "rpc_test_simple_strategy_simpleteststrategy_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L37",
      "weight": 1.0,
      "source": "rpc_test_simple_strategy_simpleteststrategy",
      "target": "rpc_test_simple_strategy_simpleteststrategy_on_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L43",
      "weight": 1.0,
      "source": "rpc_test_simple_strategy_simpleteststrategy",
      "target": "rpc_test_simple_strategy_simpleteststrategy_on_start",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L47",
      "weight": 1.0,
      "source": "rpc_test_simple_strategy_simpleteststrategy",
      "target": "rpc_test_simple_strategy_simpleteststrategy_on_stop",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "rpc_test_simple_strategy_simpleteststrategy",
      "target": "rpc_test_simple_strategy_simpleteststrategy_on_tick",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/test/rpc/test_simple_strategy.py",
      "source_location": "L55",
      "weight": 1.0,
      "source": "rpc_test_simple_strategy_simpleteststrategy",
      "target": "rpc_test_simple_strategy_simpleteststrategy_on_bar",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L15",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_verify_check_version_conflict_py",
      "target": "verify_check_version_conflict_parse_requirements",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L32",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_verify_check_version_conflict_py",
      "target": "verify_check_version_conflict_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L46",
      "weight": 1.0,
      "source": "verify_check_version_conflict_main",
      "target": "verify_check_version_conflict_parse_requirements",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/verify/check_version_conflict.py",
      "source_location": "L16",
      "weight": 1.0,
      "source": "verify_check_version_conflict_rationale_16",
      "target": "verify_check_version_conflict_parse_requirements",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_from_csv.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_import_from_csv_py",
      "target": "utils_import_from_csv_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/get_result_json_fixed.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_get_result_json_fixed_py",
      "target": "utils_get_result_json_fixed_numpyencoder",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/get_result_json_fixed.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "utils_get_result_json_fixed_numpyencoder",
      "target": "utils_get_result_json_fixed_numpyencoder_default",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_create_vnpy_app_compatibility_py",
      "target": "utils_create_vnpy_app_compatibility_create_vnpy_app_module",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L87",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_create_vnpy_app_compatibility_py",
      "target": "utils_create_vnpy_app_compatibility_test_imports",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L108",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_create_vnpy_app_compatibility_py",
      "target": "utils_create_vnpy_app_compatibility_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L114",
      "weight": 1.0,
      "source": "utils_create_vnpy_app_compatibility_main",
      "target": "utils_create_vnpy_app_compatibility_create_vnpy_app_module",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/create_vnpy_app_compatibility.py",
      "source_location": "L117",
      "weight": 1.0,
      "source": "utils_create_vnpy_app_compatibility_main",
      "target": "utils_create_vnpy_app_compatibility_test_imports",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_from_file.py",
      "source_location": "L14",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_import_from_file_py",
      "target": "utils_import_from_file_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_database_config_py",
      "target": "utils_database_config_databasesettings",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L35",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_database_config_py",
      "target": "utils_database_config_config",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L1",
      "weight": 1.0,
      "source": "utils_database_config_rationale_1",
      "target": "archive_2026_04_29_cleanup_scripts_utils_database_config_py",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "utils_database_config_databasesettings",
      "target": "basesettings",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/database_config.py",
      "source_location": "L39",
      "weight": 1.0,
      "source": "utils_database_config_databasesettings",
      "target": "utils_database_config_databasesettings_get_database_url",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/config.py",
      "source_location": "L7",
      "weight": 1.0,
      "source": "backtest_service_config_settings",
      "target": "basesettings",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_vnpy_app_compatibility_py",
      "target": "utils_vnpy_app_compatibility_vnpyappcompatibility",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L14",
      "weight": 1.0,
      "source": "utils_vnpy_app_compatibility_vnpyappcompatibility",
      "target": "utils_vnpy_app_compatibility_vnpyappcompatibility_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L17",
      "weight": 1.0,
      "source": "utils_vnpy_app_compatibility_vnpyappcompatibility",
      "target": "utils_vnpy_app_compatibility_vnpyappcompatibility_setup_compatibility",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "utils_vnpy_app_compatibility_vnpyappcompatibility",
      "target": "utils_vnpy_app_compatibility_vnpyappcompatibility_map_modules",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L105",
      "weight": 1.0,
      "source": "utils_vnpy_app_compatibility_vnpyappcompatibility",
      "target": "utils_vnpy_app_compatibility_vnpyappcompatibility_test_import",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L15",
      "weight": 1.0,
      "source": "utils_vnpy_app_compatibility_vnpyappcompatibility_init",
      "target": "utils_vnpy_app_compatibility_vnpyappcompatibility_setup_compatibility",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/vnpy_app_compatibility.py",
      "source_location": "L47",
      "weight": 1.0,
      "source": "utils_vnpy_app_compatibility_vnpyappcompatibility_setup_compatibility",
      "target": "utils_vnpy_app_compatibility_vnpyappcompatibility_map_modules",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_data_to_sqlite.py",
      "source_location": "L49",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_import_data_to_sqlite_py",
      "target": "utils_import_data_to_sqlite_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L12",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_environment_py",
      "target": "utils_check_environment_check_python_version",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L24",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_environment_py",
      "target": "utils_check_environment_check_dependencies",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L50",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_environment_py",
      "target": "utils_check_environment_check_directories",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L69",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_environment_py",
      "target": "utils_check_environment_check_virtual_environment",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L79",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_environment_py",
      "target": "utils_check_environment_check_system_info",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L89",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_environment_py",
      "target": "utils_check_environment_generate_report",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L107",
      "weight": 1.0,
      "source": "utils_check_environment_generate_report",
      "target": "utils_check_environment_check_python_version",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L112",
      "weight": 1.0,
      "source": "utils_check_environment_generate_report",
      "target": "utils_check_environment_check_dependencies",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L118",
      "weight": 1.0,
      "source": "utils_check_environment_generate_report",
      "target": "utils_check_environment_check_directories",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L103",
      "weight": 1.0,
      "source": "utils_check_environment_generate_report",
      "target": "utils_check_environment_check_virtual_environment",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_environment.py",
      "source_location": "L97",
      "weight": 1.0,
      "source": "utils_check_environment_generate_report",
      "target": "utils_check_environment_check_system_info",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/git_webhook_server.py",
      "source_location": "L27",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_git_webhook_server_py",
      "target": "utils_git_webhook_server_webhook",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/git_webhook_server.py",
      "source_location": "L55",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_git_webhook_server_py",
      "target": "utils_git_webhook_server_index",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/git_webhook_server.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "utils_git_webhook_server_webhook",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_ports_in_container.py",
      "source_location": "L9",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_clean_ports_in_container_py",
      "target": "utils_clean_ports_in_container_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_simple_py",
      "target": "utils_check_vnpy_data_simple_find_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L30",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_simple_py",
      "target": "utils_check_vnpy_data_simple_check_symbol_in_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L95",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_simple_py",
      "target": "utils_check_vnpy_data_simple_check_data_paths",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L112",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_simple_py",
      "target": "utils_check_vnpy_data_simple_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L124",
      "weight": 1.0,
      "source": "utils_check_vnpy_data_simple_main",
      "target": "utils_check_vnpy_data_simple_find_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L137",
      "weight": 1.0,
      "source": "utils_check_vnpy_data_simple_main",
      "target": "utils_check_vnpy_data_simple_check_symbol_in_db",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data_simple.py",
      "source_location": "L121",
      "weight": 1.0,
      "source": "utils_check_vnpy_data_simple_main",
      "target": "utils_check_vnpy_data_simple_check_data_paths",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L9",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_symbol_formats_py",
      "target": "utils_check_symbol_formats_check_all_symbols",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L49",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_symbol_formats_py",
      "target": "utils_check_symbol_formats_check_510300_variants",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L83",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_symbol_formats_py",
      "target": "utils_check_symbol_formats_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L89",
      "weight": 1.0,
      "source": "utils_check_symbol_formats_main",
      "target": "utils_check_symbol_formats_check_all_symbols",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_symbol_formats.py",
      "source_location": "L92",
      "weight": 1.0,
      "source": "utils_check_symbol_formats_main",
      "target": "utils_check_symbol_formats_check_510300_variants",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_510300_data.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_verify_510300_data_py",
      "target": "utils_verify_510300_data_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_exchange.py",
      "source_location": "L50",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_diagnose_exchange_py",
      "target": "utils_diagnose_exchange_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_exchange.py",
      "source_location": "L54",
      "weight": 1.0,
      "source": "utils_diagnose_exchange_parse_date",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data_v2.py",
      "source_location": "L52",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_diagnose_data_v2_py",
      "target": "utils_diagnose_data_v2_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data_v2.py",
      "source_location": "L68",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_diagnose_data_v2_py",
      "target": "utils_diagnose_data_v2_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data_v2.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "utils_diagnose_data_v2_parse_date",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L9",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_verify_simayi_fix_py",
      "target": "utils_verify_simayi_fix_test_vnpy_installation",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L47",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_verify_simayi_fix_py",
      "target": "utils_verify_simayi_fix_test_api_service",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L104",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_verify_simayi_fix_py",
      "target": "utils_verify_simayi_fix_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L109",
      "weight": 1.0,
      "source": "utils_verify_simayi_fix_main",
      "target": "utils_verify_simayi_fix_test_vnpy_installation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/verify_simayi_fix.py",
      "source_location": "L112",
      "weight": 1.0,
      "source": "utils_verify_simayi_fix_main",
      "target": "utils_verify_simayi_fix_test_api_service",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_docker_volume_mapping.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_docker_volume_mapping_py",
      "target": "utils_check_docker_volume_mapping_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_parquet_to_vnpy.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_import_parquet_to_vnpy_py",
      "target": "utils_import_parquet_to_vnpy_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_parquet_to_vnpy.py",
      "source_location": "L78",
      "weight": 1.0,
      "source": "utils_import_parquet_to_vnpy_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_restart_services.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_clean_restart_services_py",
      "target": "utils_clean_restart_services_kill_port_process",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_restart_services.py",
      "source_location": "L34",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_clean_restart_services_py",
      "target": "utils_clean_restart_services_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/clean_restart_services.py",
      "source_location": "L40",
      "weight": 1.0,
      "source": "utils_clean_restart_services_main",
      "target": "utils_clean_restart_services_kill_port_process",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data.py",
      "source_location": "L50",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_diagnose_data_py",
      "target": "utils_diagnose_data_str_to_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data.py",
      "source_location": "L66",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_diagnose_data_py",
      "target": "utils_diagnose_data_parse_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/diagnose_data.py",
      "source_location": "L72",
      "weight": 1.0,
      "source": "utils_diagnose_data_parse_date",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L27",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_data_convert_tool_py",
      "target": "utils_data_convert_tool_dataconverter",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L451",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_data_convert_tool_py",
      "target": "utils_data_convert_tool_main",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L60",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter",
      "target": "utils_data_convert_tool_dataconverter_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L85",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter",
      "target": "utils_data_convert_tool_dataconverter_analyze_zhaoyun_structure",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L142",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter",
      "target": "utils_data_convert_tool_dataconverter_convert_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L283",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter",
      "target": "utils_data_convert_tool_dataconverter_convert_stock_info",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L350",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter",
      "target": "utils_data_convert_tool_dataconverter_create_config_file",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L462",
      "weight": 1.0,
      "source": "utils_data_convert_tool_main",
      "target": "utils_data_convert_tool_dataconverter",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L28",
      "weight": 1.0,
      "source": "utils_data_convert_tool_rationale_28",
      "target": "utils_data_convert_tool_dataconverter",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L61",
      "weight": 1.0,
      "source": "utils_data_convert_tool_rationale_61",
      "target": "utils_data_convert_tool_dataconverter_init",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L466",
      "weight": 1.0,
      "source": "utils_data_convert_tool_main",
      "target": "utils_data_convert_tool_dataconverter_analyze_zhaoyun_structure",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L86",
      "weight": 1.0,
      "source": "utils_data_convert_tool_rationale_86",
      "target": "utils_data_convert_tool_dataconverter_analyze_zhaoyun_structure",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L130",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter_analyze_zhaoyun_structure",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L478",
      "weight": 1.0,
      "source": "utils_data_convert_tool_main",
      "target": "utils_data_convert_tool_dataconverter_convert_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L143",
      "weight": 1.0,
      "source": "utils_data_convert_tool_rationale_143",
      "target": "utils_data_convert_tool_dataconverter_convert_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L158",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter_convert_daily_data",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L482",
      "weight": 1.0,
      "source": "utils_data_convert_tool_main",
      "target": "utils_data_convert_tool_dataconverter_convert_stock_info",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L328",
      "weight": 1.0,
      "source": "utils_data_convert_tool_dataconverter_convert_stock_info",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/data_convert_tool.py",
      "source_location": "L486",
      "weight": 1.0,
      "source": "utils_data_convert_tool_main",
      "target": "utils_data_convert_tool_dataconverter_create_config_file",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/import_direct.py",
      "source_location": "L14",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_import_direct_py",
      "target": "utils_import_direct_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_kill_and_restart_py",
      "target": "utils_kill_and_restart_get_pid_using_port",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L23",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_kill_and_restart_py",
      "target": "utils_kill_and_restart_kill_pid",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L29",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_kill_and_restart_py",
      "target": "utils_kill_and_restart_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L37",
      "weight": 1.0,
      "source": "utils_kill_and_restart_main",
      "target": "utils_kill_and_restart_get_pid_using_port",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/kill_and_restart.py",
      "source_location": "L41",
      "weight": 1.0,
      "source": "utils_kill_and_restart_main",
      "target": "utils_kill_and_restart_kill_pid",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/force_restart_services.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_force_restart_services_py",
      "target": "utils_force_restart_services_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_py",
      "target": "utils_check_vnpy_data_find_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L29",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_py",
      "target": "utils_check_vnpy_data_check_symbol_in_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L115",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_utils_check_vnpy_data_py",
      "target": "utils_check_vnpy_data_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L124",
      "weight": 1.0,
      "source": "utils_check_vnpy_data_main",
      "target": "utils_check_vnpy_data_find_vnpy_database",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/utils/check_vnpy_data.py",
      "source_location": "L139",
      "weight": 1.0,
      "source": "utils_check_vnpy_data_main",
      "target": "utils_check_vnpy_data_check_symbol_in_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/generate_test_data_510300.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_generate_test_data_510300_py",
      "target": "deployment_generate_test_data_510300_generate_test_data",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/generate_test_data_510300.py",
      "source_location": "L167",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_generate_test_data_510300_py",
      "target": "deployment_generate_test_data_510300_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/generate_test_data_510300.py",
      "source_location": "L169",
      "weight": 1.0,
      "source": "deployment_generate_test_data_510300_main",
      "target": "deployment_generate_test_data_510300_generate_test_data",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_database.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_test_database_py",
      "target": "deployment_test_database_test_database_connection",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_database.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "deployment_test_database_test_database_connection",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_test_api_timeout_py",
      "target": "deployment_test_api_timeout_test_simple_strategy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L95",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_test_api_timeout_py",
      "target": "deployment_test_api_timeout_test_minimal_request",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L144",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_test_api_timeout_py",
      "target": "deployment_test_api_timeout_check_zmq_service",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L175",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_test_api_timeout_py",
      "target": "deployment_test_api_timeout_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L183",
      "weight": 1.0,
      "source": "deployment_test_api_timeout_main",
      "target": "deployment_test_api_timeout_test_minimal_request",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout.py",
      "source_location": "L180",
      "weight": 1.0,
      "source": "deployment_test_api_timeout_main",
      "target": "deployment_test_api_timeout_check_zmq_service",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_akshare_download_py",
      "target": "deployment_fix_akshare_download_test_different_interfaces",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L66",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_akshare_download_py",
      "target": "deployment_fix_akshare_download_download_to_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L203",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_akshare_download_py",
      "target": "deployment_fix_akshare_download_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L206",
      "weight": 1.0,
      "source": "deployment_fix_akshare_download_main",
      "target": "deployment_fix_akshare_download_test_different_interfaces",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L209",
      "weight": 1.0,
      "source": "deployment_fix_akshare_download_main",
      "target": "deployment_fix_akshare_download_download_to_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_akshare_download.py",
      "source_location": "L131",
      "weight": 1.0,
      "source": "deployment_fix_akshare_download_download_to_vnpy",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_vnpy_imports_py",
      "target": "deployment_fix_vnpy_imports_check_vnpy_structure",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L43",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_vnpy_imports_py",
      "target": "deployment_fix_vnpy_imports_check_imports",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L80",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_vnpy_imports_py",
      "target": "deployment_fix_vnpy_imports_create_import_fix_guide",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L203",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_vnpy_imports_py",
      "target": "deployment_fix_vnpy_imports_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L209",
      "weight": 1.0,
      "source": "deployment_fix_vnpy_imports_main",
      "target": "deployment_fix_vnpy_imports_check_vnpy_structure",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L212",
      "weight": 1.0,
      "source": "deployment_fix_vnpy_imports_main",
      "target": "deployment_fix_vnpy_imports_check_imports",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports.py",
      "source_location": "L215",
      "weight": 1.0,
      "source": "deployment_fix_vnpy_imports_main",
      "target": "deployment_fix_vnpy_imports_create_import_fix_guide",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/restart_final_services.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_restart_final_services_py",
      "target": "deployment_restart_final_services_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L31",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_auto_watcher_py",
      "target": "deployment_auto_watcher_sanguochangehandler",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L86",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_auto_watcher_py",
      "target": "deployment_auto_watcher_main",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L31",
      "weight": 1.0,
      "source": "deployment_auto_watcher_sanguochangehandler",
      "target": "filesystemeventhandler",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L32",
      "weight": 1.0,
      "source": "deployment_auto_watcher_sanguochangehandler",
      "target": "deployment_auto_watcher_sanguochangehandler_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L36",
      "weight": 1.0,
      "source": "deployment_auto_watcher_sanguochangehandler",
      "target": "deployment_auto_watcher_sanguochangehandler_on_any_event",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L98",
      "weight": 1.0,
      "source": "deployment_auto_watcher_main",
      "target": "deployment_auto_watcher_sanguochangehandler",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L75",
      "weight": 1.0,
      "source": "deployment_auto_watcher_sanguochangehandler_on_any_event",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/auto_watcher.py",
      "source_location": "L100",
      "weight": 1.0,
      "source": "deployment_auto_watcher_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/fix_vnpy_imports_script.py",
      "source_location": "L9",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_fix_vnpy_imports_script_py",
      "target": "deployment_fix_vnpy_imports_script_fix_vnpy_imports",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/scripts/deployment/test_api_timeout_simple.py",
      "source_location": "L9",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_scripts_deployment_test_api_timeout_simple_py",
      "target": "deployment_test_api_timeout_simple_test_minimal_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L8",
      "weight": 1.0,
      "source": "data_platform_validator_py",
      "target": "data_platform_validator_validationresult",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L31",
      "weight": 1.0,
      "source": "data_platform_validator_py",
      "target": "data_platform_validator_datavalidator",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L9",
      "weight": 1.0,
      "source": "data_platform_validator_validationresult",
      "target": "data_platform_validator_validationresult_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L16",
      "weight": 1.0,
      "source": "data_platform_validator_validationresult",
      "target": "data_platform_validator_validationresult_repr",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L21",
      "weight": 1.0,
      "source": "data_platform_validator_validationresult",
      "target": "data_platform_validator_validationresult_to_dict",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L35",
      "weight": 1.0,
      "source": "data_platform_validator_datavalidator_validate",
      "target": "data_platform_validator_validationresult",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L50",
      "weight": 1.0,
      "source": "data_platform_validator_datavalidator_validate_realtime_dict",
      "target": "data_platform_validator_validationresult",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L34",
      "weight": 1.0,
      "source": "data_platform_validator_datavalidator",
      "target": "data_platform_validator_datavalidator_validate",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L48",
      "weight": 1.0,
      "source": "data_platform_validator_datavalidator",
      "target": "data_platform_validator_datavalidator_validate_realtime_dict",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L69",
      "weight": 1.0,
      "source": "data_platform_validator_datavalidator",
      "target": "data_platform_validator_datavalidator_validate_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/validator.py",
      "source_location": "L43",
      "weight": 1.0,
      "source": "data_platform_validator_datavalidator_validate",
      "target": "data_platform_validator_datavalidator_validate_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/validator.py",
      "source_location": "L94",
      "weight": 1.0,
      "source": "data_platform_validator_datavalidator_validate_daily",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L107",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_setup_logging",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L125",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_make_opener",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L131",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L139",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_code_to_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L145",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_get_all_codes",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L153",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_nas_mounted",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L159",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_rotate_db_backup",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L191",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_load_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L204",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_save_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L216",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_sourcehealthmonitor",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L242",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_fetch_baostock_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L273",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_fetch_baostock_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L310",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_get_em_secid",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L316",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_parse_em_klines",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L339",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_fetch_eastmoney_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L377",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_fetch_eastmoney_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L439",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_fetch_tencent_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L479",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_try_sina_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L508",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_fetch_with_fallback",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L558",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_get_daily_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L573",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_update_daily_parquet",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L602",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_run_daily_update",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L694",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_get_15min_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L707",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L751",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_run_15min_update",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L877",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_init_local_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L928",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_write_local_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L947",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_update_overview_incremental",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L966",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_sync_db_to_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1003",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_check_failure_rate",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1021",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_py",
      "target": "data_platform_daily_all_update_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L445",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_tencent_daily",
      "target": "data_platform_daily_all_update_make_opener",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L485",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_try_sina_15min",
      "target": "data_platform_daily_all_update_make_opener",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L141",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_code_to_baostock",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L441",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_tencent_daily",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L560",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_get_daily_last_date",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L575",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_update_daily_parquet",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L660",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L709",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L766",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L132",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_132",
      "target": "data_platform_daily_all_update_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L246",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_baostock_daily",
      "target": "data_platform_daily_all_update_code_to_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L277",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_baostock_15min",
      "target": "data_platform_daily_all_update_code_to_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L140",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_140",
      "target": "data_platform_daily_all_update_code_to_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1032",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_get_all_codes",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L149",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_get_all_codes",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1028",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_nas_mounted",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1052",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_rotate_db_backup",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L160",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_160",
      "target": "data_platform_daily_all_update_rotate_db_backup",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L171",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rotate_db_backup",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L611",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_load_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L759",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_load_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L643",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_save_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L796",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_save_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L219",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_sourcehealthmonitor",
      "target": "data_platform_daily_all_update_sourcehealthmonitor_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L224",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_sourcehealthmonitor",
      "target": "data_platform_daily_all_update_sourcehealthmonitor_report",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L615",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_sourcehealthmonitor",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L763",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_sourcehealthmonitor",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L217",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_217",
      "target": "data_platform_daily_all_update_sourcehealthmonitor",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L633",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_sourcehealthmonitor_report",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L786",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_sourcehealthmonitor_report",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L225",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_225",
      "target": "data_platform_daily_all_update_sourcehealthmonitor_report",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L243",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_243",
      "target": "data_platform_daily_all_update_fetch_baostock_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L728",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "target": "data_platform_daily_all_update_fetch_baostock_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L274",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_274",
      "target": "data_platform_daily_all_update_fetch_baostock_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L343",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_eastmoney_daily",
      "target": "data_platform_daily_all_update_get_em_secid",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L381",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_eastmoney_15min",
      "target": "data_platform_daily_all_update_get_em_secid",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L365",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_eastmoney_daily",
      "target": "data_platform_daily_all_update_parse_em_klines",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L317",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_317",
      "target": "data_platform_daily_all_update_parse_em_klines",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L340",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_340",
      "target": "data_platform_daily_all_update_fetch_eastmoney_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L344",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_eastmoney_daily",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L717",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "target": "data_platform_daily_all_update_fetch_eastmoney_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L378",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_378",
      "target": "data_platform_daily_all_update_fetch_eastmoney_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L382",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_eastmoney_15min",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L740",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "target": "data_platform_daily_all_update_try_sina_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L480",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_480",
      "target": "data_platform_daily_all_update_try_sina_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L630",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_fetch_with_fallback",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L515",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_515",
      "target": "data_platform_daily_all_update_fetch_with_fallback",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L618",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_get_daily_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L562",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_get_daily_last_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L655",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_update_daily_parquet",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L574",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_574",
      "target": "data_platform_daily_all_update_update_daily_parquet",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L582",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_update_daily_parquet",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L683",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "data_platform_daily_all_update_write_local_db",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1059",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_run_daily_update",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L664",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_daily_update",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L770",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_get_15min_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L695",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_695",
      "target": "data_platform_daily_all_update_get_15min_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L701",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_get_15min_last_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L783",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L708",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_708",
      "target": "data_platform_daily_all_update_fetch_15min_with_fallback",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L868",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "data_platform_daily_all_update_write_local_db",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1064",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_run_15min_update",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L851",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_run_15min_update",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1055",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_init_local_db",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L878",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_878",
      "target": "data_platform_daily_all_update_init_local_db",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L879",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_init_local_db",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L944",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_write_local_db",
      "target": "data_platform_daily_all_update_update_overview_incremental",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L948",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_948",
      "target": "data_platform_daily_all_update_update_overview_incremental",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1072",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_sync_db_to_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L967",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_rationale_967",
      "target": "data_platform_daily_all_update_sync_db_to_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L975",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_sync_db_to_nas",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/daily_all_update.py",
      "source_location": "L1060",
      "weight": 1.0,
      "source": "data_platform_daily_all_update_main",
      "target": "data_platform_daily_all_update_check_failure_rate",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L58",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_setup_logging",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L79",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_get_all_codes",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L87",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_code_to_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L95",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_is_backfilled",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L102",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_load_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L112",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_save_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L123",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_fetch_bs_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L170",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_backfill_one",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L218",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_py",
      "target": "data_platform_backfill_15min_baostock_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L245",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_main",
      "target": "data_platform_backfill_15min_baostock_get_all_codes",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L83",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_get_all_codes",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L175",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_backfill_one",
      "target": "data_platform_backfill_15min_baostock_code_to_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L88",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_rationale_88",
      "target": "data_platform_backfill_15min_baostock_code_to_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L179",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_backfill_one",
      "target": "data_platform_backfill_15min_baostock_is_backfilled",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L259",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_main",
      "target": "data_platform_backfill_15min_baostock_load_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L295",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_main",
      "target": "data_platform_backfill_15min_baostock_save_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L186",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_backfill_one",
      "target": "data_platform_backfill_15min_baostock_fetch_bs_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L124",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_rationale_124",
      "target": "data_platform_backfill_15min_baostock_fetch_bs_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L283",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_main",
      "target": "data_platform_backfill_15min_baostock_backfill_one",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L171",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_rationale_171",
      "target": "data_platform_backfill_15min_baostock_backfill_one",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/backfill_15min_baostock.py",
      "source_location": "L201",
      "weight": 1.0,
      "source": "data_platform_backfill_15min_baostock_backfill_one",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L21",
      "weight": 1.0,
      "source": "data_platform_realtime_py",
      "target": "data_platform_realtime_fetch_url",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L31",
      "weight": 1.0,
      "source": "data_platform_realtime_py",
      "target": "data_platform_realtime_parse_sina",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "data_platform_realtime_py",
      "target": "data_platform_realtime_parse_tencent",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L83",
      "weight": 1.0,
      "source": "data_platform_realtime_py",
      "target": "data_platform_realtime_parse_eastmoney",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L105",
      "weight": 1.0,
      "source": "data_platform_realtime_py",
      "target": "data_platform_realtime_get_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L112",
      "weight": 1.0,
      "source": "data_platform_realtime_py",
      "target": "data_platform_realtime_em_secid",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L118",
      "weight": 1.0,
      "source": "data_platform_realtime_py",
      "target": "data_platform_realtime_get_realtime_quote",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L124",
      "weight": 1.0,
      "source": "data_platform_realtime_get_realtime_quote",
      "target": "data_platform_realtime_fetch_url",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L126",
      "weight": 1.0,
      "source": "data_platform_realtime_get_realtime_quote",
      "target": "data_platform_realtime_parse_sina",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L146",
      "weight": 1.0,
      "source": "data_platform_realtime_get_realtime_quote",
      "target": "data_platform_realtime_parse_tencent",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L138",
      "weight": 1.0,
      "source": "data_platform_realtime_get_realtime_quote",
      "target": "data_platform_realtime_parse_eastmoney",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L120",
      "weight": 1.0,
      "source": "data_platform_realtime_get_realtime_quote",
      "target": "data_platform_realtime_get_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/realtime.py",
      "source_location": "L132",
      "weight": 1.0,
      "source": "data_platform_realtime_get_realtime_quote",
      "target": "data_platform_realtime_em_secid",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/fallback.py",
      "source_location": "L46",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager_get_realtime",
      "target": "data_platform_realtime_get_realtime_quote"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L26",
      "weight": 1.0,
      "source": "data_platform_updater_py",
      "target": "data_platform_updater_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L33",
      "weight": 1.0,
      "source": "data_platform_updater_py",
      "target": "data_platform_updater_get_all_symbols",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L44",
      "weight": 1.0,
      "source": "data_platform_updater_py",
      "target": "data_platform_updater_get_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L62",
      "weight": 1.0,
      "source": "data_platform_updater_py",
      "target": "data_platform_updater_fetch_tencent_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L102",
      "weight": 1.0,
      "source": "data_platform_updater_py",
      "target": "data_platform_updater_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "data_platform_updater_get_all_symbols",
      "target": "data_platform_updater_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L108",
      "weight": 1.0,
      "source": "data_platform_updater_main",
      "target": "data_platform_updater_get_all_symbols",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L118",
      "weight": 1.0,
      "source": "data_platform_updater_main",
      "target": "data_platform_updater_get_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L45",
      "weight": 1.0,
      "source": "data_platform_updater_rationale_45",
      "target": "data_platform_updater_get_last_date",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/updater.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "data_platform_updater_get_last_date",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/updater.py",
      "source_location": "L128",
      "weight": 1.0,
      "source": "data_platform_updater_main",
      "target": "data_platform_updater_fetch_tencent_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/updater.py",
      "source_location": "L142",
      "weight": 1.0,
      "source": "data_platform_updater_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L42",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_py",
      "target": "data_platform_import_vnpy_minute_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_py",
      "target": "data_platform_import_vnpy_minute_import_file",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L109",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_py",
      "target": "data_platform_import_vnpy_minute_get_stock_list",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L128",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_py",
      "target": "data_platform_import_vnpy_minute_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L53",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_import_file",
      "target": "data_platform_import_vnpy_minute_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L153",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_main",
      "target": "data_platform_import_vnpy_minute_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L43",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_rationale_43",
      "target": "data_platform_import_vnpy_minute_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L170",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_main",
      "target": "data_platform_import_vnpy_minute_import_file",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L145",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_main",
      "target": "data_platform_import_vnpy_minute_get_stock_list",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L115",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_get_stock_list",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/import_vnpy_minute.py",
      "source_location": "L133",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_minute_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L57",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_make_opener",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L63",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_try_sina_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L98",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_try_minute_query_aggregate",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L132",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_aggregate_1m_to_15m",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L159",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L166",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_download_single",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L185",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_download_with_increment",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L236",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_load_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L242",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_save_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L248",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_get_stock_list",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L265",
      "weight": 1.0,
      "source": "data_platform_download_minute_py",
      "target": "data_platform_download_minute_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L75",
      "weight": 1.0,
      "source": "data_platform_download_minute_try_sina_15min",
      "target": "data_platform_download_minute_make_opener",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L106",
      "weight": 1.0,
      "source": "data_platform_download_minute_try_minute_query_aggregate",
      "target": "data_platform_download_minute_make_opener",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L58",
      "weight": 1.0,
      "source": "data_platform_download_minute_rationale_58",
      "target": "data_platform_download_minute_make_opener",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L172",
      "weight": 1.0,
      "source": "data_platform_download_minute_download_single",
      "target": "data_platform_download_minute_try_sina_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L64",
      "weight": 1.0,
      "source": "data_platform_download_minute_rationale_64",
      "target": "data_platform_download_minute_try_sina_15min",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L126",
      "weight": 1.0,
      "source": "data_platform_download_minute_try_minute_query_aggregate",
      "target": "data_platform_download_minute_aggregate_1m_to_15m",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L178",
      "weight": 1.0,
      "source": "data_platform_download_minute_download_single",
      "target": "data_platform_download_minute_try_minute_query_aggregate",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L99",
      "weight": 1.0,
      "source": "data_platform_download_minute_rationale_99",
      "target": "data_platform_download_minute_try_minute_query_aggregate",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L133",
      "weight": 1.0,
      "source": "data_platform_download_minute_rationale_133",
      "target": "data_platform_download_minute_aggregate_1m_to_15m",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L168",
      "weight": 1.0,
      "source": "data_platform_download_minute_download_single",
      "target": "data_platform_download_minute_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L187",
      "weight": 1.0,
      "source": "data_platform_download_minute_download_with_increment",
      "target": "data_platform_download_minute_get_market_prefix",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L191",
      "weight": 1.0,
      "source": "data_platform_download_minute_download_with_increment",
      "target": "data_platform_download_minute_download_single",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L167",
      "weight": 1.0,
      "source": "data_platform_download_minute_rationale_167",
      "target": "data_platform_download_minute_download_single",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L301",
      "weight": 1.0,
      "source": "data_platform_download_minute_main",
      "target": "data_platform_download_minute_download_with_increment",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L283",
      "weight": 1.0,
      "source": "data_platform_download_minute_main",
      "target": "data_platform_download_minute_load_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L324",
      "weight": 1.0,
      "source": "data_platform_download_minute_main",
      "target": "data_platform_download_minute_save_progress",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/download_minute.py",
      "source_location": "L279",
      "weight": 1.0,
      "source": "data_platform_download_minute_main",
      "target": "data_platform_download_minute_get_stock_list",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/download_minute.py",
      "source_location": "L253",
      "weight": 1.0,
      "source": "data_platform_download_minute_get_stock_list",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/download_minute.py",
      "source_location": "L270",
      "weight": 1.0,
      "source": "data_platform_download_minute_main",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L19",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_fast_py",
      "target": "data_platform_import_vnpy_daily_fast_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L27",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_fast_py",
      "target": "data_platform_import_vnpy_daily_fast_import_year",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L87",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_fast_py",
      "target": "data_platform_import_vnpy_daily_fast_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L40",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_fast_import_year",
      "target": "data_platform_import_vnpy_daily_fast_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L101",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_fast_main",
      "target": "data_platform_import_vnpy_daily_fast_import_year",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/import_vnpy_daily_fast.py",
      "source_location": "L28",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_fast_import_year",
      "target": "str"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L14",
      "weight": 1.0,
      "source": "data_platform_fallback_py",
      "target": "data_platform_fallback_fallbackmanager",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L15",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager",
      "target": "data_platform_fallback_fallbackmanager_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L18",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager",
      "target": "data_platform_fallback_fallbackmanager_get_source_used",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L21",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager",
      "target": "data_platform_fallback_fallbackmanager_get_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L43",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager",
      "target": "data_platform_fallback_fallbackmanager_get_realtime",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L50",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager",
      "target": "data_platform_fallback_fallbackmanager_fetch_akshare_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L66",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager",
      "target": "data_platform_fallback_fallbackmanager_fetch_tencent_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L25",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager_get_daily",
      "target": "data_platform_fallback_fallbackmanager_fetch_akshare_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L34",
      "weight": 1.0,
      "source": "data_platform_fallback_fallbackmanager_get_daily",
      "target": "data_platform_fallback_fallbackmanager_fetch_tencent_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/fallback.py",
      "source_location": "L22",
      "weight": 1.0,
      "source": "data_platform_fallback_rationale_22",
      "target": "data_platform_fallback_fallbackmanager_get_daily",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L20",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_py",
      "target": "data_platform_import_vnpy_daily_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L30",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_py",
      "target": "data_platform_import_vnpy_daily_import_year",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L104",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_py",
      "target": "data_platform_import_vnpy_daily_update_overview",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L121",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_py",
      "target": "data_platform_import_vnpy_daily_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_import_year",
      "target": "data_platform_import_vnpy_daily_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L21",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_rationale_21",
      "target": "data_platform_import_vnpy_daily_parse_filename",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L144",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_main",
      "target": "data_platform_import_vnpy_daily_import_year",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L32",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_import_year",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "data_platform/import_vnpy_daily.py",
      "source_location": "L153",
      "weight": 1.0,
      "source": "data_platform_import_vnpy_daily_main",
      "target": "data_platform_import_vnpy_daily_update_overview",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L27",
      "weight": 1.0,
      "source": "src_adapters_vnpy_local_data_adapter_py",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L341",
      "weight": 1.0,
      "source": "src_adapters_vnpy_local_data_adapter_py",
      "target": "adapters_vnpy_local_data_adapter_dataconverttool",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L348",
      "weight": 1.0,
      "source": "src_adapters_vnpy_local_data_adapter_py",
      "target": "adapters_vnpy_local_data_adapter_convert_zhaoyun_to_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L401",
      "weight": 1.0,
      "source": "src_adapters_vnpy_local_data_adapter_py",
      "target": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L66",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_validate_data_dirs",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_parse_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L102",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_local_daily_file_path",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L137",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_load_local_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L197",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_fetch_akshare_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L257",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L284",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_verify_local_data_structure",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L386",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_convert_zhaoyun_to_vnpy",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L28",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_28",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L64",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_init",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_validate_data_dirs",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L57",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_57",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_init",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L113",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_local_daily_file_path",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_parse_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L182",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_load_local_daily_data",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_parse_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L210",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_fetch_akshare_daily_data",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_parse_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L386",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_convert_zhaoyun_to_vnpy",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_parse_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L75",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_75",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_parse_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L160",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_load_local_daily_data",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_local_daily_file_path",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L307",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_verify_local_data_structure",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_local_daily_file_path",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L103",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_103",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_local_daily_file_path",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L126",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_local_daily_file_path",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L271",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_daily_data",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_load_local_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L138",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_138",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_load_local_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L276",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_daily_data",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_fetch_akshare_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L198",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_198",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_fetch_akshare_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L428",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_get_daily_bar_data",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L258",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_258",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_get_daily_data",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L285",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_285",
      "target": "adapters_vnpy_local_data_adapter_vnpylocaldataadapter_verify_local_data_structure",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L342",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_342",
      "target": "adapters_vnpy_local_data_adapter_dataconverttool",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L407",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper",
      "target": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L419",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper",
      "target": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_patch_methods",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L426",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper",
      "target": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_get_daily_bar_data",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L402",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_402",
      "target": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L417",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_init",
      "target": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_patch_methods",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/adapters/vnpy_local_data_adapter.py",
      "source_location": "L408",
      "weight": 1.0,
      "source": "adapters_vnpy_local_data_adapter_rationale_408",
      "target": "adapters_vnpy_local_data_adapter_vnpydatamanagerwrapper_init",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/scripts/start_web_trader.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "src_scripts_start_web_trader_py",
      "target": "scripts_start_web_trader_main",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/scripts/start_rpc_server.py",
      "source_location": "L27",
      "weight": 1.0,
      "source": "src_scripts_start_rpc_server_py",
      "target": "scripts_start_rpc_server_main",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "src_backtest_service_task_queue_py",
      "target": "src_backtest_service_config_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L14",
      "weight": 1.0,
      "source": "src_backtest_service_task_queue_py",
      "target": "src_backtest_service_models_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L15",
      "weight": 1.0,
      "source": "src_backtest_service_task_queue_py",
      "target": "src_backtest_service_result_storage_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L18",
      "weight": 1.0,
      "source": "src_backtest_service_task_queue_py",
      "target": "backtest_service_task_queue_taskqueue",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L1",
      "weight": 1.0,
      "source": "backtest_service_task_queue_rationale_1",
      "target": "src_backtest_service_task_queue_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L15",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "src_backtest_service_task_queue_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "src_backtest_service_main_py",
      "target": "src_backtest_service_task_queue_py",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L21",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L30",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_generate_task_id",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L33",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_submit_task",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L49",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_list_tasks",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L85",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_get_task",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L92",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_worker_loop",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L125",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_start_worker_pool",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L133",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_task_queue_taskqueue_close_worker_pool",
      "confidence_score": 1.0
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L14",
      "weight": 0.8,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_models_taskstatus",
      "confidence_score": 0.5
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L14",
      "weight": 0.8,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_models_backtesttask",
      "confidence_score": 0.5
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L14",
      "weight": 0.8,
      "source": "backtest_service_task_queue_taskqueue",
      "target": "backtest_service_models_backtesttaskwithid",
      "confidence_score": 0.5
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L35",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue_submit_task",
      "target": "backtest_service_task_queue_taskqueue_generate_task_id",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L31",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue_generate_task_id",
      "target": "str"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "backtest_service_task_queue_taskqueue_submit_task",
      "target": "backtest_service_models_backtesttaskwithid"
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/task_queue.py",
      "source_location": "L93",
      "weight": 1.0,
      "source": "backtest_service_task_queue_rationale_93",
      "target": "backtest_service_task_queue_taskqueue_worker_loop",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/config.py",
      "source_location": "L7",
      "weight": 1.0,
      "source": "src_backtest_service_config_py",
      "target": "backtest_service_config_settings",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L9",
      "weight": 1.0,
      "source": "src_backtest_service_result_storage_py",
      "target": "src_backtest_service_config_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L11",
      "weight": 1.0,
      "source": "src_backtest_service_main_py",
      "target": "src_backtest_service_config_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L22",
      "weight": 1.0,
      "source": "src_backtest_service_executor_py",
      "target": "src_backtest_service_config_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L4",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "enum",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_taskstatus",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L18",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_backtesttask",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L31",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_backtesttaskwithid",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L40",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_backteststatistics",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_backtestresult",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_tasklistresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L84",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_apiresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L91",
      "weight": 1.0,
      "source": "src_backtest_service_models_py",
      "target": "backtest_service_models_healthcheckresponse",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L8",
      "weight": 1.0,
      "source": "src_backtest_service_result_storage_py",
      "target": "src_backtest_service_models_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L6",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "src_backtest_service_models_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L14",
      "weight": 1.0,
      "source": "src_backtest_service_main_py",
      "target": "src_backtest_service_models_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L23",
      "weight": 1.0,
      "source": "src_backtest_service_executor_py",
      "target": "src_backtest_service_models_py",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "backtest_service_models_taskstatus",
      "target": "str",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L10",
      "weight": 1.0,
      "source": "backtest_service_models_taskstatus",
      "target": "enum",
      "confidence_score": 1.0
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L23",
      "weight": 0.8,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_models_taskstatus",
      "confidence_score": 0.5
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L182",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor_execute_backtest",
      "target": "str"
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L18",
      "weight": 1.0,
      "source": "backtest_service_models_backtesttask",
      "target": "basemodel",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L31",
      "weight": 1.0,
      "source": "backtest_service_models_backtesttaskwithid",
      "target": "backtest_service_models_backtesttask",
      "confidence_score": 1.0
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L23",
      "weight": 0.8,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_models_backtesttask",
      "confidence_score": 0.5
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L40",
      "weight": 1.0,
      "source": "backtest_service_models_backteststatistics",
      "target": "basemodel",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L59",
      "weight": 1.0,
      "source": "backtest_service_models_backtestresult",
      "target": "basemodel",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "backtest_service_models_tasklistresponse",
      "target": "basemodel",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L84",
      "weight": 1.0,
      "source": "backtest_service_models_apiresponse",
      "target": "basemodel",
      "confidence_score": 1.0
    },
    {
      "relation": "inherits",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/models.py",
      "source_location": "L91",
      "weight": 1.0,
      "source": "backtest_service_models_healthcheckresponse",
      "target": "basemodel",
      "confidence_score": 1.0
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L8",
      "weight": 0.8,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_models_backtesttaskwithid",
      "confidence_score": 0.5
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L23",
      "weight": 0.8,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_models_backtesttaskwithid",
      "confidence_score": 0.5
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_load_task",
      "target": "backtest_service_models_backtesttaskwithid"
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L23",
      "weight": 0.8,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_models_backteststatistics",
      "confidence_score": 0.5
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L181",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor_execute_backtest",
      "target": "backtest_service_models_backteststatistics"
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L8",
      "weight": 0.8,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_models_backtestresult",
      "confidence_score": 0.5
    },
    {
      "relation": "uses",
      "confidence": "INFERRED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L23",
      "weight": 0.8,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_models_backtestresult",
      "confidence_score": 0.5
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L78",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_load_result",
      "target": "backtest_service_models_backtestresult"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L116",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor_execute_backtest",
      "target": "backtest_service_models_backtestresult"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/api.py",
      "source_location": "L46",
      "weight": 1.0,
      "source": "backtest_service_api_list_tasks",
      "target": "backtest_service_models_tasklistresponse"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/api.py",
      "source_location": "L85",
      "weight": 1.0,
      "source": "backtest_service_api_health_check",
      "target": "backtest_service_models_healthcheckresponse"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "src/backtest-service/main.py",
      "source_location": "L56",
      "weight": 1.0,
      "source": "backtest_service_main_health",
      "target": "backtest_service_models_healthcheckresponse"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L12",
      "weight": 1.0,
      "source": "src_backtest_service_result_storage_py",
      "target": "backtest_service_result_storage_json_serial",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L19",
      "weight": 1.0,
      "source": "src_backtest_service_result_storage_py",
      "target": "backtest_service_result_storage_resultstorage",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L16",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "src_backtest_service_result_storage_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L24",
      "weight": 1.0,
      "source": "src_backtest_service_executor_py",
      "target": "src_backtest_service_result_storage_py",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L13",
      "weight": 1.0,
      "source": "backtest_service_result_storage_rationale_13",
      "target": "backtest_service_result_storage_json_serial",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L22",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L26",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_ensure_dirs",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L32",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_task_dir",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L36",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_save_task",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L45",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_load_task",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L58",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_save_result",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L67",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_load_result",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L80",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_find_task",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L88",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_find_result",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L96",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage",
      "target": "backtest_service_result_storage_resultstorage_get_task_path",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L24",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_init",
      "target": "backtest_service_result_storage_resultstorage_ensure_dirs",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L38",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_save_task",
      "target": "backtest_service_result_storage_resultstorage_task_dir",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L47",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_load_task",
      "target": "backtest_service_result_storage_resultstorage_task_dir",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L60",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_save_result",
      "target": "backtest_service_result_storage_resultstorage_task_dir",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L69",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_load_result",
      "target": "backtest_service_result_storage_resultstorage_task_dir",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L98",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_get_task_path",
      "target": "backtest_service_result_storage_resultstorage_task_dir",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L83",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_find_task",
      "target": "backtest_service_result_storage_resultstorage_load_task",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/result_storage.py",
      "source_location": "L91",
      "weight": 1.0,
      "source": "backtest_service_result_storage_resultstorage_find_result",
      "target": "backtest_service_result_storage_resultstorage_load_result",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L17",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "src_backtest_service_executor_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L24",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "backtest_service_api_submit_task",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L36",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "backtest_service_api_list_tasks",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "backtest_service_api_get_status",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L60",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "backtest_service_api_get_result",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L72",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "backtest_service_api_delete_task",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L80",
      "weight": 1.0,
      "source": "src_backtest_service_api_py",
      "target": "backtest_service_api_health_check",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/api.py",
      "source_location": "L74",
      "weight": 1.0,
      "source": "backtest_service_api_rationale_74",
      "target": "src_backtest_service_api_py",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L12",
      "weight": 1.0,
      "source": "src_backtest_service_main_py",
      "target": "src_backtest_service_api_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L18",
      "weight": 1.0,
      "source": "src_backtest_service_main_py",
      "target": "backtest_service_main_lifespan",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L51",
      "weight": 1.0,
      "source": "src_backtest_service_main_py",
      "target": "backtest_service_main_health",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L1",
      "weight": 1.0,
      "source": "backtest_service_main_rationale_1",
      "target": "src_backtest_service_main_py",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/main.py",
      "source_location": "L19",
      "weight": 1.0,
      "source": "backtest_service_main_rationale_19",
      "target": "backtest_service_main_lifespan",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L52",
      "weight": 1.0,
      "source": "src_backtest_service_executor_py",
      "target": "backtest_service_executor_parse_vt_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L70",
      "weight": 1.0,
      "source": "src_backtest_service_executor_py",
      "target": "backtest_service_executor_backtestexecutor",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L1",
      "weight": 1.0,
      "source": "backtest_service_executor_rationale_1",
      "target": "src_backtest_service_executor_py",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L130",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor_execute_backtest",
      "target": "backtest_service_executor_parse_vt_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "rationale_for",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L53",
      "weight": 1.0,
      "source": "backtest_service_executor_rationale_53",
      "target": "backtest_service_executor_parse_vt_symbol",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L73",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_executor_backtestexecutor_init",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L76",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_executor_backtestexecutor_load_strategy",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L107",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_executor_backtestexecutor_execute_backtest",
      "confidence_score": 1.0
    },
    {
      "relation": "method",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L240",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor",
      "target": "backtest_service_executor_backtestexecutor_plot_equity_curve",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L127",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor_execute_backtest",
      "target": "backtest_service_executor_backtestexecutor_load_strategy",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/executor.py",
      "source_location": "L207",
      "weight": 1.0,
      "source": "backtest_service_executor_backtestexecutor_execute_backtest",
      "target": "backtest_service_executor_backtestexecutor_plot_equity_curve",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "readme_md",
      "target": "sanguo_vnpy_readme_sanguo_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L5",
      "weight": 1.0,
      "source": "sanguo_vnpy_readme_sanguo_vnpy",
      "target": "sanguo_vnpy_readme",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "sanguo_vnpy_readme_sanguo_vnpy",
      "target": "sanguo_vnpy_readme_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L21",
      "weight": 1.0,
      "source": "sanguo_vnpy_readme_sanguo_vnpy",
      "target": "sanguo_vnpy_readme_21",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L48",
      "weight": 1.0,
      "source": "sanguo_vnpy_readme_sanguo_vnpy",
      "target": "sanguo_vnpy_readme_48",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L52",
      "weight": 1.0,
      "source": "sanguo_vnpy_readme_sanguo_vnpy",
      "target": "sanguo_vnpy_readme_52",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L60",
      "weight": 1.0,
      "source": "sanguo_vnpy_readme_sanguo_vnpy",
      "target": "sanguo_vnpy_readme_60",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "README.md",
      "source_location": "L23",
      "weight": 1.0,
      "source": "sanguo_vnpy_readme_21",
      "target": "sanguo_vnpy_readme_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_jq_essence_articles_9_md",
      "target": "jq_essence_articles_9_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "jq_essence_articles_9_9",
      "target": "jq_essence_articles_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "jq_essence_articles_9_9",
      "target": "jq_essence_articles_9_26",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L49",
      "weight": 1.0,
      "source": "jq_essence_articles_9_9",
      "target": "jq_essence_articles_9_49",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L158",
      "weight": 1.0,
      "source": "jq_essence_articles_9_9",
      "target": "jq_essence_articles_9_158",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L261",
      "weight": 1.0,
      "source": "jq_essence_articles_9_9",
      "target": "jq_essence_articles_9_261",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L304",
      "weight": 1.0,
      "source": "jq_essence_articles_9_9",
      "target": "jq_essence_articles_9_304",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L326",
      "weight": 1.0,
      "source": "jq_essence_articles_9_9",
      "target": "jq_essence_articles_9_326",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "jq_essence_articles_9",
      "target": "jq_essence_articles_9_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L18",
      "weight": 1.0,
      "source": "jq_essence_articles_9",
      "target": "jq_essence_articles_9_18",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "jq_essence_articles",
      "target": "jq_essence_articles_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "jq_essence_articles_9",
      "target": "jq_essence_articles_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L18",
      "weight": 1.0,
      "source": "jq_essence_articles_9",
      "target": "jq_essence_articles_18",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "jq_essence_articles_9_26",
      "target": "jq_essence_articles_9_2_1_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "jq_essence_articles_9_26",
      "target": "jq_essence_articles_9_2_2_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L51",
      "weight": 1.0,
      "source": "jq_essence_articles_9_49",
      "target": "jq_essence_articles_9_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "jq_essence_articles_9_49",
      "target": "jq_essence_articles_9_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L87",
      "weight": 1.0,
      "source": "jq_essence_articles_9_49",
      "target": "jq_essence_articles_9_3_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L121",
      "weight": 1.0,
      "source": "jq_essence_articles_9_49",
      "target": "jq_essence_articles_9_3_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L140",
      "weight": 1.0,
      "source": "jq_essence_articles_9_49",
      "target": "jq_essence_articles_9_3_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L53",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_1",
      "target": "jq_essence_articles_9_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L60",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_1",
      "target": "jq_essence_articles_9_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_1",
      "target": "jq_essence_articles_9_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L75",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_2",
      "target": "jq_essence_articles_9_1_75",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L81",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_2",
      "target": "jq_essence_articles_9_2_81",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L89",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_3",
      "target": "jq_essence_articles_9_1_89",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L100",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_3",
      "target": "jq_essence_articles_9_2_100",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L111",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_3",
      "target": "jq_essence_articles_9_3_111",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L123",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_4",
      "target": "jq_essence_articles_9_1_123",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L130",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_4",
      "target": "jq_essence_articles_9_2_130",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L136",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_4",
      "target": "jq_essence_articles_9_3_136",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L142",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_5",
      "target": "jq_essence_articles_9_1_142",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_5",
      "target": "jq_essence_articles_9_2_146",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L151",
      "weight": 1.0,
      "source": "jq_essence_articles_9_3_5",
      "target": "jq_essence_articles_9_3_151",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L160",
      "weight": 1.0,
      "source": "jq_essence_articles_9_158",
      "target": "jq_essence_articles_9_4_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L184",
      "weight": 1.0,
      "source": "jq_essence_articles_9_158",
      "target": "jq_essence_articles_9_4_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L198",
      "weight": 1.0,
      "source": "jq_essence_articles_9_158",
      "target": "jq_essence_articles_9_4_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L230",
      "weight": 1.0,
      "source": "jq_essence_articles_9_158",
      "target": "jq_essence_articles_9_4_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L162",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_1",
      "target": "jq_essence_articles_9_1_162",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L173",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_1",
      "target": "jq_essence_articles_9_2_173",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L179",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_1",
      "target": "jq_essence_articles_9_3_179",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L186",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_2",
      "target": "jq_essence_articles_9_1_186",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L190",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_2",
      "target": "jq_essence_articles_9_2_190",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L194",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_2",
      "target": "jq_essence_articles_9_3_194",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L200",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_3",
      "target": "jq_essence_articles_9_1_200",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L204",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_3",
      "target": "jq_essence_articles_9_2_204",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L215",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_3",
      "target": "jq_essence_articles_9_3_215",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L219",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_3",
      "target": "jq_essence_articles_9_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L232",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_4",
      "target": "jq_essence_articles_9_1_232",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L243",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_4",
      "target": "jq_essence_articles_9_2_243",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L253",
      "weight": 1.0,
      "source": "jq_essence_articles_9_4_4",
      "target": "jq_essence_articles_9_3_253",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L263",
      "weight": 1.0,
      "source": "jq_essence_articles_9_261",
      "target": "jq_essence_articles_9_5_1_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L276",
      "weight": 1.0,
      "source": "jq_essence_articles_9_261",
      "target": "jq_essence_articles_9_5_2_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L289",
      "weight": 1.0,
      "source": "jq_essence_articles_9_261",
      "target": "jq_essence_articles_9_5_3_3_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L265",
      "weight": 1.0,
      "source": "jq_essence_articles_9_5_1_1_2",
      "target": "jq_essence_articles_9_1_265",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L271",
      "weight": 1.0,
      "source": "jq_essence_articles_9_5_1_1_2",
      "target": "jq_essence_articles_9_2_271",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L278",
      "weight": 1.0,
      "source": "jq_essence_articles_9_5_2_1_2",
      "target": "jq_essence_articles_9_1_278",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L284",
      "weight": 1.0,
      "source": "jq_essence_articles_9_5_2_1_2",
      "target": "jq_essence_articles_9_2_284",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L291",
      "weight": 1.0,
      "source": "jq_essence_articles_9_5_3_3_6",
      "target": "jq_essence_articles_9_1_291",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L297",
      "weight": 1.0,
      "source": "jq_essence_articles_9_5_3_3_6",
      "target": "jq_essence_articles_9_2_297",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L306",
      "weight": 1.0,
      "source": "jq_essence_articles_9_304",
      "target": "jq_essence_articles_9_6_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L317",
      "weight": 1.0,
      "source": "jq_essence_articles_9_304",
      "target": "jq_essence_articles_9_6_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L321",
      "weight": 1.0,
      "source": "jq_essence_articles_9_304",
      "target": "jq_essence_articles_9_6_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/9\u7bc7\u7cbe\u534e\u6587\u7ae0\u5206\u6790\u62a5\u544a.md",
      "source_location": "L330",
      "weight": 1.0,
      "source": "jq_essence_articles_9_326",
      "target": "jq_essence_articles_9_330",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_jq_essence_articles_md",
      "target": "jq_essence_articles",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L24",
      "weight": 1.0,
      "source": "jq_essence_articles",
      "target": "jq_essence_articles_24",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L57",
      "weight": 1.0,
      "source": "jq_essence_articles",
      "target": "jq_essence_articles_57",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L95",
      "weight": 1.0,
      "source": "jq_essence_articles",
      "target": "jq_essence_articles_95",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L133",
      "weight": 1.0,
      "source": "jq_essence_articles",
      "target": "jq_essence_articles_133",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L153",
      "weight": 1.0,
      "source": "jq_essence_articles",
      "target": "jq_essence_articles_153",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L173",
      "weight": 1.0,
      "source": "jq_essence_articles",
      "target": "jq_essence_articles_173",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "jq_essence_articles_24",
      "target": "jq_essence_articles_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "jq_essence_articles_24",
      "target": "jq_essence_articles_2_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "jq_essence_articles_2_2",
      "target": "jq_essence_articles_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L59",
      "weight": 1.0,
      "source": "jq_essence_articles_57",
      "target": "jq_essence_articles_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L76",
      "weight": 1.0,
      "source": "jq_essence_articles_57",
      "target": "jq_essence_articles_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L61",
      "weight": 1.0,
      "source": "jq_essence_articles_3_1",
      "target": "jq_essence_articles_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L66",
      "weight": 1.0,
      "source": "jq_essence_articles_3_1",
      "target": "jq_essence_articles_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L71",
      "weight": 1.0,
      "source": "jq_essence_articles_3_1",
      "target": "jq_essence_articles_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L78",
      "weight": 1.0,
      "source": "jq_essence_articles_3_2",
      "target": "jq_essence_articles_1_78",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "jq_essence_articles_3_2",
      "target": "jq_essence_articles_2_83",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L88",
      "weight": 1.0,
      "source": "jq_essence_articles_3_2",
      "target": "jq_essence_articles_3_88",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L97",
      "weight": 1.0,
      "source": "jq_essence_articles_95",
      "target": "jq_essence_articles_4_1_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L108",
      "weight": 1.0,
      "source": "jq_essence_articles_95",
      "target": "jq_essence_articles_4_2_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "jq_essence_articles_95",
      "target": "jq_essence_articles_4_3_3_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L135",
      "weight": 1.0,
      "source": "jq_essence_articles_133",
      "target": "jq_essence_articles_135",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L155",
      "weight": 1.0,
      "source": "jq_essence_articles_153",
      "target": "jq_essence_articles_155",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/jq_essence_articles/\u805a\u5bbd\u793e\u533a\u6587\u7ae0\u722c\u53d6\u5206\u6790\u4efb\u52a1\u5b8c\u6210\u62a5\u544a.md",
      "source_location": "L164",
      "weight": 1.0,
      "source": "jq_essence_articles_153",
      "target": "jq_essence_articles_164",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_docker_docker_dependency_cache_scheme_md",
      "target": "docker_docker_dependency_cache_scheme_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_docker",
      "target": "docker_docker_dependency_cache_scheme",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_docker",
      "target": "docker_docker_dependency_cache_scheme_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L63",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_docker",
      "target": "docker_docker_dependency_cache_scheme_63",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L107",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_docker",
      "target": "docker_docker_dependency_cache_scheme_107",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L151",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_docker",
      "target": "docker_docker_dependency_cache_scheme_151",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L162",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_docker",
      "target": "docker_docker_dependency_cache_scheme_162",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L170",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_docker",
      "target": "docker_docker_dependency_cache_scheme_170",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L13",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_11",
      "target": "docker_docker_dependency_cache_scheme_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_11",
      "target": "docker_docker_dependency_cache_scheme_26",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_11",
      "target": "docker_docker_dependency_cache_scheme_dockerfile",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L15",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_13",
      "target": "docker_docker_dependency_cache_scheme_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L40",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_dockerfile",
      "target": "docker_docker_dependency_cache_scheme_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L65",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_63",
      "target": "docker_docker_dependency_cache_scheme_65",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_63",
      "target": "docker_docker_dependency_cache_scheme_72",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L96",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_63",
      "target": "docker_docker_dependency_cache_scheme_96",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L74",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_72",
      "target": "docker_docker_dependency_cache_scheme_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L109",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_107",
      "target": "docker_docker_dependency_cache_scheme_109",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L126",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_107",
      "target": "docker_docker_dependency_cache_scheme_126",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L122",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_109",
      "target": "docker_docker_dependency_cache_scheme_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L128",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_126",
      "target": "docker_docker_dependency_cache_scheme_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L138",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_126",
      "target": "docker_docker_dependency_cache_scheme_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L130",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_1",
      "target": "docker_docker_dependency_cache_scheme_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/docker-dependency-cache-scheme.md",
      "source_location": "L140",
      "weight": 1.0,
      "source": "docker_docker_dependency_cache_scheme_2",
      "target": "docker_docker_dependency_cache_scheme_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_docker_automated_backtest_service_design_md",
      "target": "docker_automated_backtest_service_design",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L21",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_21",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_28",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_67",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L79",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L180",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_180",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L198",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_198",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L209",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_209",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L225",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_225",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L235",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_235",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L248",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_2026_04_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L325",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design",
      "target": "docker_automated_backtest_service_design_2026_04_12_325",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L30",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_28",
      "target": "docker_automated_backtest_service_design_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L81",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_api",
      "target": "docker_automated_backtest_service_design_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L113",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_api",
      "target": "docker_automated_backtest_service_design_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L131",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_api",
      "target": "docker_automated_backtest_service_design_3_131",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L158",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_api",
      "target": "docker_automated_backtest_service_design_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L86",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_1",
      "target": "docker_automated_backtest_service_design_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L102",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_1",
      "target": "docker_automated_backtest_service_design_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L118",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2",
      "target": "docker_automated_backtest_service_design_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L136",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_3_131",
      "target": "docker_automated_backtest_service_design_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L163",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_4",
      "target": "docker_automated_backtest_service_design_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L182",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_180",
      "target": "docker_automated_backtest_service_design_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L202",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_198",
      "target": "docker_automated_backtest_service_design_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L211",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_209",
      "target": "docker_automated_backtest_service_design_211",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L219",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_209",
      "target": "docker_automated_backtest_service_design_219",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L213",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_211",
      "target": "docker_automated_backtest_service_design_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L221",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_219",
      "target": "docker_automated_backtest_service_design_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L250",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12",
      "target": "docker_automated_backtest_service_design_250",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L257",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12",
      "target": "docker_automated_backtest_service_design_257",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L269",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12",
      "target": "docker_automated_backtest_service_design_269",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L283",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12",
      "target": "docker_automated_backtest_service_design_283",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L303",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12",
      "target": "docker_automated_backtest_service_design_303",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L311",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12",
      "target": "docker_automated_backtest_service_design_311",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L318",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12",
      "target": "docker_automated_backtest_service_design_318",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L285",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_283",
      "target": "docker_automated_backtest_service_design_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L327",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12_325",
      "target": "docker_automated_backtest_service_design_327",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L368",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12_325",
      "target": "docker_automated_backtest_service_design_368",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L384",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2026_04_12_325",
      "target": "docker_automated_backtest_service_design_384",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L329",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_327",
      "target": "docker_automated_backtest_service_design_1_dockerfile",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L334",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_327",
      "target": "docker_automated_backtest_service_design_2_334",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L355",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_327",
      "target": "docker_automated_backtest_service_design_3_355",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L336",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_2_334",
      "target": "docker_automated_backtest_service_design_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/docker/automated-backtest-service-design.md",
      "source_location": "L356",
      "weight": 1.0,
      "source": "docker_automated_backtest_service_design_3_355",
      "target": "docker_automated_backtest_service_design_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_nas_nas_md",
      "target": "nas_nas_mac_mini_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_nas_nas_md",
      "target": "nas_nas_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_28",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L51",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_51",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L71",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_71",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L99",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_mac_mini_nas_99",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L158",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_158",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L184",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_184",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L213",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_213",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L230",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_230",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L258",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas",
      "target": "nas_nas_258",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L13",
      "weight": 1.0,
      "source": "nas_nas",
      "target": "nas_nas_1_finder",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L23",
      "weight": 1.0,
      "source": "nas_nas",
      "target": "nas_nas_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L5",
      "weight": 1.0,
      "source": "nas_nas",
      "target": "nas_nas_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L13",
      "weight": 1.0,
      "source": "nas_nas_11",
      "target": "nas_nas_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L30",
      "weight": 1.0,
      "source": "nas_nas_28",
      "target": "nas_nas_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "nas_nas_28",
      "target": "nas_nas_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L53",
      "weight": 1.0,
      "source": "nas_nas_51",
      "target": "nas_nas_4_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L61",
      "weight": 1.0,
      "source": "nas_nas_51",
      "target": "nas_nas_4_2_smb",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "nas_nas_71",
      "target": "nas_nas_5_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L84",
      "weight": 1.0,
      "source": "nas_nas_71",
      "target": "nas_nas_5_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L101",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas_99",
      "target": "nas_nas_6_1_finder",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L109",
      "weight": 1.0,
      "source": "nas_nas_mac_mini_nas_99",
      "target": "nas_nas_6_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L111",
      "weight": 1.0,
      "source": "nas_nas_6_2",
      "target": "nas_nas_a_automator",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L128",
      "weight": 1.0,
      "source": "nas_nas_6_2",
      "target": "nas_nas_b_autofs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L118",
      "weight": 1.0,
      "source": "nas_nas_a_automator",
      "target": "nas_nas_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "nas_nas_18",
      "target": "nas_nas_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L25",
      "weight": 1.0,
      "source": "nas_nas_2",
      "target": "nas_nas_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L131",
      "weight": 1.0,
      "source": "nas_nas_b_autofs",
      "target": "nas_nas_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L136",
      "weight": 1.0,
      "source": "nas_nas_b_autofs",
      "target": "nas_nas_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L141",
      "weight": 1.0,
      "source": "nas_nas_b_autofs",
      "target": "nas_nas_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "nas_nas_b_autofs",
      "target": "nas_nas_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L151",
      "weight": 1.0,
      "source": "nas_nas_b_autofs",
      "target": "nas_nas_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L41",
      "weight": 1.0,
      "source": "nas_nas_37",
      "target": "nas_nas_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L53",
      "weight": 1.0,
      "source": "nas_nas_2_automator",
      "target": "nas_nas_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "nas_nas_68",
      "target": "nas_nas_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L74",
      "weight": 1.0,
      "source": "nas_nas_stock",
      "target": "nas_nas_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L112",
      "weight": 1.0,
      "source": "nas_nas_108",
      "target": "nas_nas_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L97",
      "weight": 1.0,
      "source": "nas_nas_93",
      "target": "nas_nas_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "nas_nas_144",
      "target": "nas_nas_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L117",
      "weight": 1.0,
      "source": "nas_nas_115",
      "target": "nas_nas_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L151",
      "weight": 1.0,
      "source": "nas_nas_144",
      "target": "nas_nas_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L160",
      "weight": 1.0,
      "source": "nas_nas_158",
      "target": "nas_nas_7_1_macos_smb",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L175",
      "weight": 1.0,
      "source": "nas_nas_158",
      "target": "nas_nas_7_2_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L164",
      "weight": 1.0,
      "source": "nas_nas_7_1_macos_smb",
      "target": "nas_nas_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L162",
      "weight": 1.0,
      "source": "nas_nas_160",
      "target": "nas_nas_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L186",
      "weight": 1.0,
      "source": "nas_nas_184",
      "target": "nas_nas_8_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L203",
      "weight": 1.0,
      "source": "nas_nas_184",
      "target": "nas_nas_8_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L215",
      "weight": 1.0,
      "source": "nas_nas_213",
      "target": "nas_nas_215",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L221",
      "weight": 1.0,
      "source": "nas_nas_213",
      "target": "nas_nas_221",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L232",
      "weight": 1.0,
      "source": "nas_nas_230",
      "target": "nas_nas_10_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L236",
      "weight": 1.0,
      "source": "nas_nas_230",
      "target": "nas_nas_10_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5b58\u50a8\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L248",
      "weight": 1.0,
      "source": "nas_nas_230",
      "target": "nas_nas_10_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L16",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_37",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L54",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_54",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L66",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_66",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L108",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_108",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L142",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_142",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L170",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_170",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L204",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_204",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L235",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_235",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L259",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_259",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L302",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_302",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L314",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_314",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_nas_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_35",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_stock",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L93",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_93",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_115",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L135",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_135",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L152",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_152",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L21",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_21",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "nas_nas_nas",
      "target": "nas_nas_26",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L18",
      "weight": 1.0,
      "source": "nas_nas_16",
      "target": "nas_nas_18",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L68",
      "weight": 1.0,
      "source": "nas_nas_66",
      "target": "nas_nas_68",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L99",
      "weight": 1.0,
      "source": "nas_nas_66",
      "target": "nas_nas_launch_daemon",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L144",
      "weight": 1.0,
      "source": "nas_nas_142",
      "target": "nas_nas_144",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L160",
      "weight": 1.0,
      "source": "nas_nas_142",
      "target": "nas_nas_160",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L172",
      "weight": 1.0,
      "source": "nas_nas_170",
      "target": "nas_nas_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L186",
      "weight": 1.0,
      "source": "nas_nas_170",
      "target": "nas_nas_2_launch_daemon",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L193",
      "weight": 1.0,
      "source": "nas_nas_170",
      "target": "nas_nas_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L175",
      "weight": 1.0,
      "source": "nas_nas_1",
      "target": "nas_nas_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "nas_nas_35",
      "target": "nas_nas_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L189",
      "weight": 1.0,
      "source": "nas_nas_2_launch_daemon",
      "target": "nas_nas_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L198",
      "weight": 1.0,
      "source": "nas_nas_3",
      "target": "nas_nas_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "nas_nas_135",
      "target": "nas_nas_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L206",
      "weight": 1.0,
      "source": "nas_nas_204",
      "target": "nas_nas_206",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L221",
      "weight": 1.0,
      "source": "nas_nas_204",
      "target": "nas_nas_nas_221",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L210",
      "weight": 1.0,
      "source": "nas_nas_206",
      "target": "nas_nas_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L216",
      "weight": 1.0,
      "source": "nas_nas_206",
      "target": "nas_nas_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L225",
      "weight": 1.0,
      "source": "nas_nas_nas_221",
      "target": "nas_nas_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L239",
      "weight": 1.0,
      "source": "nas_nas_235",
      "target": "nas_nas_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L261",
      "weight": 1.0,
      "source": "nas_nas_259",
      "target": "nas_nas_261",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L274",
      "weight": 1.0,
      "source": "nas_nas_259",
      "target": "nas_nas_274",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L287",
      "weight": 1.0,
      "source": "nas_nas_259",
      "target": "nas_nas_287",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L263",
      "weight": 1.0,
      "source": "nas_nas_261",
      "target": "nas_nas_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L276",
      "weight": 1.0,
      "source": "nas_nas_274",
      "target": "nas_nas_codeblock_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L289",
      "weight": 1.0,
      "source": "nas_nas_287",
      "target": "nas_nas_codeblock_17",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_nas_quant_trading_cloud_plan_md",
      "target": "nas_quant_trading_cloud_plan",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan",
      "target": "nas_quant_trading_cloud_plan_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L18",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan",
      "target": "nas_quant_trading_cloud_plan_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L47",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan",
      "target": "nas_quant_trading_cloud_plan_47",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L93",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan",
      "target": "nas_quant_trading_cloud_plan_93",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L113",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan",
      "target": "nas_quant_trading_cloud_plan_113",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan_vnpy",
      "target": "nas_quant_trading_cloud_plan_35",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L49",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan_47",
      "target": "nas_quant_trading_cloud_plan_49",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L63",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan_47",
      "target": "nas_quant_trading_cloud_plan_63",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/quant_trading_cloud_plan.md",
      "source_location": "L78",
      "weight": 1.0,
      "source": "nas_quant_trading_cloud_plan_47",
      "target": "nas_quant_trading_cloud_plan_78",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_nas_sanguo_vnpy_docker_md",
      "target": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_73",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L288",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_docker_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L342",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_342",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L373",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_373",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L422",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_422",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L463",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_dockerfile",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L702",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_docker_compose",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L991",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_991",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1115",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_checklist",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1151",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_1151",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1179",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_1179",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1289",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_1289",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1342",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_sanguo_vnpy_nas_docker",
      "target": "nas_sanguo_vnpy_docker_1342",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L5",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker",
      "target": "nas_sanguo_vnpy_docker_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker",
      "target": "nas_sanguo_vnpy_docker_1_2_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L61",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker",
      "target": "nas_sanguo_vnpy_docker_1_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1_2_nas",
      "target": "nas_sanguo_vnpy_docker_28",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L39",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1_2_nas",
      "target": "nas_sanguo_vnpy_docker_39",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L75",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_73",
      "target": "nas_sanguo_vnpy_docker_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L117",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_73",
      "target": "nas_sanguo_vnpy_docker_2_2_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L194",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_73",
      "target": "nas_sanguo_vnpy_docker_2_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L226",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_73",
      "target": "nas_sanguo_vnpy_docker_2_4_mac_mini",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L258",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_73",
      "target": "nas_sanguo_vnpy_docker_2_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L77",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_1",
      "target": "nas_sanguo_vnpy_docker_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_2_nas",
      "target": "nas_sanguo_vnpy_docker_1_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L164",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_2_nas",
      "target": "nas_sanguo_vnpy_docker_2_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L178",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_2_nas",
      "target": "nas_sanguo_vnpy_docker_3_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L123",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1_nas",
      "target": "nas_sanguo_vnpy_docker_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L152",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1_nas",
      "target": "nas_sanguo_vnpy_docker_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L180",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_docker",
      "target": "nas_sanguo_vnpy_docker_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L196",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_3",
      "target": "nas_sanguo_vnpy_docker_196",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L202",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_196",
      "target": "nas_sanguo_vnpy_docker_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L208",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_196",
      "target": "nas_sanguo_vnpy_docker_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L219",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_196",
      "target": "nas_sanguo_vnpy_docker_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L228",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_4_mac_mini",
      "target": "nas_sanguo_vnpy_docker_228",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L246",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_4_mac_mini",
      "target": "nas_sanguo_vnpy_docker_246",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L250",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_246",
      "target": "nas_sanguo_vnpy_docker_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L260",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_5",
      "target": "nas_sanguo_vnpy_docker_260",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L278",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_5",
      "target": "nas_sanguo_vnpy_docker_vpn",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L290",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_docker_vn_py",
      "target": "nas_sanguo_vnpy_docker_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L317",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_docker_vn_py",
      "target": "nas_sanguo_vnpy_docker_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L292",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_1",
      "target": "nas_sanguo_vnpy_docker_1_nas_292",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L300",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_1",
      "target": "nas_sanguo_vnpy_docker_2_docker_300",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L305",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_1",
      "target": "nas_sanguo_vnpy_docker_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L293",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1_nas_292",
      "target": "nas_sanguo_vnpy_docker_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L307",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3",
      "target": "nas_sanguo_vnpy_docker_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L319",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_2",
      "target": "nas_sanguo_vnpy_docker_1_ssh_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L324",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_2",
      "target": "nas_sanguo_vnpy_docker_2_docker_324",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L329",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_2",
      "target": "nas_sanguo_vnpy_docker_3_329",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L332",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_2",
      "target": "nas_sanguo_vnpy_docker_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L335",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_2",
      "target": "nas_sanguo_vnpy_docker_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L320",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1_ssh_nas",
      "target": "nas_sanguo_vnpy_docker_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L325",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_2_docker_324",
      "target": "nas_sanguo_vnpy_docker_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L344",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_342",
      "target": "nas_sanguo_vnpy_docker_4_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L360",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_342",
      "target": "nas_sanguo_vnpy_docker_4_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L375",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_373",
      "target": "nas_sanguo_vnpy_docker_5_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L395",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_373",
      "target": "nas_sanguo_vnpy_docker_5_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L404",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_373",
      "target": "nas_sanguo_vnpy_docker_5_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L379",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_5_1",
      "target": "nas_sanguo_vnpy_docker_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L424",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_422",
      "target": "nas_sanguo_vnpy_docker_6_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L434",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_422",
      "target": "nas_sanguo_vnpy_docker_6_2_mac_mini",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L453",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_422",
      "target": "nas_sanguo_vnpy_docker_6_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L465",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_dockerfile",
      "target": "nas_sanguo_vnpy_docker_7_1_dockerfile",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L544",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_dockerfile",
      "target": "nas_sanguo_vnpy_docker_7_2_dockerfile_vs_code_server",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L623",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_dockerfile",
      "target": "nas_sanguo_vnpy_docker_7_3_entrypoint_sh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L655",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_dockerfile",
      "target": "nas_sanguo_vnpy_docker_7_4_requirements_txt",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L467",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_7_1_dockerfile",
      "target": "nas_sanguo_vnpy_docker_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L546",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_7_2_dockerfile_vs_code_server",
      "target": "nas_sanguo_vnpy_docker_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L625",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_7_3_entrypoint_sh",
      "target": "nas_sanguo_vnpy_docker_codeblock_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L657",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_7_4_requirements_txt",
      "target": "nas_sanguo_vnpy_docker_codeblock_17",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L704",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_docker_compose",
      "target": "nas_sanguo_vnpy_docker_8_1_docker_compose_yml",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L772",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_docker_compose",
      "target": "nas_sanguo_vnpy_docker_8_2_docker_compose_yml",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L926",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_docker_compose",
      "target": "nas_sanguo_vnpy_docker_8_3_env",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L962",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_docker_compose",
      "target": "nas_sanguo_vnpy_docker_8_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L706",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_8_1_docker_compose_yml",
      "target": "nas_sanguo_vnpy_docker_codeblock_18",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L774",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_8_2_docker_compose_yml",
      "target": "nas_sanguo_vnpy_docker_codeblock_19",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L928",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_8_3_env",
      "target": "nas_sanguo_vnpy_docker_codeblock_20",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L964",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_8_4",
      "target": "nas_sanguo_vnpy_docker_codeblock_21",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L993",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_991",
      "target": "nas_sanguo_vnpy_docker_9_1_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1023",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_991",
      "target": "nas_sanguo_vnpy_docker_9_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1051",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_991",
      "target": "nas_sanguo_vnpy_docker_9_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1076",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_991",
      "target": "nas_sanguo_vnpy_docker_9_4_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1100",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_991",
      "target": "nas_sanguo_vnpy_docker_9_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L995",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_1_docker",
      "target": "nas_sanguo_vnpy_docker_1_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1003",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_1_docker",
      "target": "nas_sanguo_vnpy_docker_2_arm",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1012",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_1_docker",
      "target": "nas_sanguo_vnpy_docker_3_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1016",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_3_nas",
      "target": "nas_sanguo_vnpy_docker_codeblock_22",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1025",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_2",
      "target": "nas_sanguo_vnpy_docker_4_1025",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1035",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_2",
      "target": "nas_sanguo_vnpy_docker_5_1035",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1041",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_5_1035",
      "target": "nas_sanguo_vnpy_docker_codeblock_23",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1053",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_3",
      "target": "nas_sanguo_vnpy_docker_6_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1065",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_3",
      "target": "nas_sanguo_vnpy_docker_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1060",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_6_nas",
      "target": "nas_sanguo_vnpy_docker_codeblock_24",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1078",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_4_vn_py",
      "target": "nas_sanguo_vnpy_docker_8_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1091",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_4_vn_py",
      "target": "nas_sanguo_vnpy_docker_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1082",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_8_vn_py",
      "target": "nas_sanguo_vnpy_docker_codeblock_25",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1086",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_8_vn_py",
      "target": "nas_sanguo_vnpy_docker_codeblock_26",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1102",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_9_5",
      "target": "nas_sanguo_vnpy_docker_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1117",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_checklist",
      "target": "nas_sanguo_vnpy_docker_1117",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1124",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_checklist",
      "target": "nas_sanguo_vnpy_docker_1124",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1134",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_checklist",
      "target": "nas_sanguo_vnpy_docker_1134",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1142",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_checklist",
      "target": "nas_sanguo_vnpy_docker_1142",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1153",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1151",
      "target": "nas_sanguo_vnpy_docker_11_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1163",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1151",
      "target": "nas_sanguo_vnpy_docker_11_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1181",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1179",
      "target": "nas_sanguo_vnpy_docker_12_1_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1201",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1179",
      "target": "nas_sanguo_vnpy_docker_12_2_docker_2_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1226",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1179",
      "target": "nas_sanguo_vnpy_docker_12_3_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1247",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1179",
      "target": "nas_sanguo_vnpy_docker_12_4_2_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1269",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1179",
      "target": "nas_sanguo_vnpy_docker_12_5_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1291",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1289",
      "target": "nas_sanguo_vnpy_docker_13_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1304",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1289",
      "target": "nas_sanguo_vnpy_docker_13_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy\u7fa4\u6656Docker\u90e8\u7f72\u53ef\u884c\u6027\u8c03\u7814\u62a5\u544a.md",
      "source_location": "L1319",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_docker_1289",
      "target": "nas_sanguo_vnpy_docker_13_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_nas_sanguo_vnpy_nas_md",
      "target": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L34",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_34",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L129",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L142",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_142",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L158",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_158",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L182",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_182",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L193",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_193",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L7",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L23",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_vnpy_nas_23",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L36",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_34",
      "target": "nas_sanguo_vnpy_nas_mac_mini",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L54",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_34",
      "target": "nas_sanguo_vnpy_nas_ssh_nas_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_34",
      "target": "nas_sanguo_vnpy_nas_72",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_mac_mini",
      "target": "nas_sanguo_vnpy_nas_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L56",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_ssh_nas_docker",
      "target": "nas_sanguo_vnpy_nas_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_72",
      "target": "nas_sanguo_vnpy_nas_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L92",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_nas",
      "target": "nas_sanguo_vnpy_nas_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_vnpy_NAS\u5168\u81ea\u52a8\u90e8\u7f72\u65b9\u6848.md",
      "source_location": "L160",
      "weight": 1.0,
      "source": "nas_sanguo_vnpy_nas_158",
      "target": "nas_sanguo_vnpy_nas_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L45",
      "weight": 1.0,
      "source": "nas_nas_35",
      "target": "nas_nas_2_automator",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L137",
      "weight": 1.0,
      "source": "nas_nas_135",
      "target": "nas_nas_1_137",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/NAS\u6302\u8f7d\u64cd\u4f5c\u6307\u5357.md",
      "source_location": "L142",
      "weight": 1.0,
      "source": "nas_nas_135",
      "target": "nas_nas_2_142",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_nas_sanguo_nas_md",
      "target": "nas_sanguo_nas_sanguo_vnpy_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_35",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L49",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_49",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L65",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_mac_mini",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_90",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L102",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_102",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L121",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_121",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L143",
      "weight": 1.0,
      "source": "nas_sanguo_nas_sanguo_vnpy_nas",
      "target": "nas_sanguo_nas_143",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L5",
      "weight": 1.0,
      "source": "nas_sanguo_nas",
      "target": "nas_sanguo_nas_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L59",
      "weight": 1.0,
      "source": "nas_sanguo_nas_5",
      "target": "nas_sanguo_nas_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L14",
      "weight": 1.0,
      "source": "nas_sanguo_nas_12",
      "target": "nas_sanguo_nas_1_mac_mini",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L19",
      "weight": 1.0,
      "source": "nas_sanguo_nas_12",
      "target": "nas_sanguo_nas_2_docker_nas_ssh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L27",
      "weight": 1.0,
      "source": "nas_sanguo_nas_12",
      "target": "nas_sanguo_nas_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L15",
      "weight": 1.0,
      "source": "nas_sanguo_nas_1_mac_mini",
      "target": "nas_sanguo_nas_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L106",
      "weight": 1.0,
      "source": "nas_sanguo_nas_102",
      "target": "nas_sanguo_nas_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L20",
      "weight": 1.0,
      "source": "nas_sanguo_nas_2_docker_nas_ssh",
      "target": "nas_sanguo_nas_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "nas_sanguo_nas_nas",
      "target": "nas_sanguo_nas_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "nas_sanguo_nas_35",
      "target": "nas_sanguo_nas_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u5feb\u901f\u53c2\u8003.md",
      "source_location": "L52",
      "weight": 1.0,
      "source": "nas_sanguo_nas_49",
      "target": "nas_sanguo_nas_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "nas_sanguo_nas_nas",
      "target": "nas_sanguo_nas_1_container_manager_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "nas_sanguo_nas_nas",
      "target": "nas_sanguo_nas_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L45",
      "weight": 1.0,
      "source": "nas_sanguo_nas_nas",
      "target": "nas_sanguo_nas_4_ssh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L54",
      "weight": 1.0,
      "source": "nas_sanguo_nas_nas",
      "target": "nas_sanguo_nas_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "nas_sanguo_nas_mac_mini",
      "target": "nas_sanguo_nas_1_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L79",
      "weight": 1.0,
      "source": "nas_sanguo_nas_mac_mini",
      "target": "nas_sanguo_nas_2_79",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L92",
      "weight": 1.0,
      "source": "nas_sanguo_nas_90",
      "target": "nas_sanguo_nas_nas_ssh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L123",
      "weight": 1.0,
      "source": "nas_sanguo_nas_121",
      "target": "nas_sanguo_nas_q_container_manager",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L129",
      "weight": 1.0,
      "source": "nas_sanguo_nas_121",
      "target": "nas_sanguo_nas_q_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/nas/sanguo_NAS\u90e8\u7f72\u524d\u671f\u51c6\u5907\u6e05\u5355.md",
      "source_location": "L135",
      "weight": 1.0,
      "source": "nas_sanguo_nas_121",
      "target": "nas_sanguo_nas_q_ssh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_vnpy_md",
      "target": "vnpy_vnpy_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_vnpy_md",
      "target": "vnpy_vnpy_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L14",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_22",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L186",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_186",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L405",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_405",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L630",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_630",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L882",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_882",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1139",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_1139",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1198",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_1198",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L25",
      "weight": 1.0,
      "source": "vnpy_vnpy_23",
      "target": "vnpy_vnpy_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py",
      "target": "vnpy_vnpy_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "vnpy_vnpy",
      "target": "vnpy_vnpy_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L16",
      "weight": 1.0,
      "source": "vnpy_vnpy",
      "target": "vnpy_vnpy_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L24",
      "weight": 1.0,
      "source": "vnpy_vnpy_22",
      "target": "vnpy_vnpy_24",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L27",
      "weight": 1.0,
      "source": "vnpy_vnpy_22",
      "target": "vnpy_vnpy_27",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L170",
      "weight": 1.0,
      "source": "vnpy_vnpy_22",
      "target": "vnpy_vnpy_170",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L179",
      "weight": 1.0,
      "source": "vnpy_vnpy_22",
      "target": "vnpy_vnpy_179",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L29",
      "weight": 1.0,
      "source": "vnpy_vnpy_27",
      "target": "vnpy_vnpy_1_basedatafeed",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "vnpy_vnpy_27",
      "target": "vnpy_vnpy_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L141",
      "weight": 1.0,
      "source": "vnpy_vnpy_27",
      "target": "vnpy_vnpy_3_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "vnpy_vnpy_2",
      "target": "vnpy_vnpy_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L62",
      "weight": 1.0,
      "source": "vnpy_vnpy_46",
      "target": "vnpy_vnpy_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L63",
      "weight": 1.0,
      "source": "vnpy_vnpy_2",
      "target": "vnpy_vnpy_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "vnpy_vnpy_11",
      "target": "vnpy_vnpy_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L145",
      "weight": 1.0,
      "source": "vnpy_vnpy_3_vn_py",
      "target": "vnpy_vnpy_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L155",
      "weight": 1.0,
      "source": "vnpy_vnpy_3_vn_py",
      "target": "vnpy_vnpy_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L32",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py_31",
      "target": "vnpy_vnpy_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L188",
      "weight": 1.0,
      "source": "vnpy_vnpy_186",
      "target": "vnpy_vnpy_188",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L191",
      "weight": 1.0,
      "source": "vnpy_vnpy_186",
      "target": "vnpy_vnpy_191",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L388",
      "weight": 1.0,
      "source": "vnpy_vnpy_186",
      "target": "vnpy_vnpy_388",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L397",
      "weight": 1.0,
      "source": "vnpy_vnpy_186",
      "target": "vnpy_vnpy_397",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L193",
      "weight": 1.0,
      "source": "vnpy_vnpy_191",
      "target": "vnpy_vnpy_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L270",
      "weight": 1.0,
      "source": "vnpy_vnpy_191",
      "target": "vnpy_vnpy_2_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L370",
      "weight": 1.0,
      "source": "vnpy_vnpy_191",
      "target": "vnpy_vnpy_3_vn_py_370",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L197",
      "weight": 1.0,
      "source": "vnpy_vnpy_1",
      "target": "vnpy_vnpy_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L48",
      "weight": 1.0,
      "source": "vnpy_vnpy_46",
      "target": "vnpy_vnpy_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L49",
      "weight": 1.0,
      "source": "vnpy_vnpy_1",
      "target": "vnpy_vnpy_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "vnpy_vnpy_vn_py_37",
      "target": "vnpy_vnpy_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L272",
      "weight": 1.0,
      "source": "vnpy_vnpy_2_vn_py",
      "target": "vnpy_vnpy_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L372",
      "weight": 1.0,
      "source": "vnpy_vnpy_3_vn_py_370",
      "target": "vnpy_vnpy_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L407",
      "weight": 1.0,
      "source": "vnpy_vnpy_405",
      "target": "vnpy_vnpy_407",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L410",
      "weight": 1.0,
      "source": "vnpy_vnpy_405",
      "target": "vnpy_vnpy_410",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L613",
      "weight": 1.0,
      "source": "vnpy_vnpy_405",
      "target": "vnpy_vnpy_613",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L622",
      "weight": 1.0,
      "source": "vnpy_vnpy_405",
      "target": "vnpy_vnpy_622",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L412",
      "weight": 1.0,
      "source": "vnpy_vnpy_410",
      "target": "vnpy_vnpy_1_412",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L423",
      "weight": 1.0,
      "source": "vnpy_vnpy_410",
      "target": "vnpy_vnpy_2_423",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L536",
      "weight": 1.0,
      "source": "vnpy_vnpy_410",
      "target": "vnpy_vnpy_3_vn_py_536",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L416",
      "weight": 1.0,
      "source": "vnpy_vnpy_1_412",
      "target": "vnpy_vnpy_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "vnpy_vnpy_1_72",
      "target": "vnpy_vnpy_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L425",
      "weight": 1.0,
      "source": "vnpy_vnpy_2_423",
      "target": "vnpy_vnpy_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L79",
      "weight": 1.0,
      "source": "vnpy_vnpy_2_api",
      "target": "vnpy_vnpy_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L538",
      "weight": 1.0,
      "source": "vnpy_vnpy_3_vn_py_536",
      "target": "vnpy_vnpy_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L88",
      "weight": 1.0,
      "source": "vnpy_vnpy_3",
      "target": "vnpy_vnpy_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L632",
      "weight": 1.0,
      "source": "vnpy_vnpy_630",
      "target": "vnpy_vnpy_632",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L635",
      "weight": 1.0,
      "source": "vnpy_vnpy_630",
      "target": "vnpy_vnpy_635",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L865",
      "weight": 1.0,
      "source": "vnpy_vnpy_630",
      "target": "vnpy_vnpy_865",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L874",
      "weight": 1.0,
      "source": "vnpy_vnpy_630",
      "target": "vnpy_vnpy_874",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L637",
      "weight": 1.0,
      "source": "vnpy_vnpy_635",
      "target": "vnpy_vnpy_1_637",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L686",
      "weight": 1.0,
      "source": "vnpy_vnpy_635",
      "target": "vnpy_vnpy_2_686",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L828",
      "weight": 1.0,
      "source": "vnpy_vnpy_635",
      "target": "vnpy_vnpy_3_vn_py_828",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L641",
      "weight": 1.0,
      "source": "vnpy_vnpy_1_637",
      "target": "vnpy_vnpy_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L117",
      "weight": 1.0,
      "source": "vnpy_vnpy_1_vnpy_app",
      "target": "vnpy_vnpy_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L688",
      "weight": 1.0,
      "source": "vnpy_vnpy_2_686",
      "target": "vnpy_vnpy_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L124",
      "weight": 1.0,
      "source": "vnpy_vnpy_2_122",
      "target": "vnpy_vnpy_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L830",
      "weight": 1.0,
      "source": "vnpy_vnpy_3_vn_py_828",
      "target": "vnpy_vnpy_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L132",
      "weight": 1.0,
      "source": "vnpy_vnpy_3_130",
      "target": "vnpy_vnpy_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L884",
      "weight": 1.0,
      "source": "vnpy_vnpy_882",
      "target": "vnpy_vnpy_884",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L887",
      "weight": 1.0,
      "source": "vnpy_vnpy_882",
      "target": "vnpy_vnpy_887",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L915",
      "weight": 1.0,
      "source": "vnpy_vnpy_882",
      "target": "vnpy_vnpy_915",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1122",
      "weight": 1.0,
      "source": "vnpy_vnpy_882",
      "target": "vnpy_vnpy_1122",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1131",
      "weight": 1.0,
      "source": "vnpy_vnpy_882",
      "target": "vnpy_vnpy_1131",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L889",
      "weight": 1.0,
      "source": "vnpy_vnpy_887",
      "target": "vnpy_vnpy_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L147",
      "weight": 1.0,
      "source": "vnpy_vnpy_144",
      "target": "vnpy_vnpy_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L917",
      "weight": 1.0,
      "source": "vnpy_vnpy_915",
      "target": "vnpy_vnpy_1_917",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1058",
      "weight": 1.0,
      "source": "vnpy_vnpy_915",
      "target": "vnpy_vnpy_2_vn_py_1058",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L919",
      "weight": 1.0,
      "source": "vnpy_vnpy_1_917",
      "target": "vnpy_vnpy_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L153",
      "weight": 1.0,
      "source": "vnpy_vnpy_144",
      "target": "vnpy_vnpy_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1060",
      "weight": 1.0,
      "source": "vnpy_vnpy_2_vn_py_1058",
      "target": "vnpy_vnpy_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L159",
      "weight": 1.0,
      "source": "vnpy_vnpy_144",
      "target": "vnpy_vnpy_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1141",
      "weight": 1.0,
      "source": "vnpy_vnpy_1139",
      "target": "vnpy_vnpy_1141",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1151",
      "weight": 1.0,
      "source": "vnpy_vnpy_1139",
      "target": "vnpy_vnpy_1151",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy\u672c\u5730\u6570\u636e\u96c6\u6210\u65b9\u6848.md",
      "source_location": "L1174",
      "weight": 1.0,
      "source": "vnpy_vnpy_1139",
      "target": "vnpy_vnpy_1174",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_md",
      "target": "vnpy_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_md",
      "target": "vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_md",
      "target": "vnpy_vn_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "vnpy_api",
      "target": "vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "vnpy_api",
      "target": "vnpy_26",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "vnpy_api",
      "target": "vnpy_70",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "vnpy_api",
      "target": "vnpy_90",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L101",
      "weight": 1.0,
      "source": "vnpy_api",
      "target": "vnpy_101",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L122",
      "weight": 1.0,
      "source": "vnpy_api",
      "target": "vnpy_122",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L139",
      "weight": 1.0,
      "source": "vnpy_api",
      "target": "vnpy_139",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L14",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_1_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L19",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_2_vnpy_app",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L8",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L15",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L34",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_34",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L87",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_87",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L134",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_134",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L165",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_165",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L187",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_187",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L245",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_245",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L267",
      "weight": 1.0,
      "source": "vnpy",
      "target": "vnpy_267",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "vnpy_vn_py",
      "target": "vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "vnpy_26",
      "target": "vnpy_1_api_28",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L33",
      "weight": 1.0,
      "source": "vnpy_26",
      "target": "vnpy_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L39",
      "weight": 1.0,
      "source": "vnpy_26",
      "target": "vnpy_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "vnpy_15",
      "target": "vnpy_26",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "vnpy_34",
      "target": "vnpy_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L27",
      "weight": 1.0,
      "source": "vnpy_6",
      "target": "vnpy_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L29",
      "weight": 1.0,
      "source": "vnpy_2",
      "target": "vnpy_29",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L45",
      "weight": 1.0,
      "source": "vnpy_2",
      "target": "vnpy_vn_py_45",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L40",
      "weight": 1.0,
      "source": "vnpy_3",
      "target": "vnpy_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L79",
      "weight": 1.0,
      "source": "vnpy_34",
      "target": "vnpy_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L80",
      "weight": 1.0,
      "source": "vnpy_3",
      "target": "vnpy_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L63",
      "weight": 1.0,
      "source": "vnpy_6",
      "target": "vnpy_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L65",
      "weight": 1.0,
      "source": "vnpy_3",
      "target": "vnpy_65",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L97",
      "weight": 1.0,
      "source": "vnpy_3",
      "target": "vnpy_97",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L46",
      "weight": 1.0,
      "source": "vnpy_1_webtrader_backtest_api",
      "target": "vnpy_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "vnpy_1",
      "target": "vnpy_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "vnpy_70",
      "target": "vnpy_72",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L81",
      "weight": 1.0,
      "source": "vnpy_70",
      "target": "vnpy_81",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L75",
      "weight": 1.0,
      "source": "vnpy_72",
      "target": "vnpy_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L30",
      "weight": 1.0,
      "source": "vnpy_29",
      "target": "vnpy_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "vnpy_81",
      "target": "vnpy_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "vnpy_89",
      "target": "vnpy_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L46",
      "weight": 1.0,
      "source": "vnpy_vn_py_45",
      "target": "vnpy_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L103",
      "weight": 1.0,
      "source": "vnpy_101",
      "target": "vnpy_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L110",
      "weight": 1.0,
      "source": "vnpy_101",
      "target": "vnpy_2_110",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "vnpy_101",
      "target": "vnpy_3_115",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L98",
      "weight": 1.0,
      "source": "vnpy_96",
      "target": "vnpy_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L99",
      "weight": 1.0,
      "source": "vnpy_1",
      "target": "vnpy_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L8",
      "weight": 1.0,
      "source": "vnpy_6",
      "target": "vnpy_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L124",
      "weight": 1.0,
      "source": "vnpy_122",
      "target": "vnpy_124",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L130",
      "weight": 1.0,
      "source": "vnpy_122",
      "target": "vnpy_130",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4fee\u590d\u5b8c\u6210\u901a\u77e5.md",
      "source_location": "L131",
      "weight": 1.0,
      "source": "vnpy_130",
      "target": "vnpy_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L66",
      "weight": 1.0,
      "source": "vnpy_65",
      "target": "vnpy_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_vnpy_webtrader_research_report_md",
      "target": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L13",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_1_web_trader",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L66",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L109",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_3_109",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L187",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L299",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_5_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L320",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L346",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L359",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_359",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L15",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_1_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L24",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_1_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L54",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_1_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_1_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_1_2",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_2",
      "target": "vnpy_vnpy_webtrader_research_report_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_2",
      "target": "vnpy_vnpy_webtrader_research_report_2_83",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L95",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_2",
      "target": "vnpy_vnpy_webtrader_research_report_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_1",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L86",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_2_83",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L98",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L111",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3_109",
      "target": "vnpy_vnpy_webtrader_research_report_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L135",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3_109",
      "target": "vnpy_vnpy_webtrader_research_report_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L175",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3_109",
      "target": "vnpy_vnpy_webtrader_research_report_3_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3_1",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L138",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3_2",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L154",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3_2",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L189",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_4",
      "target": "vnpy_vnpy_webtrader_research_report_1_189",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L198",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_4",
      "target": "vnpy_vnpy_webtrader_research_report_2_rpc",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L241",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_4",
      "target": "vnpy_vnpy_webtrader_research_report_3_web_trader",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L266",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_4",
      "target": "vnpy_vnpy_webtrader_research_report_4_nginx",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L191",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_1_189",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L202",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_2_rpc",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L245",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_3_web_trader",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L268",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_4_nginx",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L303",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_5_api",
      "target": "vnpy_vnpy_webtrader_research_report_rest_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L312",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_5_api",
      "target": "vnpy_vnpy_webtrader_research_report_websocket",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L322",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_6",
      "target": "vnpy_vnpy_webtrader_research_report_322",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L330",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_6",
      "target": "vnpy_vnpy_webtrader_research_report_330",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L338",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_6",
      "target": "vnpy_vnpy_webtrader_research_report_338",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L323",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_322",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/vnpy-webtrader-research-report.md",
      "source_location": "L331",
      "weight": 1.0,
      "source": "vnpy_vnpy_webtrader_research_report_330",
      "target": "vnpy_vnpy_webtrader_research_report_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L2",
      "weight": 1.0,
      "source": "research_vnpy_edict_md",
      "target": "vnpy_edict_edict",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L98",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L56",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_56",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L117",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_117",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L144",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_144",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L171",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_171",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L233",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_233",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L250",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_250",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L259",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_259",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L4",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_edict_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_edict_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L128",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_128",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L307",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_soul_md",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L318",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_kanban_update_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L348",
      "weight": 1.0,
      "source": "vnpy_edict_edict",
      "target": "vnpy_edict_348",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L100",
      "weight": 1.0,
      "source": "vnpy_edict",
      "target": "vnpy_edict_edict_100",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L113",
      "weight": 1.0,
      "source": "vnpy_edict",
      "target": "vnpy_edict_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "vnpy_edict_9",
      "target": "vnpy_edict_1_edict",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L19",
      "weight": 1.0,
      "source": "vnpy_edict_9",
      "target": "vnpy_edict_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "vnpy_edict_9",
      "target": "vnpy_edict_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L47",
      "weight": 1.0,
      "source": "vnpy_edict_9",
      "target": "vnpy_edict_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L164",
      "weight": 1.0,
      "source": "vnpy_edict_130",
      "target": "vnpy_edict_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L171",
      "weight": 1.0,
      "source": "vnpy_edict_2",
      "target": "vnpy_edict_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L180",
      "weight": 1.0,
      "source": "vnpy_edict_2",
      "target": "vnpy_edict_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L195",
      "weight": 1.0,
      "source": "vnpy_edict_130",
      "target": "vnpy_edict_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L202",
      "weight": 1.0,
      "source": "vnpy_edict_3",
      "target": "vnpy_edict_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L211",
      "weight": 1.0,
      "source": "vnpy_edict_3",
      "target": "vnpy_edict_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L220",
      "weight": 1.0,
      "source": "vnpy_edict_130",
      "target": "vnpy_edict_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L227",
      "weight": 1.0,
      "source": "vnpy_edict_4",
      "target": "vnpy_edict_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L237",
      "weight": 1.0,
      "source": "vnpy_edict_4",
      "target": "vnpy_edict_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L58",
      "weight": 1.0,
      "source": "vnpy_edict_56",
      "target": "vnpy_edict_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L100",
      "weight": 1.0,
      "source": "vnpy_edict_56",
      "target": "vnpy_edict_2_100",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L60",
      "weight": 1.0,
      "source": "vnpy_edict_1",
      "target": "vnpy_edict_1_60",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L66",
      "weight": 1.0,
      "source": "vnpy_edict_1",
      "target": "vnpy_edict_2_66",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "vnpy_edict_1",
      "target": "vnpy_edict_3_72",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L78",
      "weight": 1.0,
      "source": "vnpy_edict_1",
      "target": "vnpy_edict_4_78",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L84",
      "weight": 1.0,
      "source": "vnpy_edict_1",
      "target": "vnpy_edict_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L94",
      "weight": 1.0,
      "source": "vnpy_edict_1",
      "target": "vnpy_edict_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L134",
      "weight": 1.0,
      "source": "vnpy_edict_130",
      "target": "vnpy_edict_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "vnpy_edict_1",
      "target": "vnpy_edict_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L61",
      "weight": 1.0,
      "source": "vnpy_edict_1_60",
      "target": "vnpy_edict_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L13",
      "weight": 1.0,
      "source": "vnpy_edict_edict_12",
      "target": "vnpy_edict_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "vnpy_edict_2_66",
      "target": "vnpy_edict_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "vnpy_edict_agent_config_json",
      "target": "vnpy_edict_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "vnpy_edict_3_72",
      "target": "vnpy_edict_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L102",
      "weight": 1.0,
      "source": "vnpy_edict_edict_100",
      "target": "vnpy_edict_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L79",
      "weight": 1.0,
      "source": "vnpy_edict_4_78",
      "target": "vnpy_edict_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "vnpy_edict_docker",
      "target": "vnpy_edict_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L85",
      "weight": 1.0,
      "source": "vnpy_edict_5",
      "target": "vnpy_edict_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L246",
      "weight": 1.0,
      "source": "vnpy_edict_130",
      "target": "vnpy_edict_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L253",
      "weight": 1.0,
      "source": "vnpy_edict_5",
      "target": "vnpy_edict_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L261",
      "weight": 1.0,
      "source": "vnpy_edict_5",
      "target": "vnpy_edict_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L95",
      "weight": 1.0,
      "source": "vnpy_edict_6",
      "target": "vnpy_edict_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L291",
      "weight": 1.0,
      "source": "vnpy_edict_130",
      "target": "vnpy_edict_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L298",
      "weight": 1.0,
      "source": "vnpy_edict_6",
      "target": "vnpy_edict_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L102",
      "weight": 1.0,
      "source": "vnpy_edict_2_100",
      "target": "vnpy_edict_1_102",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L108",
      "weight": 1.0,
      "source": "vnpy_edict_2_100",
      "target": "vnpy_edict_2_108",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L103",
      "weight": 1.0,
      "source": "vnpy_edict_1_102",
      "target": "vnpy_edict_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "vnpy_edict_117",
      "target": "vnpy_edict_119",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L125",
      "weight": 1.0,
      "source": "vnpy_edict_117",
      "target": "vnpy_edict_125",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L130",
      "weight": 1.0,
      "source": "vnpy_edict_117",
      "target": "vnpy_edict_130",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L135",
      "weight": 1.0,
      "source": "vnpy_edict_117",
      "target": "vnpy_edict_135",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L130",
      "weight": 1.0,
      "source": "vnpy_edict_128",
      "target": "vnpy_edict_130",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "vnpy_edict_144",
      "target": "vnpy_edict_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L173",
      "weight": 1.0,
      "source": "vnpy_edict_171",
      "target": "vnpy_edict_173",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L175",
      "weight": 1.0,
      "source": "vnpy_edict_173",
      "target": "vnpy_edict_1_175",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L181",
      "weight": 1.0,
      "source": "vnpy_edict_173",
      "target": "vnpy_edict_2_181",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L187",
      "weight": 1.0,
      "source": "vnpy_edict_173",
      "target": "vnpy_edict_3_187",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L193",
      "weight": 1.0,
      "source": "vnpy_edict_173",
      "target": "vnpy_edict_4_193",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L198",
      "weight": 1.0,
      "source": "vnpy_edict_173",
      "target": "vnpy_edict_5_198",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L204",
      "weight": 1.0,
      "source": "vnpy_edict_173",
      "target": "vnpy_edict_6_204",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L225",
      "weight": 1.0,
      "source": "vnpy_edict_173",
      "target": "vnpy_edict_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L176",
      "weight": 1.0,
      "source": "vnpy_edict_1_175",
      "target": "vnpy_edict_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L182",
      "weight": 1.0,
      "source": "vnpy_edict_2_181",
      "target": "vnpy_edict_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L188",
      "weight": 1.0,
      "source": "vnpy_edict_3_187",
      "target": "vnpy_edict_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L194",
      "weight": 1.0,
      "source": "vnpy_edict_4_193",
      "target": "vnpy_edict_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L199",
      "weight": 1.0,
      "source": "vnpy_edict_5_198",
      "target": "vnpy_edict_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L206",
      "weight": 1.0,
      "source": "vnpy_edict_6_204",
      "target": "vnpy_edict_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L219",
      "weight": 1.0,
      "source": "vnpy_edict_6_204",
      "target": "vnpy_edict_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L320",
      "weight": 1.0,
      "source": "vnpy_edict_kanban_update_py",
      "target": "vnpy_edict_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L226",
      "weight": 1.0,
      "source": "vnpy_edict_7",
      "target": "vnpy_edict_codeblock_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L235",
      "weight": 1.0,
      "source": "vnpy_edict_233",
      "target": "vnpy_edict_235",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict\u96c6\u6210\u5b8c\u6210\u603b\u7ed3.md",
      "source_location": "L241",
      "weight": 1.0,
      "source": "vnpy_edict_233",
      "target": "vnpy_edict_241",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "vnpy_edict_edict_10",
      "target": "vnpy_edict_edict_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L31",
      "weight": 1.0,
      "source": "vnpy_edict_edict_10",
      "target": "vnpy_edict_agent_config_json",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u4e09\u56fdedict\u6d45\u96c6\u6210\u6267\u884c\u6d41\u7a0b.md",
      "source_location": "L309",
      "weight": 1.0,
      "source": "vnpy_edict_soul_md",
      "target": "vnpy_edict_309",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L17",
      "weight": 1.0,
      "source": "vnpy_15",
      "target": "vnpy_nas_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L36",
      "weight": 1.0,
      "source": "vnpy_34",
      "target": "vnpy_1_webtrader_backtest_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L89",
      "weight": 1.0,
      "source": "vnpy_87",
      "target": "vnpy_89",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L96",
      "weight": 1.0,
      "source": "vnpy_87",
      "target": "vnpy_96",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L105",
      "weight": 1.0,
      "source": "vnpy_96",
      "target": "vnpy_2_105",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L124",
      "weight": 1.0,
      "source": "vnpy_96",
      "target": "vnpy_3_124",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L111",
      "weight": 1.0,
      "source": "vnpy_2_105",
      "target": "vnpy_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "vnpy_2_105",
      "target": "vnpy_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L98",
      "weight": 1.0,
      "source": "vnpy_97",
      "target": "vnpy_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L120",
      "weight": 1.0,
      "source": "vnpy_convert_to_vnpy_py",
      "target": "vnpy_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L126",
      "weight": 1.0,
      "source": "vnpy_3_124",
      "target": "vnpy_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L438",
      "weight": 1.0,
      "source": "vnpy_437",
      "target": "vnpy_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L136",
      "weight": 1.0,
      "source": "vnpy_134",
      "target": "vnpy_136",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L145",
      "weight": 1.0,
      "source": "vnpy_134",
      "target": "vnpy_145",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L147",
      "weight": 1.0,
      "source": "vnpy_145",
      "target": "vnpy_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L156",
      "weight": 1.0,
      "source": "vnpy_145",
      "target": "vnpy_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L167",
      "weight": 1.0,
      "source": "vnpy_165",
      "target": "vnpy_1_167",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L178",
      "weight": 1.0,
      "source": "vnpy_165",
      "target": "vnpy_178",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L181",
      "weight": 1.0,
      "source": "vnpy_165",
      "target": "vnpy_2_181",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L189",
      "weight": 1.0,
      "source": "vnpy_187",
      "target": "vnpy_189",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L235",
      "weight": 1.0,
      "source": "vnpy_187",
      "target": "vnpy_235",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L191",
      "weight": 1.0,
      "source": "vnpy_189",
      "target": "vnpy_1_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L203",
      "weight": 1.0,
      "source": "vnpy_189",
      "target": "vnpy_2_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L212",
      "weight": 1.0,
      "source": "vnpy_189",
      "target": "vnpy_3_212",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L224",
      "weight": 1.0,
      "source": "vnpy_189",
      "target": "vnpy_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L229",
      "weight": 1.0,
      "source": "vnpy_189",
      "target": "vnpy_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L192",
      "weight": 1.0,
      "source": "vnpy_1_nas",
      "target": "vnpy_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L204",
      "weight": 1.0,
      "source": "vnpy_2_api",
      "target": "vnpy_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L213",
      "weight": 1.0,
      "source": "vnpy_3_212",
      "target": "vnpy_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L247",
      "weight": 1.0,
      "source": "vnpy_245",
      "target": "vnpy_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L253",
      "weight": 1.0,
      "source": "vnpy_245",
      "target": "vnpy_1_253",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L259",
      "weight": 1.0,
      "source": "vnpy_245",
      "target": "vnpy_3_259",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L269",
      "weight": 1.0,
      "source": "vnpy_267",
      "target": "vnpy_269",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u670d\u52a1\u4f7f\u7528\u8bf4\u660e\u6587\u6863.md",
      "source_location": "L274",
      "weight": 1.0,
      "source": "vnpy_267",
      "target": "vnpy_274",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_api_bug_md",
      "target": "vnpy_api_bug_api_bug",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L24",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_24",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L44",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_44",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L69",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_69",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L80",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_80",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L124",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_124",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L160",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_160",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L179",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_179",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L200",
      "weight": 1.0,
      "source": "vnpy_api_bug_api_bug",
      "target": "vnpy_api_bug_200",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "vnpy_api_bug",
      "target": "vnpy_api_bug_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L17",
      "weight": 1.0,
      "source": "vnpy_api_bug",
      "target": "vnpy_api_bug_17",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "vnpy_api_bug_24",
      "target": "vnpy_api_bug_26",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L46",
      "weight": 1.0,
      "source": "vnpy_api_bug_44",
      "target": "vnpy_api_bug_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L52",
      "weight": 1.0,
      "source": "vnpy_api_bug_44",
      "target": "vnpy_api_bug_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L57",
      "weight": 1.0,
      "source": "vnpy_api_bug_44",
      "target": "vnpy_api_bug_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L62",
      "weight": 1.0,
      "source": "vnpy_api_bug_44",
      "target": "vnpy_api_bug_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L47",
      "weight": 1.0,
      "source": "vnpy_api_bug_1",
      "target": "vnpy_api_bug_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L82",
      "weight": 1.0,
      "source": "vnpy_api_bug_80",
      "target": "vnpy_api_bug_1_82",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L87",
      "weight": 1.0,
      "source": "vnpy_api_bug_80",
      "target": "vnpy_api_bug_2_87",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L93",
      "weight": 1.0,
      "source": "vnpy_api_bug_80",
      "target": "vnpy_api_bug_3_93",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L94",
      "weight": 1.0,
      "source": "vnpy_api_bug_3_93",
      "target": "vnpy_api_bug_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L126",
      "weight": 1.0,
      "source": "vnpy_api_bug_124",
      "target": "vnpy_api_bug_126",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L142",
      "weight": 1.0,
      "source": "vnpy_api_bug_124",
      "target": "vnpy_api_bug_142",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L143",
      "weight": 1.0,
      "source": "vnpy_api_bug_142",
      "target": "vnpy_api_bug_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L162",
      "weight": 1.0,
      "source": "vnpy_api_bug_160",
      "target": "vnpy_api_bug_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L167",
      "weight": 1.0,
      "source": "vnpy_api_bug_160",
      "target": "vnpy_api_bug_1_167",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L172",
      "weight": 1.0,
      "source": "vnpy_api_bug_160",
      "target": "vnpy_api_bug_1_172",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L181",
      "weight": 1.0,
      "source": "vnpy_api_bug_179",
      "target": "vnpy_api_bug_181",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L187",
      "weight": 1.0,
      "source": "vnpy_api_bug_179",
      "target": "vnpy_api_bug_187",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u56de\u6d4bAPI_bug\u4fee\u590d\u62a5\u544a.md",
      "source_location": "L188",
      "weight": 1.0,
      "source": "vnpy_api_bug_187",
      "target": "vnpy_api_bug_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_final_fix_summary_md",
      "target": "vnpy_final_fix_summary_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L23",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary_23",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L44",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary_44",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L65",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary_65",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L118",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary_118",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L129",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary_129",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L170",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary_170",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L182",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_api",
      "target": "vnpy_final_fix_summary_182",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary",
      "target": "vnpy_final_fix_summary_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L16",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary",
      "target": "vnpy_final_fix_summary_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L25",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_23",
      "target": "vnpy_final_fix_summary_1_vnpy_app",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L30",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_23",
      "target": "vnpy_final_fix_summary_2_510300_sse",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_23",
      "target": "vnpy_final_fix_summary_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L46",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_44",
      "target": "vnpy_final_fix_summary_46",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L53",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_44",
      "target": "vnpy_final_fix_summary_53",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L54",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_53",
      "target": "vnpy_final_fix_summary_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L69",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_65",
      "target": "vnpy_final_fix_summary_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L131",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_129",
      "target": "vnpy_final_fix_summary_131",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L152",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_129",
      "target": "vnpy_final_fix_summary_152",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L132",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_131",
      "target": "vnpy_final_fix_summary_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/final_fix_summary.md",
      "source_location": "L154",
      "weight": 1.0,
      "source": "vnpy_final_fix_summary_152",
      "target": "vnpy_final_fix_summary_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L23",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_23",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L46",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_46",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_70",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L95",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_95",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L105",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_105",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L113",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_113",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L144",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_144",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L166",
      "weight": 1.0,
      "source": "vnpy_vnpy_vnpy",
      "target": "vnpy_vnpy_166",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L31",
      "weight": 1.0,
      "source": "vnpy_vnpy_23",
      "target": "vnpy_vnpy_vn_py_31",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "vnpy_vnpy_23",
      "target": "vnpy_vnpy_vn_py_37",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "vnpy_vnpy_70",
      "target": "vnpy_vnpy_1_72",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L78",
      "weight": 1.0,
      "source": "vnpy_vnpy_70",
      "target": "vnpy_vnpy_2_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L87",
      "weight": 1.0,
      "source": "vnpy_vnpy_70",
      "target": "vnpy_vnpy_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "vnpy_vnpy_113",
      "target": "vnpy_vnpy_1_vnpy_app",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L122",
      "weight": 1.0,
      "source": "vnpy_vnpy_113",
      "target": "vnpy_vnpy_2_122",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u5b89\u88c5vnpy\u89e3\u51b3\u65b9\u6848.md",
      "source_location": "L130",
      "weight": 1.0,
      "source": "vnpy_vnpy_113",
      "target": "vnpy_vnpy_3_130",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_edict_adapter_scheme_md",
      "target": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "target": "vnpy_edict_adapter_scheme",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "target": "vnpy_edict_adapter_scheme_edict_28",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "target": "vnpy_edict_adapter_scheme_83",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L121",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "target": "vnpy_edict_adapter_scheme_a",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L171",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "target": "vnpy_edict_adapter_scheme_171",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L184",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_sanguo_quant_agent",
      "target": "vnpy_edict_adapter_scheme_184",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L5",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme",
      "target": "vnpy_edict_adapter_scheme_sanguo_quant",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L20",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme",
      "target": "vnpy_edict_adapter_scheme_edict",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L7",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_sanguo_quant",
      "target": "vnpy_edict_adapter_scheme_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict",
      "target": "vnpy_edict_adapter_scheme_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L30",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_28",
      "target": "vnpy_edict_adapter_scheme_30",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_28",
      "target": "vnpy_edict_adapter_scheme_38",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L60",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_28",
      "target": "vnpy_edict_adapter_scheme_60",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L40",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_38",
      "target": "vnpy_edict_adapter_scheme_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L85",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_83",
      "target": "vnpy_edict_adapter_scheme_a_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L103",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_83",
      "target": "vnpy_edict_adapter_scheme_103",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_83",
      "target": "vnpy_edict_adapter_scheme_b_edict",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L123",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_a",
      "target": "vnpy_edict_adapter_scheme_edict_123",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L134",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_a",
      "target": "vnpy_edict_adapter_scheme_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L154",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_a",
      "target": "vnpy_edict_adapter_scheme_154",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L163",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_a",
      "target": "vnpy_edict_adapter_scheme_163",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L125",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_edict_123",
      "target": "vnpy_edict_adapter_scheme_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L139",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_api",
      "target": "vnpy_edict_adapter_scheme_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/edict-adapter-scheme.md",
      "source_location": "L186",
      "weight": 1.0,
      "source": "vnpy_edict_adapter_scheme_184",
      "target": "vnpy_edict_adapter_scheme_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L6",
      "weight": 1.0,
      "source": "vnpy_vn_py",
      "target": "vnpy_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L117",
      "weight": 1.0,
      "source": "vnpy_vn_py",
      "target": "vnpy_117",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L399",
      "weight": 1.0,
      "source": "vnpy_vn_py",
      "target": "vnpy_399",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L418",
      "weight": 1.0,
      "source": "vnpy_vn_py",
      "target": "vnpy_418",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L435",
      "weight": 1.0,
      "source": "vnpy_vn_py",
      "target": "vnpy_435",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "vnpy_117",
      "target": "vnpy_convert_to_vnpy_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L401",
      "weight": 1.0,
      "source": "vnpy_399",
      "target": "vnpy_401",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L407",
      "weight": 1.0,
      "source": "vnpy_399",
      "target": "vnpy_407",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L413",
      "weight": 1.0,
      "source": "vnpy_399",
      "target": "vnpy_413",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L420",
      "weight": 1.0,
      "source": "vnpy_418",
      "target": "vnpy_1_420",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L425",
      "weight": 1.0,
      "source": "vnpy_418",
      "target": "vnpy_2_425",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L430",
      "weight": 1.0,
      "source": "vnpy_418",
      "target": "vnpy_3_430",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L437",
      "weight": 1.0,
      "source": "vnpy_435",
      "target": "vnpy_437",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md",
      "source_location": "L443",
      "weight": 1.0,
      "source": "vnpy_435",
      "target": "vnpy_443",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "research_vnpy_nas_deployment_architecture_analysis_md",
      "target": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L41",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis_41",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L110",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis_110",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L206",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis_b_206",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L302",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis_302",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L316",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis_316",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L327",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_sanguo_vnpy_web_trader",
      "target": "vnpy_nas_deployment_architecture_analysis_327",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L14",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas",
      "target": "vnpy_nas_deployment_architecture_analysis_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L16",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_14",
      "target": "vnpy_nas_deployment_architecture_analysis_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L43",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_41",
      "target": "vnpy_nas_deployment_architecture_analysis_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L57",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_41",
      "target": "vnpy_nas_deployment_architecture_analysis_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_41",
      "target": "vnpy_nas_deployment_architecture_analysis_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L84",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_41",
      "target": "vnpy_nas_deployment_architecture_analysis_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L97",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_41",
      "target": "vnpy_nas_deployment_architecture_analysis_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L112",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_110",
      "target": "vnpy_nas_deployment_architecture_analysis_a_web",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L135",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_110",
      "target": "vnpy_nas_deployment_architecture_analysis_b",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L174",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_110",
      "target": "vnpy_nas_deployment_architecture_analysis_c_web",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_a_web",
      "target": "vnpy_nas_deployment_architecture_analysis_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L138",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_b",
      "target": "vnpy_nas_deployment_architecture_analysis_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L177",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_c_web",
      "target": "vnpy_nas_deployment_architecture_analysis_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L208",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_b_206",
      "target": "vnpy_nas_deployment_architecture_analysis_nas_208",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L232",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_b_206",
      "target": "vnpy_nas_deployment_architecture_analysis_232",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L247",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_b_206",
      "target": "vnpy_nas_deployment_architecture_analysis_nginx",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L283",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_b_206",
      "target": "vnpy_nas_deployment_architecture_analysis_systemd",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L210",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nas_208",
      "target": "vnpy_nas_deployment_architecture_analysis_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L249",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_nginx",
      "target": "vnpy_nas_deployment_architecture_analysis_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "research/vnpy/nas-deployment-architecture-analysis.md",
      "source_location": "L285",
      "weight": 1.0,
      "source": "vnpy_nas_deployment_architecture_analysis_systemd",
      "target": "vnpy_nas_deployment_architecture_analysis_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_sanguo_vnpy_md",
      "target": "2026_04_29_cleanup_sanguo_vnpy_sanguo_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L32",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy_32",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L56",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy_56",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L172",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy_172",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L184",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy_184",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L13",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L16",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L24",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy",
      "target": "2026_04_29_cleanup_sanguo_vnpy_24",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L34",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_32",
      "target": "2026_04_29_cleanup_sanguo_vnpy_34",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L58",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_56",
      "target": "2026_04_29_cleanup_sanguo_vnpy_58",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L65",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_56",
      "target": "2026_04_29_cleanup_sanguo_vnpy_65",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L140",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_56",
      "target": "2026_04_29_cleanup_sanguo_vnpy_140",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L162",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_56",
      "target": "2026_04_29_cleanup_sanguo_vnpy_162",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/sanguo_vnpy\u76ee\u5f55\u6574\u7406\u63d0\u6848.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "2026_04_29_cleanup_sanguo_vnpy_65",
      "target": "2026_04_29_cleanup_sanguo_vnpy_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "archive_2026_04_29_cleanup_research_readme_md",
      "target": "research_readme_task_20260331_vn_py_web_trader",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "research_readme_task_20260331_vn_py_web_trader",
      "target": "research_readme",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L6",
      "weight": 1.0,
      "source": "research_readme_task_20260331_vn_py_web_trader",
      "target": "research_readme_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "research_readme_task_20260331_vn_py_web_trader",
      "target": "research_readme_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "archive/2026-04-29-cleanup/research/README.md",
      "source_location": "L17",
      "weight": 1.0,
      "source": "research_readme_task_20260331_vn_py_web_trader",
      "target": "research_readme_17",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "deploy_nas_port_allocation_md",
      "target": "nas_port_allocation_nas_sanguo_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_port_allocation_nas_sanguo_vnpy",
      "target": "nas_port_allocation",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "nas_port_allocation_nas_sanguo_vnpy",
      "target": "nas_port_allocation_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/port-allocation.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "nas_port_allocation_nas_sanguo_vnpy",
      "target": "nas_port_allocation_22",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "deploy_nas_deploy_plan_md",
      "target": "nas_deploy_plan_nas_sanguo_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "nas_deploy_plan_nas_sanguo_vnpy",
      "target": "nas_deploy_plan",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L51",
      "weight": 1.0,
      "source": "nas_deploy_plan_nas_sanguo_vnpy",
      "target": "nas_deploy_plan_51",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L86",
      "weight": 1.0,
      "source": "nas_deploy_plan_nas_sanguo_vnpy",
      "target": "nas_deploy_plan_86",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L257",
      "weight": 1.0,
      "source": "nas_deploy_plan_nas_sanguo_vnpy",
      "target": "nas_deploy_plan_257",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L303",
      "weight": 1.0,
      "source": "nas_deploy_plan_nas_sanguo_vnpy",
      "target": "nas_deploy_plan_303",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L343",
      "weight": 1.0,
      "source": "nas_deploy_plan_nas_sanguo_vnpy",
      "target": "nas_deploy_plan_343",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L356",
      "weight": 1.0,
      "source": "nas_deploy_plan_nas_sanguo_vnpy",
      "target": "nas_deploy_plan_356",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "nas_deploy_plan",
      "target": "nas_deploy_plan_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L17",
      "weight": 1.0,
      "source": "nas_deploy_plan",
      "target": "nas_deploy_plan_1_2_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L27",
      "weight": 1.0,
      "source": "nas_deploy_plan",
      "target": "nas_deploy_plan_1_3_4_vnpy_3_x_4_x_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "nas_deploy_plan",
      "target": "nas_deploy_plan_1_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L53",
      "weight": 1.0,
      "source": "nas_deploy_plan_51",
      "target": "nas_deploy_plan_2_1_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L63",
      "weight": 1.0,
      "source": "nas_deploy_plan_51",
      "target": "nas_deploy_plan_2_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L76",
      "weight": 1.0,
      "source": "nas_deploy_plan_51",
      "target": "nas_deploy_plan_2_3_nas_smb",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L65",
      "weight": 1.0,
      "source": "nas_deploy_plan_2_2",
      "target": "nas_deploy_plan_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L78",
      "weight": 1.0,
      "source": "nas_deploy_plan_2_3_nas_smb",
      "target": "nas_deploy_plan_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L88",
      "weight": 1.0,
      "source": "nas_deploy_plan_86",
      "target": "nas_deploy_plan_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "nas_deploy_plan_86",
      "target": "nas_deploy_plan_3_2_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L132",
      "weight": 1.0,
      "source": "nas_deploy_plan_86",
      "target": "nas_deploy_plan_3_3_executor_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L165",
      "weight": 1.0,
      "source": "nas_deploy_plan_86",
      "target": "nas_deploy_plan_3_4_entrypoint_sh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L221",
      "weight": 1.0,
      "source": "nas_deploy_plan_86",
      "target": "nas_deploy_plan_3_5_dockerfile",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L239",
      "weight": 1.0,
      "source": "nas_deploy_plan_86",
      "target": "nas_deploy_plan_3_6_docker_run",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "nas_deploy_plan_3_1",
      "target": "nas_deploy_plan_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L136",
      "weight": 1.0,
      "source": "nas_deploy_plan_3_3_executor_py",
      "target": "nas_deploy_plan_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L167",
      "weight": 1.0,
      "source": "nas_deploy_plan_3_4_entrypoint_sh",
      "target": "nas_deploy_plan_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L223",
      "weight": 1.0,
      "source": "nas_deploy_plan_3_5_dockerfile",
      "target": "nas_deploy_plan_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L241",
      "weight": 1.0,
      "source": "nas_deploy_plan_3_6_docker_run",
      "target": "nas_deploy_plan_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L259",
      "weight": 1.0,
      "source": "nas_deploy_plan_257",
      "target": "nas_deploy_plan_4_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L292",
      "weight": 1.0,
      "source": "nas_deploy_plan_257",
      "target": "nas_deploy_plan_4_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L261",
      "weight": 1.0,
      "source": "nas_deploy_plan_4_1",
      "target": "nas_deploy_plan_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L315",
      "weight": 1.0,
      "source": "nas_deploy_plan_303",
      "target": "nas_deploy_plan_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-plan.md",
      "source_location": "L358",
      "weight": 1.0,
      "source": "nas_deploy_plan_356",
      "target": "nas_deploy_plan_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "deploy_nas_deploy_log_md",
      "target": "nas_deploy_log_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "nas_deploy_log_nas",
      "target": "nas_deploy_log",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L23",
      "weight": 1.0,
      "source": "nas_deploy_log_nas",
      "target": "nas_deploy_log_23",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "nas_deploy_log_nas",
      "target": "nas_deploy_log_35",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "nas_deploy_log_nas",
      "target": "nas_deploy_log_42",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "nas_deploy_log_nas",
      "target": "nas_deploy_log_73",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L81",
      "weight": 1.0,
      "source": "nas_deploy_log_nas",
      "target": "nas_deploy_log_2026_04_29_19_40",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L88",
      "weight": 1.0,
      "source": "nas_deploy_log_nas",
      "target": "nas_deploy_log_2026_04_29_20_00",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "nas_deploy_log",
      "target": "nas_deploy_log_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "nas_deploy_log_35",
      "target": "nas_deploy_log_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L44",
      "weight": 1.0,
      "source": "nas_deploy_log_42",
      "target": "nas_deploy_log_health_200",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L50",
      "weight": 1.0,
      "source": "nas_deploy_log_42",
      "target": "nas_deploy_log_50",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "nas_deploy_log_42",
      "target": "nas_deploy_log_67",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L45",
      "weight": 1.0,
      "source": "nas_deploy_log_health_200",
      "target": "nas_deploy_log_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L51",
      "weight": 1.0,
      "source": "nas_deploy_log_50",
      "target": "nas_deploy_log_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L68",
      "weight": 1.0,
      "source": "nas_deploy_log_67",
      "target": "nas_deploy_log_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "nas_deploy_log_2026_04_29_20_00",
      "target": "nas_deploy_log_1_pip",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L94",
      "weight": 1.0,
      "source": "nas_deploy_log_2026_04_29_20_00",
      "target": "nas_deploy_log_2_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L104",
      "weight": 1.0,
      "source": "nas_deploy_log_2026_04_29_20_00",
      "target": "nas_deploy_log_3_ssh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/deploy-log.md",
      "source_location": "L112",
      "weight": 1.0,
      "source": "nas_deploy_log_3_ssh",
      "target": "nas_deploy_log_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "deploy_nas_readme_nas_deploy_md",
      "target": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L41",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy_41",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L53",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L114",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy_114",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L123",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy_123",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L150",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy_150",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L158",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_sanguo_vnpy_nas",
      "target": "nas_readme_nas_deploy_158",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L14",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_12",
      "target": "nas_readme_nas_deploy_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L55",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_nas",
      "target": "nas_readme_nas_deploy_1_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L62",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_nas",
      "target": "nas_readme_nas_deploy_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_nas",
      "target": "nas_readme_nas_deploy_3_systemd",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L86",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_nas",
      "target": "nas_readme_nas_deploy_4_nginx",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L108",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_nas",
      "target": "nas_readme_nas_deploy_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L57",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_1_nas",
      "target": "nas_readme_nas_deploy_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L64",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_2",
      "target": "nas_readme_nas_deploy_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_3_systemd",
      "target": "nas_readme_nas_deploy_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_4_nginx",
      "target": "nas_readme_nas_deploy_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L104",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_4_nginx",
      "target": "nas_readme_nas_deploy_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L116",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_114",
      "target": "nas_readme_nas_deploy_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L125",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_123",
      "target": "nas_readme_nas_deploy_125",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L136",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_123",
      "target": "nas_readme_nas_deploy_136",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L143",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_123",
      "target": "nas_readme_nas_deploy_143",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L127",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_125",
      "target": "nas_readme_nas_deploy_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L138",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_136",
      "target": "nas_readme_nas_deploy_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "deploy/nas/README-NAS-DEPLOY.md",
      "source_location": "L145",
      "weight": 1.0,
      "source": "nas_readme_nas_deploy_143",
      "target": "nas_readme_nas_deploy_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_04_deployment_md",
      "target": "docs_04_deployment_04",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L8",
      "weight": 1.0,
      "source": "docs_04_deployment_04",
      "target": "docs_04_deployment_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L18",
      "weight": 1.0,
      "source": "docs_04_deployment_04",
      "target": "docs_04_deployment_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "docs_04_deployment_04",
      "target": "docs_04_deployment_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "docs_04_deployment_04",
      "target": "docs_04_deployment_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L102",
      "weight": 1.0,
      "source": "docs_04_deployment_04",
      "target": "docs_04_deployment_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L111",
      "weight": 1.0,
      "source": "docs_04_deployment_04",
      "target": "docs_04_deployment_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L20",
      "weight": 1.0,
      "source": "docs_04_deployment_2",
      "target": "docs_04_deployment_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L40",
      "weight": 1.0,
      "source": "docs_04_deployment_3",
      "target": "docs_04_deployment_3_1_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L48",
      "weight": 1.0,
      "source": "docs_04_deployment_3",
      "target": "docs_04_deployment_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L62",
      "weight": 1.0,
      "source": "docs_04_deployment_3",
      "target": "docs_04_deployment_3_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "docs_04_deployment_3_1_docker",
      "target": "docs_04_deployment_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L50",
      "weight": 1.0,
      "source": "docs_04_deployment_3_2",
      "target": "docs_04_deployment_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L64",
      "weight": 1.0,
      "source": "docs_04_deployment_3_3",
      "target": "docs_04_deployment_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L74",
      "weight": 1.0,
      "source": "docs_04_deployment_4",
      "target": "docs_04_deployment_4_1_smb",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "docs_04_deployment_4",
      "target": "docs_04_deployment_4_2_git",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L78",
      "weight": 1.0,
      "source": "docs_04_deployment_4_1_smb",
      "target": "docs_04_deployment_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L86",
      "weight": 1.0,
      "source": "docs_04_deployment_4_1_smb",
      "target": "docs_04_deployment_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L92",
      "weight": 1.0,
      "source": "docs_04_deployment_4_2_git",
      "target": "docs_04_deployment_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L113",
      "weight": 1.0,
      "source": "docs_04_deployment_6",
      "target": "docs_04_deployment_6_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L129",
      "weight": 1.0,
      "source": "docs_04_deployment_6",
      "target": "docs_04_deployment_6_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/04-deployment.md",
      "source_location": "L115",
      "weight": 1.0,
      "source": "docs_04_deployment_6_1",
      "target": "docs_04_deployment_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_02_architecture_md",
      "target": "docs_02_architecture_02",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L8",
      "weight": 1.0,
      "source": "docs_02_architecture_02",
      "target": "docs_02_architecture_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L44",
      "weight": 1.0,
      "source": "docs_02_architecture_02",
      "target": "docs_02_architecture_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L66",
      "weight": 1.0,
      "source": "docs_02_architecture_02",
      "target": "docs_02_architecture_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L123",
      "weight": 1.0,
      "source": "docs_02_architecture_02",
      "target": "docs_02_architecture_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "docs_02_architecture_1",
      "target": "docs_02_architecture_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L46",
      "weight": 1.0,
      "source": "docs_02_architecture_2",
      "target": "docs_02_architecture_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L68",
      "weight": 1.0,
      "source": "docs_02_architecture_3",
      "target": "docs_02_architecture_3_1_vs_fork",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L77",
      "weight": 1.0,
      "source": "docs_02_architecture_3",
      "target": "docs_02_architecture_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L97",
      "weight": 1.0,
      "source": "docs_02_architecture_3",
      "target": "docs_02_architecture_3_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L112",
      "weight": 1.0,
      "source": "docs_02_architecture_3",
      "target": "docs_02_architecture_3_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L79",
      "weight": 1.0,
      "source": "docs_02_architecture_3_2",
      "target": "docs_02_architecture_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L101",
      "weight": 1.0,
      "source": "docs_02_architecture_3_3",
      "target": "docs_02_architecture_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/02-architecture.md",
      "source_location": "L114",
      "weight": 1.0,
      "source": "docs_02_architecture_3_4",
      "target": "docs_02_architecture_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_md",
      "target": "docs_06_nas_infrastructure_06_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L15",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L58",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L223",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L251",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L320",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L373",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L418",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L449",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_9_q_a",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L588",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L606",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_06_nas",
      "target": "docs_06_nas_infrastructure_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L17",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_2",
      "target": "docs_06_nas_infrastructure_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L29",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_2",
      "target": "docs_06_nas_infrastructure_2_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L40",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_2",
      "target": "docs_06_nas_infrastructure_2_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_2_3",
      "target": "docs_06_nas_infrastructure_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L60",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3",
      "target": "docs_06_nas_infrastructure_3_1_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L97",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3",
      "target": "docs_06_nas_infrastructure_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L143",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3",
      "target": "docs_06_nas_infrastructure_3_3_entrypoint_sh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L162",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3",
      "target": "docs_06_nas_infrastructure_3_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L62",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_1_docker",
      "target": "docs_06_nas_infrastructure_3_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_1_docker",
      "target": "docs_06_nas_infrastructure_3_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L64",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_1_1",
      "target": "docs_06_nas_infrastructure_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L99",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_2",
      "target": "docs_06_nas_infrastructure_3_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L125",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_2",
      "target": "docs_06_nas_infrastructure_3_2_2_volume",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L134",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_2",
      "target": "docs_06_nas_infrastructure_3_2_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L101",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_2_1",
      "target": "docs_06_nas_infrastructure_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L145",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_3_entrypoint_sh",
      "target": "docs_06_nas_infrastructure_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L164",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_4",
      "target": "docs_06_nas_infrastructure_3_4_1_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L194",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_4",
      "target": "docs_06_nas_infrastructure_3_4_2_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L206",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_4",
      "target": "docs_06_nas_infrastructure_3_4_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L166",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_4_1_nas",
      "target": "docs_06_nas_infrastructure_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L208",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_3_4_3",
      "target": "docs_06_nas_infrastructure_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L225",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_4",
      "target": "docs_06_nas_infrastructure_4_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L241",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_4",
      "target": "docs_06_nas_infrastructure_4_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L227",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_4_1",
      "target": "docs_06_nas_infrastructure_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L253",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_5",
      "target": "docs_06_nas_infrastructure_5_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L283",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_5",
      "target": "docs_06_nas_infrastructure_5_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L299",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_5",
      "target": "docs_06_nas_infrastructure_5_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L255",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_5_1",
      "target": "docs_06_nas_infrastructure_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L285",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_5_2",
      "target": "docs_06_nas_infrastructure_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L303",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_5_3",
      "target": "docs_06_nas_infrastructure_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L322",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_6",
      "target": "docs_06_nas_infrastructure_6_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L342",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_6",
      "target": "docs_06_nas_infrastructure_6_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L354",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_6",
      "target": "docs_06_nas_infrastructure_6_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L324",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_6_1",
      "target": "docs_06_nas_infrastructure_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L344",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_6_2",
      "target": "docs_06_nas_infrastructure_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L356",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_6_3",
      "target": "docs_06_nas_infrastructure_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L375",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_7",
      "target": "docs_06_nas_infrastructure_7_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L384",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_7",
      "target": "docs_06_nas_infrastructure_7_2_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L403",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_7",
      "target": "docs_06_nas_infrastructure_7_3_mac",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L386",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_7_2_nas",
      "target": "docs_06_nas_infrastructure_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L405",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_7_3_mac",
      "target": "docs_06_nas_infrastructure_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L420",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_8",
      "target": "docs_06_nas_infrastructure_8_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L429",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_8",
      "target": "docs_06_nas_infrastructure_8_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L439",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_8",
      "target": "docs_06_nas_infrastructure_8_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L422",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_8_1",
      "target": "docs_06_nas_infrastructure_codeblock_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L441",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_8_3",
      "target": "docs_06_nas_infrastructure_codeblock_17",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L453",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q1_ssh_openssh_dropbear",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L479",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q2_mac_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L495",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q3_entrypoint_sh_pip_install",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L510",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q4_latest_with_scripts",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L522",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q5_privileged",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L536",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L547",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q7_ssh_host_keys_known_hosts",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L557",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q8_smb_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L572",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q9_docker_scripts",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L582",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_9_q_a",
      "target": "docs_06_nas_infrastructure_q10_code_server",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L459",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_q1_ssh_openssh_dropbear",
      "target": "docs_06_nas_infrastructure_codeblock_18",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L486",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_q2_mac_nas",
      "target": "docs_06_nas_infrastructure_codeblock_19",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L608",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_11",
      "target": "docs_06_nas_infrastructure_11_1_bt_service",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L622",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_11",
      "target": "docs_06_nas_infrastructure_11_2_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L661",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_11",
      "target": "docs_06_nas_infrastructure_11_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L610",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_11_1_bt_service",
      "target": "docs_06_nas_infrastructure_codeblock_20",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/06-nas-infrastructure.md",
      "source_location": "L624",
      "weight": 1.0,
      "source": "docs_06_nas_infrastructure_11_2_nas",
      "target": "docs_06_nas_infrastructure_codeblock_21",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/TODO.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_todo_md",
      "target": "docs_todo_sanguo_vnpy_todo",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/TODO.md",
      "source_location": "L8",
      "weight": 1.0,
      "source": "docs_todo_sanguo_vnpy_todo",
      "target": "docs_todo",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/TODO.md",
      "source_location": "L16",
      "weight": 1.0,
      "source": "docs_todo_sanguo_vnpy_todo",
      "target": "docs_todo_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/TODO.md",
      "source_location": "L27",
      "weight": 1.0,
      "source": "docs_todo_sanguo_vnpy_todo",
      "target": "docs_todo_27",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/TODO.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "docs_todo_sanguo_vnpy_todo",
      "target": "docs_todo_p3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/TODO.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "docs_todo_sanguo_vnpy_todo",
      "target": "docs_todo_42",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_03_detailed_design_md",
      "target": "docs_03_detailed_design_03",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L8",
      "weight": 1.0,
      "source": "docs_03_detailed_design_03",
      "target": "docs_03_detailed_design_1_src_backtest_service",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "docs_03_detailed_design_03",
      "target": "docs_03_detailed_design_2_src_adapters",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L108",
      "weight": 1.0,
      "source": "docs_03_detailed_design_03",
      "target": "docs_03_detailed_design_3_docker",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L150",
      "weight": 1.0,
      "source": "docs_03_detailed_design_03",
      "target": "docs_03_detailed_design_4_config",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_src_backtest_service",
      "target": "docs_03_detailed_design_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L14",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_src_backtest_service",
      "target": "docs_03_detailed_design_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L27",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_src_backtest_service",
      "target": "docs_03_detailed_design_1_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L48",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_src_backtest_service",
      "target": "docs_03_detailed_design_1_4_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L59",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_src_backtest_service",
      "target": "docs_03_detailed_design_1_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L74",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_src_backtest_service",
      "target": "docs_03_detailed_design_1_6_vnpy_4_x",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L16",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_2",
      "target": "docs_03_detailed_design_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L29",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_3",
      "target": "docs_03_detailed_design_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L61",
      "weight": 1.0,
      "source": "docs_03_detailed_design_1_5",
      "target": "docs_03_detailed_design_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L85",
      "weight": 1.0,
      "source": "docs_03_detailed_design_2_src_adapters",
      "target": "docs_03_detailed_design_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L89",
      "weight": 1.0,
      "source": "docs_03_detailed_design_2_src_adapters",
      "target": "docs_03_detailed_design_2_2_vnpy_local_data_adapter_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L97",
      "weight": 1.0,
      "source": "docs_03_detailed_design_2_src_adapters",
      "target": "docs_03_detailed_design_2_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L110",
      "weight": 1.0,
      "source": "docs_03_detailed_design_3_docker",
      "target": "docs_03_detailed_design_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L126",
      "weight": 1.0,
      "source": "docs_03_detailed_design_3_docker",
      "target": "docs_03_detailed_design_3_2_entrypoint_sh",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L137",
      "weight": 1.0,
      "source": "docs_03_detailed_design_3_docker",
      "target": "docs_03_detailed_design_3_3_volume",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L112",
      "weight": 1.0,
      "source": "docs_03_detailed_design_3_1",
      "target": "docs_03_detailed_design_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L128",
      "weight": 1.0,
      "source": "docs_03_detailed_design_3_2_entrypoint_sh",
      "target": "docs_03_detailed_design_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L139",
      "weight": 1.0,
      "source": "docs_03_detailed_design_3_3_volume",
      "target": "docs_03_detailed_design_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L152",
      "weight": 1.0,
      "source": "docs_03_detailed_design_4_config",
      "target": "docs_03_detailed_design_4_1_nginx",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L165",
      "weight": 1.0,
      "source": "docs_03_detailed_design_4_config",
      "target": "docs_03_detailed_design_4_2_systemd",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/03-detailed-design.md",
      "source_location": "L156",
      "weight": 1.0,
      "source": "docs_03_detailed_design_4_1_nginx",
      "target": "docs_03_detailed_design_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/01-requirements.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_01_requirements_md",
      "target": "docs_01_requirements_01",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/01-requirements.md",
      "source_location": "L9",
      "weight": 1.0,
      "source": "docs_01_requirements_01",
      "target": "docs_01_requirements_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/01-requirements.md",
      "source_location": "L15",
      "weight": 1.0,
      "source": "docs_01_requirements_01",
      "target": "docs_01_requirements_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/01-requirements.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "docs_01_requirements_01",
      "target": "docs_01_requirements_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/01-requirements.md",
      "source_location": "L54",
      "weight": 1.0,
      "source": "docs_01_requirements_01",
      "target": "docs_01_requirements_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/01-requirements.md",
      "source_location": "L17",
      "weight": 1.0,
      "source": "docs_01_requirements_2",
      "target": "docs_01_requirements_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/01-requirements.md",
      "source_location": "L32",
      "weight": 1.0,
      "source": "docs_01_requirements_2",
      "target": "docs_01_requirements_2_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_05_user_manual_md",
      "target": "docs_05_user_manual_05",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L8",
      "weight": 1.0,
      "source": "docs_05_user_manual_05",
      "target": "docs_05_user_manual_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "docs_05_user_manual_05",
      "target": "docs_05_user_manual_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L20",
      "weight": 1.0,
      "source": "docs_05_user_manual_05",
      "target": "docs_05_user_manual_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L153",
      "weight": 1.0,
      "source": "docs_05_user_manual_05",
      "target": "docs_05_user_manual_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L185",
      "weight": 1.0,
      "source": "docs_05_user_manual_05",
      "target": "docs_05_user_manual_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "docs_05_user_manual_3",
      "target": "docs_05_user_manual_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L50",
      "weight": 1.0,
      "source": "docs_05_user_manual_3",
      "target": "docs_05_user_manual_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L81",
      "weight": 1.0,
      "source": "docs_05_user_manual_3",
      "target": "docs_05_user_manual_3_3_python",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L127",
      "weight": 1.0,
      "source": "docs_05_user_manual_3",
      "target": "docs_05_user_manual_3_4_curl",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "docs_05_user_manual_3_1",
      "target": "docs_05_user_manual_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L54",
      "weight": 1.0,
      "source": "docs_05_user_manual_3_2",
      "target": "docs_05_user_manual_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "docs_05_user_manual_3_3_python",
      "target": "docs_05_user_manual_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L129",
      "weight": 1.0,
      "source": "docs_05_user_manual_3_4_curl",
      "target": "docs_05_user_manual_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L155",
      "weight": 1.0,
      "source": "docs_05_user_manual_4",
      "target": "docs_05_user_manual_4_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L167",
      "weight": 1.0,
      "source": "docs_05_user_manual_4",
      "target": "docs_05_user_manual_4_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L173",
      "weight": 1.0,
      "source": "docs_05_user_manual_4",
      "target": "docs_05_user_manual_4_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L157",
      "weight": 1.0,
      "source": "docs_05_user_manual_4_1",
      "target": "docs_05_user_manual_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L169",
      "weight": 1.0,
      "source": "docs_05_user_manual_4_2",
      "target": "docs_05_user_manual_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L175",
      "weight": 1.0,
      "source": "docs_05_user_manual_4_3",
      "target": "docs_05_user_manual_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L187",
      "weight": 1.0,
      "source": "docs_05_user_manual_5",
      "target": "docs_05_user_manual_q_ctatemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L190",
      "weight": 1.0,
      "source": "docs_05_user_manual_5",
      "target": "docs_05_user_manual_q",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L196",
      "weight": 1.0,
      "source": "docs_05_user_manual_5",
      "target": "docs_05_user_manual_q_k",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/05-user-manual.md",
      "source_location": "L199",
      "weight": 1.0,
      "source": "docs_05_user_manual_5",
      "target": "docs_05_user_manual_q_199",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_data_platform_02_p2_requirements_md",
      "target": "data_platform_02_p2_requirements_p2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2",
      "target": "data_platform_02_p2_requirements",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2",
      "target": "data_platform_02_p2_requirements_42",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L204",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2",
      "target": "data_platform_02_p2_requirements_204",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L230",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2",
      "target": "data_platform_02_p2_requirements_230",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L243",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2",
      "target": "data_platform_02_p2_requirements_243",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L256",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2",
      "target": "data_platform_02_p2_requirements_256",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements",
      "target": "data_platform_02_p2_requirements_1_1_p1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements",
      "target": "data_platform_02_p2_requirements_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L31",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements",
      "target": "data_platform_02_p2_requirements_1_3_p1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L44",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_42",
      "target": "data_platform_02_p2_requirements_p2_1_fallback_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_42",
      "target": "data_platform_02_p2_requirements_p2_2_validator_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L111",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_42",
      "target": "data_platform_02_p2_requirements_p2_3_realtime_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L138",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_42",
      "target": "data_platform_02_p2_requirements_p2_4_updater_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L185",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_42",
      "target": "data_platform_02_p2_requirements_p2_5_cron",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L57",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2_1_fallback_py",
      "target": "data_platform_02_p2_requirements_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L92",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2_2_validator_py",
      "target": "data_platform_02_p2_requirements_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L125",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2_3_realtime_py",
      "target": "data_platform_02_p2_requirements_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L147",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2_4_updater_py",
      "target": "data_platform_02_p2_requirements_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L159",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2_4_updater_py",
      "target": "data_platform_02_p2_requirements_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L194",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_p2_5_cron",
      "target": "data_platform_02_p2_requirements_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L206",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_204",
      "target": "data_platform_02_p2_requirements_openclaw_sanguo_projects_sanguo_vnpy_data_platform",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L215",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_204",
      "target": "data_platform_02_p2_requirements_215",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/02-p2-requirements.md",
      "source_location": "L222",
      "weight": 1.0,
      "source": "data_platform_02_p2_requirements_204",
      "target": "data_platform_02_p2_requirements_222",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_data_platform_summary_p1_md",
      "target": "data_platform_summary_p1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L18",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_18",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L29",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_p1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L59",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_59",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L91",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_p0_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L105",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_p1_105",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L116",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_p2_p4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L126",
      "weight": 1.0,
      "source": "data_platform_summary_p1",
      "target": "data_platform_summary_p1_126",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L31",
      "weight": 1.0,
      "source": "data_platform_summary_p1_p1",
      "target": "data_platform_summary_p1_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L41",
      "weight": 1.0,
      "source": "data_platform_summary_p1_p1",
      "target": "data_platform_summary_p1_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L50",
      "weight": 1.0,
      "source": "data_platform_summary_p1_p1",
      "target": "data_platform_summary_p1_3_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L61",
      "weight": 1.0,
      "source": "data_platform_summary_p1_59",
      "target": "data_platform_summary_p1_sanguo_vnpy_data_platform",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L67",
      "weight": 1.0,
      "source": "data_platform_summary_p1_59",
      "target": "data_platform_summary_p1_67",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L75",
      "weight": 1.0,
      "source": "data_platform_summary_p1_59",
      "target": "data_platform_summary_p1_75",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L83",
      "weight": 1.0,
      "source": "data_platform_summary_p1_59",
      "target": "data_platform_summary_p1_83",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/summary-p1.md",
      "source_location": "L128",
      "weight": 1.0,
      "source": "data_platform_summary_p1_126",
      "target": "data_platform_summary_p1_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_data_platform_daily_update_design_md",
      "target": "data_platform_daily_update_design",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L11",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L35",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_35",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L90",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_90",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L233",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_vnpy_db_schema",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L276",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_276",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L307",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_smb_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L351",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_351",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L376",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_376",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L421",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_421",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L446",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_q_a",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L512",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_512",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L526",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_526",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L537",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_2026_05_03",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L553",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_v2_0_2026_05_06",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L744",
      "weight": 1.0,
      "source": "data_platform_daily_update_design",
      "target": "data_platform_daily_update_design_v2_0",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L13",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_11",
      "target": "data_platform_daily_update_design_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L26",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_11",
      "target": "data_platform_daily_update_design_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L37",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_35",
      "target": "data_platform_daily_update_design_2_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L47",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_35",
      "target": "data_platform_daily_update_design_2_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L70",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_35",
      "target": "data_platform_daily_update_design_2_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_2_3",
      "target": "data_platform_daily_update_design_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L92",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_90",
      "target": "data_platform_daily_update_design_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L126",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_90",
      "target": "data_platform_daily_update_design_3_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L142",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_90",
      "target": "data_platform_daily_update_design_3_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L201",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_90",
      "target": "data_platform_daily_update_design_3_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L212",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_90",
      "target": "data_platform_daily_update_design_3_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L221",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_90",
      "target": "data_platform_daily_update_design_3_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L94",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_1",
      "target": "data_platform_daily_update_design_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L128",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_2",
      "target": "data_platform_daily_update_design_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L144",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_3",
      "target": "data_platform_daily_update_design_3_3_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L159",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_3",
      "target": "data_platform_daily_update_design_3_3_2_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L172",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_3",
      "target": "data_platform_daily_update_design_3_3_3_vnpy_db_smb",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_3_1",
      "target": "data_platform_daily_update_design_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L161",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_3_2_15",
      "target": "data_platform_daily_update_design_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L181",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_3_3_3_vnpy_db_smb",
      "target": "data_platform_daily_update_design_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L235",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_vnpy_db_schema",
      "target": "data_platform_daily_update_design_codeblock_7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L278",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_276",
      "target": "data_platform_daily_update_design_5_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L288",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_276",
      "target": "data_platform_daily_update_design_5_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L298",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_276",
      "target": "data_platform_daily_update_design_5_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L309",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_smb_nas",
      "target": "data_platform_daily_update_design_6_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L318",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_smb_nas",
      "target": "data_platform_daily_update_design_6_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L328",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_smb_nas",
      "target": "data_platform_daily_update_design_6_3_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L320",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_6_2",
      "target": "data_platform_daily_update_design_codeblock_8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L353",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_351",
      "target": "data_platform_daily_update_design_7_1_openclaw_cron",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L363",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_351",
      "target": "data_platform_daily_update_design_7_2_cron",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L369",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_351",
      "target": "data_platform_daily_update_design_7_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L365",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_7_2_cron",
      "target": "data_platform_daily_update_design_codeblock_9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L378",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_376",
      "target": "data_platform_daily_update_design_8_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L385",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_376",
      "target": "data_platform_daily_update_design_8_2_sanguo_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L411",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_376",
      "target": "data_platform_daily_update_design_8_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L389",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_8_2_sanguo_vnpy",
      "target": "data_platform_daily_update_design_codeblock_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L423",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_421",
      "target": "data_platform_daily_update_design_9_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L433",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_421",
      "target": "data_platform_daily_update_design_9_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L448",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q1_parquet",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L453",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q2_api_800",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L461",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q3_vnpy_db_interval_1m_15m",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L466",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q4_107",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L471",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q5_nas",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L476",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q6_amount",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L484",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q7",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L492",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q8",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L497",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q9",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L503",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_q_a",
      "target": "data_platform_daily_update_design_q10_sanguo_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L539",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_2026_05_03",
      "target": "data_platform_daily_update_design_v1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L555",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v2_0_2026_05_06",
      "target": "data_platform_daily_update_design_14_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L567",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v2_0_2026_05_06",
      "target": "data_platform_daily_update_design_14_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L595",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v2_0_2026_05_06",
      "target": "data_platform_daily_update_design_14_3_v2_0",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L708",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v2_0_2026_05_06",
      "target": "data_platform_daily_update_design_14_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L730",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v2_0_2026_05_06",
      "target": "data_platform_daily_update_design_14_5_v1_x",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L569",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_2",
      "target": "data_platform_daily_update_design_569",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L580",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_2",
      "target": "data_platform_daily_update_design_v1_2_baostock",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L588",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_2",
      "target": "data_platform_daily_update_design_v1_2_sqlite",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L582",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v1_2_baostock",
      "target": "data_platform_daily_update_design_codeblock_11",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L590",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v1_2_sqlite",
      "target": "data_platform_daily_update_design_codeblock_12",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L597",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_3_v2_0",
      "target": "data_platform_daily_update_design_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L635",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_3_v2_0",
      "target": "data_platform_daily_update_design_2_vnpy_db_rsync",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L661",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_3_v2_0",
      "target": "data_platform_daily_update_design_3_15min_interval_1m",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L672",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_3_v2_0",
      "target": "data_platform_daily_update_design_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L685",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_3_v2_0",
      "target": "data_platform_daily_update_design_5_overview",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L698",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_3_v2_0",
      "target": "data_platform_daily_update_design_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L703",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_3_v2_0",
      "target": "data_platform_daily_update_design_7_cron_fallback",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L601",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_1",
      "target": "data_platform_daily_update_design_codeblock_13",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L612",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_1",
      "target": "data_platform_daily_update_design_codeblock_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L645",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_2_vnpy_db_rsync",
      "target": "data_platform_daily_update_design_codeblock_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L677",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_4",
      "target": "data_platform_daily_update_design_codeblock_16",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L690",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_5_overview",
      "target": "data_platform_daily_update_design_codeblock_17",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L710",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_4",
      "target": "data_platform_daily_update_design_1_vnpy_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L720",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_4",
      "target": "data_platform_daily_update_design_2_daily_all_update_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L724",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_14_4",
      "target": "data_platform_daily_update_design_3_cron",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L712",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_1_vnpy_db",
      "target": "data_platform_daily_update_design_codeblock_18",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L756",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_v2_0",
      "target": "data_platform_daily_update_design_15_6_v2_0_2026_05_06",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/daily-update-design.md",
      "source_location": "L769",
      "weight": 1.0,
      "source": "data_platform_daily_update_design_15_6_v2_0_2026_05_06",
      "target": "data_platform_daily_update_design_codeblock_19",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_data_platform_03_p3_requirements_md",
      "target": "data_platform_03_p3_requirements_p3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_p3",
      "target": "data_platform_03_p3_requirements",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L40",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_p3",
      "target": "data_platform_03_p3_requirements_40",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L110",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_p3",
      "target": "data_platform_03_p3_requirements_110",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L136",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_p3",
      "target": "data_platform_03_p3_requirements_136",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L149",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_p3",
      "target": "data_platform_03_p3_requirements_149",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L161",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_p3",
      "target": "data_platform_03_p3_requirements_161",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements",
      "target": "data_platform_03_p3_requirements_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L21",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements",
      "target": "data_platform_03_p3_requirements_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L28",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements",
      "target": "data_platform_03_p3_requirements_1_3_vnpy_db_interval",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L32",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements",
      "target": "data_platform_03_p3_requirements_1_4_mkline_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_40",
      "target": "data_platform_03_p3_requirements_p3_1_download_minute_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L63",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_40",
      "target": "data_platform_03_p3_requirements_p3_2_hs300_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L72",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_40",
      "target": "data_platform_03_p3_requirements_p3_3_15",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L82",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_40",
      "target": "data_platform_03_p3_requirements_p3_4_vnpy_db_import_vnpy_minute_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L112",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_110",
      "target": "data_platform_03_p3_requirements_openclaw_sanguo_projects_sanguo_vnpy_data_platform",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_110",
      "target": "data_platform_03_p3_requirements_119",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/03-p3-requirements.md",
      "source_location": "L127",
      "weight": 1.0,
      "source": "data_platform_03_p3_requirements_110",
      "target": "data_platform_03_p3_requirements_127",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "docs_data_platform_01_requirements_md",
      "target": "data_platform_01_requirements",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L10",
      "weight": 1.0,
      "source": "data_platform_01_requirements",
      "target": "data_platform_01_requirements_10",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L38",
      "weight": 1.0,
      "source": "data_platform_01_requirements",
      "target": "data_platform_01_requirements_38",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L205",
      "weight": 1.0,
      "source": "data_platform_01_requirements",
      "target": "data_platform_01_requirements_205",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L235",
      "weight": 1.0,
      "source": "data_platform_01_requirements",
      "target": "data_platform_01_requirements_235",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L253",
      "weight": 1.0,
      "source": "data_platform_01_requirements",
      "target": "data_platform_01_requirements_253",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L267",
      "weight": 1.0,
      "source": "data_platform_01_requirements",
      "target": "data_platform_01_requirements_267",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L280",
      "weight": 1.0,
      "source": "data_platform_01_requirements",
      "target": "data_platform_01_requirements_280",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L12",
      "weight": 1.0,
      "source": "data_platform_01_requirements_10",
      "target": "data_platform_01_requirements_1_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L22",
      "weight": 1.0,
      "source": "data_platform_01_requirements_10",
      "target": "data_platform_01_requirements_1_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L32",
      "weight": 1.0,
      "source": "data_platform_01_requirements_10",
      "target": "data_platform_01_requirements_1_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L27",
      "weight": 1.0,
      "source": "data_platform_01_requirements_1_2",
      "target": "data_platform_01_requirements_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L40",
      "weight": 1.0,
      "source": "data_platform_01_requirements_38",
      "target": "data_platform_01_requirements_p1_vnpy",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L106",
      "weight": 1.0,
      "source": "data_platform_01_requirements_38",
      "target": "data_platform_01_requirements_p2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L157",
      "weight": 1.0,
      "source": "data_platform_01_requirements_38",
      "target": "data_platform_01_requirements_p3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L189",
      "weight": 1.0,
      "source": "data_platform_01_requirements_38",
      "target": "data_platform_01_requirements_p4_skill",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L42",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p1_vnpy",
      "target": "data_platform_01_requirements_p1_1_docker_volume",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L57",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p1_vnpy",
      "target": "data_platform_01_requirements_p1_2_vnpy_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L85",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p1_vnpy",
      "target": "data_platform_01_requirements_p1_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L95",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p1_vnpy",
      "target": "data_platform_01_requirements_p1_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p1_2_vnpy_db",
      "target": "data_platform_01_requirements_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L108",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p2",
      "target": "data_platform_01_requirements_p2_1_fallback_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L119",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p2",
      "target": "data_platform_01_requirements_p2_2_validator_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L128",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p2",
      "target": "data_platform_01_requirements_p2_3_realtime_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L137",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p2",
      "target": "data_platform_01_requirements_p2_4_updater_py",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L147",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p2",
      "target": "data_platform_01_requirements_p2_5_cron",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L159",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p3",
      "target": "data_platform_01_requirements_p3_1_p0",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L169",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p3",
      "target": "data_platform_01_requirements_p3_2_p3_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L179",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p3",
      "target": "data_platform_01_requirements_p3_4_vnpy_db",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L191",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p4_skill",
      "target": "data_platform_01_requirements_p4_1_p4_2_skill",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L195",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p4_skill",
      "target": "data_platform_01_requirements_p4_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L199",
      "weight": 1.0,
      "source": "data_platform_01_requirements_p4_skill",
      "target": "data_platform_01_requirements_p4_4_cron",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L207",
      "weight": 1.0,
      "source": "data_platform_01_requirements_205",
      "target": "data_platform_01_requirements_openclaw_sanguo_projects_sanguo_vnpy_data_platform",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L218",
      "weight": 1.0,
      "source": "data_platform_01_requirements_205",
      "target": "data_platform_01_requirements_218",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L226",
      "weight": 1.0,
      "source": "data_platform_01_requirements_205",
      "target": "data_platform_01_requirements_226",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "docs/data-platform/01-requirements.md",
      "source_location": "L282",
      "weight": 1.0,
      "source": "data_platform_01_requirements_280",
      "target": "data_platform_01_requirements_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L1",
      "weight": 1.0,
      "source": "src_backtest_service_readme_md",
      "target": "backtest_service_readme",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L3",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L14",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_14",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L30",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_30",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L44",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_44",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L50",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_api",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L61",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_61",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L73",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_73",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L120",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_120",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L139",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_139",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L146",
      "weight": 1.0,
      "source": "backtest_service_readme",
      "target": "backtest_service_readme_146",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L18",
      "weight": 1.0,
      "source": "backtest_service_readme_14",
      "target": "backtest_service_readme_codeblock_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L32",
      "weight": 1.0,
      "source": "backtest_service_readme_30",
      "target": "backtest_service_readme_codeblock_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L75",
      "weight": 1.0,
      "source": "backtest_service_readme_73",
      "target": "backtest_service_readme_1",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L108",
      "weight": 1.0,
      "source": "backtest_service_readme_73",
      "target": "backtest_service_readme_2",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L114",
      "weight": 1.0,
      "source": "backtest_service_readme_73",
      "target": "backtest_service_readme_3_114",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L77",
      "weight": 1.0,
      "source": "backtest_service_readme_1",
      "target": "backtest_service_readme_codeblock_3",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L96",
      "weight": 1.0,
      "source": "backtest_service_readme_1",
      "target": "backtest_service_readme_codeblock_4",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L110",
      "weight": 1.0,
      "source": "backtest_service_readme_2",
      "target": "backtest_service_readme_codeblock_5",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L116",
      "weight": 1.0,
      "source": "backtest_service_readme_3_114",
      "target": "backtest_service_readme_codeblock_6",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "src/backtest-service/README.md",
      "source_location": "L122",
      "weight": 1.0,
      "source": "backtest_service_readme_120",
      "target": "backtest_service_readme_codeblock_7",
      "confidence_score": 1.0
    }
  ],
  "hyperedges": [],
  "built_at_commit": "da407f4f1194b5d065ed006ade114a5a56a0381d"
}