SQL Server数据字典自动化生成:系统视图查询与文档导出实战
1. 项目概述为什么我们需要数据字典在数据库开发和维护的日常工作中我经常遇到这样的场景接手一个历史项目面对上百张表、上千个字段文档却寥寥无几。开发同事跑来问“这个order_status字段1、2、3、4分别代表什么状态” 运维同事在排查性能问题时想知道某个大表的索引到底覆盖了哪些字段。新来的实习生需要快速了解业务实体之间的关系。这些问题如果有一个清晰、准确、随时可查的“数据库说明书”就能迎刃而解。这个“说明书”就是我们今天要聊的数据字典。数据字典远不止是一个字段列表。它是一个集中式的元数据仓库记录了数据库的结构化信息包括但不限于表名、字段名、数据类型、长度、是否允许为空、默认值、主外键约束、索引、视图、存储过程以及最重要的——业务含义和注释。对于SQL Server数据库而言虽然其Management StudioSSMS提供了对象资源管理器来查看结构但将其系统化地整理、生成一份可读性强、便于分发的文档是提升团队协作效率和保障项目知识传承的关键一步。本篇文章我将基于十多年的数据库管理经验为你详细拆解在SQL Server环境中从零开始生成一份专业数据字典的完整方法论。我们将不依赖任何昂贵的第三方工具而是深入利用SQL Server自身强大的系统视图和功能实现自动化、可定制化的字典生成与导出。无论你是数据库管理员、后端开发还是项目负责人这套方法都能让你在面对复杂数据库时做到心中有“数”。2. 核心思路与方案选型生成数据字典核心是提取并格式化SQL Server存储的元数据。SQL Server将所有数据库对象的定义信息都存放在一组称为“系统目录视图”的表中例如sys.tables,sys.columns,sys.types等。我们的任务就是通过查询这些视图将它们关联起来获取我们需要的描述信息。在方案选型上主要有三种路径各有优劣2.1 纯T-SQL脚本查询这是最灵活、最底层的方法。直接编写复杂的SELECT语句连接多个系统视图可以精确控制输出的每一个字段和格式。优点是零依赖、性能高、可深度定制缺点是需要一定的SQL功底且生成纯文本或CSV格式后如需美观的Word或PDF还需二次加工。2.2 利用SSMS内置的“生成脚本”功能SQL Server Management Studio提供了一个快捷功能右键数据库 - “任务” - “生成脚本”。在高级设置中可以选择“编写数据的脚本”为False并勾选“包含说明性注释”。它能生成包含对象创建语句和MS_Description扩展属性即注释的SQL文件。优点是操作简单、与SSMS无缝集成缺点是输出格式固定SQL文件难以直接作为阅读文档且对自定义注释格式支持有限。2.3 使用PowerShell或.NET程序调用SMOSQL Server Management Objects (SMO)是一个强大的.NET库专门用于管理SQL Server。通过PowerShell或C#等语言调用SMO可以编程方式遍历所有数据库对象及其属性然后输出为HTML、Word或Excel。优点是功能强大、输出格式美观、自动化程度高缺点是需要额外的脚本或编程环境对不熟悉PowerShell或.NET的开发者有一定门槛。综合来看对于追求极致控制和自动化集成的场景方案三SMO是最佳选择。但对于大多数希望快速上手、灵活查询的DBA和开发者方案一T-SQL提供了坚实的基础和最大的透明度。因此本文将重点深入讲解方案一并提供一个可直接复用的增强版T-SQL脚本。同时我也会简要介绍如何将T-SQL的结果轻松导出为Excel和Word以满足不同场景下的文档需求。3. 深入系统视图构建数据字典的基石要自己编写查询必须了解几个最核心的系统视图。这些视图存在于每个数据库的sys架构下。3.1 核心系统视图解析sys.tables与sys.objects存储所有用户表的信息。sys.objects包含更广义的数据库对象如视图、存储过程、函数等typeU表示用户表。我们通常从sys.tables开始它包含object_id,name,create_date等。sys.columns存储所有表和视图的列信息。关键字段包括object_id所属表的ID、name列名、column_id列的顺序、system_type_id系统类型ID、max_length最大长度、precision精度、scale小数位数、is_nullable是否可为空、is_identity是否为自增列等。sys.types存储系统类型和用户自定义数据类型的信息。通过system_type_id或user_type_id与sys.columns关联可以获取数据类型的名称如varchar,int。sys.extended_properties这是存放注释和描述信息的“宝藏”视图。SQL Server允许通过sp_addextendedproperty存储过程为数据库对象添加扩展属性其中MS_Description就是用来存储描述信息的标准属性。这个视图的major_id和minor_id分别对应对象ID和列ID列时为非零。sys.indexes与sys.index_columns用于获取索引信息。sys.indexes存储索引定义sys.index_columns存储索引包含的列。sys.foreign_keyssys.foreign_key_columns用于获取外键约束信息了解表之间的关系。3.2 关联查询的逻辑拆解生成一个包含表名、列名、数据类型、是否为空、默认值、主键标识和描述的数据字典其核心查询逻辑是一个多表连接以sys.tables为起点获取所有用户表。通过object_id关联sys.columns获取每个表的所有列。通过system_type_id关联sys.types获取数据类型的可读名称。这里需要注意区分系统类型system_type_id和用户类型user_type_id通常我们关联sys.types的system_type_id来获取基础类型名。通过sys.columns的default_object_id关联sys.default_constraints再关联sys.objects获取默认值的定义文本这是一个稍复杂的左连接。通过object_id和column_id左连接sys.extended_properties筛选nameMS_Description的记录获取列的注释描述。判断主键可以通过sys.indexes其中is_primary_key1关联sys.index_columns再匹配到当前列来判断该列是否为主键。注意直接查询系统视图时务必在正确的数据库上下文下进行。建议在脚本开头使用USE [YourDatabaseName];语句或者通过SSMS连接到目标数据库再执行。查询这些视图通常需要一定的权限如VIEW DEFINITION。4. 实战编写增强版数据字典查询脚本下面是一个我经过多年使用和优化的增强版脚本。它不仅包含了基础信息还整合了主键、外键的简要标识并提供了更清晰的数据类型显示格式。-- -- SQL Server 数据字典生成脚本 (增强版) -- 生成时间: 根据需要自动获取 -- DECLARE DatabaseName NVARCHAR(128) DB_NAME(); -- 自动获取当前数据库名 SELECT -- 表信息 SCHEMA_NAME(t.schema_id) AS [架构名], t.name AS [表名], CONVERT(NVARCHAR(500), ep_t.value) AS [表说明], -- 列信息 c.name AS [列名], CASE WHEN ty.name IN (varchar, char, nvarchar, nchar) THEN ty.name ( CASE WHEN c.max_length -1 THEN MAX ELSE CAST(c.max_length AS VARCHAR(10)) END ) WHEN ty.name IN (decimal, numeric) THEN ty.name ( CAST(c.precision AS VARCHAR(5)) , CAST(c.scale AS VARCHAR(5)) ) WHEN ty.name IN (float) THEN ty.name ( CAST(c.precision AS VARCHAR(5)) ) ELSE ty.name END AS [数据类型], CASE WHEN c.is_nullable 1 THEN 是 ELSE 否 END AS [允许空], ISNULL((SELECT 是 FROM sys.indexes i INNER JOIN sys.index_columns ic ON i.object_id ic.object_id AND i.index_id ic.index_id WHERE i.is_primary_key 1 AND ic.object_id c.object_id AND ic.column_id c.column_id), 否) AS [主键], ISNULL((SELECT TOP 1 外键- OBJECT_NAME(fk.referenced_object_id) . COL_NAME(fk.referenced_object_id, fkc.referenced_column_id) FROM sys.foreign_keys fk INNER JOIN sys.foreign_key_columns fkc ON fk.object_id fkc.constraint_object_id WHERE fk.parent_object_id c.object_id AND fkc.parent_column_id c.column_id), ) AS [外键关系], OBJECT_DEFINITION(dc.object_id) AS [默认值], CASE WHEN c.is_identity 1 THEN 是 ELSE 否 END AS [自增], CONVERT(NVARCHAR(500), ep_c.value) AS [列说明] FROM sys.tables t INNER JOIN sys.columns c ON t.object_id c.object_id INNER JOIN sys.types ty ON c.system_type_id ty.system_type_id AND ty.system_type_id ty.user_type_id -- 获取系统基础类型 LEFT JOIN sys.default_constraints dc ON c.default_object_id dc.object_id LEFT JOIN sys.extended_properties ep_c ON c.object_id ep_c.major_id AND c.column_id ep_c.minor_id AND ep_c.name MS_Description LEFT JOIN sys.extended_properties ep_t ON t.object_id ep_t.major_id AND ep_t.minor_id 0 AND ep_t.name MS_Description WHERE t.is_ms_shipped 0 -- 排除系统表 ORDER BY SCHEMA_NAME(t.schema_id), t.name, c.column_id;4.1 脚本关键点解析数据类型格式化使用CASE WHEN语句对varchar、decimal等类型进行友好显示例如将varchar(50)直接显示出来而不是分开显示类型和长度。主键判断通过子查询关联sys.indexes和sys.index_columns判断当前列是否存在于主键索引中。这是一个高效的判断方法。外键关系通过子查询关联sys.foreign_keys和sys.foreign_key_columns如果当前列是外键则显示其引用的目标表和列。这里使用TOP 1是因为一个列可能参与多个外键约束虽不常见实际应用中可能需要用FOR XML PATH来聚合所有外键关系。扩展属性注释获取通过两次左连接sys.extended_properties分别获取表级minor_id0和列级minor_id列ID的MS_Description属性值。这是官方推荐的存储注释的方式。排除系统对象t.is_ms_shipped 0条件至关重要它过滤掉SQL Server自带的系统表只留下用户创建的表。4.2 如何为对象添加描述MS_Description脚本的强大之处在于能提取注释。那么注释如何添加呢强烈建议使用以下存储过程为你的表和列添加描述-- 为表添加描述 EXEC sys.sp_addextendedproperty name NMS_Description, value N这是一个订单主表存储订单的核心信息。, level0type NSCHEMA, level0name Ndbo, level1type NTABLE, level1name NOrders; -- 为表的列添加描述 EXEC sys.sp_addextendedproperty name NMS_Description, value N订单的唯一标识符自动递增。, level0type NSCHEMA, level0name Ndbo, level1type NTABLE, level1name NOrders, level2type NCOLUMN, level2name NOrderID;养成在创建或修改表结构后立即添加描述的习惯将使你的数据字典价值倍增。5. 导出方法从查询结果到精美文档执行上述脚本后你会在SSMS的结果网格中得到完整的数据字典。接下来就是如何将其导出为可共享的文档格式。5.1 导出为Excel/CSV最常用这是最简单直接的方式适合数据分析、快速共享和导入其他系统。SSMS直接导出在查询结果网格中右键点击任意处选择“连同标题一起复制”或“将结果另存为...”。“将结果另存为...”可以选择保存为.csv逗号分隔或.txt制表符分隔文件。然后用Excel打开该CSV文件即可。注意中文编码问题保存时可以选择Unicode编码以确保兼容性。使用“结果到文件”选项在SSMS的菜单栏点击“查询” - “将结果保存到” - “结果到文件”。执行查询SSMS会弹窗让你选择保存路径和文件名默认保存为.rpt文件实质是制表符分隔的文本可用Excel打开。实操心得我更喜欢使用“连同标题一起复制”然后直接粘贴到新建的Excel工作表中。对于大量数据使用“结果到文件”更稳定。粘贴到Excel后可以使用“数据”-“分列”功能并选择“分隔符号”通常是制表符来完美格式化数据。5.2 导出为Word/PDF生成正式文档如果需要生成包含封面、目录、章节的正式设计文档则需要更多步骤。从Excel到Word首先将查询结果导出到Excel并做好排版。在Word中可以使用“邮件合并”功能将Excel作为数据源批量生成格式统一的表格描述。但这需要一定的Word操作技巧。使用Reporting Services (SSRS) 或 PowerShell 脚本SSRS可以创建一个简单的报表项目将上述查询作为数据集设计一个表格报表然后直接渲染为Word或PDF。这是最专业、可重复性最高的方法适合定期自动生成文档。PowerShell结合Invoke-Sqlcmd执行查询再使用Export-Csv输出或者利用Microsoft.Office.Interop.Word库编程生成Word文档。这提供了极高的灵活性。第三方轻量级工具市面上有一些工具能连接SQL Server并生成数据字典如Database Documenter需注意兼容性。但对于可控性和安全性要求高的环境我仍然推荐自建脚本。5.3 自动化生成与部署为了真正实现“一键生成”可以将整个过程脚本化将上述T-SQL查询保存为一个.sql文件。使用sqlcmd命令行工具执行该脚本并将输出重定向到文件。sqlcmd -S YourServer -d YourDatabase -U YourUser -P YourPassword -i GenerateDataDictionary.sql -o Dictionary.csv -s , -W -h-1-i指定输入脚本文件。-o指定输出文件。-s指定列分隔符逗号。-W去除尾部空格。-h-1不输出列标题行因为我们的查询结果已包含中文标题。将此命令放入Windows计划任务或Linux的cron作业中即可实现定期如每周一凌晨自动生成最新的数据字典CSV文件并发送到共享目录或通过邮件分发。6. 高级技巧与常见问题排查在实际操作中你可能会遇到一些特殊情况或需要更深入的信息。这里分享一些高级技巧和常见问题的解决方法。6.1 获取视图、存储过程等对象字典上述脚本主要针对表。要生成视图、存储过程、函数的字典思路类似但查询的系统视图不同。视图字典从sys.views替代sys.tables开始关联sys.sql_modules可以获取视图的定义文本。存储过程/函数字典从sys.procedures或sys.objectstypein (P, FN, TF, IF)开始关联sys.parameters获取参数信息关联sys.sql_modules获取定义文本。6.2 处理复杂的继承关系或自定义类型如果数据库中使用了很多用户自定义表类型UDTT或CLR类型在sys.types关联时需要注意。上面的脚本关联条件ty.system_type_id ty.user_type_id是为了获取系统基础类型。对于UDTTuser_type_id会不同。你可能需要调整关联逻辑或者同时查询sys.assembly_types。6.3 常见问题与解决方案问题1查询结果中“列说明”全部为NULL。原因没有使用sp_addextendedproperty为表和列添加MS_Description属性。解决按照第4.2节的方法为关键表和列添加描述。对于已有数据库可以集中进行一次补充。问题2数据类型显示为奇怪的数字ID而不是varchar、int等名称。原因关联sys.types时条件不正确。sys.columns中的system_type_id对应sys.types中的system_type_id但需要确保获取的是基础类型名。解决使用脚本中提供的关联条件ON c.system_type_id ty.system_type_id AND ty.system_type_id ty.user_type_id。这个条件确保取到的是最基础的系统类型名。问题3导出到Excel后中文乱码。原因SSMS默认以ANSI编码保存文件与Excel打开时使用的编码不一致。解决在SSMS“工具”-“选项”-“查询结果”-“以网格显示结果”中将“输出格式”改为“逗号分隔CSV”并勾选“在输出中包括列标题”。保存文件时选择.csv并用记事本打开另存为“UTF-8 with BOM”编码再用Excel打开。更简单的方法是直接复制网格结果粘贴到Excel然后使用“数据”-“获取数据”-“从文本/CSV”选择正确的编码通常是UTF-8或GB2312导入。问题4数据库中有大量对象查询速度慢。原因系统视图关联可能在大规模数据库上产生开销。解决确保查询条件有效如t.is_ms_shipped 0。考虑在业务低峰期执行。对于超大型数据库可以分模块或分架构生成字典而不是一次性生成全库。6.4 维护与更新策略数据字典不是一次性的产物而需要随着数据库结构的变更而更新。建议将其纳入开发规范与变更流程绑定在数据库变更申请DML/DDL流程中强制要求提交修改的同时必须提供对MS_Description扩展属性的更新脚本。定期审核每月或每季度运行数据字典脚本检查核心业务表的描述信息完整率并督促补充。版本化管理将生成的数据字典文件如CSV纳入项目的版本控制系统如Git与应用程序代码一同管理便于追溯历史变化。生成和维护一份高质量的数据字典初期需要一些投入但长远来看它极大地降低了团队的理解成本、沟通成本和运维风险。它不仅是给数据库的注释更是给未来接手项目的同事乃至给几个月后可能忘记细节的自己一份宝贵的地图。

相关新闻

Pandas窗口函数全解析:rolling与expanding的高效时序数据分析

Pandas窗口函数全解析:rolling与expanding的高效时序数据分析

1. 项目概述:为什么窗口函数是数据分析的“时间机器”刚入行做数据分析那会儿,我最头疼的就是处理那些按时间顺序排列的数据。比如,老板让我看“最近7天的日均销售额”,或者“计算每个产品上市以来累计的销量占比”。一开始我的做…

2026/8/13 8:24:43 阅读更多 →
云服务器运行Python代码全攻略:从零部署到后台运行

云服务器运行Python代码全攻略:从零部署到后台运行

1. 项目概述:为什么说“云服务器上跑Python代码其实很简单”? 很多刚接触编程或者数据分析的朋友,一听到“云服务器”、“Linux命令”、“远程部署”这些词,心里可能就有点发怵,感觉这是运维工程师或者资深开发者的领域…

2026/8/13 8:24:43 阅读更多 →
2024年Node.js安装配置全攻略:从版本管理到项目环境搭建

2024年Node.js安装配置全攻略:从版本管理到项目环境搭建

1. 项目概述:为什么Node.js的安装与配置值得你花时间? 如果你刚接触Web开发,或者准备从其他后端语言转向JavaScript全栈,那么Node.js大概率是你绕不开的一环。它早已不是那个“新潮”的技术,而是构建现代Web应用、工具…

2026/8/13 8:24:43 阅读更多 →

最新新闻

AI智能体驱动未来组织:自驱公司理念与实践指南

AI智能体驱动未来组织:自驱公司理念与实践指南

这次我们来看一个关于“自驱公司”理念的讨论,核心来自在线代码协作平台 Replit 的 CEO Amjad Masad 的分享。这个概念不是指某个具体的开源工具或模型,而是一种关于未来组织形态和工作方式的思考。对于开发者、技术团队管理者和创业者而言,理…

2026/8/13 9:23:07 阅读更多 →
STM32 HAL库GPIO驱动入门:从点灯到工程实践与调试

STM32 HAL库GPIO驱动入门:从点灯到工程实践与调试

1. 项目概述:从点灯开始,理解STM32 HAL库的编程范式 拿到一块STM32开发板,第一件事是什么?我相信绝大多数工程师和爱好者的答案都是:点灯。这个看似简单的“Hello World”操作,却是我们叩开STM32 HAL库开发…

2026/8/13 9:23:07 阅读更多 →
Neovim集成AI编程助手:实现终端内上下文感知编码

Neovim集成AI编程助手:实现终端内上下文感知编码

在终端里写代码,最头疼的就是遇到问题只能切出去查文档、搜 Stack Overflow,思路一断再回来就忘了上下文。最近发现一个挺有意思的开源项目,它把 AI 对话能力直接嵌入了终端编辑器,让你能在写代码的“原地”和 AI 助手&#xff08…

2026/8/13 9:23:07 阅读更多 →
deepin 25.0.10版本特性与双系统管理实战

deepin 25.0.10版本特性与双系统管理实战

1. deepin 25.0.10版本特性解析作为国内最成熟的Linux发行版之一,deepin每次版本更新都牵动着开源社区的目光。25.0.10版本在系统稳定性、硬件兼容性和用户体验三个维度进行了重点优化。从内核层面来看,该版本采用了5.18.17长期支持内核,特别…

2026/8/13 9:23:07 阅读更多 →
虚拟机安装Windows XP全攻略:解决老旧软件兼容与测试环境搭建

虚拟机安装Windows XP全攻略:解决老旧软件兼容与测试环境搭建

1. 项目概述:为什么今天还需要折腾Windows XP? 看到这个标题,你可能会觉得有点“复古”。Windows XP,这个2001年发布的经典操作系统,其主流支持早在2009年就已结束,扩展支持也在2014年画上了句号。在2023年…

2026/8/13 9:23:07 阅读更多 →
ComfyUI-Manager离线安装终极指南:3步掌握无网络节点部署

ComfyUI-Manager离线安装终极指南:3步掌握无网络节点部署

ComfyUI-Manager离线安装终极指南:3步掌握无网络节点部署 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various cu…

2026/8/13 9:22:06 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

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

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

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

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

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

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

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

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

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

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

月新闻

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

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

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

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

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

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

2026/8/12 1:11:10 阅读更多 →
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/11 17:09:45 阅读更多 →