text-to-cad:为 AI Agent 构建的 CAD/CAE/CAM 技能库——从 STEP 参数化建模到机器人描述、切片打印的全链路实战 📅 发布时间:2026/9/14 3:50:09 👁 浏览次数: text-to-cad为 AI Agent 构建的 CAD/CAE/CAM 技能库——从 STEP 参数化建模到机器人描述、切片打印的全链路实战【免费下载链接】text-to-cadA library of agent skills for CAD, CAE and CAM项目地址: https://gitcode.com/GitHub_Trending/tex/text-to-cadtext-to-cad 是一个面向 AI Agent如 Codex、Claude Code 等的 CAD/CAE/CAM 技能库将生成、检查、采购、切片、交接 CAD 与机器人描述工件的标准流程封装为一组可安装、可验证的 Agent 技能Skill。本文以仓库根目录 README.md 为骨架结合 skills/ 下各技能的核心说明与源码结构系统讲解技能全景、安装接入方式、各技能的内部工作流与校验机制以及开发者如何在本地贡献与发布。读完本文你将掌握如何在项目中安装并编排这些技能让 Agent 从一句自然语言需求出发产出经几何校验的 STEP 模型、机器人 URDF/SRDF/SDF 描述乃至可打印的 G-code。项目定位不是 CAD 软件而是 Agent 的技能库README 对项目的定义只有一句话A library of agent skills for CAD, CAE and CAM一个用于 CAD、CAE 和 CAM 的 Agent 技能库。它的价值不在于自己实现一个建模内核而在于把经过验证的专业工作流拆解成 Agent 可以即插即用的 Skill生成generating从自然语言或参考图生成参数化 CAD 模型检查inspecting对几何做引用解析、测量、对齐、差异比对与快照渲染采购sourcing通过 step.parts 找到标准件螺丝、轴承、电机等的真实 STEP 文件切片slicing调用真实切片器 CLI 把网格文件切成带打印机配置的 FDM G-code交接handing off把产物交给本地 CAD Viewer返回可直接在浏览器中查看的实时链接。安装该库后Agent 便获得了聚焦的工作流CAD 建模、加工制造DXF/SendCutSend、机器人描述文件URDF/SRDF/SDF、仿真与本地可视化审查都能在统一的规范下完成。项目默认以STEP 作为首要 CAD 工件STL、3MF、GLB 等网格格式作为次要导出这一STEP-first原则贯穿全部技能设计。下图依次展示了 CAD 技能在 CAD Viewer 中生成与预览几何、URDF 技能输出机器人描述、SRDF/MoveIt2 技能演示逆运动学的运行效果来源见 assets/ 技能全景11 个 Skill 一览README 用一个表格完整列出了当前仓库提供的技能。下表按建模 → 描述 → 制造 → 打印 → 实验的流水线顺序整理并附各技能的权威说明文档路径Skill摘要说明文档CAD根据自然语言或图片请求创建、修改 CAD 模型以 STEP 为主输出可导出 STL、3MF、GLBskills/cad/SKILL.mdCAD Viewer在本地浏览器中预览 CAD 与机器人文件skills/cad-viewer/SKILL.mdstep.parts查找螺丝、轴承、电机、连接件等现货 STEP 标准件skills/step-parts/SKILL.mdDXF从 Python 源码或 CAD 几何创建 2D DXF 图纸轮廓、模板、垫片、切割排样skills/dxf/SKILL.mdURDF编写含 link、joint、limit、inertial、mesh 的机器人结构文件skills/urdf/SKILL.mdSRDF为 URDF 添加 MoveIt 规划组、末端执行器、姿态与碰撞规则skills/srdf/SKILL.mdSDF创建带 frame、physics、sensor、light 的仿真模型与 worldskills/sdf/SKILL.mdSendCutSend上传 SendCutSend 前对 DXF 与 STEP 文件做预检skills/sendcutsend/SKILL.mdG-code调用真实切片器 CLI把受支持的网格文件切成经校验的、带打印机配置的 FDM.gcodeskills/gcode/SKILL.mdBambu Labs对已校验的.gcode做试运行、上传并谨慎启动本地 Bambu Lab 打印任务skills/bambu-labs/SKILL.mdImplicit CAD使用 GLSL 符号距离场SDF创建浏览器原生的隐式 CAD 模型由 CAD Viewer 光线步进渲染实验性skills/implicit-cad/SKILL.md这些技能彼此衔接、职责互补CAD 产出 STEP 几何DXF 从 STEP 投影 2D 图纸SendCutSend 对 DXF/STEP 做加工预检URDF/SRDF/SDF 描述机器人G-code 把网格切成打印指令Bambu Labs 再把 G-code 送到打印机Implicit CAD 则提供一条通往 GLSL 隐式建模的实验性路径。核心技能深度拆解CADSTEP-first 的参数化建模工作流CAD 是整套技能库的核心。从 skills/cad/SKILL.md 可以看到它遵循一套严格的原则两条进入 STEP 工作流的路径从 build123d Python 源码生成默认路径适用于从零设计或修改已生成的模型直接导入现有 STEP/STP 文件当没有生成器、或用户明确以 STEP 文件为目标时使用。两条路径最终产出同一种可检查的工件。对于装配体技能推荐使用cadgen.assembly.AssemblyHelper配合源码级的 build123d 关节joint、命名配合基准mating datum与原生标签label来表达部件间真实的装配关系。五个命令行工具从技能目录运行python为解释器占位符可用--help查看完整接口python scripts/gen ... # 从 gen_step() Python 源码渲染 GLB/topology 包 python scripts/export ... # 从 Python 源码或导入的 STEP 生成 STL/3MF/GLB 网格 python scripts/inspect ... # refs、measure、align、frame、diff 等几何检查 python scripts/snapshot ... # PNG/GIF 视觉复查包 python scripts/artifact ... # 调试一次按需渲染包构建针对导入的 STEP其中gen只针对显式生成器目标运行禁止目录级批量生成需要.step文件本身时加--write需要网格文件时用export。stdout 承载结果gen对每个目标打印outcome package pathstderr 承载进度与失败信息两者绝不交错因此2/dev/null后 stdout 依然是可解析的gen、export、snapshot支持--jsoninspect天然输出 JSON--format text可转散文格式。并发构建同一模型时构建会等待而非竞争可通过--lock-timeout SECONDS设定放弃等待的时限。默认建模假设用户未指定时的首轮建模默认非可制造性/公差/认证承诺单位毫米坐标原点按部件类型默认见 references/positioning.md一般取主体中心基准面 XY拉伸/竖轴为正 Z输出几何为闭合、正体积实体未指定时小塑料外壳壁厚 2.0–3.0 mm装饰圆角 1.0–3.0 mm在局部几何安全的前提下M3/M4/M5 普通过孔为 3.4/4.5/5.5 mm。必备工作流十个步骤规模随任务缩放分类任务新零件/新装配/源码修改/直接 STEP 检查等只加载所需的渐进式参考文档撰写自然语言 CAD briefreferences/cad-brief.md检查具名可采购部件装配体含现成电机、舵机、电路板、连接器时先用$step-parts搜索找不到精确匹配才用文档化的包络几何编码前规划参数、意图标签、源路径、预期包围盒与配合/定位基准编辑源码而非生成的工件用gen_step()编写 build123d Python入口生成器命名name.step.py生成显式目标gen 按需--write/export几何校验scripts/inspect refs target --facts --planes --positioning为基线再用measure、align、frame、diff逐项核对规格要求inspect validate只保证 ref 解析开放壳与翻转实体都能通过因此必须结合针对性测量快照校验是强制的创建或明显修改主 STEP 后必须运行scripts/snapshot并人工复查跳过情形见 references/snapshot-review.md且需说明理由失败即修复最小责任源码段并重跑校验。非协商事项Non-negotiablesSTEP 是首要校验工件STL/3MF/GLB 均为派生工件使用命名参数、闭合实体、详细的原生 build123d 标签与源码受控的几何意图装配定位必须在源码中表达references/positioning.md 对此有权威说明禁止用git status/git diff/文件大小变化来比较大型导出工件应改用源码变更、inspect摘要、快照或生成的拓扑输出只报告实际运行过或有工具输出支持的检查。CAD Viewer统一的本地可视化与交接枢纽所有生成类技能CAD、URDF、SRDF、SDF、DXF、step.parts、SendCutSend、Implicit CAD、Bambu Labs 的.3mf产物都有一条共同规则完成后必须把显式文件路径交接给$cad-viewer技能由它启动本地 CAD Viewer 并返回实时查看链接。若该技能不可用或启动失败必须报告而不能静默省略。skills/cad-viewer/SKILL.md 给出了运行方式npm --prefix scripts/viewer run start -- --host 127.0.0.1监听固定端口3245即十六进制0xCAD恰好是 CAD。Viewer 的 URL 形态是路径即绝对目录 file选工件http://127.0.0.1:3245/absolute/project/models?filemechanisms/lift_table.step.py要点路径必须是绝对目录Viewer 的运行目录并不等于模型目录file相对该目录解析应选择用户视为模型工作区的目录通常是项目的models/而不是工件自身所在深目录这样文件浏览器能列出整个项目。对生成的模型应传生成器源码name.step.py目录清单即列它后端按需直接构建渲染工件且只有这种形式携带paramssidecar对无生成器的导入 STEP才传.step/.stp本身。端口被占用时启动器直接报错而非滚动换端口用--port n显式指定。从源码结构看Viewer 前端运行在 viewer/ 与packages/cadjs、packages/implicitjs之上其 Python 后端位于 skills/cad-viewer/server_py/。URDF / SRDF / SDF机器人描述三件套机器人描述文件在 text-to-cad 中遵循清晰的职责边界URDF拥有物理结构link、joint、几何、inertial、limit、mimic joint、transmission、状态发布SRDF拥有 MoveIt 规划语义虚拟关节、被动关节、规划组、组状态、末端执行器、禁用碰撞对SDF拥有仿真/world 语义physics、sensor、light、plugin、world。URDFskills/urdf/SKILL.md把 URDF 工作视为受约束的运动学建模而非 XML 写作核心风险是 frame 放置、关节轴语义、单位一致性、网格缩放与惯性数据。关键规则包括.urdf是事实来源直接编辑 XML没有gen_urdf()契约写 XML 前必须建立设计台账ledger并作为注释块嵌入文件顶部references/design-ledger.md严格遵守 frame 语义references/frame-semantics.md绝不凭印象推断空间变换绝不手写计算型数值惯性张量、质心、多链路单位换算、镜像变换都要算出来见 references/inertials.md。校验器只依赖 Python 标准库python scripts/validate path/to/robot.urdf python scripts/validate path/to/robot.urdf --strict python scripts/validate path/to/robot.urdf --format json python scripts/validate path/to/robot.urdf --package robot_description/path/to/pkg--strict把警告视为失败--json输出机器可读发现文档--package解析package://网格 URI。校验是一次遍历收集全部发现严重级、代码、XML 路径覆盖 XML 结构、树拓扑、关节语义limit/mimic/dynamics、几何、网格引用、材质、惯性物理与拼写错误的元素。技能同时强调校验是护栏而非空间证明——一个结构全对的 URDF 也可能把关节放在错误位置因此台账 Viewer 全关节扫查必不可少。SRDFskills/srdf/SKILL.md强调 SRDF 正确性是规划语义问题常见失败不是 XML 非法而是给 MoveIt 错误的规划组、错误的工具 link、错误的默认状态、不安全的禁用碰撞矩阵或错误的关节单位。其 13 步工作流要求从有效 URDF 出发先提取 URDF 的 link/joint 表并只从表中复制名称绝不凭记忆输入与 URDF 通过同目录 相同robot name配对这正是唯一的配对机制校验器、Viewer、MoveIt2 server 都按此解析每个 robot name 每目录只能有一个 URDF组状态必须使用 URDF 原生单位revolute/continuous 用弧度prismatic 用米且不能设置 fixed/mimic 关节禁用碰撞对必须有证据URDF 关节表邻接关系、MoveIt Setup Assistant 采样或用户提供的碰撞矩阵禁止臆造宽泛的禁用列表。校验器会对照配对的 URDF 交叉校验全部名称、链、状态与碰撞对skills/srdf/SKILL.md 的scripts/validate。SDFskills/sdf/SKILL.md专指 SDFormat而非符号距离场作者直接编辑.sdfXML没有gen_sdf()契约。核心规则包括新输出优先version1.12默认 SI 单位在每个非平凡 pose 与轴上显式写relative_to/expressed_in——隐式 frame 默认是 SDF 头号失败模式references/frame-semantics.md绝不手写计算数值当机器人已有 URDF 时从 URDF 派生 SDF 而非重写几何references/interoperability.md。除内置校验外还可用--gz-check auto|required|never调用可选的gz sdf --check且完成任务时要求按固定模板输出校验了什么/跳过了什么/假设/风险的报告。DXF2D 图纸的三种生成路径skills/dxf/SKILL.md 定义了 DXF 图纸的事实来源一个专用 Python 生成器文件name.dxf.py定义gen_dxf()CLI 拥有输出路径。默认构建产物是图纸包drawing package——CAD Viewer 服务并按需自动重建的渲染工件model-folder/__cadgen__/models/name.dxf.py/ drawing.json # 来源 新鲜度描述符 drawing.dxf # 构建出的 DXF交换工件 preview.glb # 烘焙的 3D 展开图Viewer 渲染内容三条工作流① 从零独立起草垫片、面板、模板、切割排样直接用 ezdxf 建文档② 从生成的 STEP 部件派生旁置name.dxf.py通过cadgen.sources.load_source_module路径加载.step.py复用其几何③ 从导入的 STEP 派生读 STEP 后用cadgen.flatten投影。规则上gen_dxf()必须单独位于.dxf.py同文件同时定义gen_step()与gen_dxf()会被拒绝。默认单位毫米且须显式设置doc.units ezdxf.units.MM切割轮廓须闭合开轮廓仅限雕刻/参考图层CAD 支撑件用cadgen.flatten从真实实体拓扑投影并做union_projected_faces切缝/刀径补偿用offset_geometry而非手工平移坐标。校验内建于生成过程闭合性、零长度/退化实体、重复几何、无单位文档、空 modelspace 均失败也可对既有文件后置校验python scripts/gen path/to/source.dxf.py python scripts/gen path/to/source.dxf.py --write python scripts/gen --validate path/to/file.dxfstep.parts、SendCutSend 与制造预检step.partsskills/step-parts/SKILL.md为装配体提供标准件采购当装配含具名现货致动器、舵机、电机、电路板、连接器时先用$step-parts搜索再考虑简化占位几何。仓库自带确定性下载器python scripts/download_step_part.py M3 socket head 12 --download python scripts/download_step_part.py --id iso4762_socket_head_cap_screw_m3x12 --download python scripts/download_step_part.py bearing 608zz --limit 5下载后须用记录的sha256校验文件。搜索时注意 API 的 AND/OR 语义查询词 AND 连接同一 facet 内 OR、不同 facet 之间 AND舵机类型号要同时尝试别名与厂商拼写如STS3215可能写作ST3215、3215或带familyfeetech。SendCutSendskills/sendcutsend/SKILL.md面向激光切割/CNC 路由前的上传预检DXF 用于激光薄板切割STEP/STP 用于 CNC 路由与 3D 模型上传。它把官方下单指南、目录 JSON、规格 JSON 视为证据源而非稳定 API坚持只对比可信证据对引证来源字段路径 被测量的文件事实。DXF 侧检查$INSUNITS只认1英寸与4毫米缺失或异常即报单位/缩放错误、闭合切割轮廓、退化/重复几何、不支持标注、折弯线两侧局部法兰深度等STEP 侧检查可读性、实体体、单位/包围盒/厚度、折弯半径对比 SKU 的bending_specs.effective_bend_radius等。状态标签严格限定为✅ pass/❌ fail/❓ need more info禁止无证据的ready结论。G-code 与 Bambu Labs从切片到打印G-codeskills/gcode/SKILL.md是打印链路的起点把.stl、.obj、未切.3mf、.ply、.glb、.gltf通过真实切片器 CLI切成普通 FDM G-code。技能明确拒绝.step/.stp/.dxf/.svg/.urdf/.sdf并给出带remediation对象的结构化错误例如 STEP 先由$cad导出 STL sidecar 再切片。工作流强制先discover探测后端 →inspect检查输入 →--dry-run试运行 →--execute真正执行 →validate校验。切片必须提供包装配置 JSON其中native_config指向原生切片器配置的绝对路径并声明打印机床尺寸、运动边界与耗材参数{ backend: orcaslicer, native_config: /absolute/path/to/native-slicer-profile, machine: { name: Example Printer, bed_size_mm: [180, 180], z_height_mm: 180 }, filament: { type: PLA, nozzle_temp_c: 220, bed_temp_c: 65 } }后端优先级为orcaslicer→prusa-slicer→curaengine。校验器检查非空内容、温度指令、运动指令、挤出移动、XYZ 边界与未知指令告警。该技能只产普通.gcode不联系打印机。Bambu Labsskills/bambu-labs/SKILL.md负责本地局域网打印交接通过 Bambu LAN FTPS/MQTT 协议工作。安全规则是硬约束默认全部 dry-run真实流量需--execute启动打印必须--execute --confirm-start-print取消必须--execute --confirm-cancel-print。推荐的 A1 Mini 路径是--handoff template-project从已校验 G-code 出发复制同打印机已知良好的.gcode.3mf模板、替换Metadata/plate_N.gcode、写入 plate MD5、经 FTPS 上传到根目录并发布print.project_file。--handoff plain仅作诊断--handoff bambox-project当前只对p1s-0.4配合 PLA/ASA/PETG-CF 启用。命令形如python scripts/bambu_lan_print.py status --printer a1-mini --push-all --wait-seconds 10 python scripts/bambu_lan_print.py send --printer a1-mini --gcode /tmp/job.gcode \ --handoff template-project --template-project /path/to/template.gcode.3mf \ --action upload-start --execute --confirm-start-printImplicit CAD实验性的 GLSL 隐式建模skills/implicit-cad/SKILL.md 提供浏览器原生隐式 CAD主工件是.implicit.js/.implicit.mjsES 模块导出schema: implicit.js/0.1.0对象核心是 GLSL 符号距离场float sdf(vec3 p)与可选的过程式vec3 color(vec3 p, vec3 normal)export default { schema: implicit.js/0.1.0, name: rounded capsule block, glsl: float sdf(vec3 p) { float sphere implicit_sphere(p, vec3(0.0), 22.0); float block implicit_box_centered(p, vec3(34.0, 18.0, 18.0), vec3(0.0)); return implicit_union_round(sphere, block, 3.0); } vec3 color(vec3 p, vec3 normal) { return mix(vec3(0.20, 0.55, 0.95), vec3(0.95, 0.45, 0.20), smoothstep(-15.0, 20.0, p.z)); } , };内置implicit_*GLSL 助手implicit_sphere、implicit_box_centered、implicit_union_round等也支持params、animations与可选的bounds省略时自动从 SDF 估算。schema 事实来源在scripts/packages/implicitjs/src/lib/implicitCad/schema.jsscripts/lib/implicit-cad.mjs以SCHEMA重新导出。命令包括python scripts/gen model.implicit.js构建 Viewer 打开的渲染包、node scripts/export.mjs --input ... --stl/--3mf/--glb网格导出一次运行 meshing 一次所以各格式几何一致与python scripts/snapshot支持多输出 JSON job、动画 GIF。技能自标注为实验性明确要求除非用户明确要求隐式模型否则始终优先常规 STEP-first 工作流。 安装与接入把技能装进你的 AgentREADME 给出了三种安装路径生产使用一律基于main分支该分支包含提供商安装器所需的已生成技能产物。Skills CLI推荐npx skills install earthtojake/text-to-cad这是首选路径为受支持的 Agent 直接安装各个独立技能。Provider 原生插件Codex需 0.142.0 或更新版本与 Claude Code 均支持仓库根目录即插件包的形式# Codex需 Codex 0.142.0 或更新 codex plugin marketplace add earthtojake/text-to-cad codex plugin add cadtext-to-cadCodex 从 0.142.0 起才解析仓库根插件旧版本会静默跳过且不出现于codex plugin list升级方式为npm install -g openai/codexlatest。# Claude Code claude plugin marketplace add earthtojake/text-to-cad claude plugin install cadtext-to-cad若新装技能不出现重启 Agent 即可。本地开发则应基于develop分支并分支开发、向develop提 PR使用下述 symlink 工作流。本地开发symlink 安装与卸载从 CONTRIBUTING.md 可以看到本地开发用 symlink 把本仓库的技能目录链接进 Agent不要复制目录这样修改立即可见。仓库提供了安装器脚本scripts/install/install-skills.sh --agent codex scripts/install/install-skills.sh --list-agents scripts/install/install-skills.sh --agent codex --agent claude scripts/install/uninstall-skills.sh --agent codex从 scripts/install/install-skills.sh 源码可以看到其行为扫描skills/下每个含SKILL.md的目录为每个技能创建一条 symlink并保留已存在的非 symlink 路径不动卸载器只删除指向本仓库的 symlink 并剪除空目录除非--keep-empty-dirs。支持的本地开发目标Agent 参数目标目录codex${CODEX_HOME:-$HOME/.codex}/skillsclaude${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skillsgemini$HOME/.gemini/skillsuniversal${XDG_CONFIG_HOME:-$HOME/.config}/agents/skillsproject仓库内.agents/skillsclaude-code、gemini-cli、agents、repo为别名--all安装到全部目标。安装/卸载后需重启或重载 Agent 以重新扫描技能。技能间的协作模式一条完整的需求 → 实物流水线将各技能串联起来text-to-cad 实际上提供了一条从自然语言需求到可交付工件的流水线$cad依据需求或参考图产出经校验的 STEP并以scripts/inspectscripts/snapshot完成几何与视觉双重验证$step-parts在装配体遇到电机、轴承等标准件时先查现货 STEP替代占位几何$dxf从 STEP 实体拓扑投影出闭合切割轮廓供激光/水刀等切割工艺使用$sendcutsend在把 DXF/STEP 上传给切割服务前生成证据化预检报告$urdf/$srdf/$sdf把几何沉淀为机器人描述URDF 管结构SRDF 配 MoveIt 规划语义SDF 进 Gazebo 等仿真器$gcode把网格切成带打印机配置的 G-code$bambu-labs再把它安全地送到局域网打印机$cad-viewer是贯穿全程的交接枢纽每个生成类技能完成工作后都必须把文件路径交接给它并返回实时查看链接。每一步都内建校验护栏validate/inspect/生成期检查并且只报告实际运行的检查——这是所有技能共用的底线原则。️ 贡献与发布develop 分支与 Release 流水线README 与 CONTRIBUTING.md 共同描述了仓库的工程纪律分支策略开发全部基于developPR 打向develop而非mainmain是仅发布分支仓库根即 Agent 插件包。symlink 布局develop用 symlink 让生成输出指向规范源scripts/dev/setup-symlinks.sh而main必须用真实副本替换 symlink——因为各安装器对 symlink 行为不一Skills CLI 会解引用、Claude Code 原样保留、Codexplugin add会无报错丢弃导致技能文件缺失scripts/github-workflows/check-builds.sh 是强制这一点的门禁。发布流水线版本统一从VERSION派生由ReleaseGitHub Actions 工作流一次性完成版本 bump、release PR、发布到main、cadgen上传 PyPI、文档部署、semver 标签与 GitHub Releasebumpnone用于恢复失败的发布或演练target_branchbuild-test仅用于 CI/CD 改造演练。技能自包含每个技能安装后必须自包含、独立运行不得在运行时引用其他技能或仓库根模块共享运行时助手以packages/为源通过 bundle 流程 vendor 进各消费技能scripts/bundle/bundle.sh。本地开发环境python3.12 -m venv .venv后安装requirements-dev.txt测试入口包括 scripts/test/test.sh 及聚焦的 test-js/test-python/test-docs/test-global 脚本。工件纪律测试与样例工件写入models/快照 PNG/GIF 等审查媒体渲染到/tmp并随 PR 附上不进models/assets/**演示 GIF 走 LFS 且默认不随轻量克隆拉取需要时git lfs pull --includeassets/**。小结text-to-cad 的独特之处在于它把 CAD/CAE/CAM 中最容易出错、最依赖领域知识的环节——几何正确性、坐标系语义、单位一致性、碰撞与制造约束——固化成 Agent 可执行、可校验的技能契约。无论是用$cad走 STEP-first 参数化建模、用机器人三件套产出 URDF/SRDF/SDF还是用$gcode$bambu-labs直接切片打印每一步都有对应的校验工具与本地可视化交接闭环。安装它之后你的 Agent 便不再是会写 XML/代码的通用模型而是一台拥有完整机械工程工作流的终端。【免费下载链接】text-to-cadA library of agent skills for CAD, CAE and CAM项目地址: https://gitcode.com/GitHub_Trending/tex/text-to-cad创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考