Files
ai-agent-book/slides/public/images/fig4-1.svg
T
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

42 lines
7.2 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 40 880 580" width="880" height="580" style="background:#ffffff">
<defs><marker id="ah" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#333333"/></marker><marker id="ah-light" markerWidth="12" markerHeight="8" refX="12" refY="4" orient="auto"><polygon points="0 0, 12 4, 0 8" fill="#999999"/></marker></defs>
<rect x="120" y="50" width="160" height="44" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="200.0" y="72.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">MCP Client</text>
<rect x="600" y="50" width="160" height="44" rx="6" fill="#d0d0d0" stroke="#333333" stroke-width="2"/>
<text x="680.0" y="72.0" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">MCP Server</text>
<line x1="200" y1="94" x2="200" y2="600" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="680" y1="94" x2="680" y2="600" stroke="#999999" stroke-width="2" stroke-dasharray="8,4"/>
<line x1="204" y1="130" x2="676" y2="130" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="440.0" y="116" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">initialize</text>
<rect x="230" y="136" width="350" height="48" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="240" y="155.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;method&quot;: &quot;initialize&quot;,</text>
<text x="240" y="173.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;capabilities&quot;: {&quot;tools&quot;: true}}</text>
<line x1="676" y1="200" x2="204" y2="200" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="440.0" y="186" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">initialize response</text>
<rect x="230" y="206" width="350" height="48" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="240" y="225.0" font-family="'Courier New', Courier, monospace" font-size="11.0" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;serverInfo&quot;: {&quot;name&quot;: &quot;weather-server&quot;},</text>
<text x="240" y="243.0" font-family="'Courier New', Courier, monospace" font-size="11.0" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;capabilities&quot;: {&quot;tools&quot;: {&quot;listChanged&quot;:true}}}</text>
<line x1="204" y1="280" x2="676" y2="280" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="440.0" y="266" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">tools/list</text>
<rect x="230" y="286" width="350" height="30" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="240" y="305.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;method&quot;: &quot;tools/list&quot;}</text>
<line x1="676" y1="340" x2="204" y2="340" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="440.0" y="326" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">tools/list response</text>
<rect x="210" y="346" width="400" height="48" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="220" y="365.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;tools&quot;: [{&quot;name&quot;: &quot;get_weather&quot;,</text>
<text x="220" y="383.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;inputSchema&quot;: {&quot;city&quot;: &quot;string&quot;}}]}</text>
<line x1="204" y1="420" x2="676" y2="420" stroke="#333333" stroke-width="2" marker-end="url(#ah)"/>
<text x="440.0" y="406" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">tools/call</text>
<rect x="230" y="426" width="350" height="66" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="240" y="445.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;method&quot;: &quot;tools/call&quot;,</text>
<text x="240" y="463.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;params&quot;: {&quot;name&quot;: &quot;get_weather&quot;,</text>
<text x="240" y="481.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;arguments&quot;: {&quot;city&quot;: &quot;Beijing&quot;}}}</text>
<line x1="676" y1="510" x2="204" y2="510" stroke="#333333" stroke-width="2" stroke-dasharray="8,4" marker-end="url(#ah)"/>
<text x="440.0" y="496" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="20" fill="#333333" text-anchor="middle" dominant-baseline="central" font-weight="bold">tools/call result</text>
<rect x="230" y="516" width="350" height="48" rx="4" fill="#f5f5f5" stroke="#999999" stroke-width="2"/>
<text x="240" y="535.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central">{&quot;content&quot;: [{&quot;type&quot;: &quot;text&quot;,</text>
<text x="240" y="553.0" font-family="'Courier New', Courier, monospace" font-size="14" fill="#333333" text-anchor="start" dominant-baseline="central"> &quot;text&quot;: &quot;Beijing: 22°C, sunny&quot;}]}</text>
<text x="50" y="165" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="15" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">① Handshake</text>
<text x="50" y="310" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">② Discovery</text>
<text x="50" y="465" font-family="Arial, 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', sans-serif" font-size="16" fill="#666666" text-anchor="middle" dominant-baseline="central" font-weight="bold">③ Invocation</text>
</svg>