快速开始指南
本指南将帮助你快速上手 agent_skills 协议,从环境配置到创建和注册你的第一个技能。无论你是希望提供技能还是使用技能,这里都提供了必要的步骤和示例代码。
准备工作
在开始使用 agent_skills 协议之前,你需要准备以下环境:
安装 agent_skills SDK
agent_skills SDK 提供了各种编程语言的实现,选择你最熟悉的语言:
Python
pip install agent-skills
JavaScript/Node.js
npm install @agent-skills/sdk
Java
<dependency>
<groupId>org.agent-skills</groupId>
<artifactId>agent-skills-sdk</artifactId>
<version>1.0.0</version>
</dependency>
注册 agent_skills 开发者账号
- 访问 agent_skills 开发者门户
- 创建一个新的开发者账号
- 生成 API 密钥和访问令牌
创建你的第一个技能
基础技能模板
以下是创建一个简单技能的基本代码模板(Python 版本):
from agent_skills import SkillProvider, SkillRegistry
# 创建技能提供者
provider = SkillProvider(
agent_id="my-first-agent",
agent_name="我的第一个代理",
registry_url="https://registry.agent-skills.org"
)
# 定义一个技能处理函数
def greet_user(name: str) -> dict:
"""向用户问好"""
return {
"greeting": f"Hello, {name}!",
"timestamp": "2024-01-01T00:00:00Z"
}
# 注册技能
provider.register_skill({
"skill_id": "greet-user",
"name": "用户问候",
"description": "向用户发送问候消息",
"version": "1.0.0",
"handler": greet_user,
"input_schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "用户名称"
}
},
"required": ["name"]
},
"output_schema": {
"type": "object",
"properties": {
"greeting": {"type": "string"},
"timestamp": {"type": "string"}
}
},
"metadata": {
"category": "communication",
"tags": ["greeting", "basic"]
}
})
# 连接到注册中心并发布技能
registry = SkillRegistry("https://registry.agent-skills.org")
provider.publish_to_registry(registry, api_key="your-api-key-here")
# 启动技能服务
provider.serve(host="0.0.0.0", port=8000)
JavaScript/Node.js 版本
const { SkillProvider, SkillRegistry } = require('@agent-skills/sdk');
// 创建技能提供者
const provider = new SkillProvider({
agentId: 'my-first-agent',
agentName: '我的第一个代理',
registryUrl: 'https://registry.agent-skills.org'
});
// 定义技能处理函数
const greetUser = (params) => {
return {
greeting: `Hello, ${params.name}!`,
timestamp: new Date().toISOString()
};
};
// 注册技能
provider.registerSkill({
skillId: 'greet-user',
name: '用户问候',
description: '向用户发送问候消息',
version: '1.0.0',
handler: greetUser,
inputSchema: {
type: 'object',
properties: {
name: {
type: 'string',
description: '用户名称'
}
},
required: ['name']
},
outputSchema: {
type: 'object',
properties: {
greeting: { type: 'string' },
timestamp: { type: 'string' }
}
},
metadata: {
category: 'communication',
tags: ['greeting', 'basic']
}
});
// 连接到注册中心
const registry = new SkillRegistry('https://registry.agent-skills.org');
provider.publishToRegistry(registry, { apiKey: 'your-api-key-here' });
// 启动服务
provider.serve({ host: '0.0.0.0', port: 8000 });
使用已注册的技能
发现技能
你可以 通过注册中心查找和发现已注册的技能:
from agent_skills import SkillClient, SkillRegistry
# 创建技能客户端
client = SkillClient(
registry_url="https://registry.agent-skills.org",
api_key="your-api-key"
)
# 通过分类查找技能
communication_skills = client.discover_skills(category="communication")
# 通过标签搜索技能
greeting_skills = client.discover_skills(tags=["greeting"])
# 通过技能ID查找特定技能
specific_skill = client.get_skill("greet-user")
调用技能
# 同步调用技能
result = client.call_skill(
skill_id="greet-user",
provider_agent_id="my-first-agent",
parameters={
"name": "Alice"
}
)
print(f"问候结果: {result['greeting']}")
# 异步调用技能
import asyncio
async def call_skill_async():
result = await client.call_skill_async(
skill_id="greet-user",
provider_agent_id="my-first-agent",
parameters={"name": "Bob"}
)
return result
# 执行异步调用
result = asyncio.run(call_skill_async())
print(result)