1 line
26 KiB
JSON
1 line
26 KiB
JSON
{"nodes": [{"id": "users_chufeng_openclaw_sanguo_projects_sanguo_vnpy_research_vnpy_vnpy_webtrader_research_report_md", "label": "vnpy-webtrader-research-report.md", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L1"}, {"id": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "label": "vn.py Web Trader \u5b9e\u73b0\u65b9\u5f0f\u8c03\u7814\u62a5\u544a", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L1"}, {"id": "vnpy_vnpy_webtrader_research_report", "label": "\u8c03\u7814\u7ed3\u8bba\u6458\u8981", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L3"}, {"id": "vnpy_vnpy_webtrader_research_report_1_web_trader", "label": "1. \u5b98\u65b9Web Trader\u5b9a\u4f4d\u4e0e\u67b6\u6784", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L13"}, {"id": "vnpy_vnpy_webtrader_research_report_1_1", "label": "1.1 \u6a21\u5757\u5b9a\u4f4d", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L15"}, {"id": "vnpy_vnpy_webtrader_research_report_1_2", "label": "1.2 \u5b98\u65b9\u67b6\u6784\u56fe", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L24"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_1", "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": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L28"}, {"id": "vnpy_vnpy_webtrader_research_report_1_3", "label": "1.3 \u6838\u5fc3\u6280\u672f\u6808", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L54"}, {"id": "vnpy_vnpy_webtrader_research_report_2", "label": "2. \u5e38\u89c1\u5f2f\u8def\u5206\u6790", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L66"}, {"id": "vnpy_vnpy_webtrader_research_report_1", "label": "\u274c \u5f2f\u8def1\uff1a\u5355\u8fdb\u7a0b\u4e00\u4f53\u5316\u67b6\u6784", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L70"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_2", "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": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L73"}, {"id": "vnpy_vnpy_webtrader_research_report_2_83", "label": "\u274c \u5f2f\u8def2\uff1a\u8fc7\u5ea6\u62c6\u5206\u5fae\u670d\u52a1", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L83"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_3", "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": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L86"}, {"id": "vnpy_vnpy_webtrader_research_report_3", "label": "\u274c \u5f2f\u8def3\uff1a\u524d\u7aef\u7ed1\u5b9a\u540e\u7aef\u8026\u5408", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L95"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_4", "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": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L98"}, {"id": "vnpy_vnpy_webtrader_research_report_3_109", "label": "3. \u7ea0\u6b63\u65b9\u6848\uff1a\u5b98\u65b9\u6807\u51c6\u53cc\u8fdb\u7a0b\u67b6\u6784", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L109"}, {"id": "vnpy_vnpy_webtrader_research_report_3_1", "label": "3.1 \u63a8\u8350\u67b6\u6784", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L111"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_5", "label": "code:block5 ([\u8fdb\u7a0b1] \u4ea4\u6613\u6838\u5fc3\u8fdb\u7a0b)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L115"}, {"id": "vnpy_vnpy_webtrader_research_report_3_2", "label": "3.2 \u542f\u52a8\u6d41\u7a0b", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L135"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_6", "label": "code:python (from vnpy.trader.main_engine import MainEngine)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L138"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_7", "label": "code:python (from vnpy_webtrader import run_web_trader)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L154"}, {"id": "vnpy_vnpy_webtrader_research_report_3_3", "label": "3.3 \u6280\u672f\u4f18\u52bf", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L175"}, {"id": "vnpy_vnpy_webtrader_research_report_4", "label": "4. \u5177\u4f53\u5b9e\u65bd\u6b65\u9aa4", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L187"}, {"id": "vnpy_vnpy_webtrader_research_report_1_189", "label": "\u6b65\u9aa41\uff1a\u73af\u5883\u51c6\u5907", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L189"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_8", "label": "code:bash (# \u5b89\u88c5\u4f9d\u8d56)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L191"}, {"id": "vnpy_vnpy_webtrader_research_report_2_rpc", "label": "\u6b65\u9aa42\uff1a\u542f\u52a8\u4ea4\u6613\u6838\u5fc3RPC\u670d\u52a1", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L198"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_9", "label": "code:python (from vnpy.trader.event_engine import EventEngine)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L202"}, {"id": "vnpy_vnpy_webtrader_research_report_3_web_trader", "label": "\u6b65\u9aa43\uff1a\u542f\u52a8Web Trader\u670d\u52a1", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L241"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_10", "label": "code:python (from vnpy_webtrader import run_web_trader)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L245"}, {"id": "vnpy_vnpy_webtrader_research_report_4_nginx", "label": "\u6b65\u9aa44\uff1aNginx\u914d\u7f6e\u53c2\u8003\uff08\u751f\u4ea7\u73af\u5883\uff09", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L266"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_11", "label": "code:nginx (server {)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L268"}, {"id": "vnpy_vnpy_webtrader_research_report_5_api", "label": "5. \u5df2\u63d0\u4f9bAPI\u63a5\u53e3\u6982\u89c8", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L299"}, {"id": "vnpy_vnpy_webtrader_research_report_rest_api", "label": "REST API", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L303"}, {"id": "vnpy_vnpy_webtrader_research_report_websocket", "label": "WebSocket", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L312"}, {"id": "vnpy_vnpy_webtrader_research_report_6", "label": "6. \u90e8\u7f72\u67b6\u6784\u5efa\u8bae", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L320"}, {"id": "vnpy_vnpy_webtrader_research_report_322", "label": "\u5f00\u53d1\u73af\u5883", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L322"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_12", "label": "code:block12 (\u540c\u4e00\u53f0\u673a\u5668\uff1a)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L323"}, {"id": "vnpy_vnpy_webtrader_research_report_330", "label": "\u751f\u4ea7\u73af\u5883", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L330"}, {"id": "vnpy_vnpy_webtrader_research_report_codeblock_13", "label": "code:block13 (- \u4ea4\u6613\u8fdb\u7a0b\uff1a\u4ec5\u5bf9\u5185\u7f51\u5f00\u653eRPC\u7aef\u53e3)", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L331"}, {"id": "vnpy_vnpy_webtrader_research_report_338", "label": "\u5b89\u5168\u5efa\u8bae", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L338"}, {"id": "vnpy_vnpy_webtrader_research_report_7", "label": "7. \u603b\u7ed3\u7ea0\u6b63\u65b9\u6848", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L346"}, {"id": "vnpy_vnpy_webtrader_research_report_359", "label": "\u4e0b\u4e00\u6b65\u884c\u52a8\u5efa\u8bae", "file_type": "document", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L359"}], "edges": [{"source": "users_chufeng_openclaw_sanguo_projects_sanguo_vnpy_research_vnpy_vnpy_webtrader_research_report_md", "target": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L1", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "target": "vnpy_vnpy_webtrader_research_report", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/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_1_web_trader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L13", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_1_web_trader", "target": "vnpy_vnpy_webtrader_research_report_1_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/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_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L24", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_1_2", "target": "vnpy_vnpy_webtrader_research_report_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L28", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_1_web_trader", "target": "vnpy_vnpy_webtrader_research_report_1_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L54", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "target": "vnpy_vnpy_webtrader_research_report_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L66", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_2", "target": "vnpy_vnpy_webtrader_research_report_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L70", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_1", "target": "vnpy_vnpy_webtrader_research_report_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L73", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_2", "target": "vnpy_vnpy_webtrader_research_report_2_83", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L83", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_2_83", "target": "vnpy_vnpy_webtrader_research_report_codeblock_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L86", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_2", "target": "vnpy_vnpy_webtrader_research_report_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L95", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_3", "target": "vnpy_vnpy_webtrader_research_report_codeblock_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L98", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "target": "vnpy_vnpy_webtrader_research_report_3_109", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L109", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_3_109", "target": "vnpy_vnpy_webtrader_research_report_3_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L111", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_3_1", "target": "vnpy_vnpy_webtrader_research_report_codeblock_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L115", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_3_109", "target": "vnpy_vnpy_webtrader_research_report_3_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L135", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_3_2", "target": "vnpy_vnpy_webtrader_research_report_codeblock_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/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_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L154", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_3_109", "target": "vnpy_vnpy_webtrader_research_report_3_3", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L175", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "target": "vnpy_vnpy_webtrader_research_report_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L187", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_4", "target": "vnpy_vnpy_webtrader_research_report_1_189", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L189", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_1_189", "target": "vnpy_vnpy_webtrader_research_report_codeblock_8", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L191", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_4", "target": "vnpy_vnpy_webtrader_research_report_2_rpc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L198", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_2_rpc", "target": "vnpy_vnpy_webtrader_research_report_codeblock_9", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L202", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_4", "target": "vnpy_vnpy_webtrader_research_report_3_web_trader", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L241", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_3_web_trader", "target": "vnpy_vnpy_webtrader_research_report_codeblock_10", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L245", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_4", "target": "vnpy_vnpy_webtrader_research_report_4_nginx", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L266", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_4_nginx", "target": "vnpy_vnpy_webtrader_research_report_codeblock_11", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L268", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "target": "vnpy_vnpy_webtrader_research_report_5_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L299", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_5_api", "target": "vnpy_vnpy_webtrader_research_report_rest_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/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_websocket", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L312", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "target": "vnpy_vnpy_webtrader_research_report_6", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L320", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_6", "target": "vnpy_vnpy_webtrader_research_report_322", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L322", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_322", "target": "vnpy_vnpy_webtrader_research_report_codeblock_12", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L323", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_6", "target": "vnpy_vnpy_webtrader_research_report_330", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L330", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_330", "target": "vnpy_vnpy_webtrader_research_report_codeblock_13", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L331", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_6", "target": "vnpy_vnpy_webtrader_research_report_338", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L338", "weight": 1.0}, {"source": "vnpy_vnpy_webtrader_research_report_vn_py_web_trader", "target": "vnpy_vnpy_webtrader_research_report_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/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_359", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/chufeng/.openclaw/sanguo_projects/sanguo_vnpy/research/vnpy/vnpy-webtrader-research-report.md", "source_location": "L359", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} |