欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Pluviobyte/rnskill:雪踏乌云的 AI Agent Skills 集合——为智能体装上可插拔的“超能力”模块

2026/7/6人工智能

一个以可复用、模块化技能(Skills)为核心,为 AI Agent 提供灵活扩展能力的开源工具集。

项目背景与痛点:AI Agent 的“技能孤岛”困境

随着大语言模型(LLM)的爆发,AI Agent(智能体)的概念从学术圈快速蔓延到开发者社区。从 AutoGPT 到 BabyAGI,再到各类 LangChain 应用,人们试图让 LLM 不仅会“聊天”,更能“做事”——访问网页、操作文件、调用 API、执行代码。

然而,一个尖锐的问题随之浮现:每个 Agent 项目都在重复造轮子。

  • 你想让 Agent 能查天气,得写一段调用 OpenWeatherMap 的代码;
  • 你想让 Agent 能搜索新闻,得对接 NewsAPI;
  • 你想让 Agent 能读写本地文件,得封装文件系统操作。

这些功能本质上是“技能”(Skills),但大多数项目将它们硬编码在 Agent 主逻辑里,导致:

  1. 复用困难:换了 Agent 框架,所有技能得重写。
  2. 扩展繁琐:增加一个新技能需要修改 Agent 核心代码,容易引入 Bug。
  3. 生态封闭:社区贡献的技能难以标准化分享,每个人都在自己的孤岛上。

Pluviobyte/rnskill 正是为了解决这个痛点而生。它尝试定义一套轻量、标准化的技能接口,让开发者像安装插件一样为 Agent 添加能力,同时让技能贡献者能轻松发布和共享。

什么是 rnskill?

rnskill 的全称是“雪踏乌云的 AI Agent Skills 集合”(SnowStepCloud AI Agent Skills Collection)。它本质上是一个技能(Skills)的注册表与运行时框架,提供:

  • 一套 Skill 定义规范(基于 JSON/YAML 描述文件 + Python 实现)
  • 一个 Skill 加载器(Loader),用于动态发现和实例化技能
  • 一组 内置 Skill 示例(如网页搜索、文件读写、代码执行等)
  • 一个 CLI 工具,方便管理和测试技能

核心思想:任何 Agent 只要遵循 rnskill 的接口协议,就能无缝使用所有已注册的技能。

快速上手:5 分钟让 Agent 拥有“超能力”

安装

bash

推荐使用 pip 安装

pip install rnskill

或者从源码安装

git clone https://github.com/Pluviobyte/rnskill.git
cd rnskill
pip install -e .

基本使用:加载并调用一个技能

python
from rnskill import SkillManager

初始化技能管理器,自动扫描内置技能和用户自定义技能目录

manager = SkillManager()

列出所有可用技能

available_skills = manager.list_skills()
print("Available skills:", available_skills)

输出示例: ['web_search', 'file_read', 'file_write', 'python_execute', ...]

获取一个技能实例

search_skill = manager.get_skill("web_search")

调用技能(参数由技能定义决定)

result = search_skill.execute(query="2024年诺贝尔物理学奖")
print(result)

输出示例: {'status': 'success', 'data': '2024年诺贝尔物理学奖授予...', 'source': 'Bing'}

自定义技能:写一个“今日油价”技能

创建一个文件 skills/oil_price_skill.py:

python
from rnskill import BaseSkill
import requests

class OilPriceSkill(BaseSkill):
"""获取今日国内油价"""

# 技能元数据(必须)
metadata = {
    "name": "oil_price",
    "description": "查询指定省份的今日汽油、柴油价格",
    "version": "1.0.0",
    "parameters": {
        "province": {
            "type": "string",
            "description": "省份名称,如'广东'、'浙江'",
            "required": True
        }
    }
}

def execute(self, province: str) -> dict:
    # 这里调用真实 API(示例用 mock)
    # 实际可对接 https://www.oilpriceapi.com/ 等
    mock_prices = {
        "广东": {"92号": 7.85, "95号": 8.45, "0号柴油": 7.50},
        "浙江": {"92号": 7.80, "95号": 8.40, "0号柴油": 7.45}
    }
    if province in mock_prices:
        return {"status": "success", "data": mock_prices[province]}
    else:
        return {"status": "error", "message": f"未找到{province}的油价信息"}

然后在技能目录注册(或自动发现),Agent 就能调用:

python
manager = SkillManager(skill_dirs=["./skills"])
oil_skill = manager.get_skill("oil_price")
print(oil_skill.execute(province="广东"))

与 Agent 框架集成(示例:LangChain)

python
from langchain.agents import Tool, AgentExecutor, LLMSingleActionAgent
from langchain.llms import OpenAI
from rnskill import SkillManager

将 rnskill 技能包装为 LangChain Tool

manager = SkillManager()
tools = []
for skill_name in manager.list_skills():
skill = manager.get_skill(skill_name)
# 动态创建 Tool
tool = Tool(
name=skill.metadata["name"],
func=skill.execute,
description=skill.metadata["description"]
)
tools.append(tool)

使用这些 Tool 构建 Agent...

核心亮点:为什么 rnskill 值得关注?

1. 极致的模块化与可插拔

rnskill 的设计哲学是“技能即插件”。每个技能都是一个独立的 Python 类,拥有清晰的输入输出契约。Agent 主程序无需知道技能内部实现,只需按约定传递参数即可。这带来了:

  • 热插拔:运行时可以动态加载/卸载技能,无需重启 Agent。
  • 沙箱隔离(规划中):未来可以每个技能运行在独立进程中,防止恶意技能影响主系统。
  • 版本管理:每个技能有独立版本号,Agent 可以锁定特定版本。

2. 统一描述规范(UDS)

每个技能必须包含 metadata 字典,定义了:

  • name:唯一标识符
  • description:自然语言描述,供 LLM 理解何时调用
  • parameters:JSON Schema 风格的参数定义,包含类型、描述、是否必填
  • returns(可选):返回值格式说明

这个规范让 LLM 可以自主选择技能并填充参数,是实现“自主 Agent”的关键。

3. 内置技能生态(开箱即用)

项目已包含 10+ 个实用技能:

技能名称 功能 依赖
web_search 通过 Bing/Google 搜索网页 requests
file_read 读取本地文件(支持 txt/json/csv) 无
file_write 写入本地文件 无
python_execute 执行 Python 代码片段 无(需注意安全)
shell_command 执行系统命令(受限) 无(需注意安全)
current_time 获取当前日期时间 无
wikipedia 查询 Wikipedia 摘要 wikipedia-api
weather 查询天气(需 API Key) requests
calculator 数学表达式计算 无
url_fetch 获取网页内容 requests

4. CLI 工具:技能管理器

bash

列出所有技能

rnskill list

测试某个技能

rnskill run web_search --query "Python 3.12 新特性"

验证自定义技能格式

rnskill validate my_skill.py

从远程仓库安装技能(规划中)

rnskill install author/skill_name

5. 与 LLM 原生亲和

所有技能的 description 和 parameters 都是自然语言描述的,这直接适配了 LLM 的 Function Calling 能力。实际上,rnskill 的设计深受 OpenAI Function Calling 和 Anthropic Tool Use 启发,但更通用、更轻量。

适用场景

场景一:快速构建个人助手

用 rnskill + 任意 LLM API(OpenAI/Claude/本地模型),可以 30 分钟搭建一个能搜索、能记笔记、能处理文件的个人知识助手。

场景二:企业 RPA 自动化

将 ERP 操作、数据库查询、邮件发送等封装为 rnskill 技能,让 LLM Agent 按自然语言指令执行复杂工作流。

场景三:AI 编程助手

将 python_execute、git_operation、code_review 等技能组合,构建能自主调试代码的 Agent。

场景四:教育实验

学生可以轻松为 Agent 添加新技能,理解“工具调用”和“模块化设计”的思想,非常适合 AI 课程教学。

同类项目对比

特性 rnskill LangChain Tools OpenAI Plugins AutoGPT Plugins
设计哲学 轻量、通用技能框架 与 LangChain 深度绑定 专为 ChatGPT 设计 专为 AutoGPT 设计
接口标准 自研 UDS 规范 Tool 接口 OpenAPI 规范 JSON Schema
框架无关 ✅ 可接入任何 Agent ❌ 仅 LangChain ❌ 仅 ChatGPT ❌ 仅 AutoGPT
本地运行 ✅ 完全本地 ✅ 可本地 ❌ 需云服务 ✅ 可本地
技能热加载 ✅ 支持 ❌ 需重启 ✅ 但受平台限制 ❌ 需重启
社区生态 ⭐ 起步阶段 ⭐⭐⭐ 成熟 ⭐⭐⭐ 丰富 ⭐⭐ 中等
安全沙箱 规划中 无原生支持 有(平台控制) 无
学习成本 低(几十行代码) 中(需理解 Chain) 中(需写 API) 中(需理解插件规范)

rnskill 的核心差异化优势:

  • 框架无关性:不绑定任何 Agent 框架,LangChain、Semantic Kernel、CrewAI、甚至自研框架都能用。
  • 极简设计:一个技能就是一个 Python 文件,无复杂配置。
  • LLM 优先:元数据设计直接面向 LLM 的自然语言理解。

局限性与未来展望

当前局限

  1. 安全机制不完善:python_execute 和 shell_command 技能存在代码注入风险,建议在沙箱环境使用。
  2. 技能市场缺失:目前只能本地管理技能,缺乏类似 npm/pip 的中心化仓库。
  3. 并发与性能:技能调用是同步的,高并发场景需自行包装异步。
  4. 文档偏少:项目较新,API 文档和示例有待丰富。

路线图(根据 Issues 和 Roadmap)

  • 技能沙箱执行(Docker/Subprocess)
  • 远程技能仓库(如 rnskill install)
  • 异步技能支持
  • 技能链(Skill Chain):将多个技能组合成复合技能
  • 图形化技能编辑器
  • 与 MCP(Model Context Protocol)集成

总结:值得关注的开源新星

rnskill 不是要取代 LangChain 或 AutoGPT,而是试图解决 AI Agent 生态中一个基础但关键的问题:技能的标准化与复用。它像 AI 世界的“USB 接口”——让不同厂商的设备(技能)能即插即用。

对于个人开发者,它降低了构建 Agent 的复杂度;对于团队,它提供了技能管理的统一规范;对于社区,它有望催生一个技能集市。

虽然项目尚在早期(261 Stars),但设计思路清晰,代码简洁,值得每一位对 AI Agent 感兴趣的开发者关注和贡献。

项目地址:https://github.com/Pluviobyte/rnskill

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消