心跳设计:提升用户体验的动态反馈机制与实现指南
1. 项目概述什么是“心跳设计”“心跳设计”这个词乍一听可能有点抽象但它其实是我们日常交互中一个非常核心且微妙的设计理念。简单来说它指的是通过界面元素如按钮、图标、加载动画或系统反馈如声音、震动的周期性、有节奏的动态变化向用户传递“系统正在运行”、“连接正常”或“操作已被接收”等状态信息。就像人体的心跳一样它提供了一种持续、稳定、可感知的生命体征让用户与数字产品之间的连接变得“可触摸”从而极大地缓解等待焦虑并建立信任感。我第一次深入接触这个概念是在为一个金融类App设计实时交易状态页面时。用户在下单后最焦虑的就是“我的钱去哪儿了系统卡住了吗”。传统的静态页面或一个简单的“加载中”菊花转根本无法安抚这种情绪。我们引入了一个模拟心电图波形的动态线条随着后台订单处理的不同阶段接收、风控、撮合、成交线条的跳动频率和幅度会微妙变化。这个小小的“心跳”让用户能直观感知到后台正在为他工作而不是面对一个“死”的界面。实测下来用户关于“订单是否成功”的客服咨询量直接下降了近40%。这让我深刻体会到好的“心跳设计”不是炫技的动画而是构建用户心理安全感的基石。它适合所有涉及状态等待、后台运行、实时数据或连接稳定性的场景。无论是产品经理、交互设计师、UI设计师还是前端开发者理解并运用好“心跳设计”都能让你的产品在体验细腻度上拉开差距。接下来我会拆解它的核心思路、具体实现手法以及那些只有踩过坑才知道的实操细节。2. 心跳设计的核心思路与价值拆解2.1 从“无反馈”到“有生命”设计思维的转变传统设计中我们更关注任务的完成和信息的呈现往往忽略了“过程”本身。用户点击按钮后到结果返回前这段时间是体验的“黑洞”。心跳设计的核心思路就是将这个“黑洞”点亮将其转化为一个可感知、甚至可预期的“过程”。它的价值主要体现在三个层面心理层面缓解焦虑与建立掌控感。人类对不确定性的厌恶是根深蒂固的。一个持续的、有规律的动态反馈能有效降低不确定性带来的焦虑。用户知道“系统还活着正在处理”这种掌控感是良好体验的基础。功能层面传达状态与引导预期。不同的“心跳”模式可以传达不同的状态。例如匀速平稳的跳动表示“连接正常待机中”快速而规律的跳动可能表示“数据正在同步”由快变慢最后停止的跳动则可以优雅地表示“任务完成”。这比单纯的文字状态描述更直观、更前置。品牌层面塑造个性与情感连接。心跳的节奏、样式是圆点脉动、波纹扩散还是线条起伏可以融入品牌基因。一个活泼的品牌可能使用弹跳感强的“心跳”一个专业的工具则可能采用冷静、规律的脉冲。这能在潜意识中强化品牌形象。2.2 关键设计原则克制、一致、有意义在实际应用中切忌为了动效而动效。心跳设计必须遵循几个关键原则克制Subtlety心跳反馈应该是背景式的、非侵入的。它的强度不应超过主要内容避免分散用户注意力。通常采用低饱和度的颜色、较小的幅度和适当的透明度。一致Consistency同一种状态必须使用同一种心跳模式。例如“连接中”的状态在整个App中都应该使用相同的动画节奏和视觉样式否则会给用户造成认知混乱。有意义Meaningful动态必须与后台真实状态关联。最糟糕的情况是动画在欢快地跳动但实际连接已断开。这会造成严重的信任危机。动态应该是真实进程的映射或象征。注意避免滥用“心跳”。不是所有地方都需要。对于瞬间完成的操作如本地开关切换添加心跳反馈反而会显得拖沓。它主要适用于需要用户等待0.5秒且进程不透明的场景。3. 心跳设计的常见模式与实现解析心跳设计有多种视觉表现形式每种都有其适用的场景和实现要点。下面我结合具体案例和前端实现思路以CSS/JS为例来详细说明。3.1 脉动Pulsating效果这是最经典、最直接的心跳隐喻。通常是一个圆形或圆角矩形元素其scale缩放和opacity透明度属性随时间周期性变化。应用场景实时在线状态指示器用户头像角落的绿点。可点击元素的轻提示引导用户点击某个主要按钮。后台持续运行标识如地图App持续记录轨迹时录制按钮的脉动。CSS实现核心代码与解析.pulse-indicator { width: 12px; height: 12px; border-radius: 50%; background-color: #4CAF50; /* 绿色表示活跃 */ position: relative; } /* 关键使用伪元素创建扩散波纹 */ .pulse-indicator::after { content: ; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; background-color: #4CAF50; animation: pulse-ring 1.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite; } keyframes pulse-ring { 0% { transform: scale(0.8); opacity: 0.8; } 80%, 100% { transform: scale(2); opacity: 0; } }实操心得缓动函数cubic-bezier是关键不要使用默认的ease。上面代码中的cubic-bezier(0.215, 0.61, 0.355, 1)能创造出一种类似真实脉搏“快速收缩、缓慢舒张”的感觉比线性动画生动得多。你可以通过浏览器开发者工具的Animations面板实时调整贝塞尔曲线找到最舒服的节奏。性能优化对transform和opacity属性做动画浏览器会尝试用GPU加速触发合成层性能最好。避免对width、height、margin等属性做动画会引起重排Reflow在移动端或低性能设备上可能导致卡顿。无障碍访问对于纯装饰性的心跳动画记得为元素添加aria-hidden“true”防止读屏软件反复播报。如果动画代表重要状态如“正在录音”则需要通过aria-live区域或清晰的文本来补充说明。3.2 呼吸Breathing效果呼吸效果类似于脉动但通常幅度更小节奏更慢更像一种柔和的光晕或颜色深浅的变化给人一种“平静运行”的感觉。应用场景设备休眠/待机指示灯智能音箱在聆听命令时的微弱光效。内容加载骨架屏Skeleton Screen骨架屏块背景色的明暗渐变比静态骨架屏更能暗示“内容即将到来”。长时间运行进程的温和提示如大型文件上传时进度条背景的呼吸效果。CSS实现核心骨架屏示例.skeleton-block { background: linear-gradient( 90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75% ); background-size: 200% 100%; animation: breathing 1.5s ease-in-out infinite; } keyframes breathing { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }原理解析这里利用了一个远大于元素宽度的线性渐变背景然后通过动画移动背景的位置制造出光斑流动的效果模拟出“呼吸”感。这种方法比直接改变背景色background-color的透明度更加柔和、有质感。3.3 波浪Wave或序列Sequence效果由多个元素按顺序依次激活形成一种波浪传递或进度推进的感觉。常见于多步骤流程、连接链路的可视化。应用场景网络节点连接状态展示数据从设备到服务器经过的各个节点是否通畅。语音消息录制声波纹从中心向两侧扩散。分步加载指示器多个点依次亮起表示正在检查不同模块。JSCSS实现思路 对于多个元素的心跳序列纯CSS可以通过为每个元素设置递增的animation-delay来实现但维护起来麻烦。更灵活的方式是用JavaScript控制一个CSS类名的添加与移除。div classnode-container div classnode/div div classnode/div div classnode/div div classnode/div /div// 使用简单的setInterval模拟心跳序列 const nodes document.querySelectorAll(.node); let currentIndex 0; const heartbeatInterval setInterval(() { // 移除所有节点的活跃状态 nodes.forEach(node node.classList.remove(active)); // 为当前节点添加活跃状态 nodes[currentIndex].classList.add(active); // 移动到下一个节点循环 currentIndex (currentIndex 1) % nodes.length; }, 300); // 每300ms跳动一次.node { width: 10px; height: 10px; border-radius: 50%; background-color: #ccc; transition: all 0.3s ease; } .node.active { background-color: #007AFF; transform: scale(1.2); box-shadow: 0 0 8px rgba(0, 122, 255, 0.5); }实操心得节奏感序列动画的间隔时间上述代码中的300ms至关重要。太快会显得紧张、廉价太慢则失去“心跳”的连贯感。通常200ms-500ms是一个比较舒适的范围需要根据具体场景调试。状态复位一定要在每次循环前清除上一个元素的状态classList.remove(‘active’)否则所有节点会一直亮着失去序列感。优雅退场当任务完成或连接断开时不要突然停止动画。可以设计一个“完成序列”比如让所有节点快速依次亮起一次然后常亮或者播放一次更快的波浪后全部稳定下来给用户一个明确的结束信号。4. 高级应用与真实系统状态联动初级的心跳设计可能是“假装在工作”而高级的则与后台真实状态深度绑定让动画成为系统状态的“可视化语言”。4.1 网络连接质量可视化我们曾为一个视频会议工具设计状态指示器。简单的“在线/离线”不足以反映真实的用户体验。我们将其设计为稳定连接绿色圆点伴有缓慢、平稳的呼吸效果。网络波动圆点变为黄色呼吸节奏加快且略有抖动通过给transform: scale的动画添加细微的rotate抖动实现。连接不佳圆点变为红色脉动效果变得急促且不规则通过随机改变animation-duration或使用steps()缓动函数实现。断线重连红色圆点闪烁同时有一个旋转的箭头环绕动画表示正在尝试重连。前端实现关键点这里需要前端通过WebSocket的onopen、onmessage、onerror、onclose事件或者定期发送ping/pong包测量延迟和丢包率来动态计算一个“连接健康度”分数。然后根据这个分数通过JavaScript动态切换指示器元素的CSS类名从而触发不同的动画样式。// 伪代码示例 function updateConnectionIndicator(healthScore) { const indicator document.getElementById(connection-indicator); indicator.classList.remove(excellent, good, poor, disconnected); if (healthScore 80) { indicator.classList.add(excellent); // 对应平稳呼吸的CSS } else if (healthScore 50) { indicator.classList.add(good); // 对应轻微波动的CSS } else if (healthScore 0) { indicator.classList.add(poor); // 对应急促脉动的CSS } else { indicator.classList.add(disconnected); // 对应闪烁重连的CSS } }4.2 后台任务进度映射对于无法提供精确进度百分比的任务如AI模型计算、复杂搜索心跳动画可以映射其处理阶段。 例如一个文档分析任务阶段1上传解析动画是多个碎片向中心汇聚translate动画。阶段2AI处理动画变为大脑图标或齿轮的规律旋转。阶段3生成报告动画变为文字线条从一点生长出来stroke-dasharray和stroke-dashoffset动画。 每个阶段的过渡由后端推送的事件或前端轮询状态接口来触发切换。注意这种多阶段动画的设计必须确保阶段切换流畅自然。最好在上一阶段动画结束的关键帧animationend事件触发下一阶段或者使用交叉淡入淡出opacity过渡避免生硬的跳转。5. 避坑指南与性能优化实录在实际项目中落地心跳设计我踩过不少坑这里总结几个最关键的。5.1 常见问题与排查问题现象可能原因解决方案动画卡顿、不流畅1. 动画属性触发重排/重绘如width,left。2. 同时运行的动画太多主线程阻塞。3. 设备性能不足。1.坚持使用transform和opacity。用transform: translateX()代替left。2.使用will-change: transform;提示浏览器优化但勿滥用。3.减少同时进行的复杂动画数量非核心动画可以降低帧率或暂停。动画在滚动时停滞浏览器为了节能在页面不可见或滚动时限制了requestAnimationFrame。对于非关键的心跳动画可以接受在后台时暂停。使用Page Visibility API监听页面可见性不可见时暂停动画可见时恢复。iOS Safari上动画闪烁某些CSS属性在iOS上的硬件加速渲染层问题。为动画元素添加CSS样式-webkit-backface-visibility: hidden;和-webkit-transform: translateZ(0);谨慎使用可能带来其他副作用。动画与业务逻辑不同步前端动画是预设的循环而后台任务可能失败或提前完成。建立状态机。动画的播放、暂停、切换必须由唯一的业务状态驱动而不是独立的定时器。任务完成时必须强制停止动画并切换到完成态。用户反馈“太闪”、“眼晕”动画频率过高、对比度过强或幅度过大。进行A/B测试。提供“减弱动画效果”的设置选项。遵循WCAGWeb内容无障碍指南关于闪烁频率一般低于3Hz的建议。5.2 性能优化实战技巧优先使用CSS动画对于简单的、循环的心跳效果CSSanimation的性能和开发效率通常高于用JavaScript如setInterval直接操控样式。浏览器可以对CSS动画进行更好的优化。使用requestAnimationFrame如果必须用JS驱动复杂动画如根据实时数据改变心跳曲线务必使用requestAnimationFrame而非setTimeout或setInterval。它能保证回调函数在每次重绘前执行避免丢帧并在页面未激活时自动暂停节省资源。合成层优化对于需要高性能动画的元素可以强制其提升到独立的合成层。除了transform: translateZ(0)现代浏览器更推荐使用will-change: transform;。但记住只在元素确实需要复杂动画时使用并在动画结束后移除这个属性因为创建过多的合成层同样消耗内存。简化动画复杂度评估你的心跳动画是否真的需要那么多细节。一个圆点的缩放和透明度变化性能远优于一个具有复杂阴影、边框和渐变背景的元素的同样动画。在移动端务必做真机测试。6. 设计工具与落地协作6.1 在设计稿中表达心跳静态设计稿如Figma、Sketch无法直接展示动态效果但这恰恰是设计师需要向开发清晰传达意图的地方。我常用的方法添加注释在动画元素旁边用文字详细描述预期效果“此绿色圆点需有持续、缓慢的呼吸效果周期约2秒缩放范围0.9至1.1透明度同步从0.7到1变化”。制作微动效视频/GIF使用Principle、Protopie或Figma的自带动效功能制作一个几秒钟的示例动画导出为GIF或视频附在设计稿旁边。这是最直观的方式。定义设计令牌Design Tokens在团队的设计系统中将动画参数化。例如定义{ “animation”: { “heartbeat-slow”: { “duration”: “2s”, “easing”: “cubic-bezier(0.4, 0, 0.2, 1)”, “iteration-count”: “infinite” }, “heartbeat-fast”: { “duration”: “0.6s”, “easing”: “cubic-bezier(0.4, 0, 0.2, 1)”, “iteration-count”: “infinite” } } }开发同学可以直接引用这些令牌保证体验一致。6.2 前端开发落地流程评审阶段设计师需向产品、开发讲解心跳动画的设计意图为什么加缓解什么焦虑并展示动效原型。开发评估实现成本与性能影响。实现阶段开发根据设计规范优先用CSS实现。如果涉及复杂状态联动编写清晰的状态机逻辑。提供可控接口将动画封装成组件如HeartbeatIndicator status“connecting” /通过status属性控制其表现便于产品逻辑调用。测试阶段功能测试动画是否能正确响应各种业务状态成功、失败、进行中、中断性能测试在低端安卓机或模拟的慢速网络下动画是否依然流畅是否导致页面卡顿无障碍测试读屏软件是否会误读动画是否对光敏性癫痫用户不友好用户体验测试找目标用户看看这个动画是让他们更安心了还是更烦躁了心跳设计是一个从感知层深入到技术实现和团队协作的完整链条。它始于对用户等待情绪的细微体察成于克制而精准的动态表达最终落地于稳定高效的代码。当你下次设计一个需要等待的界面时不妨先问自己这里是否需要一颗让用户安心的“心跳”

相关新闻

基于Web Bluetooth与Xiao nRF52840的NeoPixels无线灯光控制方案

基于Web Bluetooth与Xiao nRF52840的NeoPixels无线灯光控制方案

1. 项目概述:当网页遇上灯带,用蓝牙点亮你的创意如果你玩过Arduino或者树莓派,对NeoPixels(或者叫WS2812B、SK6812这类可寻址RGB LED灯珠)一定不陌生。它们单线控制、色彩绚丽的特性,让无数创客和艺术家着迷…

2026/8/19 3:35:16 阅读更多 →
微信API对接:3个关键点解决80%问题

微信API对接:3个关键点解决80%问题

对接个人微信 API,80% 的问题集中在三块:登录、在线状态、回调。 下面按 GeWe API 实际使用里最常见的情况说明。 Q1:要装插件、要改微信吗? 不用。官方正版微信即可,对版本没有特殊要求,能正常登录就行。…

2026/8/19 3:35:16 阅读更多 →
SolidWorks颜色库扩展:RAL标准色导入与工程应用指南

SolidWorks颜色库扩展:RAL标准色导入与工程应用指南

大家好,我是长期分享CAD/CAE软件使用技巧的博主。在机械设计、产品渲染和工程制图中,颜色的准确性和一致性至关重要,尤其是在需要与客户、供应商或生产部门进行色彩沟通时。你是否遇到过这样的困扰:客户指定了一个“劳尔色号”&am…

2026/8/19 3:35:16 阅读更多 →

最新新闻

进口关税下调如何重塑中国汽车产业格局与竞争逻辑

进口关税下调如何重塑中国汽车产业格局与竞争逻辑

1. 市场格局的“静默”与“暗流”最近和几个在主机厂做战略规划的朋友聊天,话题总绕不开一个词:“变局”。大家普遍的感觉是,车市表面看似波澜不惊,价格战打得火热,但内里却有一股更深刻、更长远的力量在重新塑造游戏规…

2026/8/19 4:48:24 阅读更多 →
超低成本语音模块MP148:从DSP解码到ADPCM压缩的硬件集成方案

超低成本语音模块MP148:从DSP解码到ADPCM压缩的硬件集成方案

1. 项目概述:为什么我们需要一个超低成本语音模块?在智能硬件和物联网设备爆发的今天,声音交互几乎成了标配。从会说话的玩具、智能门铃的提示音,到共享设备的操作反馈、工业设备的故障报警,语音输出功能无处不在。然而…

2026/8/19 4:48:24 阅读更多 →
财报前夕裁员4000人:通用汽车成本控制与战略转型的深度解析

财报前夕裁员4000人:通用汽车成本控制与战略转型的深度解析

1. 从一则裁员新闻看企业成本控制的“手术刀”看到“通用汽车计划下周在美裁员4000人”这个标题,很多人的第一反应可能是“又一家大公司撑不住了”或者“经济寒冬来了”。作为一名长期观察企业运营和战略调整的从业者,我想说,事情远没有这么简…

2026/8/19 4:48:24 阅读更多 →
基于ESP32-S3的Cardputer复古游戏站开发全流程解析

基于ESP32-S3的Cardputer复古游戏站开发全流程解析

1. 项目概述:当“卡片电脑”遇上复古游戏最近在开源硬件圈子里,一个叫 Cardputer 的小玩意儿热度不低。它本质上是一台基于 ESP32-S3 芯片的“卡片电脑”,自带一块小键盘和一块屏幕,尺寸跟一张信用卡差不多,揣在口袋里…

2026/8/19 4:48:24 阅读更多 →
嵌入式PWM灯光控制:从硬件驱动到渐变算法的完整实现

嵌入式PWM灯光控制:从硬件驱动到渐变算法的完整实现

1. 项目概述:从“控制渐灭LED”到系统级灯光控制“控制渐灭LED”这个标题,听起来像是一个简单的单片机入门实验,但如果你真的只把它当成一个点亮、熄灭LED的练习,那就错过了背后一整个关于嵌入式系统、模拟信号处理、人机交互和系…

2026/8/19 4:48:23 阅读更多 →
Anthropic 7 个月营收涨至 7 倍多,能否成首家 10 万亿美元公司?

Anthropic 7 个月营收涨至 7 倍多,能否成首家 10 万亿美元公司?

Anthropic 年化营收飙升,7 个月涨至 7 倍多,能否成首家 10 万亿美元公司?就在今天早上,彭博社率先披露,Anthropic 向投资者透露,截至今年 7 月底,公司年化营收运行率已突破 650 亿美元&#xff…

2026/8/19 4:47:23 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →