Aller au contenu principal

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

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.