zjunlp/SkillNet

Create, Evaluate, and Connect AI Skills

SkillNet – 可复用 AI 代理技能基础设施

它是什么 – SkillNet 是一个开源平台,让您能够发现、安装、创建、评估、分析和路由 技能 – 自包含的代码片段(通常是一个包含 SKILL.md 描述的文件夹),AI 代理可以调用这些代码来执行特定功能(例如,“从 PDF 中提取表格”、“检查 CSV 质量”、“运行 scRNA-seq 分析”)。

为什么重要 – 现代基于 LLM 的代理在能够插入专门工具而不是试图在提示中完成所有事情时更有用。SkillNet 为这些工具提供了统一的生命周期,一个包含 50 万多个托管在 GitHub 上的技能的公共目录,以及一个 Python SDK/CLI,代理可以使用它来自动获取和组合这些技能。


核心组件

组件 功能
Web 目录 在 skillnet.openkg.cn 浏览和搜索公共技能库(关键词或向量搜索)。显示描述、安全/可维护性评分、星标和下载链接。
Python SDK (skillnet‑ai) 编程客户端 (SkillNetClient),暴露六种操作:search、download、create、evaluate、analyze、route。
本地 UI 一个轻量级浏览器 (skillnet ui),可视化您自己的技能文件夹、分析图和关系证据,无需 Node.js。
SkillNet‑Gym 用于技能构建、检索和组合的基准测试套件(在论文中提及)。
SkillNet‑Fabric 类似 Wiki 的路由系统,为给定任务构建技能知识图谱。
MCP 服务器 一个包装器,将 CLI 作为工具服务暴露给遵循 SkillNet 模型上下文协议的代理。

快速开始(安装和基本使用)

# 安装核心 SDK(需要 Python 3.10+)
pip install "skillnet-ai[ui]"   # UI 可选,添加本地浏览器

# 初始化客户端(读取环境变量以获取 API 密钥)
python - <<'PY'
from skillnet_ai import SkillNetClient
client = SkillNetClient()

# 1️⃣ 搜索公共目录(向量模式,高相似度)
results = client.search(q="extract tables from pdf", mode="vector", threshold=0.85, limit=5)
for s in results:
    print(s.skill_name, s.stars, s.skill_url)

# 2️⃣ 下载技能到您的工作区
path = client.download(url="https://github.com/anthropics/skills/tree/main/skills/pdf", target_dir="./my_skills")
print("downloaded to", path)

# 3️⃣ 评估下载的技能(安全性、完整性等)
report = client.evaluate(path)
print(report)

# 4️⃣ 分析包含多个技能的文件夹 – 构建场景图和索引
analysis = client.analyze("./my_skills", output_dir="./skillnet_index")
print("graph stored in", analysis.index_dir)

# 5️⃣ 将用户请求路由到最匹配的技能
route = client.route(
    "Extract tables from my PDF report and validate the CSV for missing values",
    index_dir="./skillnet_index",
    k=3,
)
for sel in route.skills:
    print(sel.skill_id, sel.name, sel.reason)
PY

主要特性(通俗易懂)

  • 统一生命周期 – 一个工具涵盖从发现到执行路由的整个过程。
  • 语义搜索 – 同时支持经典的 BM25 关键词搜索和基于嵌入的向量搜索。
  • 自动技能生成 – create 可以从自然语言提示、仓库、文档或执行轨迹中合成新技能。
  • 安全与质量评估 – 自动对五个维度(安全性、完整性、可执行性、可维护性、成本)进行评分。
  • 基于图的分析 – 提取 compose_with(一个技能的输出作为另一个技能的输入)和 similar_to 关系,并存储为可复用的索引。
  • 混合路由 – 结合向量相似性、图扩展和 LLM(Claude 或 Codex),该 LLM 读取任务特定的 Wiki 来选择最合适的技能,并为每个选择提供人类可读的理由。
  • 本地 UI – 通过简单的网页 (http://127.0.0.1:8765) 浏览技能文件夹、查看分析图并跟踪证据到源代码行。
  • 代理集成 – 一个现成的“SkillNet”技能可以添加到 OpenClaw、JiuwenClaw 或任何兼容 MCP 的系统中。

配置基础

变量 用途
API_KEY OpenAI 兼容的聊天端点密钥(由 create、evaluate、analyze 使用)。
BASE_URL 聊天补全端点(默认 https://api.openai.com/v1)。
SKILLNET_MODEL 用于生成/评估的模型(默认 gpt-4o)。
GITHUB_TOKEN 可选令牌,用于私有仓库或更高的速率限制。
EMBEDDING_* 嵌入的端点和模型(analyze 和 route 需要)。
SKILLNET_EXPLORER_BACKEND 路由器使用的 LLM(Claude 或 Codex)。
SKILLNET_API_URL 公共搜索服务(默认 http://api-skillnet.openkg.cn)。

在调用 SDK/CLI 之前,在 shell 中或通过 .env 文件设置它们。


生态系统与社区

  • Web 目录 – skillnet.openkg.cn(搜索、精选集合、SkillNet‑Gym/Fabric 演示)。
  • MCP 服务器 – skillnet-mcp 仓库(为遵循 SkillNet 模型上下文协议的代理包装 CLI)。
  • 集成 – OpenClaw、JiuwenClaw 和其他代理框架可以加载内置的 SkillNet 技能。
  • 基准测试 – 在 experiments/ 下提供了 ALFWorld、WebShop、ScienceWorld 的复现脚本。
  • 论文与引用 – arXiv:2603.04448 (2026) 描述了方法论;提供了引用。

获取帮助

  • CLI 帮助 – skillnet <command> --help(或 python -m skillnet_ai)。
  • 诊断命令 – skillnet doctor --json 检查您的环境和必需的密钥。
  • 交互式配置 – skillnet configure --interactive 写入本地配置文件。
  • GitHub 问题 – 使用仓库的问题跟踪器报告错误或功能请求。

许可证

核心代码采用 MIT 许可证;各个技能保留其原始许可证。


简而言之: SkillNet 是一个全栈、开源的解决方案,用于构建可复用 AI 代理技能库、评估其质量,并自动将正确的技能路由到用户请求。它通过公共 Web 目录、Python SDK/CLI 和可选的 UI 工作,使其易于集成到任何基于 LLM 的代理系统中。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目