尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Agent Skills核心解析:从函数调用到能力封装的进化
1. 先回答那个最先被问到的问题Agent Skills 到底是个什么概念最近大半年我被问得最多的一句话就是Agent Skills 是什么一开始我挺不屑的心想这不就是把原来的插件换个说法又是包装出来的新词。直到我真的把一个项目拆成 Skills 跑了几轮之后才意识到这个东西和插件、函数调用、工作流确实不是一回事。准确说它是一种重新组织 Agent 能力的封装思路把一个个可以被复用的具体能力打包成有声明、有描述、有入口、有校验条件的独立模块让 Agent 在运行的时候可以自己判断该在什么场景下加载哪一个。如果你熟悉以前的 Agent 开发方式应该知道那种“把所有工具写进一个长长的调用列表”的做法有多痛苦几十个函数塞进上下文模型还没开始干活先把上下文撑爆了。后面大家开始做分组、做白名单、做托管但本质上还是“我有什么工具就都告诉模型”。Agent Skills 的思路正好反过来它更像是给 Agent 一本目录册目录里的每一项不是简单罗列而是“你在什么情况下打开这一页、打开后怎么操作、操作完会得到什么”。模型不是被动地遍历所有能力而是先看目录再选择性地展开某个 Skill。这个转变很关键。它意味着 Agent 不再需要同时记住所有工具而是只需要记住“什么时候去翻哪本手册”。在实际运行中这种“按需加载”带来的收益比想象中大得多。我见过不少团队把工具全部灌进上下文结果模型老是选错函数、输错参数问题不在模型笨而在“注意力被稀释了”。Agent Skills 相当于给模型做了一次注意力聚焦把无关能力先收起来只在需要的时候展开。所以如果你要我用一句话给 Agent Skills 下个定义我会说它是一种让 Agent 在正确时机、按正确方式、调用正确封装的“可复用能力包”的组织方式。它既包括能力本身的实现代码也包括帮助模型识别和使用这套能力的描述、约束和验证逻辑。另外提醒一点现在“Agent Skills”这个词已经被各种平台用得很泛滥。有的平台把商店里的预置 Prompt 插件叫 Skills有的把一套完整的多步骤自动化叫 Skills有的干脆把所有工具都改了名叫 Skills。实际做项目的时候别被名字带偏你要关注的是三件事这个能力是否可以被独立描述、是否可以按需加载、是否有清晰的输入输出边界。满足这三条的无论它叫什么本质上都是合格的 Skill。2. Skill 内部到底封了什么一个可被结构化消费的能力单元我在拆解了一个又一个 Skill 之后发现无论它用什么格式、什么运行时内部基本都跑不掉四层东西声明层、描述层、执行层、校验层。理解这四层比单纯抄一个示例文件重要得多因为绝大多数 Skill 失效的问题都出在“声明和实际行为对不上”。2.1 声明层给模型一张“身份证”声明层是模型最先看到的部分。它通常包含 Skill 的名称、适用的场景标签、参数签名、依赖条件和版本信息。这里最核心的字段不是名字而是“何时使用”的触发条件描述。很多人写声明的时候把名字起得很宽泛比如“数据分析”结果模型在用户聊天气的时候也把数据分析 Skill 调起来了——因为描述没有写清楚边界。我建议在声明层里就把触发场景写成句子而不是几个孤立的标签词。例如不要只写“数据分析”要写“当用户上传或引用了包含多行数字的表格并希望做汇总、分组、趋势判断时使用”。我做过一次对比测试同样的 Skill用短标签做声明的版本误调用率接近三成改成完整句子描述之后误调用率降到了个位数。这个数据不一定普适但方向和道理是明确的模型依赖描述做判断描述越像人话决策越稳。一个典型的声明文件我见过最简单也最有效的写法大概长这样name: report_cleaner description: 当用户提供销售周报、月报等结构化文档需要把乱格式、重复行、 合并单元格清理成规整表格时使用本技能。 version: 1.2.0 inputs: file_path: type: string required: true description: 待清洗文件路径 outputs: cleaned_path: type: string description: 清洗后文件路径 tags: [report, excel, clean]这里面的描述不是写给程序员看的是写给模型看的。它不关心你怎么实现清洗只关心“什么情况应该亮出这张身份证”。2.2 描述层不是“说明文档”而是模型的操作手册描述层和声明层很容易混淆。声明层回答“什么时候用”描述层回答“用了之后怎么执行”。描述层通常包含执行步骤、注意事项、常见报错和处理方式。它不要求模型背下来而是让模型在调用 Skill 之后知道第一步做什么、第二步做什么、哪些环节容易出错。我用一个生活化的类比来解释声明层像厨房门口的菜单招牌写的是“本店供应酸菜鱼”描述层像后厨的操作卡写的是“鱼片要斜切、腌料要抓匀、酸菜要先炒出味”。模型不是厨师但它是调度员它需要确保后厨按正确流程出菜。描述层里最容易写过头也最容易写不足。写过头把大量无关背景、历史原因塞进去模型容易抓不住重点上下文也被白白占用写不足只写一句“调用清洗函数”模型不知道在什么情形下需要做二次校验遇到边缘输入就会不知所措。我实践的折中方法是描述控制在两千字以内分步骤写每步都以动作开头例如“先读取表头”“再定位空行”“最后输出新文件”。这样模型在编排时能更准确地把参数传给底层函数。2.3 执行层真正的代码或脚本入口执行层是 Skill 落地的部分可以是一个 Python 脚本、一个 Node 函数、一个容器命令甚至是一段可以被解释器执行的 Shell 逻辑。关键在于它的边界要足够封闭输入什么、输出什么、运行时限是多久、是否有副作用都必须在执行接口上写清楚。我做过一个内部项目叫“模拟项目X”里面有一个发邮件的 Skill。最初它的执行层直接调公司内部邮件接口后来发现测试环境和线上环境用的凭据完全不一样导致 Skill 在测试环境跑得很欢、一上生产就静默失败。问题不在 Skill 逻辑而在执行层没有把环境依赖当参数。后来我在执行层统一加了环境标识参数要求调用方显式传入“测试”或“生产”才把这个坑填上。这是执行层最容易忽略、但价值极高的一点把所有外部依赖都显式化。2.4 校验层输出不校验等于没封装校验层是很多人会漏掉的部分。Shell 一个脚本跑完返回一个字符串Agent 就直接拿去答用户了这是很危险的。合格的做法是在执行层之后加一个输出约束字段齐不齐、格式对不对、数值范围合不合理。校验不过就返回一个结构化的错误码而不是让模型去猜。从工程化角度说Skill 其实就是一个小型服务只不过服务的消费者主要不是人而是模型。既然是服务就得有入参校验、出参校验、错误处理、超时机制。我在实际开发时会强制要求每个 Skill 返回统一格式 JSON至少包含三个字段status、data、message。这样无论下层发生了什么上层编排逻辑都能稳定处理不会因为某个 Skill 返回了裸字符串而中断整个 Agent 流程。3. Agent Skills 和函数调用、插件、工作流的真实边界很多人把 Agent Skills 和以前的概念混在一起其实它们在设计粒度、触发机制、可复用程度上差得挺远。我在团队里经常用一张边界表帮新人理清关系这里也分享出来。维度函数调用Agent Skills插件工作流粒度单个操作一组完整能力一组能力的集合多步骤业务路径触发方式模型直接选函数模型先定位描述再展开通常由用户显式安装或唤起由事件或条件驱动复用性低通常函数级高跨场景复用中依赖平台生态低绑定具体流程状态管理无状态可以有内部状态有独立生命周期依赖流程上下文对模型上下文占用全部可见按需展开启用后可见按阶段暴露3.1 函数调用是一只手Skill 是一本手册函数调用解决的是“模型如何调用一个工具”的问题本质上是把一组参数映射到一个函数入口。它的优点是轻量、直接缺点是一旦数量多了模型的选择压力就变大。Agent Skills 解决的则是“模型在什么情形下应该知道有一个特殊工具”的问题。它给每个能力包了一层描述相当于给模型提供了一本手册。模型不需要同时看到所有手册的详细内容只需要看到目录和摘要。这就是我前面说的“按需展开”的核心价值。举个例子一个函数“send_email”的函数调用模型只需要知道参数是收件人和正文。但如果把“给客户发周报邮件”这个能力做成 Skill它可以包含选择模板、拉取数据、渲染正文、检查附件、发送、记录发送结果这一整套流程。模型在对话中一旦判断用户意图匹配“周报邮件”就展开整个 Skill而不是自己一步步调五个八个函数这既省上下文也减少出错点。3.2 插件重在生态Skill 重在能力内聚插件这个词在浏览器、IDE、聊天应用里用得太多通常指外部扩展包需要在宿主环境里安装、启用、配置。插件和 Agent Skills 的边界不是技术决定的而是生态位决定的插件一定绑定某一个宿主平台离开了这个平台插件没有意义Skill 则更自由它可以跟随 Agent 的配置迁移到另一个运行时前提是你按标准方式描述。我见过有人把一个绘图插件硬说成“Skill”其实它就是一个普通插件用户先在界面安装再在对话里触发它不认识其他 Agent 框架。真正称得上 Skill 的东西至少应该把“何时用、怎么调、返回什么”写在一个自包含的包里面让不同 Agent 都能读取。换句话说插件是给“某个具体的 App”用的Skill 是给“任意符合标准的 Agent 执行器”用的。这个话题往下深挖就要牵扯到 Agent 互操作性了。目前市面上已经有一些项目在做统一的“能力描述格式”不管背后的执行语言是什么只要遵守描述规范就能被多个 Agent 运行时识别。我个人很看好这个方向Serverless 时代的函数接口标准化过一轮Agent 时代的“技能接口标准化”也会来一轮。3.3 工作流是流程Skill 是能力工作流解决的是“多步骤如何按顺序执行”强调流程控制先做 A再做 B如果遇到情况 C 就跳到 D。典型的例子是把“读取邮件—提取附件—解析数据—写入表格—发送通知”固定成一个自动化流程。Skill 不强调固定的执行顺序它更像一个“可以被随时调用的资源包”。它可以内部有流程但对外暴露的只是“给我一个输入我还你一个结果”。两者之间的关系是Skill 可以成为工作流中的一个节点而工作流可以编排多个 Skill。我见过有人非要二选一其实没必要。正确姿势是按照复用频率来划分需要固定复用、跨场景抽出的是 Skill只在某个特定业务里跑一遍的是工作流。3.4 一个容易混淆的细节Skill 和 Prompt 的关系还有一类东西也经常被叫做 Skill实际上就是精心设计的 Prompt 模板。Prompt 模板解决的是“模型该按什么规则思考”没有可执行的代码没有真正的输出校验。Skill 则更完整它既包含模型需要知道的规则描述也包含实际能跑的工具脚本。我在做内部培训时常说如果你的所谓 Skill 只是几段话术没有可执行模块那它本质上是一个“角色包”不是 Agent 的能力包。Agent 的能力包一定包含两个并行的通路一个通路是给模型看的描述另一个通路是给机器执行的代码。只有描述没有代码模型就只能“嘴上说会干”干不成实事。这个区分如果拎不清后面设计和评审都会跑偏。4. 我实测过的三种 Skill 实现路径以及各自的选型逻辑关于 Agent Skills我早先也走了不少弯路。这里说说我真刀真枪跑过、也踩过坑的三种实现路径。它们不是谁取代谁的关系而是适用场景不一样。我按“从轻到重”的顺序来讲。4.1 路径一把单个函数直接声明成 Skill最轻量的做法是把一个已有函数包装成 Skill不改代码不启动服务只加一层 YAML 声明和一个入口描述。适合那些参数简单、行为单一、没有内部状态的场景比如“将文本转成 Markdown 表格”“提取卡片中的日期字段”。我用一个常见的“清理 CSV 重复行”功能举例传统函数大概是这样def remove_duplicate_rows(file_path: str, key_column: str) - str: ... return output_path把它声明成 Skill只需要额外提供一份 YAML把描述写清楚再让 Agent 框架通过约定好的“技能中心”索引到它name: csv_dedup description: 当用户需要删除CSV中某列的重复行时使用 inputs: file_path: string key_column: string outputs: output_path: string这个路径的好处是改动小、见效快特别适合验证某个能力是否值得做深。缺点是不适合复杂流程函数内部的逻辑一旦超过一屏模型很难通过声明理解全部上下文。我的选型建议是能力逻辑稳定、长期不变、并且只有一两个入口的场景直接用路径一。如果这个函数以后要扩展多个子步骤就别硬塞趁早升级到路径二。4.2 路径二脚本包加描述文件做成相对独立的 Skill 包当能力开始包含多步逻辑比如“下载文件—预处理—分析—生成图表—汇总截图”我就把它从单函数升级成目录包。目录的结构一般长这样report_skill/ manifest.yaml run.py requirements.txt README.md assets/manifest.yaml负责对外的声明和描述run.py是执行入口requirements.txt管依赖assets放模板或静态资源。Agent 运行时在遇到匹配意图时会把整个目录交给执行器执行器按 manifest 里定义的入口跑起来。这种路径的好处是清晰、可维护、可版本化。把它丢进 Git 仓库系统可以通过更新记录做版本回滚。如果团队里有多个 Agent 需要同一套能力整个目录复制过去就能用比来回复制函数经历要好维护得多。我做完第一版报表清洗 Skill 之后最大的感受是目录包天然给了我做工程约束的边界。哪个 Skill 用了哪些依赖、更新过哪些版本都是可以审计的。单函数模式做不到这一点你只能靠代码 review 猜它改了啥。4.3 路径三用平台专用格式做声明式注册再往上走一步就是使用某些 Agent 平台推出的专用 Skill 格式。这类格式通常有一套更严格的 schema 校验甚至提供可视化调试面板可以在线测试每个 Skill 的输入输出。这类路径适合已经有成熟 Agent 产品、需要做团队级或商业级能力管理的团队。它背后的设计逻辑是Skill 不仅仅是一个代码包还是一种“产品能力”。在线注册、在线分发、在线审计都是单机脚本包做不到的。但我得诚实地提醒平台专用格式也意味着绑定。假如你换一个 Agent 运行时这类格式是否兼容完全取决于平台方。我建议你先把能力本身打磨好再考虑是否迁移到专用格式。不要开头就奔着“标准化”去搞一套重量级注册体系等 Skill 数量超过三十个再规划也不迟。4.4 选型要同时看三个变量我最后总结出来的选型逻辑是三个变量能力的复杂度、复用的范围、团队对审计的要求。能力复杂度高多步骤、有分支、有状态选目录包。复用范围广多个 Agent 都调选标准化的 Skill 包别和单个宿主强绑定。审计要求强需要可以追溯谁在何时调用了什么选平台专用注册方式。这三个变量不是并列的而是递进关系先说清楚能力本身再谈复用范围最后再决定审计方案。顺序反了很容易出现“为了上平台而设计 Skill”的怪圈——能力还没想清楚先被框架格式绑死了。5. 我在落地 Agent Skills 时踩过的那几个坑好的概念讲起来都很顺落地的时候全是细节。我在这里把真正踩过的坑摊开讲每一坑背后都对应一次线上事故或者一次返工你不一定全遇到但遇到了能少走好几天的弯路。5.1 描述写得像广告词模型反而视而不见第一个坑就是描述过度包装。我一开始做 Skill 描述的时候总觉得写得越详细、越华丽模型就越容易理解于是把“用户如果对文件格式不满意我们可以帮他清洗成规整表格”这种话写进了描述。结果非常讽刺模型真把它当成“如果字眼里出现‘规划’就触发”的歧义源误调用率反而提高了。后来我才明白一个关键点模型在意图匹配阶段不是在做阅读理解而是在做“候选排序”。描述里头的信息熵太高真正的触发特征反而被淹没了。我后来的写法是把触发条件放到最前面说清楚边界再用一个负例说明不要触发。比如当用户明确提到“清理重复行”“删除重复项”“去重CSV”时使用。 不要仅因为表格存在其他格式问题而主动调用。这种写法实测效果比长篇大论好很多因为模型终于知道哪些信号是“强触发词”哪些是“干扰项”。5.2 技能之间互相抢占上下文出现“伪重叠”第二个坑来自 Skill 之间的边界不清晰。我曾经同时注册了两个 Skill一个叫“给文件排序”另一个叫“合并表格”。结果用户说“帮我把这两个表格按日期排一下再合并”系统同时调用了两个 Skill两个模块各自跑了半截最后给出的结果非常诡异。表面上看是模型选错了往深里看是这两个 Skill 的描述边界有重叠“排序”可以操作表格“合并”也可能需要排序。解决方案不是增加更多描述预防而是重新界定能力粒度把“表格排序并合并”做成一个独立 Skill或者让“合并表格”这个 Skill 显式说明“如果你还需要排序请先调用排序技能再调用我”。这本质上是模块依赖管理和写微服务时处理服务边界是一个道理。5.3 权限和安全边界没写清楚差点出大问题第三个坑最要命。我的某个 Skill 里有一段逻辑可以根据传入的路径读取文件然后执行一个很复杂的清理脚本。测试环境一直没问题但后来在线上演示时用户故意传了一个特殊构造的路径脚本试图读取系统目录下的配置文件。幸亏当时文件系统权限收得比较紧没有真读出敏感内容但那一下把我吓出一身冷汗。问题不在脚本本身而在于 Skill 的声明里没有声明“哪些路径是允许访问的”。任何 Skill 只要是处理文件的就必须在内部做路径白名单校验不能相信来自模型或用户的参数。我给自己的团队成员定了三条铁律所有涉及文件或外部资源的 Skill必须在入口处做路径归一化和白名单检查。所有可以触发网络请求的 Skill必须限制目标域名列表。所有可以写数据的 Skill必须默认走“先预览后提交”模式。这三条现在写进了我的团队规范不是靠模型自觉而是靠 Skill 自身的执行层去强制校验。5.4 只测一两个 happy path 就上线风险极大最后一个坑是关于评测的。很多团队测试 Skill 的方式就是找两个正常用例跑一跑发现“看起来还行”就上线。我也干过这事直到一个线上用户发来一份包含合并单元格、隐藏行、日期格式混乱的表格清理脚本直接返回了一个看似正常、实则丢数据的文件。如果没有人眼核对错误数据就被当成真相发给客户了。打那以后我养成了一个习惯每个 Skill 上线前必须准备一份“脏数据测试集”。不是测正常流程而是专门测表格里有空白、有乱码、有超大文件、有空列表、有恶意路径的情况。Skill 能不能给出合理错误提示不重要重要的是不能静默返回一个错误结果。这里可以用最简单的方法来降低风险在 Skill 返回结果前加一道“人理解校验”把关键结果字段抽取出来做一个“确认摘要”让 Agent 在回答用户前先描述自己做了什么。这个摘要不是为了给用户看而是为了让关键信息对用户可见减少黑箱输出的概率。6. 从一个 Skill 开始我建议的完整上手路径最后这部分是给正准备动手搞 Agent Skills 的人一点具体建议。别一上来就想着建平台、设计 Schema、做注册中心我见的多数项目都是被这种“大而全”的规划拖垮的。正确路径是从一个最小的能力开始先跑通再横向扩展。6.1 用“三个一”标准挑出第一个 Skill挑第一个练手 Skill 的时候我推荐“三个一”标准一个明确输入、一个明确输出、一个独立场景。不要贪多不要挑那些要联动多个数据源的场景。比如你现在每天要做的一件事是把会议录音转成文字摘要这是一个很好的首练场景输入是一段录音或文字记录输出是一段结构化摘要使用场景也非常独立。你要是选“管理用户全生命周期”这种东西当第一个 Skill那基本等于自杀式练手因为边界根本切不开你会被各种交叉依赖拖死。6.2 编写顺序建议先写描述再写实现我习惯先写描述再写执行代码。因为这个顺序能倒逼你把边界想清楚如果你连“什么情况下触发这个 Skill”都写不清那代码写出来大概率也是乱摊子。只提一个实操细节描述文档写完先拿给同事看不要看实现只看描述问他们一个问题“你根据这段描述能判断什么时候应该调用这个 Skill 吗”如果同事答案模棱两可那模型也不可能判断对。这是成本最低的验收方式比任何测试框架都高效。6.3 接通 Agent 主循环时牢记三个“显式”把 Skill 接入 Agent 主循环时有三个信息必须显式暴露给主循环预期耗时模型要决定是同步等还是异步轮询。副作用说明会不会写库会不会发消息这影响模型在调用前的谨慎程度。失败模式哪些情况会返回错误错误码有哪些这影响模型在卡住时怎么补救。早期我没把失败模式写清楚模型遇到 Skill 报错时只会说“抱歉出错了”完全没有下一步动作。后来我把常见错误码都列在描述层模型开始能根据错误码提示用户“文件路径不存在请重新上传”体验完全是两个档次。6.4 渐进式扩展的节奏从单体到 Skill 的拆分信号最后说说扩充的时机。你的第一个 Skill 可能是一大坨逻辑只要能跑通就不用急着拆。等出现下面三个信号中的任何一个再考虑拆分成更小的 Skill跨场景复用了同段逻辑不同团队想独立迭代某个子模块上下文或超时费用已经大到不可忽略。曾经有人问我是不是一开始就该把所有工具都拆成很细的 Skill我说不要。Modularity is a technique不是一个目标。拆得太细Agent 要在十几个候选之间做选择上下文依然会被大量目录描述占满效果反而更差。合理的拆分时机永远是“当前的粒度开始阻碍扩展”的时候而不是“听起来更优雅”的时候。在我自己手上这个“模拟项目X”里最初一个大的“报表助手”被拆成了三个 Skill“报表清洗”“报表生成”“报表分发”。每一次拆分都是因为出现了明确的独立使用场景而不是因为想“做得更规范”。这个节奏走下来技能库看起来简洁维护成本也低Agent 选择时也不会眼花缭乱。回到开头的问题Agent Skills 到底是什么它是一套能力组织的思路也是一个工程化的封装手段。你可以从今天手头正在做的重复性工作里挑一个用描述先行的方式写出来也许一个上午就发现Agent 干活的方式和以前不太一样了。
RELATED

相关推荐

API安全纵深防御体系:从鉴权到监控的完整落地方案

API安全纵深防御体系:从鉴权到监控的完整落地方案

1. 为什么“开放接口”远远不够:API安全的真实威胁面“接口开放”这四个字,经常被简单理解成“把服务暴露出去,配上个Token验证就完事了”。我见过不少团队,花了大力气设计内部系统,最后对外开放接口时,核心…

📅 2026/10/22 16:28:15
Oracle期末复习大纲:SQL、PL/SQL与体系结构考点全解析

Oracle期末复习大纲:SQL、PL/SQL与体系结构考点全解析

期末季最让人头疼的,就是 Oracle 这种课,内容又多又杂,光体系结构就能讲一节课,SQL 和 PL/SQL 还各有各的坑。这门课我啃了两周,把课件、实验手册和历年题过了一遍,整理出一份可以直接照着用的复习大纲。它…

📅 2026/10/22 16:28:15
多Agent系统面试怎么答?四种经典架构与选型逻辑全解析

多Agent系统面试怎么答?四种经典架构与选型逻辑全解析

1. 面试官到底想听什么:多 Agent 系统的考察逻辑面多 Agent 岗位的时候,很多人一上来就背“Agent 等于 LLM 加记忆加工具加规划”,背完面试官面无表情,然后追问一句“那你做过哪套架构”,场面就冷了。问题不在于概念背…

📅 2026/10/22 16:28:15
MORE NEWS

更多资讯

📰

从 20 个图标到 5 个:Ice 菜单栏管理新手完整指南

从 20 个图标到 5 个:Ice 菜单栏管理新手完整指南 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 菜单栏堆了二十几个图标,蓝牙和 Wi-Fi 还被刘海挡掉一半——这是很多 MacBo…

📰

AI小说创作神器

一、项目概况91Writing 是一个面向小说创作场景的开源工具,核心目标是将大模型能力嵌入到小说的大纲、章节、人物、世界观等创作环节中。项目明确声明为纯前端实现(主分支),所有业务数据保存在浏览器本地,不提供云同步…

📰

一文读懂Llama-3.2-1B_rai_1.8.0_npu_4K文件结构:从model.onnx到40多个dd_metastate文件全解析

【免费下载链接】Llama-3.2-1B_rai_1.8.0_npu_4K 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Llama-3.2-1B_rai_1.8.0_npu_4K 点击查看 免费下载 如果你刚下载了 Llama-3.2-1B_rai_1.8.0_npu_4K 这个模型仓库,第一次打开目录时可能会有点懵&…

📰

gvim快捷键声明wire和reg

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

如何免费听遍全网歌曲:LX Music 五音源聚合搜索、批量下载与定制播放完整教程

如何免费听遍全网歌曲:LX Music 五音源聚合搜索、批量下载与定制播放完整教程 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop LX Music 是基于 Electron 与 Vue 3 的开…

📰

搭建机器人仿真资产库:V2D Challenge的GLB纹理网格与URDF文件完整使用指南

【免费下载链接】video_to_data_challenge 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/video_to_data_challenge 点击查看 免费下载 V2D Challenge(Video to Data Challenge)是 NVIDIA 推出的机器人操作基准数据集,内置…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬