基于协同过滤算法的SpringBoot+Vue美食推荐平台全栈实战
你有没有过这样的经历刷到一个美食分享平台看着精美的菜品图片和诱人的描述却总觉得推荐给你的内容差那么点意思要么是重复推送你已经收藏过的菜系要么就是完全不符合你的口味。这背后往往是因为平台缺少一个真正“懂你”的推荐引擎。今天要聊的这个项目就是一个能让你亲手搭建一个“懂你”的美食分享平台的机会。它不是一个简单的增删改查CRUD练习而是一个集成了协同过滤算法的完整前后端分离应用。这意味着你不仅能学到 SpringBoot 和 Vue 的常规开发更能深入到“如何让机器理解用户喜好”这个核心问题里。很多人把协同过滤算法想得很复杂觉得是算法工程师的专属领域但在这个项目中你会发现通过一个清晰的设计它完全可以被优雅地集成到一个标准的 Web 应用中成为项目的亮点和灵魂。这个项目的价值远不止于完成一个课程设计或毕业设计。它更像是一个从“功能实现”到“智能体验”的思维跃迁训练。你会经历从数据库设计、接口开发、前端渲染到算法模型构建、数据计算、结果推荐的完整链路。当你看到平台能根据用户的历史行为自动推荐出他可能喜欢的美食时那种成就感是做一个普通管理系统无法比拟的。1. 为什么说“协同过滤”是这个项目的灵魂而不仅仅是功能很多人拿到一个“美食分享平台”的需求第一反应是用户管理、美食发布、点赞评论、分类搜索。这些确实是基础但它们构建的只是一个“记录”平台。用户来了记录一下用户走了平台就静止了。这样的项目技术栈再新页面再精美也缺乏持续吸引用户的“钩子”。而协同过滤算法的引入彻底改变了这一点。它让平台从“静态陈列”转向“动态互动”。它的核心思想非常直观“和你喜好相似的人喜欢的东西你可能也会喜欢”。在这个美食场景里算法会默默分析用户的行为数据浏览、收藏、点赞、评分找到兴趣相似的用户群体然后把这个群体里受欢迎、但你还没接触过的美食推荐给你。这个过程在项目中是如何落地的呢它绝不是调用一个神秘的黑盒 API。通常项目会引导你建立“用户-物品”评分矩阵然后使用基于用户的协同过滤UserCF或基于物品的协同过滤ItemCF进行计算。例如用户A和用户B都特别喜欢川菜和烘焙那么当用户A给一道新的水煮鱼打了高分系统就可以把这道菜推荐给还没看过它的用户B。注意在项目实践中你首先需要设计合理的数据结构来收集用户行为如评分表user_rating包含user_id,food_id,score,create_time这是算法的“燃料”。没有高质量、足量的行为数据再好的算法也无用武之地。所以当你动手实现这个功能时你学到的不仅仅是SpringBoot中如何写一个推荐接口Vue中如何渲染推荐列表。你更在理解一个完整的数据驱动的闭环用户产生行为 - 行为被记录 - 算法分析行为 - 生成个性化推荐 - 推荐提升用户体验 - 用户产生更多行为。这个闭环的建立才是这个项目区别于成千上万个普通管理系统的关键也是它作为“练手好项目”的真正深度所在。2. 技术选型与项目架构为什么是 SpringBoot Vue从热搜词可以看出SpringBoot和Vue是当前企业级应用和现代化前端最主流、最受关注的技术组合之一。选择它们不是为了堆砌热门词汇而是因为这套组合能为这个特定项目带来实实在在的工程化优势。2.1 后端SpringBoot 的“约定大于配置”与快速集成SpringBoot 的核心优势在于它能让你快速搭建一个稳健、可扩展的后端服务而不用在 XML 配置和复杂的依赖管理上耗费过多精力。对于集成协同过滤算法这类需要一定计算资源的场景SpringBoot 的生态提供了完美的支持。Web 层使用Spring MVC提供 RESTful API清晰定义如/api/recommend/{userId}这样的推荐接口前后端通过 JSON 进行数据交互。业务层这里是算法的核心落脚点。你可以创建一个RecommendationService在其中实现或调用协同过滤的逻辑。计算可能比较耗时所以需要考虑异步处理如Async或缓存结果如集成Redis。数据层使用Spring Data JPA或MyBatis来操作 MySQL。你需要设计用户表、美食表以及关键的用户行为表评分/收藏。PageHelper等插件可以方便地处理美食列表的分页查询。算法集成协同过滤的计算如相似度计算、推荐排序通常是纯 Java 代码实现。你可以将算法模块化确保其与 Web 业务逻辑解耦便于单独测试和优化。// 一个简化的推荐服务接口示例 Service public class RecommendationServiceImpl implements RecommendationService { Autowired private UserBehaviorRepository behaviorRepo; Override public ListFoodDTO recommendForUser(Long userId, int topN) { // 1. 获取目标用户的行为数据 MapLong, Double userRatings getUserRatingMap(userId); // 2. 计算与其他用户的相似度如皮尔逊相关系数 MapLong, Double userSimilarities calculateUserSimilarities(userId, userRatings); // 3. 基于相似用户预测评分并生成推荐列表 ListRecommendationItem candidates predictRatings(userId, userSimilarities); // 4. 过滤掉用户已接触过的排序取TopN ListRecommendationItem topList filterAndSort(candidates, topN); // 5. 转换为前端需要的DTO并返回 return convertToFoodDTOList(topList); } // ... 其他具体方法实现 }2.2 前端Vue 的响应式与组件化构建精美交互Vue 的响应式数据绑定和组件化开发模式非常适合构建动态交互复杂的美食分享界面。热搜词中提到的vue路由、vue样式、vue项目实战都是本项目会涉及的关键点。项目搭建使用Vue CLI快速初始化项目结构集成Vue Router管理页面路由如首页、美食详情页、个人中心、推荐页使用Vuex或Pinia进行状态管理如用户登录状态。页面组件Home.vue展示美食瀑布流或列表集成分类筛选和搜索框。FoodDetail.vue展示美食详情、图片可能涉及vue播放m3u8如果是视频菜谱、用户评分和评论区域。Recommendation.vue核心页面展示系统为用户生成的个性化推荐列表。UserCenter.vue展示用户的历史行为收藏、评分和基础信息。网络请求使用axios调用后端的 SpringBoot API获取美食数据、提交评分、获取推荐列表。UI 美化可以选用Element Plus、Ant Design Vue或Vuetify等成熟的 UI 组件库快速搭建出“页面精美”的界面。自定义 CSS 或 SCSS 来调整细节样式。!-- 推荐页面的一个简化组件示例 -- template div classrecommendation-page h2为您推荐/h2 div v-ifloading正在加载推荐.../div div v-else-ifrecommendations.length 0暂无推荐快去浏览或收藏一些美食吧/div div v-else classfood-grid FoodCard v-forfood in recommendations :keyfood.id :foodfood clickviewDetail(food.id) / /div /div /template script import { getRecommendations } from /api/recommendation; import FoodCard from /components/FoodCard.vue; export default { components: { FoodCard }, data() { return { loading: false, recommendations: [] }; }, mounted() { this.fetchRecommendations(); }, methods: { async fetchRecommendations() { this.loading true; try { const { data } await getRecommendations(this.$store.state.user.id, 10); // 获取前10条推荐 this.recommendations data; } catch (error) { console.error(获取推荐失败:, error); // 可以在这里给出用户提示 } finally { this.loading false; } }, viewDetail(foodId) { this.$router.push(/food/${foodId}); } } }; /script2.3 前后端分离的协作模式前后端分离不仅是技术架构更是开发协作模式。后端专注于 API 设计和数据逻辑包括算法前端专注于交互体验和界面渲染。双方通过接口文档如 Swagger进行约定。这种模式使得开发、测试和部署都可以独立进行极大地提升了效率也是现代 Web 开发的标配。3. 从零到一手把手实现的五个关键阶段一个功能强大的项目不是一蹴而就的。遵循一个清晰的路径可以让你在构建过程中步步为营避免陷入混乱。下面这个五阶段框架适用于大多数类似的全栈项目实践。3.1 第一阶段环境搭建与项目初始化这是所有代码开始之前的基础。一个稳定、一致的开发环境能避免大量后续的“玄学”问题。后端环境安装 JDK 8 并配置环境变量。安装 Maven 或 Gradle 用于依赖管理。使用IDEA热搜高频词创建 SpringBoot 项目。在创建时勾选必要的依赖Spring Web,Spring Data JPA(或MyBatis),MySQL Driver,Lombok简化代码等。配置application.yml或application.properties设置数据库连接、服务器端口等。前端环境安装 Node.js 和 npm或 yarn/pnpm。使用Vue CLI创建 Vue 项目在选项中可以选择 Router、Vuex 等。在 IDE如 VSCode 或 IDEA 安装 Vue 插件中打开项目。协同工具初始化 Git 仓库建立合理的.gitignore文件忽略掉 target、node_modules 等目录。3.2 第二阶段核心数据模型与基础 API 开发先实现平台的“骨架”即最基本的数据管理和展示功能。数据库设计设计核心表至少包括user用户表。food美食表标题、描述、图片、分类、发布者等。user_food_rating用户-美食评分表核心行为表user_id,food_id,rating,create_time。还可以扩展comment评论、collection收藏等表。实体与 Repository在 SpringBoot 中创建对应的 JPA Entity 或 MyBatis Mapper。基础 API 开发用户注册登录可先实现简单版后续集成 Spring Security。美食的增删改查CRUD接口。用户对美食进行评分的接口。这是算法最重要的数据来源务必保证接口的稳定和数据记录的准确性。前端页面对接开发对应的 Vue 页面和组件调用上述 API实现美食的列表展示、详情查看和评分功能。3.3 第三阶段协同过滤算法的集成与实现这是项目的攻坚阶段也是技术深度所在。数据准备编写服务从user_food_rating表中提取数据构建用户-物品评分矩阵。矩阵可能非常稀疏用户只对少数物品评分需要考虑存储和计算效率。算法选择与实现基于用户的协同过滤UserCF计算用户之间的相似度余弦相似度、皮尔逊相关系数找到目标用户的最近邻根据邻居的评分预测目标用户对未评分物品的喜好。基于物品的协同过滤ItemCF计算物品之间的相似度根据用户历史喜欢的物品推荐与之相似的物品。ItemCF 通常更稳定在物品数相对稳定时效果更好。实现要点相似度计算、最近邻选择、评分预测、推荐结果排序。这部分逻辑可以放在一个独立的AlgorithmService中。API 暴露创建一个新的 REST 接口如GET /api/recommend/{userId}。该接口内部调用AlgorithmService返回推荐的美食 ID 列表或完整信息。性能考量协同过滤的计算复杂度较高尤其是用户或物品数量大时。需要考虑定时计算使用 Spring Scheduler 定时如每天凌晨为所有用户预计算推荐结果存入缓存Redis或推荐结果表。实时更新当用户产生新的评分行为时可以异步更新其推荐列表或标记为需要重新计算。3.4 第四阶段前端推荐模块与用户体验优化让算法成果被用户感知到。创建推荐页面在 Vue 路由中新增/recommend路径指向Recommendation.vue页面。调用推荐 API在页面加载时mounted钩子调用后端的推荐接口获取数据并渲染。UI/UX 优化展示推荐理由如“因为您喜欢XXX所以为您推荐了相似的YYY”增强可信度。提供“不感兴趣”或“刷新推荐”的交互收集负反馈用于优化算法。在首页或个人中心嵌入一个“猜你喜欢”的小模块增加推荐曝光。加载与容错处理好加载状态、推荐为空的状态以及接口请求失败的状态给予用户友好的提示。3.5 第五阶段项目完善、测试与部署让项目从一个“可运行”的Demo变成一个“可展示”的完整作品。功能完善补充搜索、分类筛选、热门排行、用户关注、消息通知等增值功能。页面美化利用 UI 组件库和自定义 CSS完善所有页面的视觉效果做到“页面精美”。测试后端对核心 API 和算法服务进行单元测试JUnit和集成测试。前端进行组件测试和页面交互测试。系统测试模拟用户行为验证推荐逻辑是否符合预期。部署后端使用 Maven 将 SpringBoot 项目打包成可执行的JAR文件在服务器上通过java -jar运行。前端运行npm run build生成静态文件部署到 Nginx 或 Apache 等 Web 服务器。数据库在服务器上安装并配置 MySQL。部署是毕业设计答辩的重要加分项它证明了项目的完整性和你的工程能力。4. 避坑指南与进阶思考从“跑通”到“用好”按照教程一步步走把项目跑起来可能不难。但要让项目真正“强大”起来成为你简历上的亮点还需要注意下面这些容易忽略的坑并做一些进阶思考。4.1 数据质量算法的生命线协同过滤严重依赖用户行为数据。在项目初期或演示时没有真实用户数据怎么办坑点直接使用空数据或极少数据运行算法导致推荐结果为空或毫无意义。解决方案数据模拟编写一个数据初始化脚本模拟一批用户和美食并随机生成合理的评分数据。确保数据有一定的密度每个用户评过分的美食数和分布。冷启动策略当新用户或新物品没有足够数据时算法会失效。需要设计冷启动方案例如对于新用户推荐热门美食或随机推荐。对于新美食可以暂时不进入推荐池或依靠内容信息分类、标签进行推荐。数据监控记录用户对推荐结果的点击、评分等后续行为这是评估算法效果、迭代优化的唯一依据。4.2 性能与可扩展性当数据量增长时课程设计的数据量可能很小但你必须知道瓶颈在哪里。坑点在用户量增大后实时计算推荐导致接口响应极慢甚至服务崩溃。排查与优化路径计算频率从实时计算转为离线计算缓存。这是生产环境的标准做法。算法优化使用更高效的相似度计算方法或采用基于模型的协同过滤如矩阵分解其训练虽慢但预测极快。数据库优化对user_food_rating表建立合适的索引如(user_id, food_id)加快查询速度。服务拆分当系统复杂后可以将推荐算法服务单独拆分成一个微服务独立伸缩。4.3 工程化考量超越功能实现一个“好项目”和“玩具项目”的区别往往在于工程化细节。日志与监控在关键服务尤其是算法计算和推荐接口中添加详细的日志便于排查问题。考虑使用SLF4J配合Logback。异常处理使用 SpringBoot 的全局异常处理ControllerAdvice统一处理业务异常和系统异常返回友好的错误信息给前端。API 文档使用Swagger或Knife4j自动生成 API 文档这是前后端协作和项目演示的利器。配置管理将算法参数如相似度阈值、推荐列表长度提取到配置文件中避免硬编码方便调整。4.4 算法效果的评估与迭代你怎么知道你的推荐算法是有效的离线评估在模拟数据或历史数据上可以采用准确率、召回率、覆盖率等指标进行评估。但这在课程项目中实施较复杂。在线评估更可行设计简单的 A/B 测试。例如为一部分用户提供推荐另一部分不提供或提供随机推荐对比两组用户的点击率、评分率、停留时长等关键行为指标。迭代思路除了协同过滤可以思考如何融入其他信号基于内容的推荐利用美食的标签、分类、描述文本。热门趋势将近期热门美食加权到推荐结果中。社交关系如果有关注功能可以优先推荐好友喜欢的美食。这个美食分享平台项目就像一座精心设计的桥梁一端连接着扎实的 Web 全栈开发技能SpringBoot Vue另一端通向引人入胜的算法应用世界协同过滤。完成它你收获的不仅仅是一个可以运行、可以展示的作品更是一套解决复杂问题的思维框架如何将业务需求转化为数据模型如何将算法理论落地为可运行的服务如何让技术最终服务于用户体验。它之所以是“课设好项目、毕设好项目”正是因为它涵盖了从需求分析、技术选型、数据库设计、前后端开发、算法集成到测试部署的完整软件生命周期。当你带着这个项目去面试时你能聊的远不止“我用过 SpringBoot 和 Vue”而是可以深入探讨数据稀疏性、冷启动、算法性能这些更有深度的话题。这才是它真正的价值所在——让你在动手实践中完成一次从“开发者”到“工程师”的思维升级。

相关新闻

Redis核心特性与生产环境实践指南

Redis核心特性与生产环境实践指南

1. Redis初探:为什么它成为开发者必备技能? 2009年,当Salvatore Sanfilippo为了解决他公司的实时日志分析问题而开发出Redis时,可能没想到这个用ANSI C编写的小工具会成为全球最受欢迎的键值数据库之一。作为开发者,我…

2026/8/11 5:50:58 阅读更多 →
提升内容可读性:灰色文本框的设计原理与多平台实现指南

提升内容可读性:灰色文本框的设计原理与多平台实现指南

1. 从“白纸黑字”到“视觉焦点”:为什么我们需要灰色文本框? 写博客、做笔记、整理文档,你有没有遇到过这样的场景:一大段文字里,有那么几行特别重要,你想让读者一眼就看到;或者有一段代码、一…

2026/8/11 5:49:58 阅读更多 →
CAN 转 Modbus 网关选型实测:双模并发、双向控制与多协议适配能力验证 —— 以捷宸电子(IPCSUN)PBC0022 为例,验证工业异构网络互通的十个关键问题

CAN 转 Modbus 网关选型实测:双模并发、双向控制与多协议适配能力验证 —— 以捷宸电子(IPCSUN)PBC0022 为例,验证工业异构网络互通的十个关键问题

在工业自动化、汽车制造、新能源、电力监控等领域,CAN 总线与 Modbus 系统的异构网络互通是工程师高频面对的技术问题。围绕 “CAN 数据能否接入 Modbus PLC”“Modbus 能否反向控制 CAN 设备”“单台设备能否同时输出 TCP 与 RTU”“J1939 协议能否直接转换”“多主…

2026/8/11 5:49:58 阅读更多 →

最新新闻

同城货运搬家系统:SpringBoot+Vue智能调度实战

同城货运搬家系统:SpringBoot+Vue智能调度实战

1. 项目背景与核心价值 同城货运搬家这个细分领域,在过去三年迎来了爆发式增长。根据行业数据显示,2022年同城货运市场规模已突破万亿,其中搬家服务占比超过35%。这个Java项目正是瞄准了这个高频刚需场景,通过技术手段解决传统搬家…

2026/8/11 15:50:57 阅读更多 →
微信小程序反编译技术全解析与实战指南

微信小程序反编译技术全解析与实战指南

1. 微信小程序反编译技术背景解析 微信小程序作为一种轻量级应用形态,其核心代码包(.wxapkg文件)实际上是一种经过特殊处理的压缩包格式。与原生APP不同,小程序采用前端技术栈开发,最终产物包含WXML模板、WXSS样式、JS…

2026/8/11 15:50:57 阅读更多 →
华为USG6000V防火墙基础配置与安全策略实战

华为USG6000V防火墙基础配置与安全策略实战

1. USG6000V防火墙基础组网实战解析USG6000V作为华为企业级虚拟防火墙的典型代表,在网络安全实训和中小型企业防护场景中应用广泛。初次接触这个设备时,很多工程师会被其丰富的功能模块所迷惑。实际上,基础组网的搭建只需要抓住几个核心配置点…

2026/8/11 15:50:57 阅读更多 →
修复AI代码的混乱,Matt Pocock的/improve-codebase-architecture使用详解

修复AI代码的混乱,Matt Pocock的/improve-codebase-architecture使用详解

AI 生成代码太快了,快到让人觉得代码比自来水还便宜。可真要改点什么,打开自己项目的 src/ 看看:几百个文件,改一行崩一片,测试覆盖率 12%,agent 写的代码没人敢碰。这并非个例。AI 正在加速代码的劣化。 …

2026/8/11 15:50:57 阅读更多 →
AI内容跨平台格式转换解决方案

AI内容跨平台格式转换解决方案

1. 项目背景与痛点解析在AI技术广泛应用于内容创作的今天,我们经常遇到一个令人头疼的问题:当把AI生成的内容导出到其他平台时,格式总会莫名其妙地崩坏。特别是包含数学公式、表格数据等结构化内容时,这种问题尤为突出。我最近在整…

2026/8/11 15:50:57 阅读更多 →
本地化内容处理工具部署与测试指南:从批量任务到API集成

本地化内容处理工具部署与测试指南:从批量任务到API集成

这次我们来看一个名为“我不搬,你们看什么啊?”的项目。从标题看,这很可能是一个与内容搬运、视频处理或自动化采集相关的工具或脚本。在当前的数字内容生态中,如何高效、合规地处理和管理多媒体素材是一个普遍需求,无论是用于内…

2026/8/11 15:49:56 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/11 1:08:06 阅读更多 →
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/10 17:07:33 阅读更多 →