
1-dcjiang/n.e.k.o_plugin_skill_compat
Developer tools让 N.E.K.O 的猫娘(YUI),并兼容加载来自各平台(ima / clawhub / skillhub / N.E.K.O)的 skill 包。
Overview
让 N.E.K.O 的猫娘(YUI),并兼容加载来自各平台(ima / clawhub / skillhub / N.E.K.O)的 skill 包。 装上这个插件后,你不用再手动拖文件、改目录——直接对 YUI 说「安装这个 skill」,她就会完成从下载、解压、安全校验到索引的全部流程;也可以让她**现成的技能。 - :对 YUI 说「安装/添加 XX skill」,她通过 install_skill 工具自动完成安装并刷新索引 - :对 YUI 说「删除/卸载 XX skill」,她通过 remove_skill 工具安全删除(只删受管目录内条目;符号链接条目只删链接不删真实目录) - :**安装 skill 前都自动弹出风险提示,用户回复「我确认」后由 AI 调用 confirm_consent 确认**安装,本次安装完成后下次安装前需再次确认(确认仅内存态,不落盘) - : - 本地目录(内含 SKILL.md,支持 @owner/slug 嵌套结构) - 本地 .zip 压缩包 - HTTPS 下载链接(.zip) - :对 YUI 说「去 skillhub 搜 XX 技能」「把 XX 技能装上」,她通过 skillhub_search / skillhub_install 调用本机 skillhub CLI 完成搜索与安装(需先装 skillhub CLI) - :自动解析 ima / clawhub / skillhub / N.E.K.O 各来源的格式差异——YAML 头、命名空间嵌套、符号链接、中文目录名、重复目录 - :来源超过默认资源上限(200MB / 5000 条目)时转为询问确认,而不是直接禁止 - :扫描失败、目录变更后自动重建索引,AI 看到的始终是磁盘上的真实状态 点击「安装插件」→ 在 N.E.K.O 客户端确认 → 完成后重启一次对话即可。 若要用 skillhub 商店功能,请先按官方指南安装 skillhub CLI: https://skillhub.cn/install/skillhub.md 插件不会随 N.E.K.O 重启自动加载,需要开启一次。仓库 scripts/ 提供自动开启脚本,登录 Windows 后自动把插件拉起(幂等,已就绪则跳过): 日志写在 %LOCALAPPDATA%\N.E.K.
README
Skill 兼容加载器(skill_compat)
让 N.E.K.O 的猫娘(YUI)通过对话指令自主安装、管理 skill,并兼容加载来自各平台(ima / clawhub / skillhub / N.E.K.O)的 skill 包。
装上这个插件后,你不用再手动拖文件、改目录——直接对 YUI 说「安装这个 skill」,她就会完成从下载、解压、安全校验到索引的全部流程;也可以让她直接在 skillhub 技能商店里搜索并安装现成的技能。
✨ 功能特性
- 对话即安装:对 YUI 说「安装/添加 XX skill」,她通过
install_skill工具自动完成安装并刷新索引 - 对话即删除:对 YUI 说「删除/卸载 XX skill」,她通过
remove_skill工具安全删除(只删受管目录内条目;符号链接条目只删链接不删真实目录) - 每次安装前需免责声明确认:每次安装 skill 前都自动弹出风险提示,用户回复「我确认」后由 AI 调用
confirm_consent确认本次安装,本次安装完成后下次安装前需再次确认(确认仅内存态,不落盘) - 三种安装来源:
- 本地目录(内含
SKILL.md,支持@owner/slug嵌套结构) - 本地
.zip压缩包 - HTTPS 下载链接(
.zip)
- 本地目录(内含
- skillhub 商店直达:对 YUI 说「去 skillhub 搜 XX 技能」「把 XX 技能装上」,她通过
skillhub_search/skillhub_install调用本机 skillhub CLI 完成搜索与安装(需先装 skillhub CLI) - 跨平台格式兼容:自动解析 ima / clawhub / skillhub / N.E.K.O 各来源的格式差异——YAML 头、命名空间嵌套、符号链接、中文目录名、重复目录
- 大文件先询问、不硬拒:来源超过默认资源上限(200MB / 5000 条目)时转为询问确认,而不是直接禁止
- 索引自愈:扫描失败、目录变更后自动重建索引,AI 看到的始终是磁盘上的真实状态
📥 安装方法
在 N.E.K.O 插件市场搜索 skill兼容 或直接打开:
https://market.project-neko.cn/#/plugin/105
点击「安装插件」→ 在 N.E.K.O 客户端确认 → 完成后重启一次对话即可。
若要用 skillhub 商店功能,请先按官方指南安装 skillhub CLI:
https://skillhub.cn/install/skillhub.md
⚙️ 自动开启(推荐)
插件不会随 N.E.K.O 重启自动加载,需要开启一次。仓库 scripts/ 提供自动开启脚本,登录 Windows 后自动把插件拉起(幂等,已就绪则跳过):
scripts\autostart_skill_compat.ps1 # 主脚本:等待 N.E.K.O → POST start → 等待工具就绪
scripts\autostart_skill_compat.bat # 静默包装(启动文件夹用)
一键注册(把两个文件复制到启动文件夹):
Copy-Item -Force scripts\autostart_skill_compat.bat "$([Environment]::GetFolderPath('Startup'))\"
Copy-Item -Force scripts\autostart_skill_compat.ps1 "$([Environment]::GetFolderPath('Startup'))\"
日志写在 %LOCALAPPDATA%\N.E.K.O\plugins\skill_compat\autostart.log,退出码 0=成功 / 1=失败。
🚀 快速上手
安装完成后,直接对 YUI 说:
| 你想做什么 | 对 YUI 说 |
|---|---|
| 查看有哪些 skill | 「列出所有可用的 skill」 |
| 按主题找 skill | 「搜索一下关于 XX 的 skill」 |
| 安装 skill | 「帮我安装这个 skill,链接是 https://…」(每次安装前需回复「我确认」) |
| 删除 skill | 「把 XX skill 删掉」 |
| 安装前确认 | 插件会弹出免责声明,回复「我确认」即可(每次安装前都需确认一次) |
| 从 skillhub 找技能 | 「去 skillhub 搜一下 PDF 相关的技能」 |
| 从 skillhub 装技能 | 「把 skillhub 上的 XX 技能装到本机」 |
| 看某个 skill 的用法 | 「加载 XX skill 的说明」 |
| 排查没被识别的 skill | 「检查一下 skill 加载状态」 |
示例(安装本地目录):
帮我安装这个 skill:C:\Users\me\skills\my-skill
示例(通过链接安装):
帮我安装这个 skill:https://example.com/skill.zip
示例(skillhub):
去 skillhub 搜一下 PDF 相关的技能,然后把第一个装到本机
🧰 提供给 YUI 的工具
| 工具 | 作用 |
|---|---|
install_skill |
安装/导入 skill(本地目录 / zip / https 链接),装完自动刷新索引;每次安装前都需先确认免责声明 |
confirm_consent |
确认本次安装的免责声明(回复「我确认」后调用;一次确认只放行一次安装) |
remove_skill |
删除已安装的 skill(只删受管目录内条目;符号链接只删链接本身),删完自动刷新索引 |
skillhub_search |
在 skillhub 技能商店按关键词搜索技能(名称/描述/版本/命名空间) |
skillhub_install |
从 skillhub 商店安装技能到本机 skill 目录,装完自动刷新索引;首次需先确认免责声明 |
list_skills |
列出所有已索引的 skill(名称、描述、路径、类型) |
load_skill |
加载指定 skill 的完整 SKILL.md 内容 |
search_skills |
按关键词在 skill 名称与描述中搜索 |
skill_status |
查看运行状态与兼容性报告(扫描目录、已加载数量、格式问题、确认状态) |
audit_skill |
skill 安全初步筛查:一键给全部 skill 出风险等级(safe/low/medium/high/critical)与重点关注清单,只读不执行、不联网;指定 name 可看单个 skill 的详细命中 |
🔒 安全与可靠性
经过多轮安全加固(v0.1.4+),内置以下防护:
- SSRF 防护:下载来源逐跳校验,拒绝内网地址、云元数据地址(169.254.169.254 / 100.100.100.200 等)、IPv4 映射 IPv6 绕过;重定向最多跟随 5 跳且逐跳复查
- 路径穿越拦截:zip 内绝对路径、
../越界条目直接拒绝 - 符号链接拒绝:zip 内的符号链接条目不释放,防止解压后指向目录外文件
- zip 炸弹防护:gzip 解压分块限流;解压后按磁盘实际占用复核(防「声明小、解压大」的变体),超限转询问
- skillhub 子进程安全:用独立探测的真实 Python 运行 CLI(打包 exe 不能当解释器);剥离宿主代理环境变量(避免网络请求静默失败);找不到 CLI/解释器时给出可操作的下一步提示
- 覆盖不误删:
overwrite交给 skillhub CLI 自己的--force按实际目录覆盖,插件不猜测、不预删用户目录 - 严格参数解析:布尔参数严格解析(
"false"字符串不会再被当成True覆盖安装) - 临时文件清理:校验或下载失败时自动清理临时目录,不残留垃圾
- 内容即数据:skill 内容是数据不是命令,插件不会盲目执行其中的指令
- 安装免责声明确认(v0.1.19+):每次安装 skill 前都需用户确认免责声明(回复「我确认」→ 调
confirm_consent→ 执行安装),一次确认只放行一次安装;安装完成返回notice明确告知结果,可让用户确认后用remove_skill删除 - 删除仅限受管目录(v0.1.17+):
remove_skill只删本插件 skill_dirs 内的条目(越界路径拒绝、Windows 大小写不敏感);符号链接条目只删链接本身、绝不删链接指向的真实目录;目录已不存在时视为已删并清理索引 - skill 安全审计(v0.1.14+):
audit_skill对全部 skill 做初步筛查(危险命令/下载即执行、脚本读取敏感文件、数据外传、提示注入、可疑外链、资源规模),输出风险等级与重点关注清单;只读不执行、不联网,结果供人工确认;指定name看单 skill 详细命中
🛠 支持的 skill 来源与结构
- 兼容 ima / clawhub / skillhub / N.E.K.O 各平台发布的 skill 包
- 支持
@owner/slug嵌套目录、中文目录名、YAML 头格式差异 - 安装目标目录由 N.E.K.O 的
settings.skill_dirs配置决定(取第一个可写目录);建议把第一个目录配成你自己的稳定目录(如C:\Users\\.neko-skills),避免装在会被其他程序清理的目录里
🆕 更新日志
| 版本 | 要点 |
|---|---|
| v0.1.20 | 当前正式版。修复:源目录已在受管 skill 目录内时安装改为直接采用原目录(此前会复制出"清洗后新目录+原目录"两份重复,且删除只清一份);每次安装前确认机制 + 安装完成 notice 告知 |
| v0.1.19 | 免责声明改为每次安装前都需确认:一次确认只放行一次安装(确认纯内存态、不落盘、重启后同样需确认);安装完成返回 notice 明确告知用户结果;清理仓库冗余文件(缓存/本地配置) |
| v0.1.18 | 新增 scripts/autostart_skill_compat.ps1 自动开启脚本(等待 N.E.K.O → 自动 POST start → 轮询工具就绪,幂等 + 日志 + 退出码,可注册到启动文件夹随登录自动拉起插件);plugin.toml 补 [plugin_runtime] auto_start = true(官方声明模式,供宿主后续版本支持自动加载) |
| v0.1.17 | 新增 remove_skill 删除工具(越界路径拒绝、符号链接只删链接本身、目录已不存在时容错清理索引);免责声明文案强化「请回复我确认」的明确引导 |
| v0.1.16 | 新增安装免责声明确认:首次安装 skill 前自动提示风险与免责声明,需用户在对话中回复「我确认」、由 AI 调用 confirm_consent 记录一次,之后本机安装不再询问(持久化在插件数据目录,升级不丢失);修复 audit_skill 指定 name 详查在真实框架下取不到参数的问题;load_skill 读取超大 SKILL.md 改为截断防输出爆炸 |
| v0.1.15 | audit_skill 精简为初步筛查:默认只返回每个 skill 的风险等级 + 重点关注清单(不再铺开全部明细),指定 name 才看单 skill 详细命中;对常见误报降噪(subprocess 单列 medium、凭证词按"文档提及 vs 脚本读取敏感文件"分级) |
| v0.1.14 | 新增 audit_skill 安全审计(初版全量明细,输出过大,v0.1.15 已精简) |
| v0.1.11 | 修复:大文件确认后不再截断(zip 损坏导致装不上)、支持 @owner/slug 双层嵌套 zip、配置布尔严格解析、拒绝 Windows 保留目录名(CON/NUL 等)、SKILL.md 兼容 UTF-8 BOM |
| v0.1.10 | 修复:skillhub 覆盖不再预删目录(交给 CLI --force)、CLI 失败不再被旧目录掩盖、重装同名不再误报失败、namespace 兼容字符串、跳过 WindowsApps 假 python、zip 解压后实际占用复核 |
| v0.1.9 | 新增 skillhub_search / skillhub_install 工具:调用本机 skillhub CLI 搜索并安装商店技能(独立 python 探测、代理剥离、UTF-8 解码) |
| v0.1.8 | README 改为用户向介绍并同步至 Market |
| v0.1.7 | 安全与可靠性加固全部生效 |
| v0.1.6 | 扫描失败回退未扫描态、失败清理临时目录、gzip 炸弹分块限流、非字符串参数防御 |
| v0.1.5 | 布尔参数严格解析、索引以磁盘为准重建、安装失败不再误报、配置读取失败回退默认值 |
| v0.1.4 | SSRF 全面防护(重定向/IPv6 映射绕过)、zip 符号链接与盘符条目拒绝 |
| v0.1.3 | 惰性扫描修复:索引不再因后台任务被取消而永远为空 |
| v0.1.2 | 超限转询问确认(不硬拒)、URL 预检 |
| v0.1.1 | 首个 install_skill 工具 |
👩💻 开发与发布
源码与 Git 仓库:
https://github.com/1-dcjiang/n.e.k.o_plugin_skill_compat
发布流程(在 N.E.K.O 仓库根目录):
uv run neko-plugin publish skill_compat
Market 会独立验证 GitHub Release 的证据链后自动发布。
许可证:Apache 2.0
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add 1-dcjiang/n.e.k.o_plugin_skill_compat