Skip to content

NoDeskAI/skill-keeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkillKeeper — 技能管家

先验货,再冒险。把链接交给 Keeper,帮你读懂它、核查安全、适配到你的环境。

SkillKeeper 入口页面

为什么做这个

Skill 生态正在爆发。ClawHub、GitHub、SkillHub……到处都是别人写好的技能,搜索和发现已经不是问题了。

但「找到」和「用上」之间,隔着一道沉默的深渊。

一个普通用户的典型经历是这样的:在社区看到一个很棒的 Skill,兴奋地复制链接,然后——打开发现是一堆自己看不懂的技术文件;硬着头皮装,报错了,缺 Python、缺 Chrome、缺某个依赖;花了半小时折腾环境,终于跑起来,却发现这个 Skill 根本不适合自己的场景,或者跟已有的技能功能重复。

半天就这么过去了。什么也没得到。

更安静的版本是:看了一眼 SKILL.md,没看懂,关掉标签页。用户不会告诉你「我放弃了」——他们只是消失了。 这就是沉默放弃:没有报错日志,没有 issue,没有任何信号。技能市场的下载量在涨,但真正跑通的人有多少,没人知道。

对于非技术用户来说,试错成本尤其残酷。他今天看到一个 Claude Code 上很火的 Skill,想装进 OpenClaw 用——先要搞清楚两个框架的格式差异,再装一堆从没听过的依赖,调半天环境变量,最后得到一个冷冰冰的报错,或者更糟:Skill 跑起来了,但执行了他完全不理解的命令。他甚至不知道该害怕还是该高兴。

还有一个更隐蔽的问题:技能装得越多,Agent 反而越笨。 用户不记得自己装过什么,也说不清每个技能之间的差异。两个功能相似的 Skill 躺在 workspace 里,description 写得差不多,Agent 每次调用都在猜——猜错了就走错路,猜对了也浪费了决策成本。Skill 越堆越多,上下文越来越重,Agent 的表现却在下滑。用户困惑:「我明明给了它更多工具,它怎么更蠢了?」没人告诉他,问题不是 Agent 不行,是技能之间的边界从来没有被划清过。

Skill 市场解决了「发现」,但没人管「激活」。 从找到到能用之间,有一整个空白的生态位。

SkillKeeper 就是为了填这个空白而生的——在你冒险之前,先帮你验货。读懂它是干什么的,检查它安不安全,测试它适不适合你的环境,然后一键生成一个为你量身适配的版本。不改原作者的代码,只调节它在你环境里的「表型」。

终极目标:把「贴链接」到「首次跑通」的时间,从半天压缩到两分钟。


功能演示

1. 冒险路线 — SOP 可视化

将 Skill 的执行流程拆解为步骤卡片,用像素风冒险地图呈现,每个节点标注类型(行动 / 宝箱 / 判断分支),让非技术用户也能一眼看懂整个执行链路。

冒险路线 SOP

2. 仓库结构 — 文件解读

自动拉取 Skill 的全部文件,为每个文件生成一句话说明(SKILL.md、脚本、配置文件),展示文件树和脚本数量。

仓库结构

3. Buddy 扫描 — 语义消歧

检测用户本地/云端 workspace 中已安装的 Skill,对比当前 Skill 与已有技能的功能重叠度,自动生成 description 改写建议,让 Agent 调用时不会选错。

Buddy 扫描与语义消歧

4. 技能进化 — 一键生成适配版 Skill

综合环境适配结果和 Buddy 扫描结论,自动执行:Description 语义消歧改写、DeskHub 元数据补全(slug / version / tags)、来源追溯注释 + 安全重扫验证。

技能进化

5. 兼容性评分

进化前后对比的量化评分,涵盖五个维度:镜像源适配、环境兼容、元数据完整、语义消歧、安全性,附带每条变更的详细日志。

兼容性评分与变更日志

6. 安全检测报告

双引擎安全核查:Skill Vetter 静态扫描(正则匹配危险模式)+ Anthropic 语义分析(AI 理解代码意图),输出风险等级(LOW / MEDIUM / HIGH / EXTREME)和红绿灯判定。

安全检测报告


技术架构

SkillKeeper/
├── web/                              # Next.js 14 (App Router)
│   ├── src/
│   │   ├── app/
│   │   │   ├── page.tsx              # 主页面(Hero + Tab 布局)
│   │   │   └── api/
│   │   │       ├── explain/          # Explainer + Security Guard
│   │   │       ├── env-analyze/      # 环境分析
│   │   │       ├── env-receive/      # 环境数据接收
│   │   │       ├── evolve/           # 技能进化
│   │   │       └── download-evolved/ # 进化包下载
│   │   ├── components/
│   │   │   ├── LinkInput.tsx         # 链接输入框
│   │   │   ├── ProgressSteps.tsx     # 加载动画
│   │   │   ├── SkillOverview.tsx     # 概览 + 要点
│   │   │   ├── SopFlow.tsx           # 冒险路线 SOP
│   │   │   ├── SkillFileTree.tsx     # 文件树
│   │   │   ├── EnvAdapter.tsx        # 环境适配 + Buddy + 进化
│   │   │   ├── SecurityReport.tsx    # 安全报告
│   │   │   └── FallbackResult.tsx    # 降级提示
│   │   └── lib/
│   │       ├── llm.ts               # LLM 调用封装
│   │       ├── explainer/            # Explainer Prompt + 解析
│   │       ├── security/             # Skill Vetter 静态扫描
│   │       ├── env/                  # 环境检测与分析
│   │       ├── evolve/               # 进化引擎(Prompt + 评分 + 验证)
│   │       └── fetcher/              # 多平台 Skill 拉取
│   └── public/
│       ├── keeper/                   # 像素风吉祥物素材
│       ├── map/                      # 冒险地图背景
│       └── skillkeeper-env.sh        # 环境检测脚本
├── 现状观察、产品愿景、待解决议题.md
└── 技术方案.md

核心流程:用户贴链接 → Fetcher 拉取文件 → Explainer(LLM)生成解读 + SOP → Security Guard 扫描 → 环境检测脚本采集本地环境 → Env Analyzer 分析适配动作 + Buddy 查重 → Evolve Engine 生成进化版 Skill + 评分验证

支持的输入源

平台 示例
GitHub https://github.com/openclaw/skills/tree/main/skills/...
ClawHub https://clawhub.ai/{作者}/{skill名}
通用链接 任何包含 SKILL.md 的公开仓库

快速开始

cd web
npm install
cp .env.example .env   # 配置 LLM API Key
npm run dev

访问 http://localhost:3000,粘贴 Skill 链接即可。

文档

License

Apache License 2.0

About

Skill 与用户/环境之间的中间层:贴链接即得 Skill 大白话说明、安全核查、执行流程可视化

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors