DE

dyike/eino-skills

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

76 stars 质量 39 趋势 14

基于 Anthropic Agent Skills 和 deepagents-cli 的设计,为 cloudwego/eino 框架实现 Skills 支持。

概览

基于 Anthropic Agent Skills 和 deepagents-cli 的设计,为 cloudwego/eino 框架实现 Skills 支持。 Skills 是包含 SKILL.md 文件的文件夹,提供: - :只在需要时加载完整指令 - :启动时仅加载元数据(name + description) - :Agent 使用少量原子工具 + 按需加载的技能指令

概述(AI 翻译)

基于 Anthropic Agent Skills 和 deepagents-cli 的设计,为 cloudwego/eino 框架实现 Skills 支持。

核心概念

什么是 技能?

Skills 是包含 SKILL.md 文件的文件夹,提供:

  • 渐进式披露 (Progressive Disclosure):只在需要时加载完整指令
  • 令牌效率:启动时仅加载元数据(名称 + 描述)
  • 认知负担降低:Agent 使用少量原子工具 + 按需加载的技能指令

SKILL.md 结构

架构设计

执行流程

项目结构

快速开始

功能路线图

特色 状态 描述
核心加载器/解析器 ✅ loader.go, parser.go - SKILL.md 发现与解析
注册表 & 缓存 ✅ registry.go - 带互斥保护缓存的按需加载
中间件集成 ✅ middleware/skills.go - 提示注入与工具配置
CLI 管理工具 ✅ eino-skills-cli - 列表、创建、查看、验证命令
热重载支持 ✅ watcher.go - 基于fsnotify的自动装填 SKILL.md 更改
Skills 市场 🚧 远程技能安装(计划中)
allowed-tools 限制 🚧 限制每个技能(计划中的)工具访问
可视化调试 🚧 技能执行追踪UI(计划中)
版本管理 🚧 技能版本控制与兼容性(计划中)

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Eino Skills - Claude Skills 集成方案

基于 Anthropic Agent Skills 和 deepagents-cli 的设计,为 cloudwego/eino 框架实现 Skills 支持。

核心概念

什么是 Skills?

Skills 是包含 SKILL.md 文件的文件夹,提供:

  • 渐进式披露 (Progressive Disclosure):只在需要时加载完整指令
  • Token 效率:启动时仅加载元数据(name + description)
  • 认知负担降低:Agent 使用少量原子工具 + 按需加载的技能指令

SKILL.md 结构

---
name: skill-name
description: Brief description of what this skill does and when to use it
---

# Skill Name

## Instructions
[具体操作指令]

## Examples
[使用示例]

架构设计

graph TD
    User([User]) -->|Input| Middleware[Skills Middleware]
    
    subgraph "Eino App Runtime"
        Middleware -->|1. Inject System Prompt| Agent[ReAct Agent]
        
        subgraph "Skill Core"
            Registry[Skill Registry]
            Loader[Skill Loader]
        end
        
        subgraph "Tools Layer"
            List[list_skills]
            View[view_skill]
            Terminal[run_terminal_command]
        end
        
        Agent |2. Tool Calls| List & View & Terminal
        List & View -->|Query| Registry
        Registry -->|Manage| Loader
    end
    
    subgraph "External Environment"
        FileSystem[Skill Directory~/.claude/skills]
        OS[Operating System]
    end
    
    Loader -->|Load SKILL.md| FileSystem
    Terminal -->|Execute Scripts| OS
    OS -.->|Runs| FileSystem

执行流程

sequenceDiagram
    participant User
    participant Agent
    participant Tools
    participant System

    Note over Agent: System Prompt 包含 Skill 列表摘要

    User->>Agent: "帮我提交代码"
    
    rect rgb(240, 248, 255)
    Note right of Agent: 1. Discovery (发现)
    Agent->>Tools: list_skills()
    Tools-->>Agent: 返回可用 Skills 列表
    end

    rect rgb(255, 250, 240)
    Note right of Agent: 2. Loading (加载)
    Agent->>Tools: view_skill("git-commit")
    Tools-->>Agent: 返回详细通过 SKILL.md 定义的指令
    end

    rect rgb(240, 255, 240)
    Note right of Agent: 3. Execution (执行)
    Note right of Agent: 遵循指令: Analysis -> Execution
    Agent->>System: run_terminal_command("python3 ... --analyze")
    System-->>Agent: Output / Error
    
    opt Error Recovery (错误自愈)
        Agent->>System: Retry with absolute path / Fix context
    end

    Agent->>System: run_terminal_command("python3 ... -m 'feat: ...'")
    System-->>Agent: Success
    end

    Agent->>User: "代码提交完成!"

项目结构

eino-skills/
├── README.md
├── go.mod
├── pkg/
│   ├── skill/
│   │   ├── types.go            # Skill 类型定义
│   │   ├── loader.go           # Skills 加载器
│   │   ├── parser.go           # SKILL.md 解析器
│   │   └── registry.go         # Skills 注册中心
│   ├── tools/
│   │   ├── skills.go           # 工具包入口
│   │   ├── view_skill.go       # view_skill Tool
│   │   ├── list_skills.go      # list_skills Tool
在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add dyike/eino-skills
新手?先看 mcpskill.org 教程 →