Skip to main content

Crate rucora_skills

Crate rucora_skills 

Source
Expand description

Skills(技能)模块

§概述

本模块提供 Skills 的加载、执行和与 Agent 的集成功能。

参考 zeroclaw 项目的设计:

  • 支持多种配置文件格式(TOML/YAML/JSON)
  • 支持多种提示词注入模式(Full/Compact)
  • 提供 read_skill 工具读取 skill 详细信息
  • 根据 skill 模式构建不同的系统提示词

§核心组件

§SkillLoader(技能加载器)

用于从目录加载技能定义:

use rucora_skills::SkillLoader;

let mut loader = SkillLoader::new("skills/");
let skills = loader.load_from_dir().await?;

§SkillExecutor(技能执行器)

用于执行技能:

use rucora_skills::{SkillContext, SkillDefinition, SkillExecutor};
use serde_json::json;
use std::sync::Arc;

let executor = Arc::new(SkillExecutor::new());
let definition = SkillDefinition::new("my_skill", "My custom skill");
let context = SkillContext::new(json!({}), definition);
// 执行技能...

§SkillTool(技能工具)

将技能转换为 Agent 可使用的工具:

use rucora_skills::{SkillTool, SkillExecutor, SkillDefinition};
use std::sync::Arc;

let executor = Arc::new(SkillExecutor::new());
let skill = SkillDefinition::new("my_skill", "My custom skill");
let tool = SkillTool::new(skill, executor, "skills/my_skill".into());

§SkillsAutoIntegrator(技能自动集成器)

自动将技能集成到 Agent 中:

use rucora_skills::SkillsAutoIntegrator;

let integrator = SkillsAutoIntegrator::new("skills/");
// 集成技能...

§子模块

  • cache: 技能缓存,用于缓存加载的技能定义
  • config: 技能配置解析,支持 TOML/YAML/JSON 格式
  • integrator: 技能自动集成器
  • loader: 技能加载器和执行器
  • tool_adapter: 技能到工具的适配器

Re-exports§

pub use cache::CachedSkillLoader;
pub use cache::SkillCache;
pub use config::SkillConfig;
pub use config::SkillMeta;
pub use integrator::SkillsAutoIntegrator;
pub use loader::SkillExecutor;
pub use loader::SkillImplementation;
pub use loader::SkillLoader;
pub use tool_adapter::ReadSkillTool;
pub use tool_adapter::SkillTool;
pub use tool_adapter::read_skill;
pub use tool_adapter::skills_to_prompt_with_mode;
pub use tool_adapter::skills_to_tools;

Modules§

cache
Skill 缓存模块
config
Skill 配置模块
integrator
Skills 与 Agent 自动集成模块
loader
Skill 加载器和执行器模块
tool_adapter
Skill 到 Tool 的适配器

Structs§

SkillContext
Skill 执行上下文
SkillDefinition
Skill 定义
SkillResult
Skill 执行结果

Enums§

SkillsPromptMode
Skills 提示词注入模式