Pular para o conteúdo principal
Toolkit de Execução de Código Node.js Como acessar: Barra lateral principal > “Agents” > Selecione o agente > aba “Toolkits” > “Code & Development” > “Node.js Code Execution”
  1. Abra seu agente > aba “Toolkits” > categoria “Code & Development” > Encontre o toolkit “Node.js Code Execution”.
  2. Clique em “Add to Agent” no Node.js Code Execution e depois em “Configure”. Clique em “Save”.

Toolkit de Execução Node.js

Execute código Node.js/JavaScript em um ambiente sandbox seguro com suporte a pacotes NPM e capacidades de gerenciamento de arquivos. Otimizado para cargas de trabalho JavaScript/TypeScript, integrações de API, processamento JSON, operações assíncronas e automação web.

Configuração do Toolkit Node.js

Painel de Configuração do Toolkit Node.js Configure o ambiente sandbox do Node.js. Este toolkit permite que o agente execute código Node.js/JavaScript, faça upload de arquivos e gerencie arquivos no sandbox.

Informações de Segurança

  • O código Node.js é executado em um ambiente sandbox seguro e isolado
  • Cada sessão de chat recebe seu próprio sandbox dedicado com estado persistente
  • Os arquivos enviados ao sandbox são isolados de outros usuários e projetos
  • Os sandboxes são limpos automaticamente após o término da sessão

Ferramentas Disponíveis (5/5)

Execução de Código:
  • Execute Code: Execute código Node.js/JavaScript em um ambiente sandbox seguro
Gerenciamento de Arquivos:
  • Search Files: Pesquise arquivos na base de conhecimento para enviar ao sandbox
  • Upload File: Faça upload de arquivos da base de conhecimento para o sandbox Node.js
  • List Files: Liste todos os arquivos atualmente disponíveis no sandbox
  • Create Download URL: Crie URLs de download seguras para arquivos no sandbox

Casos de Uso

  • Integração de API: Chame APIs REST e gerencie fluxos OAuth.
  • Processamento JSON: Analise e transforme estruturas de dados JSON.
  • Automação Web: Faça scraping de sites e automatize formulários.
  • Transformação de Dados: Converta entre formatos (CSV, JSON, XML, YAML).

Exemplo de Código

Abaixo está um exemplo de script Node.js demonstrando o uso de pacotes NPM, verificação de dependências e o padrão module.exports necessário com uma função de ponto de entrada 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 };

Pontos-Chave do Exemplo

  • Ponto de Entrada: A função main() é o ponto de entrada, exportada via module.exports = { main }.
  • Pacotes NPM: Use require() para importar pacotes instalados (por exemplo, lodash, axios, @google-cloud/bigquery).
  • Verificação de Pacotes: Use require.resolve() para verificar se um pacote está disponível no sandbox.
  • Suporte Assíncrono: A função principal pode ser assíncrona para tratar chamadas de API e operações de arquivo.
  • Parâmetros: Defina parâmetros com valores padrão (por exemplo, maxLength = 100, options = {}) para entrada flexível.
  • Formato de Retorno: Retorne resultados como um objeto (por exemplo, { data: ... }) para saída estruturada.