<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="drawio" version="26.0.0">
  <diagram name="Architecture">
    <mxGraphModel dx="1422" dy="794" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1750" pageHeight="1050" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
        <mxCell id="title" value="扩展包与 Plugin Runtime 架构图" style="text;html=1;strokeColor=none;fillColor=none;fontSize=26;fontColor=#263238;fontStyle=1;align=left;verticalAlign=middle;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="50" y="25" width="1650" height="42" as="geometry"/></mxCell>
        <mxCell id="dev" value="开发与来源" style="swimlane;startSize=36;html=1;container=1;collapsible=0;pointerEvents=0;fillColor=#f3f5f7;swimlaneFillColor=#ffffff;strokeColor=#68737d;fontColor=#263238;fontSize=15;fontStyle=1;dashed=0;strokeWidth=1.5;rounded=0;shadow=0" vertex="1" parent="1"><mxGeometry x="50" y="140" width="340" height="700" as="geometry"/></mxCell>
        <mxCell id="kit" value="扩展开发工具&#xa;validate / pack" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#fff0df;strokeColor=#c96f2d;fontColor=#263238;fontSize=13;fontStyle=1;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="dev"><mxGeometry x="50" y="75" width="240" height="80" as="geometry"/></mxCell>
        <mxCell id="localzip" value="本地扩展 ZIP" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f3f5f7;strokeColor=#68737d;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="dev"><mxGeometry x="50" y="225" width="240" height="70" as="geometry"/></mxCell>
        <mxCell id="cloud" value="云端扩展包平台&#xa;available / download" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f3f5f7;strokeColor=#68737d;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="dev"><mxGeometry x="50" y="365" width="240" height="80" as="geometry"/></mxCell>
        <mxCell id="manifest" value="extension.json&#xa;Agent · Skill · CLI · Plugin" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e9f5ec;strokeColor=#4f8a5b;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="dev"><mxGeometry x="50" y="525" width="240" height="90" as="geometry"/></mxCell>
        <mxCell id="manage" value="导入与生命周期" style="swimlane;startSize=36;html=1;container=1;collapsible=0;pointerEvents=0;fillColor=#fff0df;swimlaneFillColor=#ffffff;strokeColor=#c96f2d;fontColor=#263238;fontSize=15;fontStyle=1;dashed=0;strokeWidth=1.5;rounded=0;shadow=0" vertex="1" parent="1"><mxGeometry x="470" y="120" width="470" height="750" as="geometry"/></mxCell>
        <mxCell id="dryrun" value="dry-run&#xa;结构 / manifest / 冲突检查" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#fff0df;strokeColor=#c96f2d;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="manage"><mxGeometry x="80" y="65" width="310" height="80" as="geometry"/></mxCell>
        <mxCell id="import" value="导入落盘 + CLI 初始化" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#fff0df;strokeColor=#c96f2d;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="manage"><mxGeometry x="80" y="190" width="310" height="75" as="geometry"/></mxCell>
        <mxCell id="disabled" value="Extension State&#xa;disabled（默认）" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f3f5f7;strokeColor=#68737d;fontColor=#263238;fontSize=13;fontStyle=1;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="manage"><mxGeometry x="80" y="315" width="310" height="75" as="geometry"/></mxCell>
        <mxCell id="enable" value="管理员启用 / 重新同步" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e9f5ec;strokeColor=#4f8a5b;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="manage"><mxGeometry x="80" y="440" width="310" height="75" as="geometry"/></mxCell>
        <mxCell id="ready" value="Extension State&#xa;ready" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e9f5ec;strokeColor=#4f8a5b;fontColor=#263238;fontSize=13;fontStyle=1;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="manage"><mxGeometry x="80" y="565" width="310" height="75" as="geometry"/></mxCell>
        <mxCell id="disable" value="禁用 / 导出 / 卸载" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#fdeaea;strokeColor=#b85450;fontColor=#263238;fontSize=12;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="manage"><mxGeometry x="80" y="655" width="310" height="48" as="geometry"/></mxCell>
        <mxCell id="mount" value="租户运行挂载" style="swimlane;startSize=36;html=1;container=1;collapsible=0;pointerEvents=0;fillColor=#e9f5ec;swimlaneFillColor=#ffffff;strokeColor=#4f8a5b;fontColor=#263238;fontSize=15;fontStyle=1;dashed=0;strokeWidth=1.5;rounded=0;shadow=0" vertex="1" parent="1"><mxGeometry x="1020" y="120" width="670" height="750" as="geometry"/></mxCell>
        <mxCell id="agent" value="Agent&#xa;config + employee + 运行规则" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e9f5ec;strokeColor=#4f8a5b;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="mount"><mxGeometry x="45" y="70" width="270" height="90" as="geometry"/></mxCell>
        <mxCell id="skill" value="Skill&#xa;.claude/skills 软链" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e9f5ec;strokeColor=#4f8a5b;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="mount"><mxGeometry x="355" y="70" width="270" height="90" as="geometry"/></mxCell>
        <mxCell id="cli" value="CLI&#xa;扩展环境 + engine/bin" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#fff6d9;strokeColor=#c28b20;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="mount"><mxGeometry x="45" y="230" width="270" height="90" as="geometry"/></mxCell>
        <mxCell id="plugin" value="Plugin Runtime&#xa;load ready extension" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#fff0df;strokeColor=#c96f2d;fontColor=#263238;fontSize=13;fontStyle=1;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="mount"><mxGeometry x="355" y="230" width="270" height="90" as="geometry"/></mxCell>
        <mxCell id="route" value="/x/&lt;key&gt;/*&#xa;HTTP Route / Page" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e8f1fb;strokeColor=#3b82a0;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="mount"><mxGeometry x="45" y="400" width="270" height="80" as="geometry"/></mxCell>
        <mxCell id="widget" value="Widget + Host SDK" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e8f1fb;strokeColor=#3b82a0;fontColor=#263238;fontSize=13;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="mount"><mxGeometry x="355" y="400" width="270" height="80" as="geometry"/></mxCell>
        <mxCell id="futurechannel" value="规划：Channel contribution" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f1eafa;strokeColor=#8064a2;fontColor=#263238;fontSize=13;fontStyle=0;dashed=1;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="mount"><mxGeometry x="180" y="565" width="310" height="70" as="geometry"/></mxCell>
        <mxCell id="kit-manifest" value="产出" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="kit" target="manifest"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="local-dry" value="上传" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.4;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="localzip" target="dryrun"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="cloud-dry" value="下载后复用导入" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.7;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="cloud" target="dryrun"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="dry-import" value="确认导入" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="dryrun" target="import"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="import-disabled" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="import" target="disabled"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="disabled-enable" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="disabled" target="enable"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="enable-ready" value="挂载成功" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="enable" target="ready"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="mount-sync" value="同步挂载&#xa;Agent / Skill / CLI / Plugin" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e9f5ec;strokeColor=#4f8a5b;fontColor=#263238;fontSize=13;fontStyle=1;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="1"><mxGeometry x="940" y="480" width="240" height="70" as="geometry"/></mxCell>
        <mxCell id="ready-mount" value="同步" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="ready" target="mount-sync"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="mount-agent" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=1;exitY=0.3;entryX=0;entryY=0.5;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="mount-sync" target="agent"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="mount-skill" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="mount-sync" target="skill"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="mount-cli" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=1;exitY=0.7;entryX=0;entryY=0.5;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="mount-sync" target="cli"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="mount-plugin" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=1;exitY=0.9;entryX=0;entryY=0.5;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="mount-sync" target="plugin"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="plugin-route" value="暴露" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.3;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="plugin" target="route"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="plugin-widget" value="注册" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.7;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="plugin" target="widget"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="ready-disable" value="运维操作" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=0;endArrow=block;endFill=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="ready" target="disable"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="future" value="尚未实现" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#8064a2;fontColor=#475569;fontSize=11;strokeWidth=1.5;dashed=1;endArrow=block;endFill=1;exitX=1;exitY=0.8;entryX=0;entryY=0.5;exitDx=0;exitDy=0;entryDx=0;entryDy=0" edge="1" parent="1" source="manifest" target="futurechannel"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="980" y="710"/></Array></mxGeometry></mxCell>
        <mxCell id="legend-current" value="当前已落地" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e9f5ec;strokeColor=#4f8a5b;fontColor=#263238;fontSize=12;fontStyle=0;dashed=0;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="1"><mxGeometry x="50" y="940" width="150" height="36" as="geometry"/></mxCell>
        <mxCell id="legend-planned" value="规划 / 待完善" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f1eafa;strokeColor=#8064a2;fontColor=#263238;fontSize=12;fontStyle=0;dashed=1;strokeWidth=1.5;spacing=8;align=center;verticalAlign=middle;shadow=0" vertex="1" parent="1"><mxGeometry x="220" y="940" width="160" height="36" as="geometry"/></mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
