1 line
37 KiB
XML
1 line
37 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" style="background: #F4F7F9; background-color: light-dark(#F4F7F9, #181a1c);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1253px" height="574px" viewBox="-0.5 -0.5 1253 574" content="<mxfile><diagram id="sgclaw_arch" name="sgClaw Architecture">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</diagram></mxfile>"><defs/><rect fill="#F4F7F9" width="100%" height="100%" x="0" y="0" style="fill: light-dark(rgb(244, 247, 249), rgb(24, 26, 28));"/><g><g style="filter: drop-shadow(light-dark(rgba(0, 0, 0, 0.25), rgba(237, 237, 237, 0.25)) 2px 3px 2px);"><path d="M 425 41 L 425 21.2 Q 425 5 408.8 5 L 161.2 5 Q 145 5 145 21.2 L 145 41" fill="#ffffff" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/><path d="M 145 41 L 145 448.8 Q 145 465 161.2 465 L 408.8 465 Q 425 465 425 448.8 L 425 41" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/><path d="M 145 41 L 425 41" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 23px; margin-left: 146px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">🌐 浏览器侧 (P4+P2)</div></div></div></foreignObject><text x="285" y="27" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">🌐 浏览器侧 (P4+P2)</text></switch></g></g><g><rect x="185" y="65" width="200" height="60" rx="9" ry="9" fill="#eff6ff" stroke="#2563eb" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(239, 246, 255), rgb(21, 27, 35)); stroke: light-dark(rgb(37, 99, 235), rgb(105, 158, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 95px; margin-left: 186px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">UI: AI 面板 (Vue)</div></div></div></foreignObject><text x="285" y="99" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">UI: AI 面板 (Vue)</text></switch></g></g><g><rect x="185" y="165" width="200" height="60" rx="9" ry="9" fill="#eff6ff" stroke="#2563eb" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(239, 246, 255), rgb(21, 27, 35)); stroke: light-dark(rgb(37, 99, 235), rgb(105, 158, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 195px; margin-left: 186px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Host: 进程守护</div></div></div></foreignObject><text x="285" y="199" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Host: 进程守护</text></switch></g></g><g><rect x="185" y="265" width="200" height="60" rx="9" ry="9" fill="#eff6ff" stroke="#2563eb" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(239, 246, 255), rgb(21, 27, 35)); stroke: light-dark(rgb(37, 99, 235), rgb(105, 158, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 295px; margin-left: 186px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">IPC: Pipe 监听</div></div></div></foreignObject><text x="285" y="299" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">IPC: Pipe 监听</text></switch></g></g><g><rect x="185" y="365" width="200" height="60" fill="#eff6ff" stroke="#2563eb" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(239, 246, 255), rgb(21, 27, 35)); stroke: light-dark(rgb(37, 99, 235), rgb(105, 158, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 395px; margin-left: 186px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Action: CDP 操纵指令</div></div></div></foreignObject><text x="285" y="399" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Action: CDP 操纵指令</text></switch></g></g><g style="filter: drop-shadow(light-dark(rgba(0, 0, 0, 0.25), rgba(237, 237, 237, 0.25)) 2px 3px 2px);"><path d="M 845 41 L 845 21.2 Q 845 5 828.8 5 L 581.2 5 Q 565 5 565 21.2 L 565 41" fill="#ffffff" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/><path d="M 565 41 L 565 548.8 Q 565 565 581.2 565 L 828.8 565 Q 845 565 845 548.8 L 845 41" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/><path d="M 565 41 L 845 41" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" pointer-events="none" style="stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 23px; margin-left: 566px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">⚙️ sgClaw AI 引擎进程 (P1a+P1b)</div></div></div></foreignObject><text x="705" y="27" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">⚙️ sgClaw AI 引擎进程 (P1a+P1b)</text></switch></g></g><g><rect x="605" y="65" width="200" height="60" rx="9" ry="9" fill="#fff7ed" stroke="#ea580c" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 247, 237), rgb(30, 23, 15)); stroke: light-dark(rgb(234, 88, 12), rgb(242, 117, 51));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 95px; margin-left: 606px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Brain: ReAct 核心循环</div></div></div></foreignObject><text x="705" y="99" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Brain: ReAct 核心循环</text></switch></g></g><g><rect x="605" y="165" width="200" height="60" rx="9" ry="9" fill="#fff7ed" stroke="#ea580c" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 247, 237), rgb(30, 23, 15)); stroke: light-dark(rgb(234, 88, 12), rgb(242, 117, 51));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 195px; margin-left: 606px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Tool: Action 封装</div></div></div></foreignObject><text x="705" y="199" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Tool: Action 封装</text></switch></g></g><g><rect x="605" y="265" width="200" height="60" rx="9" ry="9" fill="#fff7ed" stroke="#ea580c" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 247, 237), rgb(30, 23, 15)); stroke: light-dark(rgb(234, 88, 12), rgb(242, 117, 51));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 295px; margin-left: 606px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Core: Pipe 双向读写</div></div></div></foreignObject><text x="705" y="299" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Core: Pipe 双向读写</text></switch></g></g><g><path d="M 605 375 C 605 369.48 649.77 365 705 365 C 731.52 365 756.96 366.05 775.71 367.93 C 794.46 369.8 805 372.35 805 375 L 805 415 C 805 420.52 760.23 425 705 425 C 649.77 425 605 420.52 605 415 Z" fill="#fff7ed" stroke="#ea580c" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(255, 247, 237), rgb(30, 23, 15)); stroke: light-dark(rgb(234, 88, 12), rgb(242, 117, 51));"/><path d="M 805 375 C 805 380.52 760.23 385 705 385 C 649.77 385 605 380.52 605 375" fill="none" stroke="#ea580c" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="stroke: light-dark(rgb(234, 88, 12), rgb(242, 117, 51));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 403px; margin-left: 606px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Mem: 记忆层 (SQLite)</div></div></div></foreignObject><text x="705" y="407" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Mem: 记忆层 (SQLite)</text></switch></g></g><g><rect x="605" y="465" width="200" height="60" rx="9" ry="9" fill="#fff7ed" stroke="#ea580c" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(255, 247, 237), rgb(30, 23, 15)); stroke: light-dark(rgb(234, 88, 12), rgb(242, 117, 51));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 495px; margin-left: 606px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Sandbox: 沙箱加载验签</div></div></div></foreignObject><text x="705" y="499" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Sandbox: 沙箱加载验签</text></switch></g></g><g style="filter: drop-shadow(light-dark(rgba(0, 0, 0, 0.25), rgba(237, 237, 237, 0.25)) 2px 3px 2px);"><path d="M 1245 41 L 1245 21.2 Q 1245 5 1228.8 5 L 981.2 5 Q 965 5 965 21.2 L 965 41" fill="#ffffff" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="all" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/><path d="M 965 41 L 965 548.8 Q 965 565 981.2 565 L 1228.8 565 Q 1245 565 1245 548.8 L 1245 41" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none" style="stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/><path d="M 965 41 L 1245 41" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none" style="stroke: light-dark(rgb(203, 213, 225), rgb(47, 56, 66));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 278px; height: 1px; padding-top: 23px; margin-left: 966px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">☁️ 远端服务与库 (P3)</div></div></div></foreignObject><text x="1105" y="27" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">☁️ 远端服务与库 (P3)</text></switch></g></g><g><rect x="1005" y="65" width="200" height="60" rx="9" ry="9" fill="#f0fdf4" stroke="#16a34a" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(240, 253, 244), rgb(15, 26, 19)); stroke: light-dark(rgb(22, 163, 74), rgb(39, 160, 83));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 95px; margin-left: 1006px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">LLM: Minimax-M2.5 API</div></div></div></foreignObject><text x="1105" y="99" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">LLM: Minimax-M2.5 API</text></switch></g></g><g><path d="M 995 525 L 1010 465 L 1215 465 L 1200 525 Z" fill="#f0fdf4" stroke="#16a34a" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(240, 253, 244), rgb(15, 26, 19)); stroke: light-dark(rgb(22, 163, 74), rgb(39, 160, 83));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 495px; margin-left: 996px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">Skill: 黄金/泛化技能库</div></div></div></foreignObject><text x="1105" y="499" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">Skill: 黄金/泛化技能库</text></switch></g></g><g style="filter: drop-shadow(light-dark(rgba(0, 0, 0, 0.25), rgba(237, 237, 237, 0.25)) 2px 3px 2px);"><ellipse cx="55" cy="95" rx="50" ry="30" fill="#fef9c3" stroke="#eab308" stroke-width="2" pointer-events="all" style="fill: light-dark(rgb(254, 249, 195), rgb(32, 28, 0)); stroke: light-dark(rgb(234, 179, 8), rgb(131, 84, 0));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 95px; margin-left: 6px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">👤 用户操作</div></div></div></foreignObject><text x="55" y="99" fill="light-dark(#000000, #ffffff)" font-family=""Helvetica"" font-size="12px" text-anchor="middle" font-weight="bold">👤 用户操作</text></switch></g></g><g><path d="M 105 95 L 176.76 95" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 182.76 95 L 174.76 99 L 176.76 95 L 174.76 91 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><path d="M 285 133.24 L 285 156.76" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 285 127.24 L 289 135.24 L 285 133.24 L 281 135.24 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 285 162.76 L 281 154.76 L 285 156.76 L 289 154.76 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 143px; margin-left: 286px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #475569; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "Helvetica"; color: light-dark(#475569, #9ba7b8); line-height: 1.2; pointer-events: all; font-weight: bold; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">Window IPC</div></div></div></foreignObject><text x="286" y="147" fill="#475569" font-family=""Helvetica"" font-size="11px" text-anchor="middle" font-weight="bold">Window IPC</text></switch></g></g><g><path d="M 285 225 L 285 256.76" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 285 262.76 L 281 254.76 L 285 256.76 L 289 254.76 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><path d="M 285 325 L 285 356.76" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 285 362.76 L 281 354.76 L 285 356.76 L 289 354.76 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 343px; margin-left: 286px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #475569; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "Helvetica"; color: light-dark(#475569, #9ba7b8); line-height: 1.2; pointer-events: all; font-weight: bold; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">复用</div></div></div></foreignObject><text x="286" y="347" fill="#475569" font-family=""Helvetica"" font-size="11px" text-anchor="middle" font-weight="bold">复用</text></switch></g></g><g><path d="M 705 256.76 L 705 233.24" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 705 262.76 L 701 254.76 L 705 256.76 L 709 254.76 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 705 227.24 L 709 235.24 L 705 233.24 L 701 235.24 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><path d="M 705 156.76 L 705 133.24" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 705 162.76 L 701 154.76 L 705 156.76 L 709 154.76 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 705 127.24 L 709 135.24 L 705 133.24 L 701 135.24 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><path d="M 605 95 L 595 95 Q 585 95 585 105 L 585 385 Q 585 395 590.88 395 L 596.76 395" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 602.76 395 L 594.76 399 L 596.76 395 L 594.76 391 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><path d="M 805 75 L 825 75 Q 835 75 835 85 L 835 465 Q 835 475 825 475 L 813.24 475" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 807.24 475 L 815.24 471 L 813.24 475 L 815.24 479 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><path d="M 385 295 L 605 295" fill="none" stroke="#ef4444" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(239, 68, 68), rgb(255, 116, 116));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 281px; margin-left: 496px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #991b1b; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "Helvetica"; color: light-dark(#991b1b, #ffa8a8); line-height: 1.2; pointer-events: all; font-weight: bold; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">⚡ 风险点 (STDIO 双工流)</div></div></div></foreignObject><text x="496" y="284" fill="#991b1b" font-family=""Helvetica"" font-size="11px" text-anchor="middle" font-weight="bold">⚡ 风险点 (STDIO 双工流)</text></switch></g></g><g><path d="M 813.24 95 L 996.76 95" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 807.24 95 L 815.24 91 L 813.24 95 L 815.24 99 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 1002.76 95 L 994.76 99 L 996.76 95 L 994.76 91 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 96px; margin-left: 906px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #475569; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "Helvetica"; color: light-dark(#475569, #9ba7b8); line-height: 1.2; pointer-events: all; font-weight: bold; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">提示词组装</div></div></div></foreignObject><text x="906" y="99" fill="#475569" font-family=""Helvetica"" font-size="11px" text-anchor="middle" font-weight="bold">提示词组装</text></switch></g></g><g><path d="M 805 495 L 994.26 495" fill="none" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/><path d="M 1000.26 495 L 992.26 499 L 994.26 495 L 992.26 491 Z" fill="#64748b" stroke="#64748b" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(100, 116, 139), rgb(126, 140, 159)); stroke: light-dark(rgb(100, 116, 139), rgb(126, 140, 159));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 496px; margin-left: 904px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #475569; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "Helvetica"; color: light-dark(#475569, #9ba7b8); line-height: 1.2; pointer-events: all; font-weight: bold; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">签名挂载调用</div></div></div></foreignObject><text x="904" y="499" fill="#475569" font-family=""Helvetica"" font-size="11px" text-anchor="middle" font-weight="bold">签名挂载调用</text></switch></g></g><g><path d="M 605 195 L 535 195 Q 525 195 525 205 L 525 235 Q 525 245 515 245 L 395 245 Q 385 245 385 255 L 385 271.76" fill="none" stroke="#2563eb" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke" style="stroke: light-dark(rgb(37, 99, 235), rgb(105, 158, 255));"/><path d="M 385 277.76 L 381 269.76 L 385 271.76 L 389 269.76 Z" fill="#2563eb" stroke="#2563eb" stroke-width="2" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(37, 99, 235), rgb(105, 158, 255)); stroke: light-dark(rgb(37, 99, 235), rgb(105, 158, 255));"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 233px; margin-left: 536px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #1e3a8a; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: "Helvetica"; color: light-dark(#1e3a8a, #a3bbff); line-height: 1.2; pointer-events: all; font-weight: bold; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">执行结果回调</div></div></div></foreignObject><text x="536" y="236" fill="#1e3a8a" font-family=""Helvetica"" font-size="11px" text-anchor="middle" font-weight="bold">执行结果回调</text></switch></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> |