基于 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
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add dyike/eino-skills