当前位置: 首页 > article >正文

从文字问诊到具身交付:健康 Agent 产品落地实战

当健康 Agent 跳出冰冷文字框升级为能开口、有表情、会互动的 3D 数字医生产品体验会发生质变。本文完整记录我如何用魔珐星云 SDK把文字健康 Agent 落地为可交互数字员工的实战全过程。一、产品痛点健康 Agent为何总缺真实服务感近两年健康 Agent 产品越来越多打开 App 就能问失眠、调理等问题可用户用两次就不想用了 ——体验太 “冷”、没服务感。真实问诊里医生会看着你、点头回应、语气温和这些非语言细节占沟通 55% 以上是信任感的关键。而现有健康 Agent只有文字输出没有表情、动作、语气专业建议显得疏离用户很难信服、不愿采纳。本质不是 Agent 不够聪明而是产品表达能力缺失大脑够强却没 “身体”所有专业判断都压缩成一行字少了温度和说服力。这也是我想给健康 Agent 装上 3D 身体、落地真实问诊产品的核心原因。二、单点技术的局限为什么拼积木行不通一开始我想得很简单接一个大模型生成文字用 TTS 转成语音再套个 3D 模型做口型——不就行了实际做下来才发现这三个环节各自为战拼在一起处处是坑。LLM 只管说什么不管怎么说大模型输出的是纯文本 token。同样一句建议您每天运动 30 分钟模型输出的字符串不带任何语气、表情和手势信息。但在真实问诊场景里医生说这句话时会微笑、会做手势比划——这些非语言信号才是建立信任感的关键。TTS 和 3D 模型的同步是个黑洞加上 TTS 确实有了声音但口型同步怎么做预生成整段音频再匹配口型延迟至少 1-2 秒用音素实时驱动精度又不够嘴唇和声音对不上。用户一看就知道是假的信任感直接归零。云端渲染碰上健康咨询场景的不可能三角健康咨询的交互节奏很特别——用户问完之后需要等 AI 想完、说完一整段话中间还可能追问打断。这对实时性要求很高。而传统数字人采用云端集中渲染方案核心流程是由云端 GPU 完成画面生成再将结果下发至终端呈现。这种方式强依赖网络、延迟高、无法实时打断仅适用于低交互场景。想象一下你在社区健康小屋跟数字医生说到一半画面卡住不动了——这种体验还不如看文字。三、魔珐星云的解法参数流 端侧渲染魔珐星云没有在传统方案上缝缝补补而是从底层换了一条技术路线参数流驱动端侧渲染。传输的不是画面是指令传统方案传视频流——每秒 30 帧 1080p 需要 2-4 Mbps。魔珐星云传的是参数骨骼旋转角度、表情权重、口型系数全是浮点数。数据量从 Mbps 降到 KB 级差了三个数量级。这意味着三件事端到端响应约 500ms——用户问完数字医生几乎是秒回天然支持流式——LLM 吐出第一个 token口型参数就跟着生成端侧立刻渲染。不需要等整段回答写完多维度独立控制——口型、表情、肢体、视线参数互不耦合可以并发驱动渲染在本地做不在云端做参数推到用户设备上之后渲染在哪里完成在设备本地的 GPU 上。2025-2026 年的消费级芯片完全扛得住 1080p30fps 的 3D 渲染。瑞芯微 RK3588 这种百元级国产芯片就能跑。这对健康咨询场景特别关键——社区健康小屋、企业医务室这些地方网络条件参差不齐。云端集中渲染方案在弱网下直接崩但 KB 级的参数流在 4G 下都稳得很。端到端三层架构多模态感知层听到用户的问题↓大模型 智能体认知层分析症状、给出建议↓多模态具身表达层用语音口型表情动作说出来表达层被独立解耦 是这套架构最聪明的设计。开发者自由选择 LLM我用了魔搭社区的 Qwen魔珐星云只负责最后一步——把文本变成可感知的具身表达。不强绑任何模型厂商开发者的选择权完全在自己手里。四、实战我用魔珐星云 SDK 做了一个 AI 健康数字员工理论说完了下面是我实际做的项目——智能健康咨询数字员工。项目已开源在 GitHub下面是完整的技术拆解。完整代码https://github.com/S05dh11/health-advisor-assistantSDK 文档https://xingyun3d.com/developers/52-183项目架构我采用纯前端 SPA 架构模块化拆分为五个部分health-advisor-assistant/├── index.html # 单页面入口├── css/style.css # 全部样式健康主题绿色调├── js/│ ├── config.js # 密钥管理localStorage 存取│ ├── avatar.js # 数字人 SDK 封装核心634 行│ ├── ai.js # AI 对话魔搭 Qwen 流式调用│ ├── ui.js # UI 交互消息渲染、状态更新│ └── main.js # 入口初始化└── server.js # Node.js 静态文件服务器第一步SDK 连接与初始化在魔珐星云官网注册、创建「具身驱动应用」、选择数字人形象我选了超写实医生形象后拿到 App ID 和 App Secret。然后是 SDK 的初始化连接核心代码在 avatar.js 的 connect() 方法中// avatar.js - 连接数字人asyncconnect(config,onProgress){// 清空容器创建包装元素constcontainerdocument.querySelector(#avatar-container);container.innerHTMLdiv idxmov-avatar-wrapper stylewidth:100%;height:100%;/div;// 创建 SDK 实例this.sdknewXmovAvatar({containerId:#xmov-avatar-wrapper,appId:config.appId,appSecret:config.appSecret,gatewayServer:https://nebula-agent.xingyun3d.com/user/v1/ttsa/session,// 状态变化回调 —— 驱动界面更新onStateChange:(state){this.currentStatestate;UI.updateAvatarState(state);},// 语音播放状态回调 —— 监控数字人说话状态onVoiceStateChange:(status){console.log(数字人语音状态:,status);// start / end},enableLogger:false});// 初始化会下载模型资源awaitthis.sdk.init({onDownloadProgress:(progress){onProgressonProgress(progress);}});// 等待连接稳定awaitthis.sleep(3000);this.connectedtrue;}几个注意点init() 首次会下载数字人模型和动作资源需要展示进度条安抚用户等待连接完成后需要等待约 3 秒让 SDK 状态稳定否则后续操作可能失败onStateChange 和 onVoiceStateChange 这两个回调是后续状态管理和流式语音驱动的关键后面会展开讲第二步对话场景设计健康咨询不是通用聊天需要专业分诊。我设计了四个独立场景每个场景有自己的角色人设和系统提示词每个场景独立的系统提示词定义在 ai.js 中// ai.js - 四个场景的系统提示词SCENE_PROMPTS:{daily:你是健康顾问医生小康。 ⚠️ 重要限制每次回答必须控制在50字以内。 ⚠️ 免责声明建议仅供参考严重症状请及时就医。 专业领域饮食营养、运动健身、作息管理、预防保健。 咨询风格专业亲和实用易懂。 简洁回答给出可操作的具体建议。,tcm:你是中医调理医师康康。 ⚠️ 重要限制每次回答必须控制在50字以内。 ⚠️ 免责声明建议仅供参考严重症状请及时就医。 专业领域体质辨识、养生保健、食疗方案、经络调理。 咨询风格温和细致传统与现代结合。 简洁回答注重整体调理。,// ... 亚健康、慢病管理场景类似}场景切换的交互也很简单——用户点击顶部四个 Tab 按钮ai.js 的 setScene() 方法切换当前场景和提示词ui.js 同步更新界面上的角色信息和快捷问题// ui.js - 场景切换initSceneButtons(){this.elements.sceneBtns.forEach(btn{btn.addEventListener(click,(){// 更新按钮状态this.elements.sceneBtns.forEach(bb.classList.remove(active));btn.classList.add(active);// 切换场景更新提示词和角色信息AI.setScene(btn.dataset.scene);// 更新快捷问题列表this.updateQuickQuestions();});});}第三步AI 对话流式对接对话模块的核心是用 SSE 流式调用魔搭社区的 Qwen 模型边生成边更新 UI。这是 ai.js 中 chat() 方法的核心逻辑// ai.js - 流式对话asyncchat(userMessage,apiKey,onMessage,onComplete,onError){constsystemPromptthis.SCENE_PROMPTS[this.currentScene];constresponseawaitfetch(https://api-inference.modelscope.cn/v1/chat/completions,{method:POST,headers:{Content-Type:application/json,Authorization:Bearer ${apiKey}},body:JSON.stringify({model:Qwen/Qwen2.5-7B-Instruct,messages:[{role:system,content:systemPrompt},{role:user,content:userMessage}],stream:true,temperature:0.7,max_tokens:800})});// SSE 流式解析constreaderresponse.body.getReader();constdecodernewTextDecoder();letfullResponse;while(true){const{done,value}awaitreader.read();if(done){onComplete(fullResponse);break;}constchunkdecoder.decode(value,{stream:true});constlineschunk.split(\n);for(constlineoflines){if(line.startsWith(data: )){constdataline.slice(6);if(data[DONE]){onComplete(fullResponse);return;}constparsedJSON.parse(data);constcontentparsed.choices?.[0]?.delta?.content;if(content){fullResponsecontent;onMessage(content);// 逐 token 更新 UI}}}}}流式输出让用户在 AI 思考的瞬间就能看到回答在打字般逐步出现而不是干等几秒钟突然蹦出一大段文字。这在前端是基础的体验优化但后面你会发现流式输出和数字人语音的结合才是真正的重头戏。第四步数字人状态机设计这是整个项目最关键的交互设计。我实现了一套状态机让数字人的行为和对话流程严格同步用户提问 → listen倾听中→ think思考中→ speak说话中→ idle待机在 ui.js 的 handleSendMessage() 方法中状态流转是这样的// ui.js - 发送消息的核心流程简化版asynchandleSendMessage(){constmessageinput.value.trim();// 添加用户消息气泡this.addMessage(user,message);this.setSendButtonDisabled(true);letassistantMessage;constmessageElementthis.addMessage(assistant,);// 调用 AI流式更新气泡awaitAI.chat(message,apiKey,// onMessage - 逐 token 更新 UI 流式喂给数字人(chunk){assistantMessagechunk;this.updateMessage(messageElement,assistantMessage);Avatar.feedStreamChunk(chunk);// 流式喂给数字人详见第五步},// onComplete - AI 回复完毕结束流式语音(fullMessage){this.updateMessage(messageElement,fullMessage);Avatar.endStreamingSpeak();// 标记说完this.setSendButtonDisabled(false);});}第五步流式语音驱动——让数字人和 AI 同步开口前面的步骤中AI 的回答是一边生成一边更新 UI 的。但数字人的语音呢如果等 AI 全部说完再让数字人开口用户要盯着聊天框等好几秒——体验不够好。翻看 SDK 文档1.4 节我发现 speak() 方法原生支持流式调用speak(ssml:string,is_start:boolean,is_end:boolean):void三个参数的含义第一次调用is_start true, is_end false —— 告诉 SDK我要开始说话了中间每次调用is_start false, is_end false —— 继续追加内容最后一次调用is_start false, is_end true —— 告诉 SDK说完了这意味着我们可以把 LLM 的流式 token 直接对接到数字人的语音流——AI 边想数字人边说。核心代码在 avatar.js 中// avatar.js - 流式语音驱动startStreamingSpeak(){this.speakBuffer;this.isFirstSpeaktrue;}feedStreamChunk(text){if(!this.connected||!this.sdk)return;this.speakBuffertext;// 首次调用前积攒一小段内容官方最佳实践// 保证数字人的消耗速度慢于大模型的输出速度避免追尾if(this.isFirstSpeakthis.speakBuffer.length15){return;}if(this.isFirstSpeak){this.sdk.speak(this.speakBuffer,true,false);// is_start truethis.speakBuffer;this.isFirstSpeakfalse;}else{this.sdk.speak(text,false,false);// 追加内容}}endStreamingSpeak(){if(!this.connected||!this.sdk)return;if(this.speakBuffer.length0){// 把缓冲区剩余内容作为最后一次 speak 发出this.sdk.speak(this.speakBuffer,this.isFirstSpeak,true);}}整个流式语音的交互流程用户提问 → listen → think→ AI 开始流式输出积攒约 15 字→ speak(is_starttrue) → 数字人开口说话→ 后续 token 逐个 speak(is_startfalse, is_endfalse)→ AI 输出结束 → speak(is_endtrue) → 数字人说完这比等 AI 全部写完再开口的体验好很多——用户几乎感觉不到等待AI 想到什么数字人就在说什么。关键的设计决策有三个用 SDK 原生的 is_start / is_end 参数控制流式起止而不是自己造轮子做分段队列——SDK 内部已经处理好了流式拼接和状态管理首次 speak 前积攒约 15 字——这是官方文档推荐的最佳实践让数字人的消耗速度慢于大模型的输出速度避免追尾导致语音断续流式对接让 AI “想到哪说到哪”——用户不再需要等 AI 想完第一个 token 出来约 1 秒后数字人就开口了官方文档speak() 的流式调用详见 SDK 文档 1.4 节注意事项一次完整的 speakis_endtrue结束后下一次 speak 前建议用 interactive_idle() 或 listen() 做一次状态切换onVoiceStateChange 回调会抛出 start/end 事件可用于监控语音播放状态最终效果把上面这些组装到一起最终的交互流程是用户在右侧输入健康问题或点击快捷问题AI 流式生成回答文字气泡逐步显示AI 边流式生成数字医生边说——有口型、有语音、有动作无需等待底部字幕实时同步用户既能听到也能看到说完后回到待机状态等待下一个问题五、SDK 开发与落地方式总结通过这个项目的实战我总结一下魔珐星云 SDK 的开发和落地要点接入门槛低。整个项目我用纯前端技术HTML/CSS/原生 JS就搞定了没有 Webpack、没有框架依赖。SDK 通过 CDN 引入API 就是 new XmovAvatar() → init() → speak() 三步走前端开发者半小时就能跑通。表达层独立解耦。这是我认为星云架构最核心的设计优势。ai.js 负责对接任意大模型avatar.js 负责对接星云 SDK两个模块通过回调函数连接互不耦合。这意味着你可以把 Qwen 换成 DeepSeek、换成 GPT只需要改 ai.js数字人驱动层完全不用动。星云不是传统数字人渲染引擎而是 AI 具身表达的基础设施——传统方案是渲染下发星云是参数端侧架构底层就不同。落地路径清晰。这个项目虽然是个黑客松 Demo但它的落地路径很明确企业医务室部署一台大屏 RK3588 主板百元级直接跑 Android 版本社区健康小屋现有设备不换硬件嵌入 Web 版本药店咨询台一台平板即可4G 网络就能稳定运行健康管理平台SDK 嵌入现有 App给 AI 客服加上身体端侧渲染让规模化部署成为可能。传统方案每路独占 GPU10 路并发就要一台 A100。而星云的端侧渲染方案服务器只做轻量级参数生成10 路、100 路、1000 路的成本差距极小。对于需要全国铺开的企业级场景比如连锁药店的 AI 药师这个成本结构才是可持续的。六、实际体验与总结做完这个项目说说我最真实的感受。数字人让 AI 健康咨询从查资料变成了问诊。同样一条建议建议每天运动 30 分钟文字版本你扫一眼就滑走了但当一个穿白大褂的数字医生看着你、微笑着、用温和的语气说出来你的感受是完全不同的——你会更认真地听、更愿意照做。这就是具身表达的价值不是更好看而是更可信。SDK 开发体验流畅。魔珐星云 JS SDK 的 API 设计很直觉状态机idle/listen/think/speak speak 方法 回调事件三个核心概念覆盖了绝大多数场景。不需要懂 3D 渲染、不需要懂骨骼动画前端开发者就能上手。整个项目的核心难点不在 SDK 接入而在于业务逻辑流式语音对接、场景切换SDK 原生的 speak 流式支持让数字人边听边说变得很简洁确实做到了开发者友好。参数流 端侧渲染的组合是正确的工程选择。在开发过程中我深刻感受到——如果用云端集中渲染方案我连本地调试都会被延迟和卡顿折磨。但实际上数字人的响应非常即时语音和口型天然同步因为都是同一份参数驱动的弱网下也不受影响。这不是优化出来的体验是架构选择决定的体验。当然也有不足。在开发中我发现一些值得改进的地方SDK 的流式 speak 调用在弱网环境下偶尔会出现语音断续期待后续版本在网络自适应方面有更好的表现当前 speak 流式调用结束后下一次调用前需要手动切换状态interactive_idle 或 listen如果 SDK 能在内部自动处理状态重置会更方便50 字的回答限制对于复杂健康咨询来说还是太短了后续需要放开限制并优化长文本的流式体验但我相信这些都是平台快速迭代中会解决的问题。最后我想说具身智能不是一个炫酷的噱头而是 Agent 的必然形态。当 AI 从幕后大脑变成台前医生用户的信任感、接受度和依从性都会发生质的变化。魔珐星云做的事情本质上是为这个转变提供基础设施——让每一块存量屏幕、每一个 AI Agent都能以最低成本获得一个可信的身体。而作为开发者你要做的就是接过 SDK给自己的 Agent 装上这个身体。整个过程比你想的要简单得多。项目开源地址https://github.com/S05dh11/health-advisor-assistant魔珐星云 SDK 文档https://xingyun3d.com/developers/52-183专属链接https://xingyun3d.com/?utm_campaigndailyutm_sourcejixinghuiKoc100文章出自Halcyon.平安原文链接https://dahao-cpp.blog.csdn.net/article/details/161009022?spm1011.2415.3001.10575sharefrommp_manage_link

相关文章:

从文字问诊到具身交付:健康 Agent 产品落地实战

当健康 Agent 跳出冰冷文字框,升级为能开口、有表情、会互动的 3D 数字医生,产品体验会发生质变。本文完整记录:我如何用魔珐星云 SDK,把文字健康 Agent 落地为可交互数字员工的实战全过程。 一、产品痛点:健康 Agent&…...

b3dkit 生成连接器

from build123d import * from b3dkit import dovetail from b3dkit import Pointdef split_with_b3dkit_point():# 创建零件part Part() Box(100, 50, 30)# 使用 b3dkit 的 Point 类start_point Point(0, -25)end_point Point(0, 25)try:# 所以需要额外指定 Z 范围或者使用…...

RISC-V架构:gp寄存器与链接器松弛

目录 0 相关内容 1 gp(global pointer)全局指针寄存器 1. gp 寄存器的核心作用:高效访问全局数据 2. 为什么 Cortex-M 没有 gp? 3. gp 寄存器在 FreeRTOS 中的作用 2 链接器松弛 3 如何将全局小变量连接到 .sdata 段并设置 …...

2026年局域网考试系统选型对比:优考试助力政企信创与内网安全

在数字政府与信创产业全面推进的当下,政企、事业单位及涉密单位的考试场景,正面临国产化适配、数据安全、灵活部署三重核心要求。既要满足内网环境下的数据安全与物理隔离,又要兼顾部分场景下外网访问的灵活性,传统单一架构考试系…...

【Midjourney拟物化风格实战指南】:20年视觉设计专家亲授3大材质渲染公式与5步出图工作流

更多请点击: https://kaifayun.com 第一章:拟物化风格的本质与Midjourney语义解码 拟物化(Skeuomorphism)并非简单的视觉仿拟,而是一种通过材质、光影、物理反馈等多维语义锚点唤起用户认知惯性的交互范式。在AI图像生…...

设计师私藏的11个纹理Prompt原子模块(仅限本周开放下载:含PBR贴图映射表+光照反射系数速查卡)

更多请点击: https://intelliparadigm.com 第一章:纹理Prompt原子模块的设计哲学与底层逻辑 纹理Prompt原子模块并非简单拼接关键词的字符串生成器,而是以认知建模为根基、以可组合性为约束、以语义保真度为校验目标的结构化表达系统。其设计…...

linuxcnc开发环境搭建

linux cnc ,数控机床开源控制软件,实时系统。下载linuxcnc.iso镜像,在虚拟机里安装。安装成功运行起来。安装了amd64版本的qtcreator运行提示少libxcb:sudo apt update sudo apt install libxcb-cursor0打开窗口成功新建 一个工程…...

Win11 右键菜单缺少“新建文本文档“win11 某些软件中文乱码

Win11 右键菜单缺少“新建文本文档“Win11 右键菜单缺少"新建文本文档"是‌常见系统配置问题‌,主要通过注册表修复或记事本应用重装即可解决。‌‌核心解决方法(win11 亲测可行)‌注册表修复(最常用)‌按Wi…...

达梦数据库-统计信息收集-记录

达梦数据库-统计信息收集-记录总结 1统计信息收集 统计信息主要是描述数据库中表和索引的大小及数据分布状况等信息。比如:表的行数、块数、平均每行的大小、索引的高度、叶子节点数以及索引字段的行数等。统计信息对于CBO(基于代价的优化器&#xff0…...

原来赛事专用匹克球工厂还有这么多门道?你了解吗?

引言在匹克球运动蓬勃发展的当下,赛事专用匹克球的品质至关重要。而赛事专用匹克球工厂背后,其实隐藏着诸多门道。泉州凯瑞麟体育用品有限公司作为行业内的佼佼者,在这方面有着独特的技术与经验。核心材料与技术创新赛事专用匹克球对核心材料…...

终极指南:3分钟让Switch手柄变身PC游戏神器

终极指南:3分钟让Switch手柄变身PC游戏神器 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com/gh_mirrors…...

从零实现一个高性能 FTP 服务器(C++ / Linux)

目录一、搭建 TCP 服务器骨架服务器代码测试二、支持多客户端并发三、线程模型核心思路为什么使用 detach输出为什么会错乱四、函数重构重构后的结构五、FTP 协议基础控制连接数据连接六、命令解析行缓冲区命令解析为什么要转大写七、PASV 被动模式为什么需要数据连接&#xff…...

关注模块 API

关注用户 POST /api/v1/relations/followHeaders:Authorization: Bearer {token}Request: {"user_id": "target_user_id" }Response: {"code": 0,"data": {"relation_type": "following"} }接口语义设计 POST /…...

仪式感,从来与你无关

2.2万人点赞的扎心评论:仪式感,从来都与你无关 有2.2万个男生偷偷点了赞。 没有歇斯底里的控诉,没有长篇大论的抱怨,只有一句轻飘飘的陈述,和一句"兄弟,没绷住"。 但就是这两句话,像一根针,精准地扎破了无数男生藏在心里最深处的、不敢说出口的委屈。 01…...

LangChain 是什么?从零开始学会 LangChain 的工程实践指南

LangChain 是什么?从零开始学会 LangChain 的工程实践指南 1. 文章背景:为什么这个主题重要 在大模型应用开发中,很多人第一次接触 LangChain,是因为想快速做一个“基于大模型的应用”:例如知识库问答、RAG 检索增强生…...

Python EXE逆向工程完全指南:使用python-exe-unpacker快速反编译打包程序

Python EXE逆向工程完全指南:使用python-exe-unpacker快速反编译打包程序 【免费下载链接】python-exe-unpacker A helper script for unpacking and decompiling EXEs compiled from python code. 项目地址: https://gitcode.com/gh_mirrors/py/python-exe-unpa…...

Pure Live:3大平台聚合,打造你的专属纯净直播空间

Pure Live:3大平台聚合,打造你的专属纯净直播空间 【免费下载链接】pure_live A Flutter project can make you watch live with ease. 项目地址: https://gitcode.com/gh_mirrors/pu/pure_live 你是否厌倦了在多个直播应用间来回切换&#xff1f…...

【RK3588-AI-004】RK3588 AI专属依赖环境预装(Python、OpenCV、基础编译工具)

📖 专栏介绍 本专栏为RK3588 端侧AI开发零基础实战教程,专为嵌入式AI入门、模型部署、视觉开发学习者打造。全程实操、无废话、避坑优化,从零搭建RK3588专属AI开发环境,手把手教学,新手也能轻松上手。 ✅ 硬件适配&am…...

深入拆解 MySQL InnoDB 隔离级别:从 MVCC 到临键锁

前言 关于 MySQL InnoDB 的事务隔离级别,90% 的开发者都存在至少一个致命误区: 误区1:RR(可重复读) 临键锁 彻底解决了幻读误区2:Serializable 只是比 RR 加的锁更多,本质还是用 MVCC误区3&a…...

2026.5.12【芯片设计面试经验分享】上海车载芯片设计公司

一、主管面试 1、介绍下负责的cpu的九级流水线都有哪级? 指令预取、PC取指、指令译码、发射(双发射)、执行1(alu、运算)、执行2(乘法、移位)、访存、写回、提交/重排 2、负责的spyglass cdc 一般…...

编译和链接+预处理

编译(compile)和链接(link)在以前我们提到过,C语言是一门编译型的计算机语言,C语言的源代码都是文本文件,文本文件本身无法运行,电脑不能执行C语言代码,计算机能够执行的…...

数分-MySQL基础01

数分-MySQL基础01基础概念MySQL数据库对象MySQL的架构MySQL客户端和服务器端连接方式命令行连接方式图形化客户端连接SQL语言分类通用语法(所有数据库)DDL语句数据库DDL数据表DDL表字段DDL数据类型字段约束基础概念 数据库(Database, DB&…...

Spring AI Alibaba 1.x 系列【55】Interrupts 中断机制:静态中断源码分析

文章目录 1. interruptBefore 模式1.1 中断判断逻辑1.2 构建中断元数据1.3 返回中断响应1.4 初始化【中断执行】上下文1.5 合并状态(BUG)1.6 执行结束 2. interruptsAfter 模式2.1 设置 INTERRUPT_AFTER 标记2.2 动态计算下一个节点 3. 中断时机对比 1. …...

【Linux驱动开发】第11天:设备树(Device Tree)超详细全解:从诞生背景到工作原理

一、设备树的诞生背景:传统驱动的致命痛点 在设备树出现之前(Linux 3.0之前),Linux内核采用硬编码的方式描述所有硬件信息。这意味着: 每一个开发板的寄存器地址、中断号、GPIO号,都直接写死在驱动代码里换…...

【Linux驱动开发】第10天:设备树零基础入门——DTS/DTB/DTC全解+编译流程

目录 为什么需要设备树?传统驱动的终极痛点DTS/DTB/DTC 大白话定义核心区别三者关系完整编译流程图最简单的DTS示例语法解析设备树编译与反编译实操命令内核如何加载和使用设备树核心总结面试必背考点 1. 为什么需要设备树?传统驱动的终极痛点 在设备树…...

TowerPersonalProperty.cs

TowerPersonalProperty 是塔的标准化攻击组件,攻击节奏(CD管理)子弹发射(从对象池获取并配置)视觉表现(旋转、动画、音效、特效)经济交互(升级/出售价格计算与金币变更)它…...

[工具] 数学题库生成器(小学,初中,高中全包括) 面向中小学数学教学的自动出题工具,覆盖从小学一年级到高中三年级共 7 个学段、33 种题型

数学题库生成器(小学,初中,高中全包括) 基本覆盖各个年级的重点题型生成,并导出为word,可以显示解题步骤。# 数学题库生成器 MathMaster 数学题库生成器(MathMaster)是一款面向中小学…...

硬件工程师,每天5分钟(5)——为什么 DDR5 最怕地不好?回流路径,才是高速设计真正的灵魂

讲透: 回流路径 为什么 Split Plane 最危险 为什么加地孔有时候能救命 为什么 GPS 会被 DDR 干扰 为什么 EMC 挂的根因常是地 🚗《硬件工程师,每天5分钟》第5篇 🔥《为什么 DDR5 最怕地不好?回流路径,才是高…...

11.三层网络VXLAN

先把之前基于flat模式创建的虚机,全部删除 控制节点配置:1.修改配置文件/etc/neutron/neutron.conf 将[DEFAULT]区域 core_plugin ml2 service_plugins 修改为 core_plugin ml2 service_plugins router allow_overlapping_ips True2.修改/etc/neutro…...

数采网关的应用与特点

摘要在工业自动化、智能制造和物联网(IoT)快速发展的背景下,数据采集网关(数采网关)作为连接现场设备与上层管理系统的关键枢纽,发挥着至关重要的作用。它能够实现工业设备数据的实时采集、协议转换、边缘计…...