SDK Plugin

Construisez des plugins puissants pour Adverant Nexus avec notre SDK complet

Installation

TypeScript/JavaScript

npm install @adverant-nexus/sdk

Le SDK est compatible avec Node.js 18+ et inclut les définitions TypeScript.

Python

pip install adverant-nexus-sdk

Le SDK Python nécessite Python 3.9 ou supérieur.

Concepts Fondamentaux

Architecture des Plugins

Les plugins étendent Nexus via le Model Context Protocol (MCP), fournissant des outils, des ressources et des prompts que les agents IA peuvent découvrir et utiliser.

  • Outils : Fonctions qui exécutent des actions (ex. analyser des données, envoyer des emails)
  • Ressources : Sources de données que les plugins exposent (ex. bases de données, APIs)
  • Prompts : Prompts préconfigurés pour les workflows courants

Client Nexus

Le Client Nexus fournit l'accès aux services fondamentaux de la plateforme :

import { NexusClient } from '@adverant-nexus/sdk'

const nexus = new NexusClient({
  apiKey: process.env.BRAIN_API_KEY
})

// Access GraphRAG memory
await nexus.graphrag.storeMemory({
  content: 'Important information',
  tags: ['customer', 'analysis']
})

// Orchestrate sub-agents
await nexus.agents.orchestrate({
  task: 'Analyze customer feedback',
  agents: ['sentiment', 'summarization']
})

Référence API

Créer un Serveur de Plugin

import { NexusPluginServer, Tool } from '@adverant-nexus/sdk/server'

const server = new NexusPluginServer({
  name: 'my-plugin',
  version: '1.0.0',
  description: 'My awesome plugin'
})

// Define a tool
server.tool(new Tool({
  name: 'analyze_data',
  description: 'Analyzes data and returns insights',
  inputSchema: {
    type: 'object',
    properties: {
      data: { type: 'array' },
      options: { type: 'object' }
    },
    required: ['data']
  },
  execute: async (input) => {
    // Your implementation
    return { insights: [...] }
  }
}))

// Start the server
await server.start()

Accéder aux Services Nexus

// GraphRAG Memory
await nexus.graphrag.storeMemory({ content, tags })
await nexus.graphrag.query({ query, limit: 10 })

// Agent Orchestration
await nexus.agents.orchestrate({ task, agents })

// Learning System
await nexus.learning.recordPattern({ pattern, feedback })

Exemples

Exemple de Plugin Simple

Un plugin basique qui fournit un outil de salutation :

import { NexusPluginServer, Tool } from '@adverant-nexus/sdk/server'

const server = new NexusPluginServer({
  name: 'greeter',
  version: '1.0.0'
})

server.tool(new Tool({
  name: 'greet',
  description: 'Greets a user by name',
  inputSchema: {
    type: 'object',
    properties: {
      name: { type: 'string' }
    },
    required: ['name']
  },
  execute: async ({ name }) => {
    return { message: `Hello, ${name}!` }
  }
}))

await server.start()

Étapes Suivantes