深色
风格
视觉表达
S 循环切换
经典
稳定的技术默认风格
信号流
突出动态流向
蓝图
工程评审
编辑风格
适合发布与上线说明
动态
演示
导出
导出图表
便携、整洁的输出
E
分享
分享卡片
1200×630 PNG
路径分享卡片
1200×630 PNG
可达范围分享卡片
1200×630 PNG
复制分享卡片
复制 PNG 到剪贴板
复制图表
复制 PNG 到剪贴板
图像
PNG
无损图像
JPEG
紧凑图像
WebP
现代图像格式
矢量与动效
SVG
可编辑矢量图
WebM
6 秒动效
Agent HQ 演示 — 零售分析运行时
←
引导视图
探索此系统
沿精选路径逐步查看,而不改变源图表。
节点
下一步
→
▶
播放故事
#
复制此刻
显示全部
Agent HQ 演示 — 零售分析运行时
An architecture diagram generated by Archify.
参会者 · 浏览器 · 架构组件
参会者
浏览器
聊天界面 · Blazor WASM · 静态 JS · 本地开发计算机
聊天界面
Blazor WASM · 静态 JS
零售 API · ASP.NET Core · FastAPI · 本地开发计算机
零售 API
ASP.NET Core · FastAPI
RetailAnalyticsService · EF Core · SQLModel · 本地开发计算机
RetailAnalyticsService
EF Core · SQLModel
CopilotChatService · 单例 · SSE 流 · 本地开发计算机
CopilotChatService
单例 · SSE 流
GitHub Copilot CLI · Copilot SDK · JSON-RPC · 本地开发计算机
GitHub Copilot CLI
Copilot SDK · JSON-RPC
模型 · claude-haiku-4.5 · gpt-5 · 架构组件
模型
claude-haiku-4.5 · gpt-5
retail.db · SQLite · 启动时植入种子数据 · 本地开发计算机
retail.db
SQLite · 启动时植入种子数据
retail-analytics MCP · stdio · 5 个只读工具 · 本地开发计算机 · mode=ro
retail-analytics MCP
stdio · 5 个只读工具
mode=ro
localhost
POST /api/chat
查询 + 种子数据
读取 / 写入
提示词 + 模型 ID
CreateSession
流式对话轮次
通过 stdio 发起工具调用
仅 SELECT
本地开发计算机
Legend
前端
后端
数据库
云服务
安全
外部系统
就绪
章节 01 / 01
引导章节
图表指南
探索此系统
×
正在检查已编译语义
01
查找任意节点
搜索标签、职责、类型和稳定 ID。
/
02
追踪路径
查看两个语义节点如何按编写方向连接。
R
03
查看完整系统
打开带实时视口和稳定节点的语义雷达。
M
04
比较语义类型
统计角色、显示流量并比较直接编写的连接。
L
05
播放引导故事
浏览已编写的章节和真实关系。
P
06
进入演示模式
让实时图表占满视口,同时不改变导出。
F
E
导出
T
主题
S
风格
0
重置
+
放大
-
缩小
Esc
关闭
查找节点
×
⌕
/
没有匹配的节点
语义护照
已验证来源
编写可达范围
上游
0
下游
0
×
复制链接
关系
路径探测
选择起点节点
查找起点
复制链接
清除
在图表中选择两个语义节点
←
▶
旅程
→
总览
先选择来源,再选择目标;方向很重要。
语义透镜
比较系统角色
×
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
选择一种类型以检查其节点和相连关系。
复制链接
清除
语义雷达
正在构建总览
打开雷达
×
点击节点
拖动平移
语义雷达需要更多地图可见空间。
路径
概览
透镜
阅读
100%
聊天请求路径
• 聊天界面将提示词 POST 到 /api/chat
• CopilotChatService 以 SSE 形式流式返回增量
• 两条路径使用相同的 camelCase JSON 契约
两条路径,同一架构
• .NET:API 使用 :5050,Blazor WebAssembly 宿主使用 :5051
• Python:FastAPI 在 :5070 上同时提供 API 和界面
• 每条路径都包含相互对应的领域测试和 SDK 实验
模型的最小权限
• 应用通过 RetailAnalyticsService 进行读写
• 模型只能看到五个只读 MCP 工具,绝不会接触原始 SQL
• SQLite mode=ro 在驱动程序层拒绝写入,而不仅是在代码层阻止