@@ -0,0 +1,230 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"diagram_type": "architecture",
|
||||
"meta": {
|
||||
"title": "火山硬件对话智能体迁移后目标架构",
|
||||
"locale": "zh-CN",
|
||||
"quality_profile": "showcase",
|
||||
"viewBox": [1360, 820]
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"id": "elder",
|
||||
"type": "external",
|
||||
"label": "长者用户",
|
||||
"sublabel": "说话、打断、挂机",
|
||||
"pos": [40, 230],
|
||||
"size": [130, 72]
|
||||
},
|
||||
{
|
||||
"id": "device",
|
||||
"type": "frontend",
|
||||
"label": "陪伴硬件",
|
||||
"sublabel": "麦克风、扬声器、本地队列",
|
||||
"pos": [230, 230],
|
||||
"size": [180, 72]
|
||||
},
|
||||
{
|
||||
"id": "hardwareSdk",
|
||||
"type": "frontend",
|
||||
"label": "火山硬件智能体 SDK",
|
||||
"sublabel": "高质量 UDP/RTC 主链",
|
||||
"pos": [490, 230],
|
||||
"size": [200, 72]
|
||||
},
|
||||
{
|
||||
"id": "volcAgent",
|
||||
"type": "external",
|
||||
"label": "火山硬件对话智能体",
|
||||
"sublabel": "Bot、ASR/LLM/TTS、会话",
|
||||
"pos": [770, 230],
|
||||
"size": [220, 72]
|
||||
},
|
||||
{
|
||||
"id": "deviceRegistry",
|
||||
"type": "external",
|
||||
"label": "火山产品与设备管理",
|
||||
"sublabel": "Product、Device、License、Bot 绑定",
|
||||
"pos": [770, 50],
|
||||
"size": [220, 72]
|
||||
},
|
||||
{
|
||||
"id": "platformApi",
|
||||
"type": "backend",
|
||||
"label": "平台会话控制面",
|
||||
"sublabel": "授权、冻结快照、心跳、停止",
|
||||
"pos": [490, 470],
|
||||
"size": [200, 76]
|
||||
},
|
||||
{
|
||||
"id": "toolGateway",
|
||||
"type": "security",
|
||||
"label": "工具与记忆网关",
|
||||
"sublabel": "MCP/Function Calling、短期会话令牌",
|
||||
"pos": [1070, 230],
|
||||
"size": [220, 76]
|
||||
},
|
||||
{
|
||||
"id": "dataStore",
|
||||
"type": "database",
|
||||
"label": "业务主数据",
|
||||
"sublabel": "PostgreSQL、pgvector、Redis",
|
||||
"pos": [770, 470],
|
||||
"size": [220, 76]
|
||||
},
|
||||
{
|
||||
"id": "asyncPipeline",
|
||||
"type": "backend",
|
||||
"label": "异步内容与运营流水线",
|
||||
"sublabel": "字幕、摘要、故事、费用、审计",
|
||||
"pos": [1070, 470],
|
||||
"size": [220, 76]
|
||||
},
|
||||
{
|
||||
"id": "objectStorage",
|
||||
"type": "database",
|
||||
"label": "私有对象存储",
|
||||
"sublabel": "可选双轨录音与导出",
|
||||
"pos": [230, 650],
|
||||
"size": [180, 72]
|
||||
},
|
||||
{
|
||||
"id": "webApps",
|
||||
"type": "frontend",
|
||||
"label": "家庭端与运营端",
|
||||
"sublabel": "设备、通话、隐私、配置、诊断",
|
||||
"pos": [490, 650],
|
||||
"size": [200, 72]
|
||||
}
|
||||
],
|
||||
"boundaries": [
|
||||
{
|
||||
"kind": "region",
|
||||
"label": "设备侧",
|
||||
"wraps": ["device", "hardwareSdk"],
|
||||
"pad": 22
|
||||
},
|
||||
{
|
||||
"kind": "region",
|
||||
"label": "火山引擎托管域",
|
||||
"wraps": ["volcAgent", "deviceRegistry"],
|
||||
"pad": 22
|
||||
},
|
||||
{
|
||||
"kind": "security-group",
|
||||
"label": "自有平台可信域(业务事实唯一主库)",
|
||||
"wraps": ["platformApi", "toolGateway", "dataStore", "asyncPipeline", "objectStorage", "webApps"],
|
||||
"pad": 24
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "humanVoice",
|
||||
"from": "elder",
|
||||
"to": "device",
|
||||
"label": "双向语音",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "audioFrames",
|
||||
"from": "device",
|
||||
"to": "hardwareSdk",
|
||||
"label": "PCM/设备事件",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "agentLink",
|
||||
"from": "hardwareSdk",
|
||||
"to": "volcAgent",
|
||||
"label": "SDK 直连会话",
|
||||
"variant": "emphasis",
|
||||
"labelAt": [730, 316]
|
||||
},
|
||||
{
|
||||
"id": "provisioning",
|
||||
"from": "deviceRegistry",
|
||||
"to": "hardwareSdk",
|
||||
"label": "设备凭证与 Bot 绑定",
|
||||
"variant": "security"
|
||||
},
|
||||
{
|
||||
"id": "prepareSession",
|
||||
"from": "device",
|
||||
"to": "platformApi",
|
||||
"label": "HTTPS 会话控制、字幕与状态",
|
||||
"variant": "security"
|
||||
},
|
||||
{
|
||||
"id": "toolCalls",
|
||||
"from": "volcAgent",
|
||||
"to": "toolGateway",
|
||||
"label": "MCP / FC",
|
||||
"variant": "security"
|
||||
},
|
||||
{
|
||||
"id": "toolData",
|
||||
"from": "toolGateway",
|
||||
"to": "dataStore",
|
||||
"label": "租户与长者范围查询",
|
||||
"variant": "security"
|
||||
},
|
||||
{
|
||||
"id": "conversationFacts",
|
||||
"from": "platformApi",
|
||||
"to": "dataStore",
|
||||
"label": "会话/授权快照",
|
||||
"variant": "emphasis"
|
||||
},
|
||||
{
|
||||
"id": "asyncJobs",
|
||||
"from": "dataStore",
|
||||
"to": "asyncPipeline",
|
||||
"label": "Outbox 可靠任务",
|
||||
"variant": "dashed",
|
||||
"labelAt": [1030, 560]
|
||||
},
|
||||
{
|
||||
"id": "mediaUpload",
|
||||
"from": "device",
|
||||
"to": "objectStorage",
|
||||
"label": "可选加密录音直传",
|
||||
"variant": "dashed",
|
||||
"fromSide": "bottom",
|
||||
"toSide": "top",
|
||||
"labelAt": [320, 316]
|
||||
},
|
||||
{
|
||||
"id": "webControl",
|
||||
"from": "webApps",
|
||||
"to": "platformApi",
|
||||
"label": "HTTPS/OIDC",
|
||||
"variant": "security"
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "emerald",
|
||||
"title": "保留不动",
|
||||
"items": [
|
||||
"平台继续掌握设备、授权、通话、记忆、费用和审计主数据",
|
||||
"字幕后的摘要、故事、人工确认记忆和隐私删除链路继续复用"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "替换范围",
|
||||
"items": [
|
||||
"设备不再领取平台 RTC Token,也不再等待云端 StartVoiceChat",
|
||||
"火山硬件 SDK 直接建立会话,旧 RTC 房间与 Agent Task 仅保留兼容期"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "rose",
|
||||
"title": "上线硬门槛",
|
||||
"items": [
|
||||
"必须验证服务端强制停话、设备凭证吊销、字幕/用量回传和近远端录音能力",
|
||||
"任何一项无法闭环时,先限定为试点能力,不替换现网主链"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user