Intégration & plugin Kiln

Dans notre projet DeFi Auto-Agent, nous avons intégré ElizaOS pour créer un agent IA qui interagit avec Kiln Connect et les vaults ERC-4626 de Kiln.

Grâce à notre propre plugin, kilnPlugin, l’agent peut exécuter des actions spécifiques, telles que la récupération des statistiques de staking, afin d’optimiser les stratégies d’investissement.

Plugin Kiln – Structure et Code

Création d’un personnage via le plugin

Pour créer un personnage, vous devez générer un fichier de caractère dans le répertoire agent/src :

Bash
cd agent/src
touch [name].character.ts

Exemple de fichier de caractère

Typescript
export const mainCharacter = {
    name: "[name]",
    clients: [Clients.TELEGRAM],
    modelProvider: ModelProviderName.GAIANET,
    plugins: [kilnPlugin],
    settings: {
        voice: {
            model: "en_GB-alan-medium"
        }
    },
    bio: [
        "..."
    ],
    lore: [
        "..."
    ],
    knowledge: [
        "..."
    ],
    messageExamples: [
        [
            {
                user: "{{user1}}",
                content: { text: "..." }
            },
            {
                user: "C-3PO",
                content: { text: "..." }
            },
            {
                user: "{{user1}}",
                content: { text: "..." }
            },
            {
                user: "C-3PO",
                content: { text: "..." }
            }
        ]
    ],
    postExamples: [
        "..."
    ],
    topics: [
        "..."
    ],
    style: {
        all: [ "..." ],
        chat: [ "..." ],
        post: [ "..." ]
    },
    adjectives: [ "..." ],
    twitterSpaces: { "..." }
}

Chargement du personnage

Dans le fichier index.ts, chargez votre personnage en remplaçant le personnage par défaut par mainCharacter.

Création du Plugin Kiln

Voici un exemple de définition du plugin Kiln

Action : Récupération des Statistiques de Staking

Exemple d’implémentation d’une action dans actions/getStakingStats.ts :

Services et Configuration

Les services (fichiers services.ts, environment.ts, etc.) gèrent la communication avec l’API Kiln et assurent la validation de la configuration. Vous trouverez ci-dessous des extraits essentiels :

  • Services (services.ts) : Contient la logique pour appeler les API de Kiln et extraire les statistiques.

  • Configuration Environnement (environment.ts) : Vérifie la présence de variables d’environnement indispensables telles que KILN_API_KEY.

  • Exemples (examples.ts) : Fournit des exemples d’interactions pour entraîner l’agent et guider les actions.

  • Fichier .env : Doit contenir les clés nécessaires, par exemple :

Cette intégration d’ElizaOS, via notre plugin Kiln, permet à notre agent d’interagir de manière intelligente avec les vaults ERC-4626 et de fournir en temps réel des informations sur les statistiques de staking, renforçant ainsi l’automatisation et l’optimisation de la gestion des investissements.

Mis à jour