Cadence Allegro SKILL脚本实现单零件快速导出与引脚统计
这次我们来看一个针对 Cadence Allegro 用户的实用技能包如何利用 SKILL 脚本实现单颗零件的快速导出并附赠一个统计引脚数量的 Bonus Tip。对于需要频繁进行器件数据整理、BOM 核对或封装检查的硬件工程师和 PCB 设计师来说手动操作不仅效率低下而且容易出错。这个方案的核心价值在于通过一段自定义的 SKILL 代码将繁琐的重复操作自动化直接从 PCB 设计文件中精准提取指定元件的所有信息。本文将重点拆解这个 SKILL 脚本的功能、实现原理和具体操作步骤。你会看到如何将它集成到你的 Allegro 环境中如何选中目标器件并一键导出其位号、封装名、坐标、旋转角度等关键属性以及如何利用附赠功能快速统计器件的引脚数量。整个过程不依赖复杂的外部工具直接在 Allegro 命令行中完成适合本地化、批量化处理需求。下面我们将从脚本的核心能力开始逐步完成环境配置、脚本加载、功能测试和实际应用场景的演示。1. 核心能力速览能力项说明核心功能在 Cadence Allegro PCB Editor 中快速导出当前设计文件中单个选定零件的详细信息。附加功能统计选定零件的引脚Pin总数。输出内容通常包含零件位号RefDes、封装名称Package Symbol、坐标X, Y、旋转角度Rotation、镜像信息Mirror等。运行环境Cadence Allegro PCB Editor (版本如 17.2, 17.4, 22.1 等需支持 SKILL 语言)。启动方式通过 Allegro 命令行Command Window加载并执行 SKILL 脚本。硬件门槛无特殊要求取决于 Allegro 软件本身的运行配置。适合场景设计复查、BOM 核对、封装库管理、快速数据提取、设计自动化流程嵌入。2. 适用场景与使用边界这个 SKILL 脚本解决的是 PCB 设计流程中的一个具体痛点快速获取单个元件的精确数据。在以下场景中尤其有用设计验证与复查在布局布线过程中需要快速确认某个关键器件如 CPU、内存、接口芯片的封装、位置、方向是否与原理图或结构图要求一致。BOM物料清单核对当需要针对特定器件生成详细的贴片坐标文件或与采购、生产部门核对单个元件信息时无需从整个装配图中筛选。封装库管理检查实际设计中使用的封装与库中封装是否一致快速导出器件参数用于库文档整理。问题调试当某个器件出现 DRC设计规则检查错误或与其他器件干涉时快速导出其属性进行分析。自动化流程嵌入该脚本可以作为更复杂自动化脚本如批量导出所有器件、与数据库比对的一个基础模块。使用边界与注意事项软件依赖必须运行在已安装并正确配置的 Cadence Allegro PCB Editor 环境中。不同 Allegro 版本如 17.x 与 22.x的 SKILL API 可能存在细微差异脚本可能需要调整。数据范围脚本导出的是当前打开的设计文件.brd中的数据。它无法导出未放置在板上的器件或原理图信息。权限与合规在公司环境中使用自定义 SKILL 脚本需遵守内部的 IT 安全规定和软件许可协议。确保脚本来源可靠避免引入安全风险。功能局限这是一个专注于“单颗零件”导出和“引脚统计”的针对性工具。对于需要批量处理整个 PCB 所有器件的场景需要在此脚本基础上进行循环扩展。3. 环境准备与前置条件在开始加载和运行 SKILL 脚本之前请确保你的工作环境已就绪。软件环境Cadence Allegro PCB Editor确保你已经安装并可以正常启动任一版本的 Allegro PCB Editor例如 17.2, 17.4, 22.1等。这是运行脚本的唯一必需平台。SKILL 语言支持Allegro 默认内置 SKILL 解释器无需额外安装。设计文件准备一个用于测试的 PCB 设计文件.brd文件。建议使用一个包含多种不同类型封装如 BGA, QFN, 电阻电容的测试板以便全面验证脚本功能。脚本文件获取与确认你需要拥有包含所述功能的 SKILL 脚本文件通常是一个.il文件。你可以从可靠的内部资料库、技术社区或根据公开的代码片段自行创建。用文本编辑器如 Notepad, VS Code打开脚本文件快速浏览其内容。确认脚本中主要包含以下几个关键部分函数定义例如defun( ExportSinglePart ...)。用于获取器件对象和属性的 Allegro SKILL API 函数如axlSelect,axlDBGetDesign,car,axlGetSelSet等。文件写入或打印输出的逻辑如outfile,printf等。将脚本文件保存到一个你容易访问的目录例如D:\Cadence_Scripts\或C:\Users\YourName\allegro_skills\。4. 脚本加载与执行方式SKILL 脚本在 Allegro 中有多种加载方式这里介绍最常用的两种命令行临时加载和通过allegro.ilinit文件自动加载。4.1 命令行临时加载与执行推荐初次测试这种方法适合脚本的初次功能验证不会影响 Allegro 的默认配置。启动 Cadence Allegro PCB Editor并打开你的测试 PCB 文件.brd。在 Allegro 界面下方的Command窗口命令行中输入以下命令来加载脚本。请将你的脚本路径替换为实际的.il文件完整路径。load(你的脚本路径/你的脚本文件名.il)例如load(D:/Cadence_Scripts/export_single_part.il)按回车执行。如果加载成功命令行通常会返回t表示 True或者没有任何报错信息。脚本加载后其中定义的函数就可以调用了。假设脚本中定义的主函数名为ExportSinglePart那么执行它的命令是ExportSinglePart()按回车后命令行可能会提示你进行操作例如Select a component:选择一个器件。根据提示在 PCB 设计区域用鼠标点击选择一个你希望导出的器件。脚本运行。运行结果通常会以两种形式呈现弹出文件保存对话框脚本可能会提示你选择位置和文件名来保存导出的数据如.txt或.csv文件。在命令行直接打印输出所有提取的信息会直接打印在 Allegro 的 Command 窗口中。你可以复制这些文本。附赠功能Pin 数量统计如果 Bonus Tip 是独立的函数例如CountPins则调用方式类似CountPins()然后根据提示选择器件脚本会在命令行返回该器件的引脚总数。4.2 通过 allegro.ilinit 自动加载长期使用如果你希望每次启动 Allegro 都能自动加载这个脚本并将其绑定到一个自定义菜单或快捷键需要配置allegro.ilinit文件。找到或创建 ilinit 文件allegro.ilinit文件通常位于你的 Allegro 工作目录或 Cadence 安装目录的share\pcb\text文件夹下。你也可以在 Allegro 中用echo $localenv命令查看当前环境变量指向的目录在该目录下创建此文件。编辑 ilinit 文件用文本编辑器打开或创建allegro.ilinit。在文件末尾添加加载你的脚本的语句。为了整洁通常先加载脚本然后定义菜单或别名。;;; 加载单零件导出脚本 loadi(D:/Cadence_Scripts/export_single_part.il) ;;; 将函数绑定到自定义菜单示例 axlCmdRegister(my_export ExportSinglePart) axlUICmdCreateMenu( (My Tools) ( (Export Single Part my_export) ) )上面示例中loadi用于加载已编译的.il文件如果脚本是明文.il用load也可。axlCmdRegister为函数注册一个命令名axlUICmdCreateMenu在菜单栏创建了一个名为 “My Tools” 的新菜单其中有一个调用该命令的项。重启 Allegro保存allegro.ilinit文件后重启 Allegro PCB Editor。如果配置正确你将在菜单栏看到新增的菜单项点击即可运行脚本无需每次手动输入命令。5. 功能测试与效果验证现在我们来系统地测试脚本的各项功能确保其工作符合预期。5.1 测试一基础导出功能验证测试目的验证脚本能否正确选中器件并导出其核心属性。操作步骤在 Allegro 中打开测试板确保处于正常编辑模式。在命令行执行ExportSinglePart()或你自定义的函数名。用鼠标左键单击选择一个典型的表贴器件例如一个0603封装的电阻R1。观察输出。预期结果与判断成功成功情况A文件输出弹出文件保存对话框选择路径保存后用文本编辑器打开该文件应能看到类似以下的结构化数据RefDes: R1 Package: RES_0603 Location: (X 1250.00, Y 980.50) Rotation: 90.000 Mirror: NO成功情况B命令行打印在 Allegro Command 窗口中直接打印出类似上面的信息。失败情况命令行报错如*Error*开头的提示或没有任何输出。可能原因包括脚本加载失败、函数名错误、选择的不是有效器件对象、脚本内部 API 调用与当前 Allegro 版本不兼容。5.2 测试二复杂器件与引脚统计验证测试目的验证脚本对多引脚、复杂封装器件如 BGA的处理能力并测试附赠的引脚统计功能。操作步骤在 PCB 上找到一个具有大量引脚的器件例如一个 BGA 封装的 FPGA 或处理器位号为U10。首先运行ExportSinglePart()选择U10查看导出的基本信息是否完整。然后运行CountPins()或相应的统计函数再次选择U10。预期结果与判断成功导出信息中应包含该器件的正确位号、封装名如BGA676、坐标等。引脚统计函数应在命令行返回一个数字例如Pins: 676。这个数字应与该器件封装定义的引脚数一致。你可以通过 Allegro 的Display - Element命令然后点击该器件在弹出的信息窗口中手动核对“Pins”数量是否匹配。失败情况引脚数为0或明显不对。可能原因统计函数逻辑有误未能遍历到所有引脚或者器件在设计中处于“未放置”或“被删除”状态。5.3 测试三边界与异常情况测试测试目的确保脚本在非理想操作下也能稳定或有明确的错误提示。测试用例未选择器件执行ExportSinglePart()后不点击器件而直接按 ESC 或在空白处点击。脚本应能优雅地处理取消操作而不是崩溃或报晦涩错误。理想情况是提示“Selection canceled”或直接退出函数。选择非器件对象尝试选择一个走线、过孔或文字。脚本应能识别所选对象不是元件Component并给出提示如“Please select a component.”输出路径无效如果脚本是输出到文件测试当指定的输出目录不存在或没有写入权限时脚本是否会有创建目录或权限错误的提示。6. 脚本核心逻辑解析与自定义了解脚本的内部逻辑有助于你根据自身需求进行修改和定制。一个典型的单零件导出脚本可能包含以下关键代码段; 定义导出函数 defun( ExportSinglePart () ; 提示用户选择 axlClearSelSet() axlSetFindFilter(?enabled (NOALL COMPONENTS) ?onButtons (COMPONENTS)) printf(Select a component to export:\n) axlSingleSelectPoint() ; 获取选择集 selset axlGetSelSet() when( selset ; 获取第一个选中对象即器件 comp car(selset) ; 提取器件属性 refdes comp-refdes package comp-name xy comp-xy rotation comp-rotation isMirrored comp-isMirrored ; 组织输出字符串 outStr sprintf(nil RefDes: %s\nPackage: %s\nLocation: (X %.2f, Y %.2f)\nRotation: %.3f\nMirror: %s\n refdes package xCoordOf(xy) yCoordOf(xy) rotation isMirrored) ; 输出到文件示例 outFile outfile(./exported_part.txt) fprintf(outFile %s outStr) close(outFile) printf(Component %s exported successfully.\n refdes) ) )引脚统计功能的简化逻辑defun( CountPins () axlClearSelSet() axlSetFindFilter(?enabled (NOALL COMPONENTS) ?onButtons (COMPONENTS)) printf(Select a component to count pins:\n) axlSingleSelectPoint() selset axlGetSelSet() when( selset comp car(selset) ; 关键获取器件的引脚列表并计算长度 pinList comp-pins pinCount length(pinList) printf(Component %s has %d pins.\n comp-refdes pinCount) ) )你可以根据需求自定义的内容输出格式将printf改为生成 CSV 格式方便用 Excel 打开。outStr sprintf(nil %s,%s,%.2f,%.2f,%.3f,%s refdes package xCoordOf(xy) yCoordOf(xy) rotation isMirrored)输出属性增加更多属性如器件类型Type、值Value、所在层Side。compType comp-partName compValue comp-compValue side comp-layer批量处理在外层添加循环遍历板上的所有器件实现整个 BOM 的导出。allComps axlDBGetDesign()-components foreach(comp allComps ; 对每个 comp 执行导出逻辑 )7. 常见问题与排查方法在部署和使用自定义 SKILL 脚本时你可能会遇到以下问题。问题现象可能原因排查方式解决方案load命令执行后无反应或报错1. 脚本文件路径错误。2. 脚本文件编码问题如 UTF-8 with BOM。3. 脚本中存在语法错误。1. 检查路径中的斜杠(/或\)和文件名拼写。2. 用文本编辑器检查文件编码另存为 ANSI 或 UTF-8 without BOM。3. 在命令行逐段执行脚本内代码定位错误行。1. 使用绝对路径或将脚本放在 Allegro 的skill目录下用相对路径。2. 转换文件编码。3. 根据错误信息修正语法。函数执行后提示*Error* Undefined function1. 脚本未成功加载。2. 函数名拼写错误。3. 函数在脚本中未正确定义。1. 确认load命令是否成功执行返回t。2. 核对命令行输入的函数名与脚本中defun定义的名称是否完全一致大小写敏感。1. 重新正确加载脚本。2. 修正调用时的函数名。选中器件后脚本无输出或报错1. SKILL API 使用不当未能获取到器件对象。2. 当前 Allegro 版本与脚本使用的 API 不兼容。3. 器件处于特殊状态如未放置、被 Group 包含。1. 在脚本中增加调试语句printf打印中间变量值。2. 查阅对应 Allegro 版本的 SKILL API 文档。3. 尝试选择一个普通的、已放置的器件。1. 修改脚本中的对象获取逻辑例如使用axlDBGetDesign和过滤器。2. 更新脚本以适应新版 API。输出文件内容为空或格式错乱1. 文件写入逻辑错误如未关闭文件流。2. 字符串格式化sprintf参数不匹配。3. 输出路径不可写。1. 检查outfile,fprintf,close语句是否成对出现。2. 核对sprintf中格式符%s,%f等与变量类型是否匹配。3. 尝试输出到桌面等有权限的目录。1. 确保文件操作流程完整。2. 修正格式化字符串。3. 更改输出路径或提升目录权限。引脚统计数量为01. 获取引脚列表的方法错误。2. 某些封装如机械孔、测试点可能不被识别为电气引脚。1. 使用axlDBGetDesign-components-pins或其他方法交叉验证。2. 检查器件封装定义确认引脚属性。1. 使用更稳定的 API如axlDBGetPadStacks配合器件坐标进行筛选。2. 明确脚本统计的是电气引脚还是所有焊盘。8. 最佳实践与使用建议为了更安全、高效地集成和使用此类 SKILL 脚本建议遵循以下实践版本管理与备份将你的 SKILL 脚本文件纳入版本控制系统如 Git并添加清晰的注释说明其功能、作者、修改历史和依赖的 Allegro 版本。在修改脚本前备份原始文件。测试驱动开发在应用到重要设计项目前务必在一个单独的测试板或项目副本上进行充分测试覆盖各种封装类型和布局情况。将测试用例和预期输出记录下来便于回归测试。错误处理与日志在脚本中增加基本的错误处理如when/unless判断避免因意外输入导致 Allegro 崩溃。可以考虑将运行日志成功、失败信息输出到一个固定的日志文件中便于后期排查问题。集成到设计流程对于需要频繁使用的脚本通过allegro.ilinit和自定义菜单将其集成到 Allegro 界面中提升操作效率。考虑将多个相关的小脚本组织成一个工具集通过一个统一的菜单进行管理。知识分享与合规在团队内部分享经过验证的实用脚本可以提升整体效率。注意公司内部开发的脚本可能涉及知识产权对外分享需遵守相关规定。使用来自外部的脚本时也需评估其安全性和兼容性。掌握利用 SKILL 自动化提取 PCB 设计数据的能力是从初级使用者向高效设计者迈进的关键一步。这个单零件导出脚本虽然功能聚焦但它清晰地展示了如何通过程序与 Allegro 交互获取并处理设计数据。你可以以此为基础探索更复杂的自动化任务如自动生成器件坐标文件、检查封装一致性、批量重命名位号等从而将精力更多地集中在核心设计决策上而非重复的手工操作上。

相关新闻

专为民政局打造的资产管理软件助力资产规范管理提质增效

专为民政局打造的资产管理软件助力资产规范管理提质增效

在民政系统工作的朋友大概率都体会过资产盘点的“难题”:上到价值几十万的养老服务设备、救灾应急指挥车辆,下到仓库里堆叠的棉被、帐篷、办公电脑,还有分散在福利院、救助站、婚姻登记处、社区服务点等十几甚至几十个下属站点的各类资产&…

2026/8/6 17:31:31 阅读更多 →
七夕礼物多少钱合适,送女友哈趣投影仪预算怎么定?

七夕礼物多少钱合适,送女友哈趣投影仪预算怎么定?

七夕礼物送什么合适,关键看「投其所好」又不落俗套。2026年七夕,两样实用派礼物正在走红:送男友选当贝鱼缸2SUltra,桌面生态缸既是颜值担当又能治愈解压;送女友选哈趣Q1Pro高亮版投影仪,百元价位把卧室变成…

2026/8/6 17:31:31 阅读更多 →
PUBG绝地求生罗技鼠标宏完整指南:三分钟实现精准压枪射击

PUBG绝地求生罗技鼠标宏完整指南:三分钟实现精准压枪射击

PUBG绝地求生罗技鼠标宏完整指南:三分钟实现精准压枪射击 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为PUBG游戏中枪口剧烈上…

2026/8/6 17:30:31 阅读更多 →

最新新闻

新手爸妈必存:帕利珠单抗RSV预防完全手册——接种时间、费用、注意事项一次说清

新手爸妈必存:帕利珠单抗RSV预防完全手册——接种时间、费用、注意事项一次说清

RSV是什么?为什么早产儿要特别警惕?呼吸道合胞病毒(RSV)是婴幼儿下呼吸道感染的头号元凶。每年秋冬流行季,无数宝宝因RSV感染导致毛细支气管炎、肺炎住院。对于胎龄≤35周的早产儿、患有慢性肺疾病或先天性心脏病的宝宝…

2026/8/6 19:25:20 阅读更多 →
nguyenvulebinh/wav2vec2-base-vi-vlsp2020开发者手册:自定义训练与模型优化的10个实用技巧

nguyenvulebinh/wav2vec2-base-vi-vlsp2020开发者手册:自定义训练与模型优化的10个实用技巧

nguyenvulebinh/wav2vec2-base-vi-vlsp2020开发者手册:自定义训练与模型优化的10个实用技巧 【免费下载链接】wav2vec2-base-vi-vlsp2020 项目地址: https://ai.gitcode.com/hf_mirrors/nguyenvulebinh/wav2vec2-base-vi-vlsp2020 nguyenvulebinh/wav2vec2-…

2026/8/6 19:25:20 阅读更多 →
华为OD机试新系统真题 【IPv4等长子网划分与自动分配系统】

华为OD机试新系统真题 【IPv4等长子网划分与自动分配系统】

IPv4等长子网划分与自动分配系统(Java/C++/Py/Js/Go/C)题解 华为OD机试新系统真题 华为OD上机考试新系统真题 8月5号 200分题型 华为OD机试新系统真题目录点击查看: 华为OD机试新系统真题题库目录|机考题库 + 算法考点详解 题目内容 某企业新申请到一个完整的 IPv4 主网段,…

2026/8/6 19:25:20 阅读更多 →
30岁从程序员转行Agent开发,说几句真心话

30岁从程序员转行Agent开发,说几句真心话

30岁,我彻底告别写了7年的CRUD代码,从传统程序员转行做AI Agent。 身边很多人不解:好好的开发不做,折腾什么风口? 今天不灌鸡汤、不画大饼,只用过来人的身份,说几句最真实、最扎心的真心话&…

2026/8/6 19:25:20 阅读更多 →
程序员专属巴厘岛出逃指南:告别内卷,解锁低压力高质慢旅行

程序员专属巴厘岛出逃指南:告别内卷,解锁低压力高质慢旅行

作为常年熬夜改Bug、对着屏幕调试代码、被需求迭代推着走的技术人,我们的生活好像永远被节奏、效率、迭代进度填满。Debug、上线、复盘、优化循环往复,紧绷的神经很难真正放松。比起人山人海、流程紧凑的流水线式旅游,我们更需要一场无套路、…

2026/8/6 19:25:19 阅读更多 →
如何用Akebi-GC智能辅助工具提升你的原神游戏体验

如何用Akebi-GC智能辅助工具提升你的原神游戏体验

如何用Akebi-GC智能辅助工具提升你的原神游戏体验 【免费下载链接】Akebi-GC (Fork) The great software for some game that exploiting anime girls (and boys). 项目地址: https://gitcode.com/gh_mirrors/ak/Akebi-GC 还在为《原神》中繁琐的收集任务和重复操作感到…

2026/8/6 19:24:19 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/5 21:00:14 阅读更多 →
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/5 23:46:51 阅读更多 →