{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_vnpy_research_vnpy_md", "label": "\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L1"}, {"id": "vnpy_vn_py", "label": "\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357 - vn.py\u6807\u51c6\u683c\u5f0f", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L1"}, {"id": "vnpy", "label": "\ud83c\udfaf \u76ee\u6807", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L3"}, {"id": "vnpy_6", "label": "\ud83d\udccb \u8f6c\u6362\u8981\u6c42", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L6"}, {"id": "vnpy_1", "label": "1. \u76ee\u5f55\u7ed3\u6784", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L8"}, {"id": "vnpy_codeblock_1", "label": "code:block1 (/nas/zhaoyun-data/)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L9"}, {"id": "vnpy_2", "label": "2. \u6570\u636e\u683c\u5f0f\u89c4\u8303", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L27"}, {"id": "vnpy_29", "label": "\u539f\u59cb\u6570\u636e\uff08\u8d75\u4e91\u683c\u5f0f\uff09", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L29"}, {"id": "vnpy_codeblock_2", "label": "code:python (# \u5047\u8bbe\u60a8\u7684\u539f\u59cb\u6570\u636e\u5b57\u6bb5\uff1a)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L30"}, {"id": "vnpy_vn_py_45", "label": "\u76ee\u6807\u683c\u5f0f\uff08vn.py\u6807\u51c6\uff09", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L45"}, {"id": "vnpy_codeblock_3", "label": "code:python (# vn.py\u9700\u8981\u7684\u5b57\u6bb5\uff1a)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L46"}, {"id": "vnpy_3", "label": "3. \u8f6c\u6362\u903b\u8f91", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L63"}, {"id": "vnpy_65", "label": "\u80a1\u7968\u4ee3\u7801\u5904\u7406", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L65"}, {"id": "vnpy_codeblock_4", "label": "code:python (def parse_symbol(code):)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L66"}, {"id": "vnpy_97", "label": "\u65e5\u671f\u65f6\u95f4\u5904\u7406", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L97"}, {"id": "vnpy_codeblock_5", "label": "code:python (def format_datetime(date_str, interval='1d'):)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L98"}, {"id": "vnpy_117", "label": "\ud83d\ude80 \u8f6c\u6362\u811a\u672c\u793a\u4f8b", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L117"}, {"id": "vnpy_convert_to_vnpy_py", "label": "\u5b8c\u6574\u8f6c\u6362\u811a\u672c\uff1a`convert_to_vnpy.py`", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L119"}, {"id": "vnpy_codeblock_6", "label": "code:python (#!/usr/bin/env python3)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L120"}, {"id": "vnpy_399", "label": "\ud83d\udccb \u8f6c\u6362\u5de5\u4f5c\u6e05\u5355", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L399"}, {"id": "vnpy_401", "label": "\u7b2c\u4e00\u9636\u6bb5\uff1a\u6d4b\u8bd5\u8f6c\u6362\uff08\u7acb\u5373\u5f00\u59cb\uff09", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L401"}, {"id": "vnpy_407", "label": "\u7b2c\u4e8c\u9636\u6bb5\uff1a\u6279\u91cf\u8f6c\u6362\uff08\u6d4b\u8bd5\u901a\u8fc7\u540e\uff09", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L407"}, {"id": "vnpy_413", "label": "\u7b2c\u4e09\u9636\u6bb5\uff1a\u5b9a\u671f\u66f4\u65b0", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L413"}, {"id": "vnpy_418", "label": "\ud83d\udd27 \u6280\u672f\u8981\u70b9", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L418"}, {"id": "vnpy_1_420", "label": "1. \u6027\u80fd\u4f18\u5316", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L420"}, {"id": "vnpy_2_425", "label": "2. \u6570\u636e\u8d28\u91cf", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L425"}, {"id": "vnpy_3_430", "label": "3. \u53ef\u7ef4\u62a4\u6027", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L430"}, {"id": "vnpy_435", "label": "\ud83d\udcde \u534f\u4f5c\u6d41\u7a0b", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L435"}, {"id": "vnpy_437", "label": "\u6570\u636e\u66f4\u65b0\u6d41\u7a0b\uff1a", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L437"}, {"id": "vnpy_codeblock_7", "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": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L438"}, {"id": "vnpy_443", "label": "\u95ee\u9898\u5904\u7406\uff1a", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L443"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_vnpy_research_vnpy_md", "target": "vnpy_vn_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L1", "weight": 1.0}, {"source": "vnpy_vn_py", "target": "vnpy", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L3", "weight": 1.0}, {"source": "vnpy_vn_py", "target": "vnpy_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L6", "weight": 1.0}, {"source": "vnpy_6", "target": "vnpy_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L8", "weight": 1.0}, {"source": "vnpy_1", "target": "vnpy_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L9", "weight": 1.0}, {"source": "vnpy_6", "target": "vnpy_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L27", "weight": 1.0}, {"source": "vnpy_2", "target": "vnpy_29", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L29", "weight": 1.0}, {"source": "vnpy_29", "target": "vnpy_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L30", "weight": 1.0}, {"source": "vnpy_2", "target": "vnpy_vn_py_45", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L45", "weight": 1.0}, {"source": "vnpy_vn_py_45", "target": "vnpy_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L46", "weight": 1.0}, {"source": "vnpy_6", "target": "vnpy_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L63", "weight": 1.0}, {"source": "vnpy_3", "target": "vnpy_65", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L65", "weight": 1.0}, {"source": "vnpy_65", "target": "vnpy_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L66", "weight": 1.0}, {"source": "vnpy_3", "target": "vnpy_97", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L97", "weight": 1.0}, {"source": "vnpy_97", "target": "vnpy_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L98", "weight": 1.0}, {"source": "vnpy_vn_py", "target": "vnpy_117", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L117", "weight": 1.0}, {"source": "vnpy_117", "target": "vnpy_convert_to_vnpy_py", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L119", "weight": 1.0}, {"source": "vnpy_convert_to_vnpy_py", "target": "vnpy_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L120", "weight": 1.0}, {"source": "vnpy_vn_py", "target": "vnpy_399", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L399", "weight": 1.0}, {"source": "vnpy_399", "target": "vnpy_401", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L401", "weight": 1.0}, {"source": "vnpy_399", "target": "vnpy_407", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L407", "weight": 1.0}, {"source": "vnpy_399", "target": "vnpy_413", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L413", "weight": 1.0}, {"source": "vnpy_vn_py", "target": "vnpy_418", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L418", "weight": 1.0}, {"source": "vnpy_418", "target": "vnpy_1_420", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L420", "weight": 1.0}, {"source": "vnpy_418", "target": "vnpy_2_425", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L425", "weight": 1.0}, {"source": "vnpy_418", "target": "vnpy_3_430", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L430", "weight": 1.0}, {"source": "vnpy_vn_py", "target": "vnpy_435", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L435", "weight": 1.0}, {"source": "vnpy_435", "target": "vnpy_437", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L437", "weight": 1.0}, {"source": "vnpy_437", "target": "vnpy_codeblock_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L438", "weight": 1.0}, {"source": "vnpy_435", "target": "vnpy_443", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/\u8d75\u4e91\u6570\u636e\u8f6c\u6362\u6307\u5357.md", "source_location": "L443", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}