☰
编写你的第一个nexu技能:SKILL.md规范、技能目录机制与热加载原理
2026/9/26 12:05:10 网站建设 项目流程

编写你的第一个nexu技能:SKILL.md规范、技能目录机制与热加载原理

【免费下载链接】nexuThe simplest desktop client for OpenClaw 🦞 — bridge your Agent to WeChat, Feishu, Slack & Discord in one click. Works with Claude Code, Codex & any LLM. BYOK, Oauth, local-first, chat from your phone 24/7.项目地址: https://gitcode.com/gh_mirrors/ne/nexu

nexu 是 OpenClaw 最简洁的桌面客户端,把你的 Agent 一键桥接到微信、飞书、Slack 与 Discord。而nexu 技能(Skill)是它最核心的扩展机制——你只需要写一个SKILL.md文件,就能给 Agent 加上联网搜索、文档生成、多维表格操作等全新能力,且支持热加载,保存即生效、无需重启。本文将带你完整走通:从 SKILL.md 规范、技能目录机制,到热加载原理。

1. 什么是 nexu 技能:Agent 的能力扩展卡

技能本质上是一个文件夹 + 一份说明书:文件夹里放一份SKILL.md,里面告诉 Agent「这是什么能力、什么时候用、具体怎么干」。Agent 会自动扫描目录、读懂说明书,并在对话中按需调用——你不需要写一行代码。

在左侧导航栏点击Skills即可进入技能中心,浏览 Explore(可安装的公共技能)与 Yours(已安装技能):

官方技能仓库位于 nexu-skills/skills/,共 8 个开箱即用的飞书技能(多维表格、日历、文档读写等),完整清单见 nexu-skills/skills.json。每个技能的目录结构都非常轻:

feishu-im-read/ └── SKILL.md # 唯一必需文件:frontmatter 元信息 + 使用指南正文

复杂技能可以附带references/子目录存放参考文档,例如 feishu-bitable 就拆出了字段配置、记录值格式等参考文件,由 SKILL.md 正文按指引引用。

2. SKILL.md 规范:一次读懂 frontmatter 六大字段

SKILL.md 由两部分组成:YAML frontmatter(元信息)+Markdown 正文(执行指南)。以官方技能 feishu-im-read/SKILL.md 为例:

--- name: feishu-im-read description: | 飞书 IM 消息读取工具使用指南…… (1) 需要获取群聊或单聊的历史消息 (2) 用户提到"聊天记录"、"消息"、"群里说了什么" tag: office-collab icon: MessageSquare source: official prompt: Help me read Feishu chat messages examples: - 帮我查看群里今天的聊天记录 requires: plugins: - "@larksuite/openclaw-lark" ---

各字段的作用一句话讲清:

字段作用新手要点
name技能唯一标识(slug)必须与目录名一致,用短横线小写英文
description技能路由的核心写清「什么情况下触发」,Agent 靠它判断是否调用你的技能
tag分类标签如office-collab、file-knowledge,影响市场分类展示
icon卡片图标lucide 图标名,如MessageSquare
prompt默认唤起提示词用户点开技能时预填的指令
examples触发示例短语3 条左右、口语化,直接决定技能「好不好被选中」
requires.plugins依赖的 MCP 插件声明后系统会检查依赖是否就绪

正文则是 Agent 执行时的操作手册,建议按官方技能的套路组织(参考 feishu-im-read/SKILL.md):

  1. 执行前必读:权限边界、参数互斥等硬性约束
  2. 快速索引表:用户意图 → 工具 → 必填参数,让 Agent 少走弯路
  3. 核心约束:分页、时间范围、错误排查等「Schema 未透露的知识」
  4. 场景示例:常见场景给出可直接套用的参数

💡 经验法则:description+examples决定技能能不能被触发,正文质量决定技能执行得好不好。

3. 编写第一个自定义技能:最快配置方法

第一步:建目录、写 SKILL.md。在工作区的agents/<botId>/skills/下新建目录,例如my-first-skill/SKILL.md,按第 2 节规范填写即可。最小可用示例只有 frontmatter 加一小段正文。

第二步:放到正确的技能目录。nexu 支持三个可写层级,优先级从高到低(同名时高优先级覆盖低优先级):

层级路径可见范围
代理工作区state/agents/<botId>/skills/仅该代理
用户级~/.agents/skills/所有代理
运行时级(SkillHub 安装)state/skills/所有代理
系统内置OpenClaw 自带所有代理

完整说明见架构文档 docs/plans/2026-03-28-skill-management-architecture.md。

第三步:从市场安装现成技能(更省事)。在 Explore 标签搜索关键词,点击卡片上的Install按钮:

安装完成后在Yours标签查看已安装列表,可随时用开关启用/禁用,或点Uninstall卸载:

第四步:在对话中直接用。技能生效后,直接在微信、飞书等渠道对话中描述需求,Agent 会自动选择合适的技能,例如「帮我查看群里今天的聊天记录」:

4. 技能目录机制:磁盘即真相

nexu 对技能目录的识别规则非常直观:目录扫描时,只有包含SKILL.md的子目录才算一个技能,目录名即技能 slug。核心扫描逻辑在 skill-dir-watcher.ts 的scanDirSlugs:

readdirSync(skillsDir) → 过滤出存在 SKILL.md 的条目 → 得到技能 slug 列表

在此基础上,控制器维护一份技能账本(skill-ledger.json),记录每个技能的安装来源(managed / custom / user / workspace)、时间与启用状态。账本与磁盘之间持续双向对账:

  • 磁盘上有、账本没有 → 补记为「已安装」(覆盖你手动放入目录的技能)
  • 账本有、磁盘没有 → 标记为「已卸载」(保留安装历史)

对账入口是 SkillDirWatcher.syncNow(),应用启动时执行一次,保证升级、重装后状态不丢失。

5. 热加载原理:为什么保存即生效?

这是 nexu 技能机制最优雅的部分——三层监听 + 防抖 + 配置重写,全程零重启:

  1. 文件监听:SkillDirWatcher.start() 对共享技能目录、用户目录、各代理工作区目录分别建立递归fs.watch,捕获任意层级的新增/删除。
  2. 防抖合并:事件先经 scheduleSync() 做500ms 防抖,避免编辑器批量写文件时反复触发。
  3. 对账 + 配置重写:防抖结束后执行syncNow()更新账本,onChange回调触发 config 编译器重写 OpenClaw 配置(技能 allowlist),OpenClaw 侧同样开启了watch: true的混合热重载,约 2 秒内新技能即可被 Agent 识别。

一句话总结数据流:你放文件 → watch 事件 → 防抖 → 磁盘↔账本对账 → 配置重写 → Agent 加载新技能。所以答案是:安装、导入、手动放入目录的 nexu 技能,都无需重启 Agent。

常见问题速查

Q:改了 SKILL.md 不生效?确认文件里是完整的 frontmatter(---闭合),且目录名与name字段一致;等 2 秒左右,或观察 Yours 列表是否出现该技能。

Q:同名技能冲突怎么办?工作区 > 用户级 > 运行时级 > 系统内置,高优先级覆盖低优先级,删掉高优先级副本即可回退。

Q:官方新手教程在哪?见 docs/zh/guide/skills.md 技能安装指南,以及技能服务源码目录 apps/controller/src/services/skillhub/。

掌握 SKILL.md 规范后,编写你的第一个 nexu 技能只需 10 分钟:建目录、写 frontmatter、丢进技能目录——剩下的交给热加载。🦞

【免费下载链接】nexuThe simplest desktop client for OpenClaw 🦞 — bridge your Agent to WeChat, Feishu, Slack & Discord in one click. Works with Claude Code, Codex & any LLM. BYOK, Oauth, local-first, chat from your phone 24/7.项目地址: https://gitcode.com/gh_mirrors/ne/nexu

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询