Passer au contenu principal
Node.js Code Execution Toolkit Comment y accéder : Barre latérale principale > « Agents » > Sélectionner un agent > Onglet « Toolkits » > « Code & Development » > « Node.js Code Execution »
  1. Ouvrez votre agent > Onglet « Toolkits » > Catégorie « Code & Development » > Recherchez la boîte à outils « Node.js Code Execution ».
  2. Cliquez sur « Add to Agent » pour Node.js Code Execution, puis sur « Configure ». Cliquez sur « Save ».

Boîte à outils d’exécution Node.js

Exécutez du code Node.js/JavaScript dans un environnement sandbox sécurisé avec prise en charge des packages NPM et des fonctionnalités de gestion de fichiers. Optimisé pour les charges de travail JavaScript/TypeScript, les intégrations API, le traitement JSON, les opérations asynchrones et l’automatisation web.

Configuration de la boîte à outils Node.js

Panneau de configuration de la boîte à outils Node.js Configurez l’environnement sandbox Node.js. Cette boîte à outils permet à l’agent d’exécuter du code Node.js/JavaScript, de télécharger des fichiers et de gérer des fichiers dans le sandbox.

Informations de sécurité

  • Le code Node.js s’exécute dans un environnement sandbox sécurisé et isolé
  • Chaque session de chat dispose de son propre sandbox dédié avec un état persistant
  • Les fichiers téléchargés dans le sandbox sont isolés des autres utilisateurs et projets
  • Les sandboxes sont automatiquement nettoyés à la fin de la session

Outils disponibles (5/5)

Exécution de code :
  • Execute Code : Exécute du code Node.js/JavaScript dans un environnement sandbox sécurisé
Gestion de fichiers :
  • Search Files : Recherche des fichiers dans la base de connaissances pour les télécharger dans le sandbox
  • Upload File : Télécharge des fichiers depuis la base de connaissances vers le sandbox Node.js
  • List Files : Liste tous les fichiers actuellement disponibles dans le sandbox
  • Create Download URL : Crée des URLs de téléchargement sécurisées pour les fichiers dans le sandbox

Cas d’utilisation

  • Intégration API : Appel des API REST et gestion des flux OAuth.
  • Traitement JSON : Analyse et transformation de structures de données JSON.
  • Automatisation web : Extraction de contenu de sites web et automatisation de formulaires.
  • Transformation de données : Conversion entre formats (CSV, JSON, XML, YAML).

Exemple de code

Vous trouverez ci-dessous un exemple de script Node.js démonstrant l’utilisation de packages NPM, la vérification des dépendances et le pattern requis module.exports avec une fonction point d’entrée main() :
const _ = require("lodash");
const PACKAGES = ["lodash", "@google-cloud/bigquery", "axios"];

const isPackageInstalled = (packageName) => {
    try {
        require.resolve(packageName);
        return true;
    } catch (e) {
        return false;
    }
};

const getPackageVersion = (packageName) => {
    if (!isPackageInstalled(packageName)) return {
        isInstalled: false,
        version: null,
        message: "Package is not installed",
        package: packageName,
    };

    const version = require(`${packageName}/package.json`).version;
    return {
        isInstalled: true,
        version,
        message: `Package is installed with version ${version}`,
        package: packageName,
    };
};

const test = () => {
    return _.map(PACKAGES, (pkg) => getPackageVersion(pkg));
};

async function main(inputText, maxLength = 100, options = {}) {
    /**
     * Main function that will be executed
     *
     * @param {string} inputText - The text to process
     * @param {number} maxLength - Maximum length of output (default: 100)
     * @param {object} options - Additional processing options (default: {})
     */

    return { data: test() };
}

// The entry point function will be called with the arguments you define
module.exports = { main };

Points clés de l’exemple

  • Point d’entrée : La fonction main() est le point d’entrée, exportée via module.exports = { main }.
  • Packages NPM : Utilisez require() pour importer les packages installés (par ex. lodash, axios, @google-cloud/bigquery).
  • Vérification des packages : Utilisez require.resolve() pour vérifier si un package est disponible dans le sandbox.
  • Prise en charge asynchrone : La fonction principale peut être asynchrone pour gérer les appels API et les opérations sur fichiers.
  • Paramètres : Définissez des paramètres avec des valeurs par défaut (par ex. maxLength = 100, options = {}) pour une entrée flexible.
  • Format de retour : Retournez les résultats sous forme d’objet (par ex. { data: ... }) pour une sortie structurée.